PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Vars mehrmals benutzen



Biffi
29.06.2006, 13:31
Hallo,

Ich glaube ich nerve ^^ aber egal :)

Würde gerne wissen ob es eine Möglichkeit gibt Vars mehrmals zu benutzen.

z.B. Ich habe eine Truhe da ist ein Kleiner Heiltrank drin.
Auf Tastendruck wird Switch RyusHausTruhe aktiv
Andere Grafik mit offenerTruhe kommt zum Vorschein und ein kleiner Trank kommt heraus ^^

Dannach wird ein Switch aktiv der Die Truhe als Totes Element dargestellt damit man nicht immer den kleinen heiltrank rauskriegt

Jetzt wollte ich wissen ob man das irgendwie anders machen kann damit ich nicht nach knapp 200Truhen dann 400Switches verbraucht habe ^^

------------------------
Wollte es eigentlich so machen
Auf Tastendruck wird ein Heiltrank in mein Bag getan und dann ändert sich die Grafik (weiss aber nicht wie das geht) und die Truhe wird als tot dargestellt (so das es sich nicht wiederholt(weiss ich aber auch nicht wie das geht))

Hoffe ihr versteht was ich meine ^^

mfg
Biffi

Kopp
29.06.2006, 14:30
Nein, ich glaube, dass du in diesem Fall das nicht kannst. Aber du brauchst pro Truhe doch nur einen switch, also bei 200 Truhen nur 200 ^^

Kopp

Biffi
29.06.2006, 15:01
Wie das denn?

Ich muss doch die Truhe tot kriegen also
das ich keine items mehr daraus kriege oder?

Oder gibt es ein befehl das nach

Add. Item .....
Ende kommt?

mfg
Biffi

WoOdY49
29.06.2006, 15:01
Nein, ich glaube, dass du in diesem Fall das nicht kannst. Aber du brauchst pro Truhe doch nur einen switch, also bei 200 Truhen nur 200 ^^

Kopp
genau

den switch "ryushaustruhe aktiv" kannst du dir sparen
mach in das truhenevent einfach:
add item heiltrank
move event: [truhe] turn left (dafür, dass sich die truhe grafisch öffnet ^^)

und danach setzt du den switch, der dafür sorgt, dass das event tot ist, so wie du es nennst ;)

Biffi
29.06.2006, 15:33
jo funzt ^^ man bin ich en depp ^^
danke

mfg
Biffi

Caractacus
29.06.2006, 17:42
Warum heißt der Threadtitel "Vars mehrmals benutzen" wenn du Switches meinst?
Naja, Woody hat es ansonsten schon ganz gut beschrieben...
Bzw. Ryuu ist mein Held =O xD

Biffi
29.06.2006, 17:45
Zum Titel sorry ^^
Kenne den Unterschied nun auch ;)

Zum held Ryu ^^ hehe wusste keinen anderen Namen ^^ also habe ich den genommen :D

mfg
Biffi

Macros
30.06.2006, 09:47
Du koenntest auch das Event "Truhe" loeschen, oder dahin teleportieren wo es keiner sieht.
Damit da aber keine leere Flaeche bleibt, muesstest du die offene Truhe auch im Chipset haben.
Du machst also erst die Chipsettruhe und darauf das Event.
Wenn die Truhe leer ist, wird das Event geloescht und man sieht nur das Chipset, mit dem man keine Aktion durchfuehren kann.
Wenn du das Oeffnen der Truhe mit Bewegungsanimationen (bzw. Change Graghic) machst, brauchst du dafuer auch keinen Tap.
Also brauchst du fuer 200 Truhen 0 Taps/Switches, opferst aber ein Tile auf deinen Chipset.

Ist mir jetzt spontan eingefallen, hab gerade keine Moeglichkeit das nachzupruefen.
EDIT:
Caractus hat Recht, auf die weise geht das dann doch nicht... ich hab mich schin zu sehr an sie Lokalen Taps vom Xp gewöhnt :)

Caractacus
30.06.2006, 14:29
Du koenntest auch das Event "Truhe" loeschen, oder dahin teleportieren wo es keiner sieht.
Damit da aber keine leere Flaeche bleibt, muesstest du die offene Truhe auch im Chipset haben.
Du machst also erst die Chipsettruhe und darauf das Event.
Wenn die Truhe leer ist, wird das Event geloescht und man sieht nur das Chipset, mit dem man keine Aktion durchfuehren kann.
Wenn du das Oeffnen der Truhe mit Bewegungsanimationen (bzw. Change Graghic) machst, brauchst du dafuer auch keinen Tap.
Also brauchst du fuer 200 Truhen 0 Taps/Switches, opferst aber ein Tile auf deinen Chipset.

Ist mir jetzt spontan eingefallen, hab gerade keine Moeglichkeit das nachzupruefen.
Nicht wirklich...
Wenn man die Map neu betritt ist das Truhenevent wieder an der Position wo es am anfang war.
Außerdem sieht man den Chip der offenen Truhe.

Phönix Tear
01.07.2006, 18:22
Nicht wirklich...
Wenn man die Map neu betritt ist das Truhenevent wieder an der Position wo es am anfang war.
Nicht wenn man dazu einen entsprechenden Skript hat ;)
Der ein oder andere wird vielleicht wissen das Lachsen in Velsarbor eben so einen Skript verwendet um zerstörte Büsche beim Betreten der entsprechenden Map verschwinden zu lassen. Da aber Lachsens Codes häufig unübersichtlich sind (ganz abgesehen davon das sie in einem Wust aus Animationen und Hin- und Hergeschalte von für andere Sachen wichtigen Switches und Variablen eingepackt sind), hab ich daraus mal einen Skript gemacht, der hoffentlich etwas übersichtlicher ist. Ich habe nicht direkt auf Lachsens Code zurückgegriffen (im Endeffekt hab ich ihn mir angeschaut und dann versucht was Eigenes draus zu machen ;) ) daher verwende ich z.B. auch für jedes Events eine Map-ID, was Lachsen nicht tut (warum es bei ihm trotzdem funktioniert hab ich noch nicht ganz rausgefunden ^^°).
Öhm, ja, HIER (http://rapidshare.de/files/24716109/Anti-Switch_Skript.rar.html) der Links zur Datei (Raphid-Share, ich weiß ^^). Du wirst am Anfang auf einer Wald-Map starten wo du zwei drei Büsche zerschlagen kannst. Gehst du dann nach unten kommst du auf die Testmap auf der du Menschen töten, Büsche zerhacken, Truhen öffnen und den Inhalt bekommen sowie einen Schalter umlegen kannst. Diese vier Beispiele sollen zeigen das man den Skript in allen möglichen Bereichen ohne viel Arbeit verwenden kann (das einzige was für mich Arbeit war war immer die Kommentare zu ändern ^^°). Dabei stehen Büsche und Menschen für zersörbare Objekte, die Truhe für einsammelbare oder änderbare (anderes aussehen) (wobei man einsammelbare auch zu Büschen und Menschen zählen kann) und der Schalter für Events die wieder etwas anderes auslösen (wie z.B. eine Barrikade durch "Change Graphik" und "Set Event Place" verschwinden zu lassen).

Na ja, ich hoffe du blickst da so einigermaßen durch. Wenn du es so übernimmst wäre ich natürlich glücklich über einen Credits-Eintrag ;)

mfg
Phönix Tear

Wers im Beitrag übersehen hat, HIER (http://rapidshare.de/files/24716109/Anti-Switch_Skript.rar.html) nochmal der Link (400 KB).

Dhan
01.07.2006, 22:41
Ich hab mir mal erlaubt, dein Script auf meinen Server zu laden um das lästige Rapidshare auszubooten:
Klick me (http://dhan.de/Anti-Switch_Skript.rar)

Den Code hab ich glaubich so ziemlich verstanden, muss aber mal noch ein bisserl drüber blicken blöh immer die Sache mit nicht-selbstgeschriebenen Code, in den findet man immer so schwer rein ^^

Allerdings scheint nen Fehler drin zu sein:
Wenn ich auf der ersten Map einen Busch haue, bevor ich etwas auf der zweiten Map mache, so ist das auf der ersten Map beständig und das auf der zweiten regeneriert sich und umgekehrt (also wenn ich zuerst was auf der zweiten Map zerhaue, dann regeneriert sich alles auf der ersten Map)

edit: Nach dem Studieren des Scriptes hab ich keine Ahnung, wie dieser Bug entsteht, müsste eigentlich tadellos funzen
edit2: Hab mal mit F9 rumprobiert, das Zerhauen der Büsche wird korrekt gespeichert.
edit3: Ich glaub ich weiß, woran es liegt: im Hauptevent ist das Goto Label 1 in der Fork, die fragt, ob die MapID der Variable mit der des Heldens übereinstimmt.
Ist die MapID nicht die des Heldens, so endet das Script ohne zu schaun, ob in späteren Variablen die MapID übereinstimmt
edit4: Ja, das war es.
Um den Bug zu beheben, muss folgendes getan werden:
Im Hauptevent am Schluss:


<>Call Event: V[4][V[8]]
<>Note:
<>Note: Die Aktion wurde ausgeführt, also soll die nächste Variable geprüft werden, bis eine den
Inhalt 0 hat, also nicht zugewiesen wurde und damit das Ende der Liste darstellt.
<>Note:
<>Variable Ch:[0003:EventIDSpeicher1]+,1
<>GOTO Label 1No
<>
END Case
<>
END Case
<>

das muss geändert werden in:


<>Call Event: V[4][V[8]]
<>Note:
<>Note: Die Aktion wurde ausgeführt, also soll die nächste Variable geprüft werden, bis eine den
Inhalt 0 hat, also nicht zugewiesen wurde und damit das Ende der Liste darstellt.
<>Note:
<>
END Case
<>Variable Ch:[0003:EventIDSpeicher1]+,1
<>GOTO Label 1No
<>
END Case
<>

Nur die ganz leicht falsche Position von zwei Befehlen also


prima Script jedenfalls
(die jetzige Version auf meinem Server ist die ursprüngliche mit Bug, fremde Scripte änder ich nicht einfach so)
lads hoch aufs Atelier (aber korrigiert por favor)^^

Corti
02.07.2006, 10:42
Warum heißt der Threadtitel "Vars mehrmals benutzen" wenn du Switches meinst?
Weil ein Switch eine Boolean-Variable ist, somit ist der Titel sogar richtig.

Phönix Tear
02.07.2006, 12:15
Ahh, vielen Dank Dhan ^^. Solche Fehler wo man der Meinung ist das alles richtig ist sind immer die schlimmsten ^^°.
Habs jetzt gleich mal korrigiert und neu hochgeladen (sry wegen Rapidshare, ich gewöhn mich so schwer um ^^).
Habs zwar auch oben geändert aber da ich so gerne verlinke HIER (http://rapidshare.de/files/24716109/Anti-Switch_Skript.rar.html) nochmal der Link.

mfg
Phönix Tear

P.S:
Wenn du meinst werd ich das wohl auch in die Skripte-Sektion hochladen (solange der angenommen wird ^^).

Edit:
@Pilo: Da hast du schon recht, wirklich sparen nicht, trotzdem hat mich das zumindest immer genervt wenn man überall neue Switches vergeben muss. Gerade bei Sachen wie den Büschen welche z.B. nicht nachwachsen sollen oder Pflanzen. Bei einem Alchemie-System wo überall in der Welt Pilze, etc. stehen kann das sehr praktisch sein. Dann macht man sich ein mal alle Pflanzensorten fertig und muss sie nur noch dahin kopieren wo man sie haben will ;). Damit sollte es dann auch kein Problem mehr sein eine Welt zu schaffen in der man wirklich alles mitnehmen kann ;)
Wegen Lachsen: Das wäre natürlich eine Erklärung, auf die Idee bin ich noch garnicht gekommen ^^°

Edit 2:
Hab jetzt auch mal die "Liste" um 2000 Variablen nach hinten verschoben. Damit verliert man auch keinen Platz (außer man benutzt diese Hack-Tool). Das ist mir mal vor einiger Zeit aufgefallen, das man zwar nicht mehr als 5000 Variablen direkt benutzen darf, es dem Maker aber auch keine Probleme macht wenn man per Variablen Nummer auf Variable 10.000 zugreift...

Pilo
02.07.2006, 12:40
Sehr schönes Skript, aber wirklich Switches und Variablen spart man damit nicht, nur Arbeit, man braucht noch immer eine Vari pro Event, das man löschen will.

Bei Lachsen funktioniert es deshalb ohne MapID, weil er diese Methode nur zum temporären Speichern nützt, damit die Sträucher ect. beim Wechsel auf die KS-Map gleich bleiben wie vorher, bei einem "echten" Mapwechsel wird das ganze gelöscht, ich hab aber auch noch nicht herausgefunden, welches Event das macht, wahrscheinlich eines der hunderten CEs.Die Kisten macht er weiterhin per switch.

Dhan
02.07.2006, 14:56
http://dhan.de/Anti-Switch_Skript.rar <<< soa, jetz die entbuggte Version von Phönix Tears Skript für alle, die Rapidshare umgehen wollen ^^




Wenn du meinst werd ich das wohl auch in die Skripte-Sektion hochladen (solange der angenommen wird ^^).
Ich bin Spieletester, von daher ^^