so, dann mal im richtigen thread...
Zitat
Jo, ich post das auch hier:
So aber ich würde ja auch außerdem gerne wissen, wie die Möglichkeit Nummer1 einzustellen funktioniert, so das es klappt:Zitat
Zitat von Oktorok3(von weiter oben)
wie gesagt, da habe ich einen fehler bei den parametern gemacht, deswegen funktioniert das leider noch nicht.
wenn cherry wieder da ist, und wir wissen woran dein anderes phänomen liegt wird er es hochladen (ich kann das nich, is ja seine page :P).
bis dahin ein bisschen geduld, sollte wohl hoffentlich morgen erledigt sein^^
Ich poste die Antwort hier damit das alle wissen.
Wie eigentlich in der Dokumentation beschrieben, ist *nextLineId normalerweise -1, was bedeutet dass DynRPG nicht festlegt welche Zeile als nächstes ausgeführt wird, sondern der Maker. Wenn du da was reinschreibst, überschreibst du die Entscheidung des Makers.
onComment wird ausgeführt nachdem das Comment geparst wurde. Jede Commentzeile ist eine eigene Eventzeile. scriptData->currentLineId steht also normalerweise auf der nächsten Zeile nach der letzten Commentzeile. (Im Gegensatz dazu sollte es in onEventCommand gleich lineId sein).
Daher überspringt "*nextLineId = scriptData->currentLineId + 1;" eine Zeile.
--
Mir war nichtmal bewusst dass ich nominiert wurde, aber: Cool! Hälfte des Lobes muss aber unbedingt an Archeia!Now all new and shiny:CherryShare | Patches und Tools | Programmwunschthread | www.cherrytree.at | Cherry = CherryDT
ok, es hat mich nicht los gelassen, dass das durch den switch so durcheinander gekommen ist, und ich habe herum probiert.
schuld ist dann wohl das parrallel process, das du mit dem switch angeschaltet hast, das bringt da irgendwas durcheinander.
ich habe weiter probiert, und es liegt nicht daran, dass es angeschaltet wurde, sondern generell das es läuft, ergo -> nicht mehr meine baustelle :P
mfg
Heißt das, du willst jetzt einfach darüber wegschauen?
Ich habe jetzt nochmal eine Testversion des Spiels mit diesem Plugin erstellt,
damit du dir eventuell einen Reim auf die noch existierenden Fehler machen kannst.
Klick einfach die Events im Spiel an, die sagen was los ist.
http://www.share-online.biz/dl/DW078PZLUA
ich will damit sagen, das ich da erstmal nichts machen kann, da der bug in cherrys dll steckt und nicht in meinem plugin.
ich werde nicht drüber hinwegsehen, deswegen gibts auch erst mal keine neue version, bis das nicht richtig funktioniert.
Wegen der Bugs: Ich hatte leider noch keine Zeit, mir das anzuschauen, tut mir Leid. Mach ich aber bald.
--
Mir war nichtmal bewusst dass ich nominiert wurde, aber: Cool! Hälfte des Lobes muss aber unbedingt an Archeia!Now all new and shiny:CherryShare | Patches und Tools | Programmwunschthread | www.cherrytree.at | Cherry = CherryDT
Kleine, unverschämte Anfrage:
Wäre es möglich, es so zu gestalten, dass das Plugin nur die ersten X Bewegungen (X=Zahl in einer Variable) ausführt, anstatt den ganzen Weg zurückzulegen? Wie gesagt, wenn es großartige Umstände bereitet, einfach ignorieren, das Plugin selbst ist schon absolut spitze. (:
Ahja, und ist das Plugin zufällig mit Proceed with Movement kompatibel? Sprich, dass es erst dann weitergeht, wenn die jeweilige Figur fertig mit ihrem Weg ist?
erm, wäre sicherlich möglich, da eine variabel zu übergeben.
eine "proceed with movement" funktion wird kommen (also das der code danach erst ausgeführt wird, wenn das event die ziel koordinate erreicht hat).
bin für weitere anregungen offen :P
ich veröffentliche aber erst was neues, wenn cherry diesen gravierenden bug gefixt hat, davor hat das nämlich keinen sinn^^
SOOO,
mal was neues von der Front
der Bug mit den Parrallel Process ist leider immer noch existent (wie gesagt, liegt am SDK, nicht an meinem PlugIn), aber ich habe mal ein paar User Wünsche umgesetzt.
Als allererstes ist der Bug gefixt, das man keine Event ID angeben konnte (lag wie gesagt intern daran das ich einen falschen Parameter ausgelesen habe *schäm*).
2. Habe ich die Befehle umbenannt. Aus "CalcPath" wurde nun "FindPath". Dazu ein wenig die Parameter optimiert, und ich bin zu dem entschluss gekommen, wenn man bei nicht erreichen des Endpunkts den nächsten Punkt nutzen möchte, dies gefälligst über einen eigenen Comment machen soll, so ist jetzt "FindPathOrNearestSpot" entstanden.
2 Neue Parameter dürfen wir nun trotzdem begrüßen. Einmal den "MaxTilesToMove" Paramter, der angibt, um wie viele Tiles sich maximal bewegt werden soll.
Zum zweiten haben wir einen "Success" Paramter, der eine ID eines switches enthalten soll. Auf diesen Switch wird dann zurück gegeben, ob die Pfadsuche Erfolgreich war, oder nicht (0 für nicht, 1 für erfolgreich).
Lest euch nochmal die kleine Doku im ersten Post durch, ist ein wenig genauer.
Wenn ihr weitere Anregungen habt, nur her damit. Mit dem etwas größeren Bug muss ich Cherry nochmal anhauen
mfg
PS: Für die Neue Version benutzt DIESEN DOWNLOAD ---> Pathfinder.rar <---
Sobald Cherry das auf seiner Page geändert hat, sagt er oder ich euch bescheid.
Das ist schon mal sehr gut, dass du den Pathfinder weiter optimiert hast und neue Funktionen mit dabei sind!
Freut mich!
Ich hätte auch direkt noch eine Anregung,
und zwar wäre es außerdem eine äußerst nützliche Angelegenheit, wenn man zusätzlich noch manuell abfragen kann, ob ein Hindernis im Weg ist, um z.B. in diesem Fall das Ereignis daran zu hindern weiter zu laufen (Damit man es etwa in eine Bedingung einbauen kann z.B. if switch XY on(der dann angehen sollte, wenn das Event geblockt ist))
bitte was?
irgendwie verstehe ich da grade nicht so wirklich den sinn, oder ich verstehe nicht genau was du möchtest.
du möchtest also, dass das event nicht weiter läuft, wenn ein hinderniss auftritt?
Nein, es soll das Ereignis zwar standartmäßig umgehen, aber man manuell abfragen kann, ob ein Hindernis im Weg ist.
Kleines Beispiel:
Ein dummes Tier will giftige Kräuter fressen und sucht seinen Weg dahin.
Der Held muss das Tier davon abhalten, indem er ihm so lange den Weg versperrt, oder Hindernisse in den Weg schiebt, bis das Tier z.B. beim dritten Hindernis aufgibt.
Also in diesem Fall müsste man die Aufhalt-Versuche zählen können und das Tier per Bedingung zum stehen bringen (wenn Variable "Blockversuche" auf 3)