CNDG
Würden Sie gerne auf diese Nachricht reagieren? Erstellen Sie einen Account in wenigen Klicks oder loggen Sie sich ein, um fortzufahren.


Ein Forum, in dem sich neue Clonk Entwickler untereinander austauschen können.
 
StartseiteStartseite  PortalPortal  SuchenSuchen  Neueste BilderNeueste Bilder  AnmeldenAnmelden  LoginLogin  

 

 Zombiescript

Nach unten 
2 verfasser
AutorNachricht
MagicWipf
Brigadegeneral
Brigadegeneral
MagicWipf


Männlich Alter : 27
Ort : Irgendwo im Nirgendwo
Anmeldedatum : 14.02.11

Zombiescript Empty
BeitragThema: Zombiescript   Zombiescript EmptySa 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
}

func FollowTarget(object pTarget)
{
SetCommand("Follow",pTarget);    //Ziel Folgen
}

func Timer()
{
if(pTarget==0) SearchTarget();
else if(ObjectDistance(this(),pTarget)<15) Attack(pTarget);      //Angreifen wenn Distanz kleiner als 1
else if(ObjectDistance(this(),pTarget)<200) Follow(pTarget);    //Folgen im Umkreis von 200
else if(ObjectDistance(this(),pTarget)<300) MoveTo(pTarget); //Hinlaufen wenn kleiner als 300
else if(ObjectDistance(this(),pTarget)>300) pTarget==0;        //Distanz größer als 300? Ziel vergessen!
else Laufen();
}

func Laufen();
{
SetCommand("MoveTo",GetX(this())-(RandomX(-10,10),GetY(this()));  //Rumlaufen
}

func SearchTarget()
{
pTarget=FindObject2(Find_OCF(OCF_Prey),Find_OCF(OCF_Alive),Find_Distance(300));  //Beute suchen
Timer();
}


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!
Nach oben Nach unten
Limeox
Admiral
Admiral
Limeox


Männlich Anmeldedatum : 25.04.10

Zombiescript Empty
BeitragThema: Re: Zombiescript   Zombiescript EmptySa Apr 09, 2011 6:20 pm

Schalt mal den Debug-Modus ein, da zeigts genug Errors an. Razz
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.
Nach oben Nach unten
MagicWipf
Brigadegeneral
Brigadegeneral
MagicWipf


Männlich Alter : 27
Ort : Irgendwo im Nirgendwo
Anmeldedatum : 14.02.11

Zombiescript Empty
BeitragThema: Re: Zombiescript   Zombiescript EmptySa 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.
Nach oben Nach unten
Limeox
Admiral
Admiral
Limeox


Männlich Anmeldedatum : 25.04.10

Zombiescript Empty
BeitragThema: Re: Zombiescript   Zombiescript EmptySa 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.
Nach oben Nach unten
MagicWipf
Brigadegeneral
Brigadegeneral
MagicWipf


Männlich Alter : 27
Ort : Irgendwo im Nirgendwo
Anmeldedatum : 14.02.11

Zombiescript Empty
BeitragThema: Re: Zombiescript   Zombiescript EmptySa 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...
Nach oben Nach unten
Limeox
Admiral
Admiral
Limeox


Männlich Anmeldedatum : 25.04.10

Zombiescript Empty
BeitragThema: Re: Zombiescript   Zombiescript EmptySa 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.).
Nach oben Nach unten
MagicWipf
Brigadegeneral
Brigadegeneral
MagicWipf


Männlich Alter : 27
Ort : Irgendwo im Nirgendwo
Anmeldedatum : 14.02.11

Zombiescript Empty
BeitragThema: Re: Zombiescript   Zombiescript EmptySo Apr 10, 2011 10:40 am

Das ist mir jetzt doch ein wenig peinlich Razz
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 Very Happy Ich werde jetzt ein paar animationen machen und den Script endlich ausbauen. Vielen Dank Limeox!
Nach oben Nach unten
Gesponserte Inhalte





Zombiescript Empty
BeitragThema: Re: Zombiescript   Zombiescript Empty

Nach oben Nach unten
 
Zombiescript
Nach oben 
Seite 1 von 1

Befugnisse in diesem ForumSie können in diesem Forum nicht antworten
CNDG :: Sonstiges :: Scripthilfe-
Gehe zu: