Zitat Zitat
Außerdem steh ich vor einer Frage, die ich aber ohne nötiges Tastatur-Maker-Wissen nicht klären kann. Und zwar ob es möglich ist das man z.B. mit den Tasten W,A,S,D läuft und mit den Pfeiltasten die Gesichstrichtung vorgibt. Also das ich wie in einen Ego-Shooter geradeaus laufe und dabei nach rechts sehen kann. Aber ich bin mir eben nicht sicher ob dies möglich ist (Chartechnich mal ganz abegesehn).
In etwa so:
Code:
module Input
  def Input.getstate(key)
   return true unless Win32API.new("user32","GetKeyState",['i'],'i').call(key).between?(0, 1)
   return false
 end
 
 def self.wasd
   if Input.getstate(87)
     return 8 unless Input.getstate(83)    #W 
   elsif Input.getstate(65)
     return 4 unless Input.getstate(68)     #A
   elsif Input.getstate(83)
     return 2                                                #S
   elsif Input.getstate(68)
     return 6                                                #D
   end
   return 0
 end
end

class Game_Player < Game_Character
  def initialize
    super
    @direction_fix = true
  end
  
  def update
    last_moving = moving?
    unless moving? or $game_system.map_interpreter.running? or
           @move_route_forcing or $game_temp.message_window_showing
      case Input.dir4
      when 2
        @direction = 2
        @stop_count = 0
      when 4
        @direction = 4
        @stop_count = 0
      when 6
        @direction = 6
        @stop_count = 0
      when 8
        @direction = 8
        @stop_count = 0
      end
      case Input.wasd
      when 2
        move_down
      when 4
        move_left
      when 6
        move_right
      when 8
        move_up
      end
    end

    last_real_x = @real_x
    last_real_y = @real_y
    super
    if @real_y > last_real_y and @real_y - $game_map.display_y > CENTER_Y
      $game_map.scroll_down(@real_y - last_real_y)
    end
    if @real_x < last_real_x and @real_x - $game_map.display_x < CENTER_X
      $game_map.scroll_left(last_real_x - @real_x)
    end
    if @real_x > last_real_x and @real_x - $game_map.display_x > CENTER_X
      $game_map.scroll_right(@real_x - last_real_x)
    end
    if @real_y < last_real_y and @real_y - $game_map.display_y < CENTER_Y
      $game_map.scroll_up(last_real_y - @real_y)
    end
    unless moving?
      if last_moving
        result = check_event_trigger_here([1,2])
        if result == false
          unless $DEBUG and Input.press?(Input::CTRL)
            if @encounter_count > 0
              @encounter_count -= 1
            end
          end
        end
      end
      if Input.trigger?(Input::C)
        check_event_trigger_here([0])
        check_event_trigger_there([0,1,2])
      end
    end
  end
end
Einfach als seperates Skript direkt über Main kopieren. ... ist zwar nicht sonderlich elegant, aber nur um mal zu zeigen wie schnell man so manches schwieriges Editor-Problem mit Ruby gelöst bekommt.
Wenn du also irgendwie Zeit finden solltest: lern Ruby.

Zitat Zitat
da im Xp ja der Tastenpatch mit schon drin is (wenn net dann schlagt mich) wollte ich mal wissen welche Nummern ich den einzelenen Tasten zuweisen muss.
Standardmäßig drin? Nein, aber wie gesagt, Ruby rockt:
http://www.dubealex.com/index.php?showtopic=752
Das dann allerdings in den Editor einzufügen wäre ein ziemlicher Aufwand und würde das ganze zusätzlich noch langsamer machen. Von daher ist es besser solche Dinge dierekt in Skripten zu machen.