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

Teilen | 
 

 Kugel verletzt Gegner nicht

Vorheriges Thema anzeigen Nächstes Thema anzeigen Nach unten 
AutorNachricht
Tundanér
Fregattenkapitän
Fregattenkapitän
avatar

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

BeitragThema: Kugel verletzt Gegner nicht   Mi 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
Benutzerprofil anzeigen
Gamer
Staatsrat
Staatsrat
avatar

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

BeitragThema: Re: Kugel verletzt Gegner nicht   Do 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.

_________________
Star Wars Projekt Homepage: http://sites.google.com/site/clonkprojekte/star-wars

Das Burg Projekt.................................................................... Schaut doch mal im Super-Mario Clonk Editon Forum vorbei!
Nach oben Nach unten
Benutzerprofil anzeigen http://www.gamer95.npage.de/
Wipfhunter
Brigadegeneral
Brigadegeneral
avatar

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

BeitragThema: Re: Kugel verletzt Gegner nicht   Do 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
Benutzerprofil anzeigen
Tundanér
Fregattenkapitän
Fregattenkapitän
avatar

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

BeitragThema: Re: Kugel verletzt Gegner nicht   Do 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
Benutzerprofil anzeigen
Limeox
Admiral
Admiral
avatar

Männlich Anmeldedatum : 25.04.10

BeitragThema: Re: Kugel verletzt Gegner nicht   Do 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
Benutzerprofil anzeigen
Tundanér
Fregattenkapitän
Fregattenkapitän
avatar

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

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

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




BeitragThema: Re: Kugel verletzt Gegner nicht   

Nach oben Nach unten
 
Kugel verletzt Gegner nicht
Vorheriges Thema anzeigen Nächstes Thema anzeigen Nach oben 
Seite 1 von 1
 Ähnliche Themen
-
» Howrse.de nicht erreichbar
» Anmeldung funktioniert nicht mehr
» Freundschaftsanfragen kommen nicht an
» Forumieren funktioniert nicht
» Smileys funktionieren nicht!

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