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  

 

 Verfolgungstorpedo

Nach unten 
+7
Umezawa
NilsZ
Bowserkoopa
Gamer
Liech
Mega Hazard
Tera-Flint-Produzent
11 verfasser
Gehe zu Seite : Zurück  1, 2, 3  Weiter
AutorNachricht
Tera-Flint-Produzent
Oberst
Oberst



Ort : PC
Anmeldedatum : 14.03.09

Verfolgungstorpedo - Seite 2 Empty
BeitragThema: Re: Verfolgungstorpedo   Verfolgungstorpedo - Seite 2 EmptySo März 22, 2009 9:27 am

Ja stimmt, sorry. scratch

Hab mich schon gewundert. Naja, hier is der Code, den ich MOMENTAN drinn hab:
Code:

/*-- Verfolgungs-Torpedo --*/

#strict

local befehlsverzoegerung;
local clonkfound;
local thetarget;
local isexplodingornot;
local clonkfoundistarget;

/* Initialisierung */

protected func Initialize()
{
  SetAction("Walk");
  SetComDir(COMD_Stop());
  ScriptGo();
}

public func Launch (object by) {
  SetAction ("Swim");
  SetDir(GetDir(by));
  SetXDir(GetXDir(by));
  SetYDir(0);
  if (GetDir()==DIR_Right()) SetComDir(COMD_Right());
  if (GetDir()==DIR_Left()) SetComDir(COMD_Left());
  return(1);
}

/* Einsammeln */

func Entrance (object container) {
  SetAction("Walk");
}

/* Effekte */

private func Swimming() {
  var iDir=(GetDir()*2-1);
  Bubble(-16*iDir,0);
  Bubble(-16*iDir,0);
  if (GetActTime() > 25) SetYDir(0);
}

/* Aufschlag */

public func Hit() { Explode(30); }

/* Produkteigenschaften */

public func IsChemicalProduct() { return(1); }

/* Torpedorichtungswechsel */

protected func Findingtarget()
{
clonkfound = FindObject(0, GetX(this()) - 20, GetY(this()) - 20, 40, 40, OCF_CrewMember, 0, NoContainer(), 0);
clonkfoundistarget = Hostile( GetOwner(), GetOwner(clonkfound));
if (clonkfoundistarget == true)
{
// clonkfound = thetarget; //Das hier hast du übrigens vertauscht!
thetarget = clonkfound;
}
if (!befehlsverzoegerung--)
{
FinishCommand(this());
SetCommand (this(),"Follow",thetarget);
befehlsverzoegerung = 35;
}
isexplodingornot = FindObject(thetarget, GetX() - 2, GetY() - 2, 4, 4);
if isexplodingornot != false
{
Explode(30)
}
return(1);
}



/* Status */

public func IsTorpedo() { return(1); }

/* Forschung */

public func GetResearchBase() { return(SUB1); }


Dieser Torpedo tut alles was ein normaler Torpedo tut. Er greift auf FindingTarget zu und er gibt keine Fehlermeldung aus. (weder in der Engine noch sonstwo)
Nach oben Nach unten
Gamer
Staatsrat
Staatsrat
Gamer


Männlich Alter : 28
Ort : In einem kleinen Dorf in Unterfranken (Bayern)
Anmeldedatum : 10.02.09

Verfolgungstorpedo - Seite 2 Empty
BeitragThema: Re: Verfolgungstorpedo   Verfolgungstorpedo - Seite 2 EmptySo März 22, 2009 11:04 am

Kein Wunder warum das nicht funktioniert.
"ScriptGo();" funktioniert nur in Szenarioscripts. Mach mal nen Timer draus.
Nach oben Nach unten
http://www.gamer95.npage.de/
Tera-Flint-Produzent
Oberst
Oberst



Ort : PC
Anmeldedatum : 14.03.09

Verfolgungstorpedo - Seite 2 Empty
BeitragThema: Re: Verfolgungstorpedo   Verfolgungstorpedo - Seite 2 EmptySo März 22, 2009 12:06 pm

Gut habs rausgenommen und Timer gesetzt aber es funzt immer noch net! Es ist immernoch ein ganz normaler Torpedo.
Nach oben Nach unten
Liech
Fregattenkapitän
Fregattenkapitän



Männlich Alter : 33
Anmeldedatum : 02.02.09

Verfolgungstorpedo - Seite 2 Empty
BeitragThema: Re: Verfolgungstorpedo   Verfolgungstorpedo - Seite 2 EmptySo März 22, 2009 1:32 pm

Wenn es wie ein ganz normales torpedo tut liegt das wohl daran:
Zitat :
private func Swimming() {
var iDir=(GetDir()*2-1);
Bubble(-16*iDir,0);
Bubble(-16*iDir,0);
if (GetActTime() > 25) SetYDir(0);
}
Nach oben Nach unten
Umezawa
Feldmarschall
Feldmarschall



Männlich Alter : 29
Anmeldedatum : 30.12.08

Verfolgungstorpedo - Seite 2 Empty
BeitragThema: Re: Verfolgungstorpedo   Verfolgungstorpedo - Seite 2 EmptySo März 22, 2009 7:38 pm

Tera-Flint-Produzent schrieb:

@ Bowserkoopa:

Was soll das heißen??? Natürlich isser an, sonst könnt ich net entwickeln...

(Debugmodus!=Entwicklermodus)=true
Der Entwicklermodus erlaubt dir zu entwickeln, der Debugmodus zeigt dir die Errors an.
Nach oben Nach unten
Gamer
Staatsrat
Staatsrat
Gamer


Männlich Alter : 28
Ort : In einem kleinen Dorf in Unterfranken (Bayern)
Anmeldedatum : 10.02.09

Verfolgungstorpedo - Seite 2 Empty
BeitragThema: Re: Verfolgungstorpedo   Verfolgungstorpedo - Seite 2 EmptySo März 22, 2009 8:08 pm

Jertzt fällt mir grade was ein.
Ich hab mal so ein Szen gespielt das war ein Rennen, man war Hydroclonk und musst ganz nach oben kommen, und unterwegs waren so U-Boote die Torpedos schossen die einen verfolgt haben, und noch minen und so...'
Schau dir doch da mal den script an
weiß aber nichmehr wie das Scen hies >.< ich schau nochmal.
Nach oben Nach unten
http://www.gamer95.npage.de/
Simsi
Staatssekretär
Staatssekretär
Simsi


Männlich Alter : 31
Ort : Vaihingen/Enz
Anmeldedatum : 30.03.08

Verfolgungstorpedo - Seite 2 Empty
BeitragThema: Re: Verfolgungstorpedo   Verfolgungstorpedo - Seite 2 EmptySo März 22, 2009 10:04 pm

es war in randrians CM-ordner
Nach oben Nach unten
Gerrit
Generalmajor
Generalmajor
Gerrit


Männlich Alter : 29
Ort : Ostrhauderfehn
Anmeldedatum : 12.05.08

Verfolgungstorpedo - Seite 2 Empty
BeitragThema: Re: Verfolgungstorpedo   Verfolgungstorpedo - Seite 2 EmptyMo März 23, 2009 8:26 pm

und?
dann könntet ihr das ja mal ansehen und wenn nötig das script posten oder einfach erklären wie das geht.
Nach oben Nach unten
Http://www.eilerthartmann.de.tl
Toastbrot
Kadett
Kadett
Toastbrot


Männlich Anmeldedatum : 10.03.09

Verfolgungstorpedo - Seite 2 Empty
BeitragThema: Re: Verfolgungstorpedo   Verfolgungstorpedo - Seite 2 EmptyDi März 24, 2009 10:48 pm

Moin,
ich habe mal einen Script zum erklären geschrieben der eigentlich größten teils Auskommentiert sein sollte.
Er macht das der Torpedo automatisch nach Opfern sucht und diese Ansteuert und Expoldiert wenn er sie trifft.

Schau es die an:


Script:
Code:

/*-- Verfolgungstorpedo --*/

#strict

local target;

func Initialize() {
 
  //StandartAction setzen
  SetAction("NoWater");
  return(1);
}



func Water(){

      //Wenn kein Ziel dann eins Suchen oder?  250 pixel suchradius als Parameter übergeben.
      if(target==0){target=FindTarget(250);return(1);}

      //Ziel erreicht? dann explodieren aber nur wenn man net selbst das Ziel ist
      if(target!=0)
            if(ObjectDistance(this(),target)<15)Explode(30);

      //Wenn nicht im Wasser dann abstürzen
      if(!InLiquid()){SetAction("NoWater");return(1);}

      //Winkel ans Ziel anpassen und geschwindigkeit setzen
      SetR(Angle(GetX(),GetY(),GetX(target),GetY(target))+90);
      SetXDir(Cos(GetR()-180,60));
      SetYDir(Sin(GetR()-180,60));

      }

//Funktion zum Ziel ermitteln
func FindTarget(Distance){

//Gibt ein Ziel zurück
return(FindObject2(Find_OCF(OCF_Alive()),Find_Distance(Distance)),Find_NoContainer(),Find_OCF(OCF_InLiquid()));

}


//Bei Contact explodieren
func ContactBottom(){
Explode(30);
}

in den DefCore musst du Folgenses einfügen:

NoStabilize=1 //macht das sich das oBject bei minimaler winkelverschiebung nicht automatisch geraderückt

Rotate=1 //das Object kann Rotieren

ContactCalls=1 //Brauchen wir um eine Kollision mit festem Boden zu ermitteln

VertexCNAT=8,8 //Eigentlich sollte ContactDown wird von beiden Vertises aufgerufen


und nun zu den Action:
Code:

//Die erste Action in der Actmap brauchen wir für die bewgeungen im Wasser:

[Action]
Name=Water
Procedure=FLOAT
Directions=4
Delay=1
FacetBase=1
StartCall=Water
NextAction=Water

//Die zweite ist ein Warte Action(Rufen wir im script auf wenn der Torpedo das Wasser verlassen würde)

[Action]
Name=NoWater
Procedure=FLIGHT
Directions=2
Delay=1
FacetBase=1
NextAction=NoWater
InLiquidAction=Water


Falls du noch irgentwelche Fragen zu den ObjectDefinitions-Komponenten hast Frag
ich hab dies gemacht danmit du verstehst wie es Funktioniert und nicht einfach nur
einen Script verwendest Very Happy


mfg Toastbrot
Nach oben Nach unten
Umezawa
Feldmarschall
Feldmarschall



Männlich Alter : 29
Anmeldedatum : 30.12.08

Verfolgungstorpedo - Seite 2 Empty
BeitragThema: Re: Verfolgungstorpedo   Verfolgungstorpedo - Seite 2 EmptyMi März 25, 2009 1:04 am

FindObject2() ist erst in CR neu


Code:
//Funktion zum Ziel ermitteln
func FindTarget(Distance){

//Gibt ein Ziel zurück
var obj;
while (obj=FindObject(0, -Distance,-Distance,Distance*2,Distance*2, OCF_Alive() | OCF_InLiquid(), 0,0, NoContainer(), obj))
if(ObjectDistance (obj)<= Distance) return(obj);
}

Müsste gehen, hab ich jetzt nicht getestet.
Nach oben Nach unten
Tera-Flint-Produzent
Oberst
Oberst



Ort : PC
Anmeldedatum : 14.03.09

Verfolgungstorpedo - Seite 2 Empty
BeitragThema: Cool   Verfolgungstorpedo - Seite 2 EmptyFr März 27, 2009 10:52 am

Der Torpedo verlässt beim Kauf automatisch das Haus... Razz

Der Torpedo verlässt (wenn man ihn hineingelegt hat) das U-Boot und explodiert sofort. Razz

Öhm

das sind zwei kleine Fehler.

Vllt. Beim 2. ein Hostile-Checker???
Nach oben Nach unten
Toastbrot
Kadett
Kadett
Toastbrot


Männlich Anmeldedatum : 10.03.09

Verfolgungstorpedo - Seite 2 Empty
BeitragThema: Re: Verfolgungstorpedo   Verfolgungstorpedo - Seite 2 EmptyFr März 27, 2009 9:58 pm

Du solltest eine Zusätzliche Action machen zum Beispiel "Wait" die inder Initialisierungs-Funktion aufgerufen wird,
sodass der Torpedo erst Aktiv wird wenn man ihn aus dem U-Boot schießt (Dann mit SetAction("Water")Aktivieren)
Das der Torpedo nur auf Feindliche Uboote geht kannst du in der Suchfunktion einfügen:
Guck dir mal folgene Funktion an http://www.clonk.de/docs/de/sdk/script/fn/FindObjectOwner.html
müsste unter CE laufen.
Nach oben Nach unten
Tera-Flint-Produzent
Oberst
Oberst



Ort : PC
Anmeldedatum : 14.03.09

Verfolgungstorpedo - Seite 2 Empty
BeitragThema: So weit, so gut   Verfolgungstorpedo - Seite 2 EmptySa März 28, 2009 12:21 pm

FindObjectOwner funktioniert nicht, da man nur die Spieler-ID angeben kann, und nicht einfach alle verfeindeten Spieler angeben kann. bom

Des weiteren funktioniert jetzt NICHTS.

Code:
Code:
/*-- Verfolgungstorpedo --*/

#strict

local target;

func Initialize() {
 
  //StandartAction setzen
  SetAction("Wait");
  return(1);
}

public func Launch(object by) {

SetAction("Water");
return(1);
}

func Water(){

      //Wenn kein Ziel dann eins Suchen oder?  250 pixel suchradius als Parameter übergeben.
      if(target==0){target=FindTarget(250);return(1);}

      //Ziel erreicht? dann explodieren aber nur wenn man net selbst das Ziel ist
      if(target!=0)
            if(ObjectDistance(this(),target)<15)Explode(30);

      //Wenn nicht im Wasser dann abstürzen
      if(!InLiquid()){SetAction("NoWater");return(1);}

      //Winkel ans Ziel anpassen und geschwindigkeit setzen
      SetR(Angle(GetX(),GetY(),GetX(target),GetY(target))+90);
      SetXDir(Cos(GetR()-180,60));
      SetYDir(Sin(GetR()-180,60));

      }

//Funktion zum Ziel ermitteln
func FindTarget(Distance){

//Gibt ein Ziel zurück
var obj;
while (obj=FindObject(0, -Distance,-Distance,Distance*2,Distance*2, OCF_Alive() | OCF_InLiquid(), 0,0, NoContainer(), obj))
if(ObjectDistance (obj)<= Distance) return(obj);
}


//Bei Contact explodieren
func ContactBottom(){
Explode(30);
}

DefCore:
Zitat :
[DefCore]
id=1VTR
Name=Torpedo
Version=4,9,5
Category=3600
MaxUserSelect=5
Timer=2
TimerCall=Findingtarget
Width=32
Height=9
Offset=-16,-4
Value=15
Mass=25
Components=METL=1;FLNT=1;SPHR=1;
Picture=0,9,76,48
Vertices=2
VertexX=-12,12
VertexY=1,1
VertexCNAT=8,10
VertexFriction=100,100
Rebuy=1
Collectible=1
Fragile=1

[Physical]
Swim=250000

ActMap:
Zitat :
[Action]
Name=Wait
Procedure=None
Directions=2
Delay=100
FlipDir=1
Facet=0,0,32,9
NextAction=Wait


[Action]
Name=Water
Procedure=FLOAT
Directions=4
Delay=1
FacetBase=1
StartCall=Water
NextAction=Water


[Action]
Name=NoWater
Procedure=FLIGHT
Directions=2
Delay=1
FacetBase=1
NextAction=NoWater
InLiquidAction=Water

Der Torpedo wirkt nun genaiso ie ein Stein. Er tut gar nichts. Nicht einmal explodieren.
Nach oben Nach unten
Höfi
SFT
SFT
Höfi


Männlich Alter : 29
Anmeldedatum : 20.10.08

Verfolgungstorpedo - Seite 2 Empty
BeitragThema: Re: Verfolgungstorpedo   Verfolgungstorpedo - Seite 2 EmptySa März 28, 2009 12:30 pm

Tut er vlt irgendetwas, was ein stein nicht tut?
Fehlermeldungen etc.
Nach oben Nach unten
Mega Hazard
Staatsrat
Staatsrat
Mega Hazard


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

Verfolgungstorpedo - Seite 2 Empty
BeitragThema: Re: Verfolgungstorpedo   Verfolgungstorpedo - Seite 2 EmptySa März 28, 2009 12:34 pm

Nimmst du mal bitte ContactCalls in die Defcore, dann dürfte er jedenfalls beim Aufprall explodieren ^^
Nach oben Nach unten
http://megahazard.lima-city.de/Main.htm
Gamer
Staatsrat
Staatsrat
Gamer


Männlich Alter : 28
Ort : In einem kleinen Dorf in Unterfranken (Bayern)
Anmeldedatum : 10.02.09

Verfolgungstorpedo - Seite 2 Empty
BeitragThema: Re: Verfolgungstorpedo   Verfolgungstorpedo - Seite 2 EmptySa März 28, 2009 2:54 pm

Ich würde auch noch aus den Variablen Locals machen.
Also nicht "var obj;" sonder local obj; (Oder erstellt man locals nicht ganz oben im Script?)
Nach oben Nach unten
http://www.gamer95.npage.de/
Tera-Flint-Produzent
Oberst
Oberst



Ort : PC
Anmeldedatum : 14.03.09

Verfolgungstorpedo - Seite 2 Empty
BeitragThema: JETZT CR   Verfolgungstorpedo - Seite 2 EmptyDo Apr 30, 2009 2:14 pm

Habe den Reg-Schlüssel für CR erworben. ES KANN LOSGEHEN!

Ich werde mich jetzt dransetzen und den Torpedo für CR testen.
Nach oben Nach unten
Tera-Flint-Produzent
Oberst
Oberst



Ort : PC
Anmeldedatum : 14.03.09

Verfolgungstorpedo - Seite 2 Empty
BeitragThema: Re: Verfolgungstorpedo   Verfolgungstorpedo - Seite 2 EmptyDo Apr 30, 2009 2:32 pm

Habe Toastbrots Version genommen. Er verlässt beim Kauf die Hütte und explodiert sofort. (eine Wait-Action ist erforderlich)

Einen Hostile-Checker hab ich im Script nicht gefunden, er würde (wenn er nicht sofort explodieren würde) also an allem explodieren.
Nach oben Nach unten
Tera-Flint-Produzent
Oberst
Oberst



Ort : PC
Anmeldedatum : 14.03.09

Verfolgungstorpedo - Seite 2 Empty
BeitragThema: Überblick   Verfolgungstorpedo - Seite 2 EmptyDo Apr 30, 2009 2:36 pm

Hier nochmal alles im Überblick:
Code:

/*-- Verfolgungstorpedo --*/

#strict

local target;

func Initialize() {
 
  //StandartAction setzen
  SetAction("NoWater");
  return(1);
}



func Water(){

      //Wenn kein Ziel dann eins Suchen oder?  250 pixel suchradius als Parameter übergeben.
      if(target==0){target=FindTarget(250);return(1);}

      //Ziel erreicht? dann explodieren aber nur wenn man net selbst das Ziel ist
      if(target!=0)
            if(ObjectDistance(this(),target)<15)Explode(30);

      //Wenn nicht im Wasser dann abstürzen
      if(!InLiquid()){SetAction("NoWater");return(1);}

      //Winkel ans Ziel anpassen und geschwindigkeit setzen
      SetR(Angle(GetX(),GetY(),GetX(target),GetY(target))+90);
      SetXDir(Cos(GetR()-180,60));
      SetYDir(Sin(GetR()-180,60));

      }

//Funktion zum Ziel ermitteln
func FindTarget(Distance){

//Gibt ein Ziel zurück
return(FindObject2(Find_OCF(OCF_Alive()),Find_Distance(Distance)),Find_NoContainer(),Find_OCF(OCF_InLiquid()));

}


//Bei Contact explodieren
func ContactBottom(){
Explode(30);
}

DefCore

Zitat :
[DefCore]
id=1VTR
Name=Torpedo
Version=4,9,5
Category=3600
MaxUserSelect=5
Timer=2
TimerCall=Findingtarget
Width=32
Height=9
Offset=-16,-4
Value=15
Mass=25
Components=METL=1;FLNT=1;SPHR=1;
Picture=0,9,76,48
Vertices=2
VertexX=-12,12
VertexY=1,1
VertexCNAT=8,10
VertexFriction=100,100
NoStabilize=1
Rotate=1
ContactCalls=1
VertexCNAT=8,8
Rebuy=1
Collectible=1
Fragile=1

[Physical]
Swim=250000

ActMap

Zitat :
[Action]
Name=Water
Procedure=FLOAT
Directions=4
Delay=1
FacetBase=1
StartCall=Water
NextAction=Water


[Action]
Name=NoWater
Procedure=FLIGHT
Directions=2
Delay=1
FacetBase=1
NextAction=NoWater
InLiquidAction=Water
Nach oben Nach unten
Toastbrot
Kadett
Kadett
Toastbrot


Männlich Anmeldedatum : 10.03.09

Verfolgungstorpedo - Seite 2 Empty
BeitragThema: Re: Verfolgungstorpedo   Verfolgungstorpedo - Seite 2 EmptySa Mai 02, 2009 1:11 pm

Du hattest mich ja per PM angeschrieben das ich hier noch mal hergucke
und da ich nicht immer die ganzen Teile des Objectes hier Posten möchte
Habe ich hier das Object+Aukommentierten script Hochgeladen:
http://www.file-upload.net/download-1616556/Torpedo-Test.c4s.html


Wenn du noch fragen dazu hast schreib sie einfach.


mfg Toastbrot
Nach oben Nach unten
Tera-Flint-Produzent
Oberst
Oberst



Ort : PC
Anmeldedatum : 14.03.09

Verfolgungstorpedo - Seite 2 Empty
BeitragThema: Ok, sieht gut aus   Verfolgungstorpedo - Seite 2 EmptySa Mai 02, 2009 2:14 pm

Nun, der Torpedo hat 4 merkwürdige Eingenschaften:

  • Er wird vom U-Boot eingasammelt

  • Er explodiert wenn man ihn nochmals aktiviert

  • Er kann nicht mit der Grabentaste aktiviert werden

  • Wenn ein U-Boot zerstört wird, rasen alle VTs auf mein U-Boot zu


Vergiss bitte nicht:

Ich scripte jetzt mit CR!
Nach oben Nach unten
Toastbrot
Kadett
Kadett
Toastbrot


Männlich Anmeldedatum : 10.03.09

Verfolgungstorpedo - Seite 2 Empty
BeitragThema: Re: Verfolgungstorpedo   Verfolgungstorpedo - Seite 2 EmptySa Mai 02, 2009 10:02 pm

Tera-Flint-Produzent schrieb:
Nun, der Torpedo hat 4 merkwürdige Eingenschaften:

  • Er wird vom U-Boot eingasammelt

  • Er explodiert wenn man ihn nochmals aktiviert

  • Er kann nicht mit der Grabentaste aktiviert werden

  • Wenn ein U-Boot zerstört wird, rasen alle VTs auf mein U-Boot zu



Also mal zu den Punkten:

Bei 1. musst du in dem Object-Call "Entrance" (Der immer aufgerufen wird wenn das Object ein anderes betritt)
Die ID des Betretenden Objectes (Das betretende Object ist der erste Parameter von "Entrance")mit GetID abfragen
und wenn diese ==SUB1(Uboot) ist dann lässt du den Torpedo explodieren.Und dann muss noch eine Abfrage rein
ob der Torpedo auch die Action "Water" durchführt sonnst explodiert er auch wenn man ihn einfach hineinlegt also:
Code:

protected func Entrance(object pObject){
if(GetID(pObject)==SUB1 && GetAction() eq "Water")Explode(30);
}

Bei 2.musst du noch einen Rücksetzer in den Torpedo einbauen der sich aktiviert wenn der Torpedo nicht mehr im Wasser ist und die Action wieder auf Wait setzt.wobei dieser Punkt nicht mehr wichtig ist da der Torpedo nicht mehr
eingesammelt werden kann(siehe erstens);

Bei 3.Ist das einfach so das nur Torpedos bei denen IsTorpedo() truee zurückliefert mit der Grabentaste aktiviert werden können. füge also folgendes ein:
Code:
public func IsTorpedo() { return(1); }

Bei 4.Da ist das Problem das sich die Teile Automatich aktivieren wenn sie im Wasser sind.
Du musst also ein Appendto SUB1 bauen das beim zerstören alle Torpedos im inneren
des Ubootes in harmlose TRP1 verwandelt.Da das etwas aufwendiger ist und ich das deshalb hier nicht schreiben will hier:
http://www.file-upload.net/download-1617584/Uboot-Append.c4d.html
Es wird vorausgesetzt das du die ID des Torpedos auf TRP2 änderst.


Falls du noch Fragen hast melde dich


mfg Toastbrot
Nach oben Nach unten
Tera-Flint-Produzent
Oberst
Oberst



Ort : PC
Anmeldedatum : 14.03.09

Verfolgungstorpedo - Seite 2 Empty
BeitragThema: KLASSE   Verfolgungstorpedo - Seite 2 EmptySo Mai 03, 2009 11:14 am

DANKE


Dennoch fehlen nur noch 3 kleine Dinge:

1. ein Spawner, sodass jeder Clonk ab und zu TRP2s bekommt
2. Relaunches
3. Da in der Winkelanpassung bei Winkel Setzen (SetR) bei GetY noch + 90 steht, geht der Torpedo bei aktivierung senkrecht nach oben (bei einem Ziel natürlich nicht)

Das wars schon...


Zuletzt von Tera-Flint-Produzent am So Mai 03, 2009 11:19 am bearbeitet; insgesamt 1-mal bearbeitet (Grund : Doch nicht)
Nach oben Nach unten
Toastbrot
Kadett
Kadett
Toastbrot


Männlich Anmeldedatum : 10.03.09

Verfolgungstorpedo - Seite 2 Empty
BeitragThema: Re: Verfolgungstorpedo   Verfolgungstorpedo - Seite 2 EmptySo Mai 03, 2009 9:04 pm

Spawner ist am besten zu handhaben indem du nicht jedem Clonk sondern jedem Uboot einen Torpedo alle paar
Scripts gibts.

Dies wäre ein guter Scenarionscript:
Code:

#strict

//wird aufgerufen wenn ein Clonk beitritt
public func OnClonkCreation(pClonk){
//Uboot an zufälliger Position mit Besitzer Owner von pClonk erschaffen:
var Sub=
CreateObject(SUB1,RandomX(40,LandscapeWidth()-40),RandomX(20,LandscapeWidth()-20),GetOwner(pClonk));
//Clonk in das Uboot tuhn
pClonk->Enter(Sub);
}


protected func Initialize(){
//Scriptzähler starten
ScriptGo( true );
}

//Nach 20 Scripts gibt es einen Torpedo für jedes Uboot
protected func Script20(){
//Mit dieser Funktion
GiveTorpedo();
//zurück zu Script1
goto(1);
}


//In dieser Funktion werden wir jetzt die Torpedos verteilen
public func GiveTorpedo(){

//Eine For-Schleife die alle Uboote findet und jedem ein Torpedo gibt:
for(var Sub in FindObjects(Find_ID(SUB1)))CreateContents(TRP2,Sub);
}


//Und nun zu den Relaunches
//folgende Funktion wird immer aufgerufen wenn der letzte Clonk eines Spielers stirbt
public func RelaunchPlayer(iPlr){
//Wir nehmen für jeden Spieler die Entsprechende Globale (also die mit dem Index gleich dem Spieler)
//so haben wir für jeden Spieler eione Eigende Variable
//Es sind 10 Relaunches vorgegeben:
var MaxRelaunch=10;

//Relaunchen abrechen und Spieler Eliminieren wenn das Mass überschritten ist
if(Global(iPlr)>=MaxRelaunch){EliminatePlayer(iPlr);return(1);}

//Ansonsten Clonk erschaffen der Spieler Crewhinzufügen
//und weiter gehts mit OnClonkCreateion
var Clonk=CreateObject(CLNK,0,0,iPlr);
MakeCrewMember(Clonk,iPlr);

//Nachricht ausgeben das der Clonk gestorben ist
Log("%s hat einen Clonk verloren und hat noch:%d",GetPlayerName(iPlr),10-Global(iPlr));

//Globale Hochzählen
Global(iPlr)++;
}




Tera-Flint-Produzent schrieb:

3. Da in der Winkelanpassung bei Winkel Setzen (SetR) bei GetY noch + 90 steht, geht der Torpedo bei aktivierung senkrecht nach oben (bei einem Ziel natürlich nicht)
Was ist daran nicht in Ordnung?
wohin soll er denn dann?




Falls du noch zu irgentwas eine Frage hast schreib einfach


mfg Toastbrot
Nach oben Nach unten
Tera-Flint-Produzent
Oberst
Oberst



Ort : PC
Anmeldedatum : 14.03.09

Verfolgungstorpedo - Seite 2 Empty
BeitragThema: Re: Verfolgungstorpedo   Verfolgungstorpedo - Seite 2 EmptyMo Mai 04, 2009 1:49 pm

Also das klappt net so wirklich. Der erste Spieler relauncht ganz normal aber der 2. Spieler hat plötzlich keine Kontrolle mehr über seinen Clonk!

Zitat :
Was ist daran nicht in Ordnung?
wohin soll er denn dann?

Nun, wenn er kein Ziel findet soll er, wie ein normaler Torpedo, nach vorne düsen. (Bis er ein Ziel hat oder explodiert)
Nach oben Nach unten
Gesponserte Inhalte





Verfolgungstorpedo - Seite 2 Empty
BeitragThema: Re: Verfolgungstorpedo   Verfolgungstorpedo - Seite 2 Empty

Nach oben Nach unten
 
Verfolgungstorpedo
Nach oben 
Seite 2 von 3Gehe zu Seite : Zurück  1, 2, 3  Weiter

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