Gibt es eine Walkmap abfrage?
Gibt es eine Walkmap abfrage?
Hallo
Mein Problem:
Ich will ein Character uber eine Map gehen lassen das Funktioniert auch
ich will aber einen Skript machen in dem Steht auf welchen Punkten Der Character steht im Moment . Klar kann ich WalkmapScripte machen aber
Das sind so 300 Stück und ich müsste die alle verändern
Kann man mir Helfen
Mein Problem:
Ich will ein Character uber eine Map gehen lassen das Funktioniert auch
ich will aber einen Skript machen in dem Steht auf welchen Punkten Der Character steht im Moment . Klar kann ich WalkmapScripte machen aber
Das sind so 300 Stück und ich müsste die alle verändern
Kann man mir Helfen
Ich habe dir zwar schon im Messenger geantwortet, aber weil hier die Frage im Raum steht:
if_num(char:x;*edit: Pixelwert)
if_num(char:y;*edit: Pixelwert)
if_num(char:x;*edit: Pixelwert)
if_num(char:y;*edit: Pixelwert)
Last edited by Baelavay on 22 Feb 2009, 20:49, edited 1 time in total.
das ist so aber nicht korrekt :
charx (und nicht char:x) verlangt pixel koordinaten, korrekt wäre die abfrage :
setnum (walkx ; [charx:deinchar])
setnum (walky ; [chary:deinchar])
setnum (walkx ; [walkx] / walkmapgröße)
setnum (walky ; [walky] / walkmapgröße)
if_num (walkx ; gewünschter wert ect)
Die Walkmap größe richtet sich nach deiner Auflösung des Spiels und ob du eine Doppelte Walkmap benutzt.
Bei normaler :
320er : 10 Pixel
640er : 20 Pixel
800er : 25 Pixel
1024er : 32 Pixel
bei doppelter halbiert, um durch 12,5 teilen zu können wenn du 800x600 mit doppelter Walkmap verwendest :
setnum (zwölffünf ; 25/2)
charx (und nicht char:x) verlangt pixel koordinaten, korrekt wäre die abfrage :
setnum (walkx ; [charx:deinchar])
setnum (walky ; [chary:deinchar])
setnum (walkx ; [walkx] / walkmapgröße)
setnum (walky ; [walky] / walkmapgröße)
if_num (walkx ; gewünschter wert ect)
Die Walkmap größe richtet sich nach deiner Auflösung des Spiels und ob du eine Doppelte Walkmap benutzt.
Bei normaler :
320er : 10 Pixel
640er : 20 Pixel
800er : 25 Pixel
1024er : 32 Pixel
bei doppelter halbiert, um durch 12,5 teilen zu können wenn du 800x600 mit doppelter Walkmap verwendest :
setnum (zwölffünf ; 25/2)
Mach doch einfach + 1/2. Das hat bei mir zumindest immer funktioniert.
Ich musste bei meinem Kampfskript, wo ja auch ne Menge Walkmap-Abfragen sind, auch eine Nuance zu dem /20 hinzufügen, damit es wasserdicht funzt.
Wieviel das war weiß ich aber nicht mehr^^, und jetzt nachsehen hab ich grad kein Bock
Ich musste bei meinem Kampfskript, wo ja auch ne Menge Walkmap-Abfragen sind, auch eine Nuance zu dem /20 hinzufügen, damit es wasserdicht funzt.
Wieviel das war weiß ich aber nicht mehr^^, und jetzt nachsehen hab ich grad kein Bock
Hallo
Da ich fand es lohnt sich nicht eine ein neues Topic aufzumachen hier mein neues Problem :
Beamto und timer werden nicht mehr ausgeführt Warum?
Das ist eine Infinit Function
Da ich fand es lohnt sich nicht eine ein neues Topic aufzumachen hier mein neues Problem :
Code: Select all
If_num(G1a;0)
{
setnum(G1a;1)
playsound(reaktor;100)
setstring(SString;Arbeitet)
ifnot_num(CharX:Generator1;[Charx:Drone[D])
walkto([DString];[CharX:Generator1]/20+1/2;[CharY:Generator1]/20+1+1/2;2)
ifnot_num(CharY:Generator1;[CharY:Drone[D])
walkto([DString];[CharX:Generator1]/20+1/2;[CharY:Generator1]/20+1+1/2;2) ]
-bis hier hin wird die Function abgespielt -Warum?
BeamtO([Dstring];Ablage;1;1;1)
timer(15)
Beamto([Bstring];Map1;[CharX:Generator1]/20+1/2;[CharY:Generator1]/20+1+1/2;1)
}
Das ist eine Infinit Function
Ist die Großkleinschreibung egal? Habs noch nie ausprobiert. Auf jeden Fall würde ich beamto klein schreiben.
Außerdem verwendest du die Variablen [Charx:Drone[D] und [CharY:Drone[D].
Irgendwie bezweifle ich, dass das mit der eckigen Klammer da drin funktioniert.
Dass kein Fehler ausgespuckt wurde ist komisch.
Außerdem verwendest du die Variablen [Charx:Drone[D] und [CharY:Drone[D].
Irgendwie bezweifle ich, dass das mit der eckigen Klammer da drin funktioniert.
Dass kein Fehler ausgespuckt wurde ist komisch.
[Charx:Drone[D]
Das kann so auch nicht richtig funkionieren. [Charx:Drone[D]] übrigens im Moment auch noch nicht, erst mit dem nächsten Update gehen zwei eckige Klammern generell ineinander.
Die üblichen Fragen :
Bist du sicher das nicht nur der beamto sondern wirklich auch der Timer nicht ausgeführt wird? (Gegentest : Den Beamto gegen ein quit() austauschen und schauen ob sich das Spiel nach 15 Sekunden beendet)
Sind alle möglichen X/Y Koordinaten die dabei rauskommen können auf allen möglichen Räumen die in Bstring drin sein können auch freigelegt? Wenn Beamto einen Char auf eine blockierte Walkmapposition schicken soll macht der Befehl einfach gar nichts.
Das kann so auch nicht richtig funkionieren. [Charx:Drone[D]] übrigens im Moment auch noch nicht, erst mit dem nächsten Update gehen zwei eckige Klammern generell ineinander.
Die üblichen Fragen :
Bist du sicher das nicht nur der beamto sondern wirklich auch der Timer nicht ausgeführt wird? (Gegentest : Den Beamto gegen ein quit() austauschen und schauen ob sich das Spiel nach 15 Sekunden beendet)
Sind alle möglichen X/Y Koordinaten die dabei rauskommen können auf allen möglichen Räumen die in Bstring drin sein können auch freigelegt? Wenn Beamto einen Char auf eine blockierte Walkmapposition schicken soll macht der Befehl einfach gar nichts.
Auf die korrekte Anzahl der eckigen Klammern wird nicht geprüft nur auf runde und geschweifte. Könnte ich aber eigentlich auch testen lassen, schießlich müssten auch diese immer paarweise auftreten sonst kann was nicht stimmen.Dass kein Fehler ausgespuckt wurde ist komisch.
pacdK ist die Großkleinschreibung völlig egal Genau wie Mir ^^
Die Eckigen Klammern funktionieren überall und ich mach das auch überall.Das Problem ist der Skript läuft ab dem Walk nicht mehr weiter
wie als ob danach ein Break() käme. Ich denke das liegt daran das Generator1 ständig in Millisekunden seine Position ändert und der [DString] bricht den Skript ab und Versucht nochmals die Position ein zu nehmen immer und immer wieder Hat einer ne idee ?????
Die Eckigen Klammern funktionieren überall und ich mach das auch überall.Das Problem ist der Skript läuft ab dem Walk nicht mehr weiter
wie als ob danach ein Break() käme. Ich denke das liegt daran das Generator1 ständig in Millisekunden seine Position ändert und der [DString] bricht den Skript ab und Versucht nochmals die Position ein zu nehmen immer und immer wieder Hat einer ne idee ?????
JA ja [color=red]das[/color] Skript hält an das hab ich vergessen zu sagenZimond wrote:[Charx:Drone[D]
Das kann so auch nicht richtig funkionieren. [Charx:Drone[D]] übrigens im Moment auch noch nicht, erst mit dem nächsten Update gehen zwei eckige Klammern generell ineinander.
Die üblichen Fragen :
Bist du sicher das nicht nur der beamto sondern wirklich auch der Timer nicht ausgeführt wird? (Gegentest : Den Beamto gegen ein quit() austauschen und schauen ob sich das Spiel nach 15 Sekunden beendet)
Sind alle möglichen X/Y Koordinaten die dabei rauskommen können auf allen möglichen Räumen die in Bstring drin sein können auch freigelegt? Wenn Beamto einen Char auf eine blockierte Walkmapposition schicken soll macht der Befehl einfach gar nichts.
da muss noch ein playsound hinter das walkto aber das wird nicht abgespielt timer funct ebenfalls nicht
Skript leicht verändert funktioniert immer noch nichif_charin([DString];Map1)
{
(*Generator*)
If_num(G1a;0)
{
setnum(G1a;1)
setnum(GX;[CharX:Generator1]/20+1/2)
setnum(GY;[CharY:Generator1]/20+1/2)
setstring(SString;Arbeitet)
walkto([Dstring1];[GX];[GY];2)
beamto([Dstring1];Ablage;1;1;1)
playsound(reaktor;100)
setnum(D;+1)
timer(15)
beamto([Bstring];Map1;[GX];[GY]+1;1)
}
Noch eine andere Frage : Wie steigt man im Rang auf?
Das Tutorial Reader verletzt mich so ein bisschen im Ehrgefühl
ich benutzte Pacdk seit 3 jahren und brauche keine Tutorial mehr .
ich hab nur vor kurzen das Forum endeckt.
Und das ich noch kein Spiel rausgebracht habe liegt daran
das ich alles immer 100 mal verbessere und etwas nie perfekt finde.
Last edited by Wuji on 24 Feb 2009, 17:37, edited 1 time in total.
Und wie kommt man an den RAng von CHaos ?Zimond wrote:Der Rang ist nur abhängig mit deinen Posts hier im Forum, ab 100 gibt es nen neuen.
_off_topic: Wer was zum Lachen braucht. Der ist echt ein Spasti was der sich erlaubt
Character läuft richtigZimond wrote: Läuft denn der Char überhaupt Richtung [gx] und [gy]? Der Beamto danach zur Ablage geht auch noch?
beamto in Ablage funktioniert nicht und der rest
Sowas bekommt man wenn man sich unangemessen Verhält oder in Threads die eigentlich ein anderes Thema beinhalten doofe Fragen über etwas föllig anderes stellt (mehrfach!).Wuji wrote:Und wie kommt man an den RAng von CHaos ?
MfG
HeXoR
[img]http://www.hexorarts.de/gifs/Gifs/smily629.gif[/img][img]http://www.hexorarts.de/gifs/Gifs/smily630.gif[/img]
HeXoR
[img]http://www.hexorarts.de/gifs/Gifs/smily629.gif[/img][img]http://www.hexorarts.de/gifs/Gifs/smily630.gif[/img]
oder wenn man immer raue ungehobelte Antworten gibt
Nein, kurz dazu : Foren Ränge funktionieren grundsätzlich erst mal nach Post Anzahl und haben nichts damit zu tun wieviel Ahnung du tatsächlich hast. Das ist mehr als Gag als wie eine wirkliche Bezeichnung zu sehen. Wer viel schreibt muss ja nicht zwingend viel Ahnung haben. Die Spezialränge kann der ForenAdmin (meine Reichlichkeit) einzelnen Leuten seperat verpassen wenns dazu einen Grund gibt. Wenn du gerne einen haben möchtest kannst du mich ja freundlich per PM bitten mit Vorschlag.
So, back 2 topic :
Da du das noch nicht eindeutig bejaht hast nochmal die Frage. Ist in der Walkmap des Raumes Ablage die Position 1/1 auch "Frei"? Sonst passiert kein beamto. Wenn die Antwort : "Ja ist frei"lautet dann mach bitte folgenden Test : Um herauszufinden ob einzelne Befehle nicht gehen oder das Skript gar nicht erst bis dort läuft füge ganz am Ende des Skripts quit() ein. Beendet sich das Spiel nicht muss irgendetwas das Skript vorzeitig abbrechen.
Nein, kurz dazu : Foren Ränge funktionieren grundsätzlich erst mal nach Post Anzahl und haben nichts damit zu tun wieviel Ahnung du tatsächlich hast. Das ist mehr als Gag als wie eine wirkliche Bezeichnung zu sehen. Wer viel schreibt muss ja nicht zwingend viel Ahnung haben. Die Spezialränge kann der ForenAdmin (meine Reichlichkeit) einzelnen Leuten seperat verpassen wenns dazu einen Grund gibt. Wenn du gerne einen haben möchtest kannst du mich ja freundlich per PM bitten mit Vorschlag.
So, back 2 topic :
Da du das noch nicht eindeutig bejaht hast nochmal die Frage. Ist in der Walkmap des Raumes Ablage die Position 1/1 auch "Frei"? Sonst passiert kein beamto. Wenn die Antwort : "Ja ist frei"lautet dann mach bitte folgenden Test : Um herauszufinden ob einzelne Befehle nicht gehen oder das Skript gar nicht erst bis dort läuft füge ganz am Ende des Skripts quit() ein. Beendet sich das Spiel nicht muss irgendetwas das Skript vorzeitig abbrechen.
ich hab das mit dem Quit an jeder stelle des Skriptes getestet aber nach dem walkto hört es auf.
ich hab sogar dontwait bei walkto eingegeben aber er führt die Befehle darunter trozdem nicht aus
Der Ablage raum Ist eine Ablage für character in im Schlummern bis jetzt 43 Charactere Er wird nie Geladen un jedes Walkmap feld ist frei
Das walkto ist wie Break()
@Zimond wenn mir ein Name einfällt meld ich mich ^^
ich hab sogar dontwait bei walkto eingegeben aber er führt die Befehle darunter trozdem nicht aus
Der Ablage raum Ist eine Ablage für character in im Schlummern bis jetzt 43 Charactere Er wird nie Geladen un jedes Walkmap feld ist frei
Das walkto ist wie Break()
@Zimond wenn mir ein Name einfällt meld ich mich ^^
an welchen Stellen wird diese Funktion gestartet und sofern sie looped wo wird sie wieder gestoppt?
Ich sehe eventuell folgendes Problem : Ein Walkto ohne den Zusatz "dontwait" sorgt auch in einer Funtion dafür das gewartet wird. Sie läuft also nach dem Walkto erst dann weiter wenn der Char sein Ziel erreicht hat. Wenn die Funktion aber während dessen wieder gestoppt wird wird der Rest nicht ausgeführt.
Zweite Theorie : Startest du diese Funktion mehrfach um mehrere Chars zu bewegen indem du vorher nur die Strings verändert? Das wird auch nicht gehen (und wird mir dem nächsten Update unterbunden, sprich mehrere gleiche Funktionen parallel zu starten, macht nur Ärger)
Ich sehe eventuell folgendes Problem : Ein Walkto ohne den Zusatz "dontwait" sorgt auch in einer Funtion dafür das gewartet wird. Sie läuft also nach dem Walkto erst dann weiter wenn der Char sein Ziel erreicht hat. Wenn die Funktion aber während dessen wieder gestoppt wird wird der Rest nicht ausgeführt.
Zweite Theorie : Startest du diese Funktion mehrfach um mehrere Chars zu bewegen indem du vorher nur die Strings verändert? Das wird auch nicht gehen (und wird mir dem nächsten Update unterbunden, sprich mehrere gleiche Funktionen parallel zu starten, macht nur Ärger)
wie schon gesagt es ist eine infinit function
sie wird im Start skript gestartet und nie beendet.
ich hab das ganze jez mit ner bool verbunden
if_bool(...;true)=Skript läuft
if_bool(...;false)=Skript läuft nicht
bool wird auf true gestellt wenn die Drone geaddet wird
Function wird zu 100% einfach gestartet
sie wird im Start skript gestartet und nie beendet.
ich hab das ganze jez mit ner bool verbunden
if_bool(...;true)=Skript läuft
if_bool(...;false)=Skript läuft nicht
bool wird auf true gestellt wenn die Drone geaddet wird
Function wird zu 100% einfach gestartet
Und ich dachte immer, ich hätte den Titel wegen doofen Fragen bekommen.Zimond wrote:oder wenn man immer raue ungehobelte Antworten gibt
So für mich gilt nun auch back 2 Topic:
MfG
HeXoR
[img]http://www.hexorarts.de/gifs/Gifs/smily629.gif[/img][img]http://www.hexorarts.de/gifs/Gifs/smily630.gif[/img]
HeXoR
[img]http://www.hexorarts.de/gifs/Gifs/smily629.gif[/img][img]http://www.hexorarts.de/gifs/Gifs/smily630.gif[/img]