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  

 

 Objekt soll ständig "SetRDir(5)" aufrufen?

Nach unten 
4 verfasser
AutorNachricht
snowtiger11
General
General
snowtiger11


Männlich Alter : 26
Ort : Im Königreich Mankel
Anmeldedatum : 17.04.09

Objekt soll ständig "SetRDir(5)" aufrufen? Empty
BeitragThema: Objekt soll ständig "SetRDir(5)" aufrufen?   Objekt soll ständig "SetRDir(5)" aufrufen? EmptyDi Feb 08, 2011 6:00 pm

Hallo,
Wie sollte der Script lauten damit sich Objekte ständig drehen?
Code:
func Initalize()
{
  AddEffect("FallUm",this,100,1,this);
  return true;
}

func FxFallUmTimer()
{
  SetRDir(5);
  if(GetR() >= 90 || GetR() <= -90)
    for(var i = GetPlayerCount(); i; i--)
      if(GetTeam(GetPlayerByIndex(i)) == 1)
        EliminatePlayer(GetPlayerByIndex(i));
  return true;
}
Ich habs so aber es funzt ned o:
Nach oben Nach unten
Liech
Fregattenkapitän
Fregattenkapitän



Männlich Alter : 33
Anmeldedatum : 02.02.09

Objekt soll ständig "SetRDir(5)" aufrufen? Empty
BeitragThema: Re: Objekt soll ständig "SetRDir(5)" aufrufen?   Objekt soll ständig "SetRDir(5)" aufrufen? EmptyDi Feb 08, 2011 6:15 pm

Effekte sind nicht Objektbezogen. Du musst dementsprechend auch mit Referenzen und so arbeiten.
Da Effekte meiner meinung nach etwas zu kompliziert sind (entgegen manch anderer meinung) um sie kurz und knapp zu erklären würde ich dir empfehlen das mit einem kleinen mißbrauch von Schedule Call zu lösen, da musst du nahezu nichts zusätzlich beachten. Ansonsten lies dir die Effekt doku durch und frag nochmal nach =)

da bei mir grade die doku den firefox zum absturz bringt kann ich dir nicht genau sagen wie es funktioniert, aber es geht inetwa so:

//Aufruf des pseudoeffekts:
ScheduleCall(this,"FallUm",1,100);

func FallUm()
{
SetRDir(5);
if(GetR() >= 90 || GetR() <= -90)
for(var i = GetPlayerCount(); i; i--)
if(GetTeam(GetPlayerByIndex(i)) == 1)
{
EliminatePlayer(GetPlayerByIndex(i));
return true;
}
ScheduleCall(this,"FallUm",1,100);
return true;
}

ScheduleCall ruft einfach eine funktion verzögert auf. Du bastelst dir also eine art endlosschleife durch selbstaufrufen. Nur halt eine zeitversetzte. Abgebrochen wird einfach wenn du die funktion mal nicht aufrufst.
Nach oben Nach unten
snowtiger11
General
General
snowtiger11


Männlich Alter : 26
Ort : Im Königreich Mankel
Anmeldedatum : 17.04.09

Objekt soll ständig "SetRDir(5)" aufrufen? Empty
BeitragThema: Re: Objekt soll ständig "SetRDir(5)" aufrufen?   Objekt soll ständig "SetRDir(5)" aufrufen? EmptyDi Feb 08, 2011 6:17 pm

Kk, ich probiers mal.
....und wie macht man das das objekt sich aufhört zu drehen wen ein clonk es anfässt?
Nach oben Nach unten
Limeox
Admiral
Admiral
Limeox


Männlich Anmeldedatum : 25.04.10

Objekt soll ständig "SetRDir(5)" aufrufen? Empty
BeitragThema: Re: Objekt soll ständig "SetRDir(5)" aufrufen?   Objekt soll ständig "SetRDir(5)" aufrufen? EmptyDi Feb 08, 2011 8:14 pm

Bei SetRDir() wird das Objekt sowieso jeden Frame weitergedreht - außer natürlich, es stuckt.
Zitat :
Effekte sind nicht Objektbezogen.
Doch, Effekte haben Objektkontext. Außer globale Effekte natürlich, und bei DefCall-Effekten.
Übrigens gibt bei ScheduleCall der vierte Parameter an, wie oft die Funktion aufgerufen werden soll - bei dir 100 mal, allerdings wird das bei jedem Aufruf nochmal 100x gestartet - das stackt erst mal wie blöd Razz

Der Effekt oben müsste eigentlich funktionieren, allerdings dreht es sich eben nicht, wenn es irgendwie feststeckt. bzw nach der Drehung feststecken würde. Oder natürlich wenn es gar kein Rotate hat.

Ob ein Clonk es anfasst, kannst du per Find_ActionTarget prüfen. Musst dann aber noch checken, ob die Prozedur des Objektes "PUSH" ist, Find_Procedure gibts ja nicht.
Nach oben Nach unten
Bowserkoopa
Staatsrat
Staatsrat
Bowserkoopa


Männlich Alter : 30
Anmeldedatum : 21.12.08

Objekt soll ständig "SetRDir(5)" aufrufen? Empty
BeitragThema: Re: Objekt soll ständig "SetRDir(5)" aufrufen?   Objekt soll ständig "SetRDir(5)" aufrufen? EmptySo Feb 13, 2011 12:48 pm

Wieso net einfach Timer + SetR? Oder nen PhaseCall?
Nach oben Nach unten
Liech
Fregattenkapitän
Fregattenkapitän



Männlich Alter : 33
Anmeldedatum : 02.02.09

Objekt soll ständig "SetRDir(5)" aufrufen? Empty
BeitragThema: Re: Objekt soll ständig "SetRDir(5)" aufrufen?   Objekt soll ständig "SetRDir(5)" aufrufen? EmptySo Feb 13, 2011 1:38 pm

Wäre auch sinnvoll. Nur endet ein Timer nie, was hier glaube ich erwünscht ist.
Man könnte natürlich auch überprüfen ob das ganze gestoppt wurde.

Zum ScheduleCall fehler: Wie gesagt, ich hatte keinen zugriff auf die Doku. Tut mir leid das der Fehler passiert ist Wink
Nach oben Nach unten
Gesponserte Inhalte





Objekt soll ständig "SetRDir(5)" aufrufen? Empty
BeitragThema: Re: Objekt soll ständig "SetRDir(5)" aufrufen?   Objekt soll ständig "SetRDir(5)" aufrufen? Empty

Nach oben Nach unten
 
Objekt soll ständig "SetRDir(5)" aufrufen?
Nach oben 
Seite 1 von 1
 Ähnliche Themen
-
» sript zum aufrufen der aufprallposition
» Clonk soll Schaden austeilen
» Was soll ich machen ??? WARNING:

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