Spielerwechsel+Fähigkeiten
Hallöchen Community.
Ich hab diesmal eine Frage nach einem Teamwechsel/Fähigkeitenscript.
Dieses Script soll per Knopfdruck (z.B. mit [W]) ein kleines nebenmenü öffnen, womit man die Positionen der Spieler tauschen kann.
Das, was auf dem Bild zu sehen ist, mache ich per Commonevent. außerdem ist es nur ein Beispiel.

Mit dem Script sollte man die bisher verfügbaren Charaktere auswechseln können (also auf Position 1 veschieben können) und dabei die jeweils passenden Common Events auf True geschaltet werden, bzw. die nicht zum Spielerpassenden Comonevents auf False.
Die werden genutzt
Ich hab diesmal eine Frage nach einem Teamwechsel/Fähigkeitenscript.
Dieses Script soll per Knopfdruck (z.B. mit [W]) ein kleines nebenmenü öffnen, womit man die Positionen der Spieler tauschen kann.
Das, was auf dem Bild zu sehen ist, mache ich per Commonevent. außerdem ist es nur ein Beispiel.

Mit dem Script sollte man die bisher verfügbaren Charaktere auswechseln können (also auf Position 1 veschieben können) und dabei die jeweils passenden Common Events auf True geschaltet werden, bzw. die nicht zum Spielerpassenden Comonevents auf False.
Die werden genutzt
Zitat
Mit dem Script sollte man die bisher verfügbaren Charaktere auswechseln können (also auf Position 1 veschieben können) und dabei die jeweils passenden Common Events auf True geschaltet werden, bzw. die nicht zum Spielerpassenden Comonevents auf False.
Die werden genutzt
Dazu wollte ich nochmal sagen, das man anstatt direkt auf die Commonevents zugreift, auf Switches, die einen Paralellen Prozess zu den Commonevents führen. (Switches, die dafür genutzt werden [193,194,195,196]
Also ich habe nicht vor dir das zu skripten, aber es sollte nicht so schwer sein. Deshalb wundert es mich, dass niemand antwortet (ich antworte nur damit du nicht denkst es wäre irgendwie unmöglich ^^).
Er will anscheinend, dass man die Reihenfolge der Party ändern kann (also wer ganz oben steht), und wer ganz oben steht gibt ja die Spielergrafik.
Und je nachdem, wer oben steht, soll ein Schalter aktiv sein... das ist wirklich nicht sehr schwer... $game_party.actors .
Aber, Chris, ich bin beschäftigt und habe keine Lust das zu machen. Und Menüarbeit ist eh nix für mich. Ich hoffe nur, dass du jetzt Hilfe bekommst xD
Er will anscheinend, dass man die Reihenfolge der Party ändern kann (also wer ganz oben steht), und wer ganz oben steht gibt ja die Spielergrafik.
Und je nachdem, wer oben steht, soll ein Schalter aktiv sein... das ist wirklich nicht sehr schwer... $game_party.actors .
Aber, Chris, ich bin beschäftigt und habe keine Lust das zu machen. Und Menüarbeit ist eh nix für mich. Ich hoffe nur, dass du jetzt Hilfe bekommst xD
Hoffe ich auch.
Das, was ich vorhabe ist ja, das man die Positionen der Spieler tauschen kann.
Dann wird, je nach Spieler der auf der 1.Position dann steht, der jeweilige Schalter aktiviert.
Diese Switches sind die, die genutzt werden.
Char1=Switch193=CommonEvent 32
Char2=Switch194=CommonEvent 33
Char3=Switch195=CommonEvent 34
Char4=Switch196=CommonEvent 35
Und das, was die große Rolle spielt ist, das jeder Char seine Eigene Fähigkeit hat (CommonEvent) und eingestellt werden soll, wenn z.b.
Char3 oben ist, soll
switch195=CommonEvent 34
aktiv sein (true)
und die anderen drei inaktiv (false).
Und jeweilig welcher Char oben ist, soll ein anderer Schalter/CommonEvent aktiv sein bzw. inaktiv.
Das, was ich vorhabe ist ja, das man die Positionen der Spieler tauschen kann.
Dann wird, je nach Spieler der auf der 1.Position dann steht, der jeweilige Schalter aktiviert.
Diese Switches sind die, die genutzt werden.
Char1=Switch193=CommonEvent 32
Char2=Switch194=CommonEvent 33
Char3=Switch195=CommonEvent 34
Char4=Switch196=CommonEvent 35
Und das, was die große Rolle spielt ist, das jeder Char seine Eigene Fähigkeit hat (CommonEvent) und eingestellt werden soll, wenn z.b.
Char3 oben ist, soll
switch195=CommonEvent 34
aktiv sein (true)
und die anderen drei inaktiv (false).
Und jeweilig welcher Char oben ist, soll ein anderer Schalter/CommonEvent aktiv sein bzw. inaktiv.
Du kannst es auch selber machen...
Wenn du dir vor Augen hältst, dass du die Position der Party ändern kannst, wenn du die Actors komplett entfernst und dann in der Richtigen Reihenfolge wieder einfügst, wenn du dir merkst, dass du per Conditional Branch fragen kannst, welche Actors in der Party sind, wenn du beim hinzufügen keinen Haken bei "initialize" machst, dann kannst du ein Common Event machen, dass aus schätzungsweise 100 Zeilen besteht, und dass dein Skript machen würde.
Dafür sorgen, dass per Skript ein Common Event ausgeführt wird, dass kann dir jeder machen ^^
Das würde ich sogar für dich tun (aber für den Rest hab ich keine Zeit [man wir sind doch so viele? Kann denn niemand mal kurz helfen?]).
Wenn du dir vor Augen hältst, dass du die Position der Party ändern kannst, wenn du die Actors komplett entfernst und dann in der Richtigen Reihenfolge wieder einfügst, wenn du dir merkst, dass du per Conditional Branch fragen kannst, welche Actors in der Party sind, wenn du beim hinzufügen keinen Haken bei "initialize" machst, dann kannst du ein Common Event machen, dass aus schätzungsweise 100 Zeilen besteht, und dass dein Skript machen würde.
Dafür sorgen, dass per Skript ein Common Event ausgeführt wird, dass kann dir jeder machen ^^
Das würde ich sogar für dich tun (aber für den Rest hab ich keine Zeit [man wir sind doch so viele? Kann denn niemand mal kurz helfen?]).
zu HK:
Das Problem ist, wenn ich alle chars entferne, und dann in die richtige reinfolge einfüge, wird es ein zu großes Wirrwar. man Sollte dann auch jeden beliebigen Platz positionieren. DSoch wenn ich das mit Conditionalbranch mache, wird das eine unendlich lange reihe von einstellungen, die ich machen muss.
zu Xrazor:
Das Menü ist schonmalsehr gut^^
Kann man da auch einfügen, das Char1 z.b. Switchnummer 193 hat, Char2 hat Switchnummer 194 etc.?
-------------EDIT by ChrisX930-----------------------
Läuft bisher super^^ Ich schätze mal, das du dir damit einen Creditseintrag verdient^^
Das Problem ist, wenn ich alle chars entferne, und dann in die richtige reinfolge einfüge, wird es ein zu großes Wirrwar. man Sollte dann auch jeden beliebigen Platz positionieren. DSoch wenn ich das mit Conditionalbranch mache, wird das eine unendlich lange reihe von einstellungen, die ich machen muss.
zu Xrazor:
Das Menü ist schonmalsehr gut^^
Kann man da auch einfügen, das Char1 z.b. Switchnummer 193 hat, Char2 hat Switchnummer 194 etc.?
-------------EDIT by ChrisX930-----------------------
Läuft bisher super^^ Ich schätze mal, das du dir damit einen Creditseintrag verdient^^
-------------EDIT by ChrisX930-----------------------
Läuft bisher super^^ Ich schätze mal, das du dir damit einen Creditseintrag verdient^^
Kann ich es uch machen, das ich es per Conditional Branch aufufe? bestimmt mit Script und dann
$scene = Ac.new
-------------noch ein EDIT by ChrisX930-----------------------
Fehler entdeckt-.- was mache ich, wenn ich erst 2 Chars im team habe, und unter denen tauschen möchte?
Der zeigt dann trotzallem die 4 Chars an, und wenn ich Char3 auf Position1 ache (obwohl nur Char 1 und 2 da sind) habe ich gleich alle 4 im team.
Läuft bisher super^^ Ich schätze mal, das du dir damit einen Creditseintrag verdient^^
Kann ich es uch machen, das ich es per Conditional Branch aufufe? bestimmt mit Script und dann
$scene = Ac.new
-------------noch ein EDIT by ChrisX930-----------------------
Fehler entdeckt-.- was mache ich, wenn ich erst 2 Chars im team habe, und unter denen tauschen möchte?
Der zeigt dann trotzallem die 4 Chars an, und wenn ich Char3 auf Position1 ache (obwohl nur Char 1 und 2 da sind) habe ich gleich alle 4 im team.
|
|
Ruby Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 |
#============================================================================== # Billiger Charwechsel von Xrazor :D #============================================================================== #Hier kannst du die ID des Switches festlegen, der aktiviert werden muss, sobald #man Charakter 3 und 4 in die Gruppe bekommt. class Ac def main @chara3 = 5 @chara4 = 6 #Wird momentan mit S aufgerufen, kann über $scene = Ac.new auch anders aufgerufen werden #Hier kann man einfach die Namen ändern s1 = "Aluxes zum Anführer machen" s2 = "Basil zum Anführer machen" if $game_switches[@chara3] == true s3 = "Cyrus zum Anführer machen" else s3 = "Nicht Belegt" end if $game_switches[@chara4] == true s4 = "Dorothy zur Anführerin machen" else s4 = "Nicht Belegt" end @command_window = Window_Command.new(320, [s1, s2, s3, s4]) @command_window.opacity = 255 @command_window.x = 200 @command_window.y = 100 @command_window.height = 160 @window_zahl = Zahlen.new @window_zahl.x = 100 @window_zahl.y = 100 Graphics.transition #Hauptschleife loop do Graphics.update Input.update @window_zahl.refresh update if $scene != self break end end Graphics.freeze @command_window.dispose @window_zahl.dispose end def update @command_window.update if Input.trigger?(Input::C) for i in 1..$game_party.actors.size $game_party.remove_actor(i) end for i in 193..196 $game_switches[i] = false end case @command_window.index when 0 #Falls deine Charaktere nicht actor 1,2,3 und 4 sein sollten einfach #immer in die ensprechende Zahl umändern $game_party.add_actor(1) $game_party.add_actor(2) if $game_switches[@chara3] == true $game_party.add_actor(3) end if $game_switches[@chara4] == true $game_party.add_actor(4) end $game_switches[193] = true when 1 $game_party.add_actor(2) $game_party.add_actor(1) if $game_switches[@chara3] == true $game_party.add_actor(3) end if $game_switches[@chara4] == true $game_party.add_actor(4) end $game_switches[194] = true when 2 if $game_switches[@chara3] == true $game_party.add_actor(3) end $game_party.add_actor(1) $game_party.add_actor(2) if $game_switches[@chara4] == true $game_party.add_actor(4) end $game_switches[195] = true when 3 if $game_switches[@chara4] == true $game_party.add_actor(4) end $game_party.add_actor(1) if $game_switches[@chara3] == true $game_party.add_actor(3) end $game_party.add_actor(2) $game_switches[196] = true end $game_system.se_play($data_system.decision_se) $scene = Scene_Map.new end if Input.trigger?(Input::B) $scene = Scene_Map.new return end end end class Zahlen < Window_Base def initialize super(0, 0, 64, 160) self.contents = Bitmap.new(width - 32, height - 32) refresh end def refresh self.contents.clear self.contents.draw_text(0, 0, 64, 32, "1", 0) self.contents.draw_text(0, 32, 64, 32, "2", 0) self.contents.draw_text(0, 64, 64, 32, "3", 0) self.contents.draw_text(0, 96, 64, 32, "4", 0) end end |
zum Lesen den Text mit der Maus markieren
Einfach das alte durch das neue ersetzen, oben kansnt du die ID für die Switches einstellen,
die aktiviert werden müssen, wenn man ein neues Gruppenmitglied kriegt.
|
|
Ruby Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 |
#============================================================================== # Billiger Charwechsel von Xrazor :D #============================================================================== #Hier kannst du die ID des Switches festlegen, der aktiviert werden muss, sobald #man Charakter 3 und 4 in die Gruppe bekommt. class Ac def main @chara3 = 5 @chara4 = 6 #Wird momentan mit S aufgerufen, kann über $scene = Ac.new auch anders aufgerufen werden #Hier kann man einfach die Namen ändern s1 = "Aluxes zum Anführer machen" s2 = "Basil zum Anführer machen" if $game_switches[@chara3] == true s3 = "Cyrus zum Anführer machen" else s3 = "Nicht Belegt" end if $game_switches[@chara4] == true s4 = "Dorothy zur Anführerin machen" else s4 = "Nicht Belegt" end @command_window = Window_Command.new(320, [s1, s2, s3, s4]) @command_window.opacity = 255 @command_window.x = 200 @command_window.y = 100 @command_window.height = 160 @window_zahl = Zahlen.new @window_zahl.x = 100 @window_zahl.y = 100 Graphics.transition #Hauptschleife loop do Graphics.update Input.update @window_zahl.refresh update if $scene != self break end end Graphics.freeze @command_window.dispose @window_zahl.dispose end def update @command_window.update if Input.trigger?(Input::C) for i in 1..$game_party.actors.size $game_party.remove_actor(i) end for i in 193..196 $game_switches[i] = false end case @command_window.index when 0 #Falls deine Charaktere nicht actor 1,2,3 und 4 sein sollten einfach #immer in die ensprechende Zahl umändern $game_system.se_play($data_system.decision_se) $game_party.add_actor(1) $game_party.add_actor(2) if $game_switches[@chara3] == true $game_party.add_actor(3) end if $game_switches[@chara4] == true $game_party.add_actor(4) end $game_switches[193] = true when 1 $game_system.se_play($data_system.decision_se) $game_party.add_actor(2) $game_party.add_actor(1) if $game_switches[@chara3] == true $game_party.add_actor(3) end if $game_switches[@chara4] == true $game_party.add_actor(4) end $game_switches[194] = true when 2 if $game_switches[@chara3] == true $game_party.add_actor(3) $game_system.se_play($data_system.decision_se) else $game_system.se_play($data_system.buzzer_se) end $game_party.add_actor(1) $game_party.add_actor(2) if $game_switches[@chara4] == true $game_party.add_actor(4) end $game_switches[195] = true when 3 if $game_switches[@chara4] == true $game_party.add_actor(4) $game_system.se_play($data_system.decision_se) else $game_system.se_play($data_system.buzzer_se) end $game_party.add_actor(2) $game_party.add_actor(1) if $game_switches[@chara3] == true $game_party.add_actor(3) end $game_switches[196] = true end $scene = Scene_Map.new end if Input.trigger?(Input::B) $scene = Scene_Map.new return end end end class Zahlen < Window_Base def initialize super(0, 0, 64, 160) self.contents = Bitmap.new(width - 32, height - 32) refresh end def refresh self.contents.clear self.contents.draw_text(0, 0, 64, 32, "1", 0) self.contents.draw_text(0, 32, 64, 32, "2", 0) self.contents.draw_text(0, 64, 64, 32, "3", 0) self.contents.draw_text(0, 96, 64, 32, "4", 0) end end |
zum Lesen den Text mit der Maus markieren


