PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Easy: Skill soll Switch aktivieren



Rusk
22.07.2009, 15:28
Ich bräuchte eure Hilfe:
Ich hab ein Skill, der - wen man ihr aufruft - einen Switch aktivieren soll.
Doch beim XP gibt es diese Funktion nicht mehr im Gegensatz zum 2000.
Ich habs mit einem Common Event probiert, aber das geht auch nicht.
Ich bin halt mit Common Events nicht so gut vertraut.
Kann mir jemand helfen? Gibts da eine Alternative?
Ich schätze es wird eine einfache Lösung dazu geben, auf die ich nie gekommen wäre. ;)

MfG Deamonic

Shining Advances
22.07.2009, 16:02
mit common event lagst du schon richtig.
einfach ein common event erstellen, das den switch aktiviert und dieses event dann beim skill auswählen. fertig.

wenn du sagst, dass es nicht geht, hast du vlt nen falsches common event ausgewählt oder andere flüchtigkeitsfehler gemacht.
eventuell liegt der fehler auch nicht beim aktivieren des switches, sondern beim ereignis, das durch den switch ausgelöst werden soll.

lucien3
22.07.2009, 16:18
Du kannst auch beispielsweise in game_battler 3 unter skill_effect folgendes eingeben:

if skill.id == 1 (anstelle der 1 deine skill_id)
$game_switches[1] = true
end

Damit musst du kein CE verschwenden.

Rusk
22.07.2009, 17:09
mit common event lagst du schon richtig.
einfach ein common event erstellen, das den switch aktiviert und dieses event dann beim skill auswählen. fertig.

wenn du sagst, dass es nicht geht, hast du vlt nen falsches common event ausgewählt oder andere flüchtigkeitsfehler gemacht.
eventuell liegt der fehler auch nicht beim aktivieren des switches, sondern beim ereignis, das durch den switch ausgelöst werden soll.

So habe ich auch gemacht, aber da der Switch bei mir ein Common-Event auslöst (Eine Beschwörung mit Schleife) geht das nicht.
Der Held kann sich nicht bewegen und wartet einfach bis die Schleife aus ist. Dann geht alles wieder normal.
Ich werds auf Luciens Art machen. ich dachte mir schon, dass Ruby die Lösung sein wird, aber meine Ruby-Kenntnisse sind gleich null (naja nicht ganz null, vlt. 1)
Ob's funzt wird sich zeigen.

Rusk
22.07.2009, 17:41
Hm, es geht jetzt, aber der Zauber wird auf jeder Map noch mal ausgesprochen.
Kaum bin auf nächsten Map, spricht der Held die Formel und es geht wieder von vorne los.
Ich werde mir mal das ganze in Ruhe anschauen.

Übrigens, habe ich es mit COmmon Events gemacht
MfG Deamonic
PS: Sry für den Doppelpost

Shining Advances
22.07.2009, 18:17
was wird denn durch den switch gestartet?
ein common event oder ein map event?
letzteres wäre ein einfacher grund, warum alles neu startet, wenn du die map wechselst.

Rusk
22.07.2009, 18:27
Gut ich werde es nochmal erklären.
Ich habe einen Skill, genauergesagt eine Beschwörung.
Der Code für die Beschw. steht in einem Common-Event (Parallel process)
Es sind Schleifen und verzweigungen enthalten.
Wenn ich das CE jetzt mit dem Skill aufrufe bleibt der Held stecken, bis die Schleife vorüber ist. Jetzt habe ich versucht, dass das Skill ein 2. CE aufruft, der den Switch auslöstwelche das Beschw. CE aufrufen soll.

In dem 2. CE habe ich einfach den Switch auf ON reingeschrieben.
Beschwörung wird ausgeführt, der Held kann sich bewegen, alles soweit OK.
Doch wenn ich die Map verlassen, wird das Beschwörung CE aufgerufen, also die Beschwörung.

Das problem ist ja nur, dass sich der Held nicht bewegen kann und wenn man es anders macht, wirds entweder komplizierter oder es geht gar nicht.

Shining Advances
22.07.2009, 19:06
der held lässt sich grundsätzlich nur bewegen, wenn kein event läuft (ausnahme parallel prozess). so ist es auch bei common events.
wenn du ein common event durch den skill aufrufst, kannst du dich erst bewegen, wenn es zuende ist. dabei macht es keinen unterschied ob das common event auf parallel prozes steht oder nicht, denn common event parallel prozesse laufen nur parallel wenn sie durch den switch gestartet wurden.
deshalb ahst du 2 möglichkeiten:
1)
der skill führt ein CE aus, welches den switch ein schaltet. durch diesen switch startet dann ein CE auf parallel prozess
2)
der skill fürt gleich das CE auf parallel aus. dieses CE hat am anfang allerdings ein:
-@>conditional branch: switch[xxx] == off
--@>control switches[xxx]=on
--@>exit event processing
--@>
-:branch end
<der weitere code der beschwörung>

dadruch wird der switch eingeschaltet und das event abgebrochen.
weil der switch nun allerdings an ist, wird das CE durch den switch erneut als parallel prozess gestartet und der held kann sich bewegen.

Rusk
22.07.2009, 20:32
Zur 1 Möglichk. : So hatte ich es ja vorher.
Doch bei jedem Mapwechsel, rufte er das CE erneut auf.

Zur 2. Möglichk. : Wie oben

Bewegen kann sich de Held, aber das CE führt bei jedem Mapteleport das CE erneut aus.
Wenn du willst, kann ich dir das CE als projekt senden.

Shining Advances
22.07.2009, 22:01
projekt empfangen und mal angesehn.
ok der fehler liegt nicht bei dir, sondern beim maker...in gewisser hinsicht.
wenn man die map wechselt werden auch die common events neu geladen (Game_Map zeile 79-82).
aufgrund dessen fängt das common event wieder von vorne an (ist mir bisher nie aufgefallen oder ich erinner mich einfach nicht mehr ._. fast schon peinlich nach all den jahren)
mein vorschlag wäre das gesammte in 3 CE auf zu teilen (beschwörung,schleife,schluss).
hab dir meine version per pm geschickt.

Rusk
23.07.2009, 10:24
Yep, jetzt funzt alles perfekt! :)
Danke dir Shining Advances!! http://www.multimediaxis.de/images/smilies/old/sm_12.gif http://www.multimediaxis.de/images/smilies/old/sm_12.gif
Ich werde dir eine Danksagung im Spiel zukommen lassen, da du mir schon öfter geholfen hast. ;)
MfG Deamonic

*closed*