Alter : 27 Ort : Irgendwo im Nirgendwo Anmeldedatum : 14.02.11
Thema: Zombiescript Sa Apr 09, 2011 5:44 pm
Hallo CNDG-Mitglieder, Ich habe einen Script für einen Zombie geschrieben aber mein Zombie tut absolut garnichts. Errors werden keine angezeigt. Als TimerCall habe ich alle 50 frames die funktion Timer(). Hier ist der Script, ich hoffe ihr könnt mir weiterhelfen, vielen dank schonmal!
Code:
/*-- Der Zombie --*/
#strict
#include CLNK //Macht alles, was Clonks machen
local pTarget; //Lokale für das Opfer
func Attack(object pTarget) { if(ObjectDistance(this(),pTarget)>15) return(0); //Nochmal abfragen, kann ja sein das der Kerl sich weggebeamt hat oder so ;D Sound("Growl2"); //Sound machen, da soll später noch ein Zombieschrei hin DoDmg(20,DMG_Melee,pTarget); //Nahkampfschaden machen (Der Zombie ist für Hazard) }
func Attack2(object pTarget) { if(ObjectDistance(this(),pTarget)>15) return(0); //Nochmal abfragen, kann ja sein das der Kerl sich weggebeamt hat oder so ;D Sound("Growl1"); //Sound machen, da soll später noch ein Zombieschrei hin DoDmg(RandomX(20,30),DMG_Melee,pTarget); //Nahkampfschaden machen (Der Zombie ist für Hazard) pTarget -> Flying(1,1); //Der getroffene Fetzt hin! }
func MoveToTarget(object pTarget); { SetCommand("MoveTo",pTarget); //Zum Ziel laufen }
EDIT: Um das nochmal genau zu erklären: Eigentlich soll der Zombie sich Beute im Umkreis von 300 suchen und sie verfolgen. Wenn die Distanz klein genug ist soll er Angreifen. Der Script ist noch lange nicht fertig, dass sind nur die Grundzüge. Aber solange der Timer nicht richtig funktioniert (Oder die Beutesuche?!?) kann ich auch nicht weiterarbeiten!
Limeox Admiral
Anmeldedatum : 25.04.10
Thema: Re: Zombiescript Sa Apr 09, 2011 6:20 pm
Schalt mal den Debug-Modus ein, da zeigts genug Errors an. zB
Zitat :
func Laufen(); func MoveToTarget(object pTarget);
Edit: Da ist noch ein Fehler in Timer():
Zitat :
pTarget==0; //Distanz größer als 300? Ziel vergessen!
Müsste pTarget = 0 sein.
MagicWipf Brigadegeneral
Alter : 27 Ort : Irgendwo im Nirgendwo Anmeldedatum : 14.02.11
Thema: Re: Zombiescript Sa Apr 09, 2011 6:40 pm
Hups, ich habe nen neuen Laptop und da hatte ich den Degub-Modus noch nicht eingschalten :O Vielen dank! Aber ich habe die ganzen Fehler behoben, jetzt kommt WIRKLICH kein Error. Aber meinen Clonk befällt der böse Zombie immer noch nicht.
Limeox Admiral
Anmeldedatum : 25.04.10
Thema: Re: Zombiescript Sa Apr 09, 2011 7:03 pm
Find_Exclude bei FindObject2? Greift er sich vllt selbst an.
Edit: Post außerdem mal, welche Packs du verwendest. Follow() müsste in Hazard sein, glaub ich. Gibt zumindest mal nen Error. Edit2: Außerdem, wenn SearchTarget nichts findet, gibts ne böse Endlosschleife. Lösch in der Funktion einfach Timer() raus.
MagicWipf Brigadegeneral
Alter : 27 Ort : Irgendwo im Nirgendwo Anmeldedatum : 14.02.11
Thema: Re: Zombiescript Sa Apr 09, 2011 9:29 pm
Kann nicht sein, Ich hab Prey=0 Beim Zombie! Und Bei FindObjtct2 asse ich nach Prey uchen, wie bei einer Schlange...
Limeox Admiral
Anmeldedatum : 25.04.10
Thema: Re: Zombiescript Sa Apr 09, 2011 9:59 pm
Sollen die Funktionen FollowTarget und MoveToTarget durch Follow() und MoveTo() ausgelöst werden? Oder wie? Die beiden erzeugen nämlich Errors.
Edit: Damit Kommandos funktionieren, muss das Objekt CrewMember sein (CrewMember = 1 in der DefCore, OCF_CrewMember und muss sich auch in einer Crew befinden). Bei den Kommandos sind aber noch Parameterfehler (Objekt als 1.).
MagicWipf Brigadegeneral
Alter : 27 Ort : Irgendwo im Nirgendwo Anmeldedatum : 14.02.11
Thema: Re: Zombiescript So Apr 10, 2011 10:40 am
Das ist mir jetzt doch ein wenig peinlich Ich hab doch tatsächlich ausversehen die Funktionen Follow() und MoveTo() geschrieben! Natürlich sollte da eigentlich FollowTarget(pTarget) und MoveToTarget(pTarget) stehen. Ich hab es nochmal ausprobiert und der Zombie funktioniert Ich werde jetzt ein paar animationen machen und den Script endlich ausbauen. Vielen Dank Limeox!