Gibt es eine Walkmap abfrage?

Das Board für Schwierigkeiten beim Adventure-Machen und zum Melden von Bugs
Wuji
Adventure Enthusiast
Posts: 223
Joined: 07 Dec 2008, 17:25
Contact:

Post: # 73071Post Wuji
28 Feb 2009, 18:58

Ich hab irgendwie das Gefühl das is ein Bug den beim anderen Spiel is mir das auch passiert nach Walkto hört der Skript auf.

Ich glaub functionen und Walkto vertragen sich net

Baelavay
PaC-DK God
Posts: 1168
Joined: 04 Jun 2006, 19:24
Contact:

Post: # 73076Post Baelavay
28 Feb 2009, 20:17

Kurz was zu Problemen bei "walkto()" in Cutscenes/Functions: Bei mir war es an einer Stelle in GCV der Fall (wo die Obdachlosen und Clive zur Brauerei laufen), dass das Spiel eingefroren ist, als ich alle drei Charaktere habe laufen lassen mit "walkto()". Da ich fertig werden wollte und keinen Wert auf diese Kleinigkeit gelegt habe, habe ich die drei "walkto()"s durch "beamto()"s ersetzt. Vielleicht setze ich mich da aber irgendwann nochmal dran...

Wuji, hast du denn schon mal allgemein ausprobiert, ob ein "walkto()" in einer x-beliebigen Function zum Abbruch des Skripts führt? Falls du den Verdacht hast, dass das so ist, wäre es sicher interessant, das mal mit einer neuen Function auszutesten.

Wuji
Adventure Enthusiast
Posts: 223
Joined: 07 Dec 2008, 17:25
Contact:

Post: # 73080Post Wuji
01 Mar 2009, 11:57

Wuji hat ja im Moment "Kreative Pause" also hab ich mich daran geübt das Strategie genre in PaCdK umzusetzten.
Beim Gebäudebau müssen Character Gebäude sein obwohl ich ja Objekte Vorgezogen hätte einfach aus dem Darstellunggrund den der Char automatisch ändert
also muss ich mit beamto und walkto arbeiten
das Blöde: ich glaube wenn der Walkto oder beamto Befehl fast nur noch mitVariabeln und String gefüllt ist die Gefahr sehr hoch das irgendwas nicht stimmt.
Ich probier Das zu umgehen indem ich jetzt für jedes Gebäude einen Skript mache aber die Skripte werden um das 20fache länger.
Wuji, hast du denn schon mal allgemein ausprobiert, ob ein "walkto()" in einer x-beliebigen Function zum Abbruch des Skripts führt? Falls du den Verdacht hast, dass das so ist, wäre es sicher interessant, das mal mit einer neuen Function auszutesten.
Ich weiss nich das passiert erst wenn das Spiel komplex wird so das man fasst nich mehr durch blickt vielleicht hat es etwas mit der länge einer function zu tun.Ich geh immer davon aus das ein Computer alles Skript von oben nach unten Zeile für Zeile durch arbeitet aber hier versucht er irgendwie was anderes. :pcprob:

Ich kann nur hoffen das Zimond mit meinem Upload bald zu Pote kommt sonst bleibt mir nur warten übrig.:evil:

kann man ein Walkto befehl stopen also der Char ist den weg noch nicht fertig gelaufen aber er hält an ??????

Wuji
Adventure Enthusiast
Posts: 223
Joined: 07 Dec 2008, 17:25
Contact:

Post: # 73081Post Wuji
01 Mar 2009, 12:46

Eine infinit Funktion
If_charin(Character1;Raum1)
{
walkto(Character;28;19;1)
}
Was muss der Character machen wenn er im Raum1 ist ?

Schiman
PaC-DK God
Posts: 1177
Joined: 20 Dec 2006, 21:48
Contact:

Post: # 73082Post Schiman
01 Mar 2009, 20:45

Wuji wrote:kann man ein Walkto befehl stopen also der Char ist den weg noch nicht fertig gelaufen aber er hält an ??????
Da kann ich dir weiterhelfen^^. Einfach einen neuen Walktobefehl mit auf Walkmap umgerechneten [charx],[chary]-Koordinaten ausführen. Dann "läuft" der Charakter sozusagen auf seine aktuelle Position. Dadurch wird der vorherige Walkto-Befehl abgebrochen.
Deinen letzten Post hab ich net gerafft ?-\.

Zimond
Der Engine Papa
Posts: 3420
Joined: 06 Apr 2003, 19:34
Location: Krefeld
Contact:

Post: # 73083Post Zimond
01 Mar 2009, 21:02

so, ich hab mir das mal angesehen.

Ich muss dir da zunächst mal ganz klar sagen das ich nicht weis ob du damit wirklich weiter machen solltest... keine Frage : Ich bin sehr beeindruckt was du da bisher schon mit gemacht hast und finde es ja auch selber immer wieder sehr intressant wenn Leute das PAC-DK für etwas komplett AdventureFremdes verwenden.

Ich mein, mal ehrlich wie weit glaubst du kann man das noch fortführen? mein Kopf überschlägt sich wenn ich an all die Dinge denke die man im weiteren Verlauf beachten müsste, und das ganze ist jetzt schon ein irrer Variablenhaufen. NATÜRLICH musst du dir von mir absolut nichts sagen lassen. Ich möchte halt nur warnen das du mit sicherheit noch viel mehr Probleme haben wirst, und welche die ich auch nicht lösen kann weil das einfach zu weit von der eigentlichen Aufgabe des PaC-DK entfernt ist.

Nichts desto trotz hier meine Ergebnisse :

Zumindest das Scrollenproblem kann ich genau erklären. Deine Abfrage für den Setpos Befehl lautet

x > 0
x < 64
y > 0
y < 8

Setzen tust du diese Werte aber wie folgt :

if x < 64
x + 1

if x > 0
x -1

if y < 8
y + 1

if y > 0
y - 1

Das heißt x kann sehrwohl 64 als auch 0 sein, nämlich am Rand und immer dann wird setpos nicht ausgeführt.

Zu der Funktion Dronen :

Die Funktion wird richtig ausgeführt jedoch sind die Werte z.B g1a nie 0 und das ist deswegen :

function (eigenschaften ; 0)

Die Null ist hier recht nutzlos und auch falsch. Um eine Funktion nur einmal abzuspielen muss kein Wert angegeben werden oder zumindest sinngemäß eine 1. Mit der Null hast du aber ungewollt dafür gesorgt das diese Funktion auf infinit läuft das ist nämlich das interne Kennzeichen dafür. Es wurden also alle Werte in Eigenschaften immer wieder zurückgesetzt. Ob das alleine das Problem ist weis ich nicht da auch nach dessen Korrektur nichts laufen wollte, was aber an den Variablen liegt... die Funktion läuft.

Ab hier hab ich auch kein Stück mehr verstanden tut mir leid. Bitte hab hier Verständnis das ich nicht die Zeit oder Lust hab mich da vollends reinzuarbeiten, ich hoffe ich konnte dir aber trotzdem helfen.

Wuji
Adventure Enthusiast
Posts: 223
Joined: 07 Dec 2008, 17:25
Contact:

Post: # 73086Post Wuji
02 Mar 2009, 14:26

Als du dran gearbeitest hast -war mir langweilig und ich fing an ein Tutorial zu schreiben wie man das tower defense genre in PaCDK umsetzen kann naja ich glaub ich kann vieles verbessern !

Das Tutorial kommt bald raus !

Wuji
Adventure Enthusiast
Posts: 223
Joined: 07 Dec 2008, 17:25
Contact:

Post: # 73087Post Wuji
02 Mar 2009, 14:28

Wuji wrote:Eine infinit Funktion
If_charin(Character1;Raum1)
{
walkto(Character;28;19;1)
}
Was muss der Character machen wenn er im Raum1 ist ?
Wer das nich verstanden hat ich hab das hier mal einfach getestet und der Character bewegt sich nich was endweder normal oder ein BUg ist .

Baelavay
PaC-DK God
Posts: 1168
Joined: 04 Jun 2006, 19:24
Contact:

Post: # 73089Post Baelavay
02 Mar 2009, 15:28

Zum Problem aus deinem letzten Post gibt es die üblichen Fragen, allen voran aber:

- Ist die Charakterinstanz richtig geschrieben? Weil im "if_charin()" wird "Character1" genannt und im "walkto()" hingegen "Character".

- Wird "if_charin()" überhaupt gestartet? -> "playsound(irgendeinsound)" in die {}klammern setzen
- Korrekte, freie Walkmapkacheln im "walkto()"?
- Zum Testen könntest du den "walkto()"-Befehl auch im Spiel an der Stelle mal über die Konsole ausführen.
Was muss der Character machen wenn er im Raum1 ist ?
Ich hatte das auch nicht verstanden, war wohl wirklich etwas unglücklich ausgedrückt.

Wuji
Adventure Enthusiast
Posts: 223
Joined: 07 Dec 2008, 17:25
Contact:

Post: # 73091Post Wuji
02 Mar 2009, 19:00

Das is unwichtig es war nie ein problem un keine Ahnung was das sollte naja.

ich finde es ganz lustig das Zimond sich auch nicht richtig zu recht gefunden hat und naja ich glaub Tower Defense bekomme ich noch hin ich hab nämlich den Grundstein und der funktioniert ganz toll.

Nur noch eine Frage hoffe ich- Ab wann fängt eine Funktion an zu lang zu sein also das realtime nicht mehr klappt ? können dann mehrere if- befehle die verschiedene Sachen bewirken noch reibungslos laufen? Wie viel Zeilen darf ein Skript haben ? Und wo ist die Grenze bei gleichzeitig ablaufenden aber verschiedenen Funktionen ? :comp:

Ok das waren mehrere Fragen aber egal :wink:

Zimond
Der Engine Papa
Posts: 3420
Joined: 06 Apr 2003, 19:34
Location: Krefeld
Contact:

Post: # 73094Post Zimond
02 Mar 2009, 19:49

die maximal Zahl der Funktionen gleichzeitig ist 100. Bei der Länge gibt es keine Grenze. Bevor die Skripte anfangen langsam zu laufen würde erst mal die Grafik ruckeln, erst wenn du bei den Frames unter ca. 20 fällst dann würde es nicht mehr in echtzeit laufen sondern auch langsamer.

Baelavay
PaC-DK God
Posts: 1168
Joined: 04 Jun 2006, 19:24
Contact:

Post: # 73096Post Baelavay
02 Mar 2009, 20:45

Ist die Grenze, ab der die Performance in den Keller geht, allein von der jeweiligen Rechenleistung abhängig oder gibt es da schon in der Engine bestimmte Beschränkungen?

Zimond
Der Engine Papa
Posts: 3420
Joined: 06 Apr 2003, 19:34
Location: Krefeld
Contact:

Post: # 73102Post Zimond
03 Mar 2009, 08:45

das liegt ganz an der rechenleistung

Post Reply