PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [VX] Problem bei Lernpunktesystem



Cinner
16.07.2010, 00:55
Hi Folks,
ich hab mir jetzt mal nach längerer Makerabstinenz den VX zugelegt. (der 2k funkt iwie nicht richtig...)
Als erstes wollte ich mal versuchen einige Grundsysteme aus meinen älteren Projekten zu übernehmen, doch leider ist es schon beim ersten ins Stocken gekommen.
Und zwar soll der Held bei jedem Lvl-Aufstieg eine Anzahl Lernpunkte bekommen, die dann für iwelche Fähigkeiten eingetauscht werden können.
Naja ich schreib hier einfach mal das Event hin:



-Bedingung: Variable [0001:HeroLvl] >= 1
-Variable: [0001:HeroLvl] = [Hero]´s Lvl
-Bedingung: Variable [0001:HeroLvl] == Variable [0002:HeroLvl neu]
-Variable: [0003:LP] + 10
-Nachricht: BlablaBlub
-Variable: [0002:HeroLvl neu] + 1
-Ende

-Ende



Das Ganze als Common Event (Paralleler Prozess) mit dem Auslöseswitch [0001: LP].
Durch ein Event wird vor dem ersten Lvl-Anstieg der Switch aktiviert und die Variable [0002] auf 2 gesetzt.

Achja das Problem besteht darin dass es halt einfach gar nicht funktioniert. ^^

Und bevor jemand der den VX nicht kennt fragt warum so kompliziert über Variablen, dem sei gesagt dass es im VX keine Bedingung mehr gibt die Variablen und Heldenlevel vergleicht... >:(

Na dann ich bin für Vorschläge offen.

lg Cin

R.F.
16.07.2010, 14:30
Als erstes würde ich mal die Variable auf den Wert des Levels setzen, bei dem, was ich da sehe, (ich nehme an, die Var[0001] wurde nur mit 0 initialisiert), wird darauf abgefragt, ob sie >0 ist, was aber nicht zutrifft. Deshalb wird der ganze Bedingungsblock gar nicht ausgeführt.

Edit: müsste eigendlich reichen, die äußere Bedingung rauszunehmen, da der Level ja nie 0 werden darf

ETeCe
17.07.2010, 00:59
Das gleiche Problem tritt übrigens in Zeile 3 auf (sofern du der Variable 2 keinen Wert zugewiesen hast oder der Held auch zusätzliche 2 Level auf einmal erreichen kann), da die Schleife aussetzt sobald der Heldenlevel über den neuen Heldenlevel wächst...

Cinner
19.07.2010, 13:35
Also, es funktioniert jetzt, aber alles was is gemacht habe ist das >= durch ein <= zu ersetzen... Ich versteh die Welt nicht mehr..
Und das mit den 2 Lvl auf einmal ansteigen ist mir dann auch noch aufgefallen... Entweder ich verhindere eben genau das, was aber ne Menge Arbeit wär wahrscheinlich. Oder aber jemand hilft mir? ^^

lg Cin

PS. Achja und td dass es jetzt auch so funktioniert hat, danke.

Edit:
Mir ist schon was eingefallen. ^^ Werd´s ma testen, könnte aber wieder etwas dauern bis ich hier wieder reingucke also td Vorschläge machen, falls meine Idee nicht klappt. Danke. ^^

R.F.
19.07.2010, 16:51
Ich würde es in etwa so machen:
Ich habe einfach, bevor das Event das erste mal startet die Variable [0002:HeroLvl neu]=1 gesetzt. Das geht deshalb, weil man Parallele Prozesse ja auch per Switch aktivieren kann, also einfach die Variable mit 1 belegen und dann den Switch aktivieren. Der Rest sieht dann wie folgt aus:


-Variable [0001:HeroLvl] = [Hero]'s Lvl
-Bedingung: Variable [0001:HeroLvl] == Variable [0002:HeroLvl neu]
-Variable [0003:LP] + 10
-Nachricht: BlablaBlub
-Variable [0002:HeroLvl neu] + 1
-EndeEs besteht aber immernoch folgendes Problem:
Der Held kann auch durch einen dummen Zufall mehr als einen Lvl pro Kampf steigen, weshalb das ganze dann nicht mehr funktionieren würde.

Doch das kannst du dir ruhig mal selbst überlegen :D

Tipp: musst nur eine kleine Sache ändern

Cinner
19.07.2010, 22:03
Ich weiß schon, was ich ändern muss. Zumindest hoff ich einfach mal, dass es funktioniert... Iwas stimmt mit dem VX nicht oder ich bilde mir das nur ein und seh nicht was ich falsch gemacht hab... Nja ich probiers mal aus. Danke jedenfalls.

Edit:
Okey, jetzt bin ich verwirrt. Jetzt geht´s gar nicht mehr... nicht mal mehr mit meiner ersten Idee (bzw. der zweiten...)... Und soweit ich das sehe hab´ ich alles so wie vorher...