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  

 

 Kugel verletzt Gegner nicht

Nach unten 
4 verfasser
AutorNachricht
Tundanér
Fregattenkapitän
Fregattenkapitän
Tundanér


Männlich Alter : 29
Ort : Rödental
Anmeldedatum : 03.02.09

Kugel verletzt Gegner nicht Empty
BeitragThema: Kugel verletzt Gegner nicht   Kugel verletzt Gegner nicht EmptyMi Nov 10, 2010 11:14 pm

Hallo Leute Very Happy
Ich arbeite gerade daran, die Kugeln aus dem DoD Pack Friendly-Fire-Kompatibel zu machen...
Nun hab ich es schon geschafft, dass die Kugel die eigenen Einheiten nicht treffen aber den Gegner treffen sie auch nicht...
Hier mal der script:

Code:
#strict

func Start()

 SetAction("Flieg");
 if (Equal(Par(0),DIR_Left())) { SetComDir(COMD_Left); }
  else {SetComDir(COMD_Right); }
  SetYDir(RandomX(-5,5));
 return(1);
}
 
 
func FindHit()
{
  var gegner;
  gegner=FindObject2(Find_Distance(3),Find_ID(G_SO),Find_ID(G_KI));
  if(gegner) Hurt(gegner);
  if (GetActTime() > 720) RemoveObject();
  return(1);
}
 


func Hurt(object pClonk)
{
 var Dmg = RandomX(20,22);
 Punch(pClonk,Dmg);
 RemoveObject();
 return(1);
}

func Hit()
{
 RemoveObject();
 return(1);
}



Nach oben Nach unten
Gamer
Staatsrat
Staatsrat
Gamer


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

Kugel verletzt Gegner nicht Empty
BeitragThema: Re: Kugel verletzt Gegner nicht   Kugel verletzt Gegner nicht EmptyDo Nov 11, 2010 5:46 pm

Verändere doch einfach DIREKT die FIndObject2() Funktion. Da hast du bisher stehen:
Code:

  var gegner;
  gegner=FindObject2(Find_Distance(3),Find_ID(G_SO),Find_ID(G_KI));

Man kann schon gleich Überprüfen, ob das Objekt feindlich oder nicht, mit dem Suchparameter "Find_Hostile(iPlayer);".
Man könnte also noch einfügen:
Code:
  var gegner;  gegner=FindObject2(Find_Distance(3),Find_ID(G_SO),Find_ID(G_KI),Find_Hostile(GetOwner(this()));
Das einzige Problematische daran ist eben, das du beim erstellen der Kugel gleich noch den Besitzer festlegen musst, sonst hat er Owner -1.
Wenn du das berücksichstigst sollte es gehen. Dann brauchst du auch keine Extra if(Friendly) Überprüfung mehr.
Nach oben Nach unten
http://www.gamer95.npage.de/
Wipfhunter
Brigadegeneral
Brigadegeneral
Wipfhunter


Männlich Alter : 28
Ort : Am Ort, den niemand kennt.... Bielefeld
Anmeldedatum : 01.12.09

Kugel verletzt Gegner nicht Empty
BeitragThema: Re: Kugel verletzt Gegner nicht   Kugel verletzt Gegner nicht EmptyDo Nov 11, 2010 8:45 pm

Ich glaube das Problem ist dieser teil:

Find_ID(G_SO),Find_ID(G_KI)

das findobject2 sucht also, soweit ich weiß nach einem objekt, dass beide IDs hat, was natürlich nicht geht:

ich würde es so machen:

gegner = FindObject2(Find_Distance(3),Find_Hostile(GetOwner()),Find_OCF(OCF_Alive));
Nach oben Nach unten
Tundanér
Fregattenkapitän
Fregattenkapitän
Tundanér


Männlich Alter : 29
Ort : Rödental
Anmeldedatum : 03.02.09

Kugel verletzt Gegner nicht Empty
BeitragThema: Re: Kugel verletzt Gegner nicht   Kugel verletzt Gegner nicht EmptyDo Nov 11, 2010 9:10 pm

@Gamer

Leider is das Problem das bei DoD die KI´s auch dem Spieler 1 gehören...

@Wipfhunter

Funktioniert nicht...
Die Kugel puncht die gegner nur ab und an und verschwindet dann auch nicht...
Nach oben Nach unten
Limeox
Admiral
Admiral
Limeox


Männlich Anmeldedatum : 25.04.10

Kugel verletzt Gegner nicht Empty
BeitragThema: Re: Kugel verletzt Gegner nicht   Kugel verletzt Gegner nicht EmptyDo Nov 11, 2010 9:21 pm

Womöglich fliegt sie einfach zu schnell oder kommt gar nicht am Mittelpunkt des Objekts vorbei.
Verwende statt Find_Distance besser Find_AtPoint.
Nach oben Nach unten
Tundanér
Fregattenkapitän
Fregattenkapitän
Tundanér


Männlich Alter : 29
Ort : Rödental
Anmeldedatum : 03.02.09

Kugel verletzt Gegner nicht Empty
BeitragThema: Re: Kugel verletzt Gegner nicht   Kugel verletzt Gegner nicht EmptyDo Nov 11, 2010 9:27 pm

Es funktioniert Very Happy
Thx Smile
Nach oben Nach unten
Gesponserte Inhalte





Kugel verletzt Gegner nicht Empty
BeitragThema: Re: Kugel verletzt Gegner nicht   Kugel verletzt Gegner nicht Empty

Nach oben Nach unten
 
Kugel verletzt Gegner nicht
Nach oben 
Seite 1 von 1
 Ähnliche Themen
-
» Granatapfel funzt nicht!
» Verfolgungstorpedo
» Spawnpoints geh nicht

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