chrizzio. möchte aber spezielle Gegenstände über Shortcuts benutzen lassen. Es gibt auf jeden Fall ein Script zum Abfragen der Tastatur. Am besten du schaust mal auf den großen, englischsprachigen XP-Seiten nach (ich kenne die Links leider nicht auswändig).
Sollte das wirklich das ganze Shortcutscript sein, so kann ich dir ganz genau sagen, warum der Common Event nicht ausgeführt wird.
Dieses Script führt einfach die item_effect methode auf das Ziel aus, welche sich darum kümmert, dass die entsprechenden Statuswerte des Ziels entsprechend den Itemeinstellungen verändert werden (z.B. HP heilen, Stautswerte erhöhen, usw). Das Abarbeiten von Common Events wird aber nicht von dieser Methode behandelt. Dafür brauchst du die Interpreter Klasse.
Da steht, dass bei Scene_Map in Zeile 60 ein Fehler auftritt.
Ohne zu wissen was in dieser Zeile (und vielleicht noch in den umliegenden) steht kann man dir da nur schwer helfen (da sich durch evtl. Modifikationen deine Scene_Map von den anderen unterscheiden kann).
funktionierts vielleicht wenn du in dem script was ausgeführt wird wenn du die taste drückst das hier noch einfügst?
Zitat
$game_temp.common_event_id = 1
...
Das hab ich von jemanden bekommen. Damit rufe ich common events auf. Ich hab den Befehl allerdings in einem Event mit dem Befehl "Script aufrufen" in verwendung.
Ich bin noch nich sehr gut informiert in Ruby aber soweit ich das logisch nachvollziehn kann sollte das funktionieren.
Die "1" ist dabei die ID des Common Events. Ach ja, und beim Common-Event ist die Startvorraussetzung auf nichts gestellt, also weder "parallel" noch "Auto Start".
Ich hoffe ich konnte helfen.
Ich poste hier mal dein Script mit dem eintrag von mir.
Hab das nicht getestet aber ich denke das funkt.
Was ich verändert habe ist blau:
class Shortcut
def initialize
@shortcuts = [[65,1],[83,2]]
@GetKey = Win32API.new 'user32', 'GetAsyncKeyState', 'l', 'l'
end
def update
if @wait == nil
for i in 0...@shortcuts.size
@item = $data_items[@shortcuts[i][1]]
if @GetKey.call(@shortcuts[i][0]) != 0 and
$game_party.item_number(@item.id) > 0 and
$game_party.actors[0].item_effect(@item) == true and
$game_party.item_can_use?(@item.id) == true
$game_system.se_play(@item.menu_se)
$game_party.lose_item(@item.id, 1)
$game_player.animation_id = @item.animation2_id
$game_temp.common_event_id = 1
@wait = 30
end
end
else @wait = @wait > 0 ? @wait - 1 : nil end
end
end
class Scene_Title
def initialize
$shortcut = Shortcut.new
end
end