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

Austausch | 
 

 explodierende zaps

Vorheriges Thema anzeigen Nächstes Thema anzeigen Nach unten 
AutorNachricht
dan-dan
Leutnant
Leutnant
avatar

Männlich Alter : 24
Anmeldedatum : 28.05.08

BeitragThema: explodierende zaps   Do Jul 10, 2008 8:51 pm

hallo
ich würde gerne nach einer idee meines freundes explodierende zaps machen albino . leider weis ich nich was ich am originalscript ändern muss, damit die zaps anstatt zu stechen in einer feuerstein-explosion sterben.

/*-- Zap --*/

#strict

local target;

private func Flying() { // wird alle 3 Frames aufgerufen
var xdir,ydir;

// nichts tun
if(Random(4)) return(1);
// Geschwindigkeit zufällig bestimmen
xdir=Random(13)-6;
ydir=Random(9)-4;
// Verfolgt der Zap jemanden? Geschwindigkeit abstimmen
xdir+=BoundBy((GetX(target)-GetX()),-11,11);
ydir+=BoundBy((GetY(target)-GetY())/3,-7,7);
if(GBackLiquid(xdir,ydir)) return(SetSpeed());
SetSpeed(xdir,ydir);
}

protected func Check() { // wird alle 18Frames aufgerufen
var obj;

// Verschüttet oder im Wasser?: Sterben
if(GBackSemiSolid()) return(Death());
// einfach so Sterben
if(!Random(160)) return(Death());
// Summen
if(!Random(50)) Sound("Bsss");

// Vom aktuellen Ziel ablassen und jemand anders verfolgen (falls jemand da ist)
if(!Random(10)) target=FindTarget(200);
// Einfach nur so vom Ziel ablassen
if(!Random(30)) target=0;
// Das Ziel hat sich in ein Gebäude gerettet
if(Contained(target)) target=0;
// Vom Ziel ablassen wenn er sich im Wasser versteckt
if(GBackSemiSolid(GetX(target)-GetX(),GetY(target)-GetY())) target=0;
// Vom Ziel ablassen weil er nicht direkt erreichbar ist
if(!Random(5)) if(!PathFree(GetX(),GetY(),GetX(target),GetY(target))) target=0;

// stechen
if(!Random(2))
if(obj=FindObject(0,1,0,0,0,OCF_Prey(),0,0,NoContainer()))
Sting(obj);
}

private func Sting(obj) {
Punch(obj,3+Random(2));
Sound("Sting");
if(!Random(3)) Death();
}


public func FindTarget(maxdist) { // maximale Distanz zum "Opfer"
var obj;
// neues Ziel bestimmen falls es nicht zu weit entfernt ist
if(obj=FindObject(0,0,0,-1,-1,OCF_Prey(),0,0,NoContainer()))
if(ObjectDistance(obj)<maxdist)
if(!GBackSemiSolid(GetX(obj)-GetX(),GetY(obj)-GetY()))
return(obj);
}

protected func Initialize() {
SetAction("Fly");
SetPhase(Random(6));
}

public func CatchBlow() { RemoveObject(); }
public func Damage() { RemoveObject(); }
protected func Death() { RemoveObject(); }



bei dem da muss man glaub etwas explodierendes eingeben
und entschuldigt, dass ich 0 ahnung hab
Nach oben Nach unten
Benutzerprofil anzeigen
Mega Hazard
Staatsrat
Staatsrat
avatar

Männlich Alter : 25
Ort : Brunswiek *helllau*
Anmeldedatum : 24.01.08

BeitragThema: Re: explodierende zaps   Do Jul 10, 2008 11:52 pm

Nimm statt
Zitat :
// stechen
if(!Random(2))
if(obj=FindObject(0,1,0,0,0,OCF_Prey(),0,0,NoContainer()))
Sting(obj);
}
mal
Zitat :

// stechen
if(!Random(2))
if(obj=FindObject(0,1,0,0,0,OCF_Prey(),0,0,NoContainer()))
Explode(5, this());
}

_________________
"The 1337 2[_]1€z, but u don't know..."
Nach oben Nach unten
Benutzerprofil anzeigen http://megahazard.lima-city.de/Main.htm
dan-dan
Leutnant
Leutnant
avatar

Männlich Alter : 24
Anmeldedatum : 28.05.08

BeitragThema: Re: explodierende zaps   Fr Jul 11, 2008 2:43 pm

thx, es funzt perfekt Razz
Nach oben Nach unten
Benutzerprofil anzeigen
Mozart
Kanzler
Kanzler
avatar

Männlich Alter : 24
Ort : Vaihingen/Enz
Anmeldedatum : 24.02.08

BeitragThema: Re: explodierende zaps   Fr Jul 11, 2008 8:47 pm

Frage geklärt, ~close~
Für Wiedereröffnungswünsche PN an mich
Nach oben Nach unten
Benutzerprofil anzeigen http://www.funamfag.de
Gesponserte Inhalte




BeitragThema: Re: explodierende zaps   

Nach oben Nach unten
 
explodierende zaps
Vorheriges Thema anzeigen Nächstes Thema anzeigen Nach oben 
Seite 1 von 1

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