HyperRPG
11.12.2004, 12:35
Hallo,
ich habe ein Problem:
Niemand von euch wird wahrscheinlich alle 5000 Switches und Variablen benutzen, oder?
Also empfiehlt es sich die restlichen Sw. und Varis auch zu verwerten indem man eine Funktion einbaut, die dem Spieler die Möglichkeit gibt sogenannte Wiederherstellungspunkte im laufenden Spiel zu setzen. Das Verfahren ist relativ einfach:
Es werden einfach alle schon vorhanden Variablen gespiegelt, d. h. die Werte einfach in eine andere übertragen. Das wird bei Variablen, Switches usw. gemacht. Wichtig ist dabei natürlich noch die aktuelle Map ID mit einzubeziehen, und die X und Y Pos. des Helden. Jetzt könnte man sagen das wäre ziemlich viel Scriptarbeit für jede Variable und für jeden Switch einzeln die Spiegelung durchzuführen, aber das ist gar nicht nötig. Seht euch folgendes Beispiel an:
Wir benutzen alle Switches von 1 -2500 und alle Variablen von 1 - 2500. Variable 2496 nennen wir MapID, 2497 HeroX und 2498 HeroY. Dann werden ersteinmal die entsprechenden Werte in die Variablen gespeichert. Dann nennen wir Variable 2499 Temp1 und 2500 Temp2. Temp1 wird auf 1 gesetzt und Temp2 auf 2501. Dann geht es los:
<>Loop
<>Change Var: [Var[2500]] (Set)- Var[Var[2499]
<>Change Var: [Var[2499:Temp1]] (+)- 1
<>Change Var: [Var[2500:Temp1]] (+)- 1
<>If Var(2499:Temp1) 2500
<>Break
<>
<>End Case
<>
<>End Loop
Alle Variablen wurden jetzt gespiegelt. Jetzt gibt es ein Problem:
Die Switches lassen sich nicht so einfach spiegeln. Denn dort ist keine Set Funktion vorhanden die dies erlaubt.
Meine 2. Lösung wäre dann gewesen: Prüfe einfach ob Switch soundso AN oder AUS ist und stelle Switch soundso+2500 dann auf entsprechenden Wert. Problem ist diesmal: Bei einer Fork lässt sich keine bestimmte Switchnummer, die in einer Var angegeben wird überprüfen.
Und genau das macht die ganze Sache kaputt. Meint ihr dass es noch eine andere Lösung gibt???
ich habe ein Problem:
Niemand von euch wird wahrscheinlich alle 5000 Switches und Variablen benutzen, oder?
Also empfiehlt es sich die restlichen Sw. und Varis auch zu verwerten indem man eine Funktion einbaut, die dem Spieler die Möglichkeit gibt sogenannte Wiederherstellungspunkte im laufenden Spiel zu setzen. Das Verfahren ist relativ einfach:
Es werden einfach alle schon vorhanden Variablen gespiegelt, d. h. die Werte einfach in eine andere übertragen. Das wird bei Variablen, Switches usw. gemacht. Wichtig ist dabei natürlich noch die aktuelle Map ID mit einzubeziehen, und die X und Y Pos. des Helden. Jetzt könnte man sagen das wäre ziemlich viel Scriptarbeit für jede Variable und für jeden Switch einzeln die Spiegelung durchzuführen, aber das ist gar nicht nötig. Seht euch folgendes Beispiel an:
Wir benutzen alle Switches von 1 -2500 und alle Variablen von 1 - 2500. Variable 2496 nennen wir MapID, 2497 HeroX und 2498 HeroY. Dann werden ersteinmal die entsprechenden Werte in die Variablen gespeichert. Dann nennen wir Variable 2499 Temp1 und 2500 Temp2. Temp1 wird auf 1 gesetzt und Temp2 auf 2501. Dann geht es los:
<>Loop
<>Change Var: [Var[2500]] (Set)- Var[Var[2499]
<>Change Var: [Var[2499:Temp1]] (+)- 1
<>Change Var: [Var[2500:Temp1]] (+)- 1
<>If Var(2499:Temp1) 2500
<>Break
<>
<>End Case
<>
<>End Loop
Alle Variablen wurden jetzt gespiegelt. Jetzt gibt es ein Problem:
Die Switches lassen sich nicht so einfach spiegeln. Denn dort ist keine Set Funktion vorhanden die dies erlaubt.
Meine 2. Lösung wäre dann gewesen: Prüfe einfach ob Switch soundso AN oder AUS ist und stelle Switch soundso+2500 dann auf entsprechenden Wert. Problem ist diesmal: Bei einer Fork lässt sich keine bestimmte Switchnummer, die in einer Var angegeben wird überprüfen.
Und genau das macht die ganze Sache kaputt. Meint ihr dass es noch eine andere Lösung gibt???