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

Austausch | 
 

 ERROR:Target is zero! Gehts auch anders?

Vorheriges Thema anzeigen Nächstes Thema anzeigen Nach unten 
AutorNachricht
Andriel
Oberst
Oberst
avatar

Männlich Alter : 67
Anmeldedatum : 06.04.10

BeitragThema: ERROR:Target is zero! Gehts auch anders?   So Jun 26, 2011 9:12 pm

Hallo an alle und so!
Ich hab mal ein kleines Pfeil-Appendto geschrieben damit die Pfeile ein bestimmtes Objekt verschwinden lassen, wenn sie es treffen(Und Funken versprühen! Jay!). Das Objekt, das verschwinden soll, hat im Script die Funktion: public func IsBallon, true.
Hier ist der Code:
Code:
/*-- Pfeil-Appendto --*/

#strict

#appendto ARRW

public func HitTarget(pObject)
{
  if(pObject)
  if(pObject->~IsBallon(this()))
  {
    CastParticles("PxSpark", 15, 25, 0, 0, 30, 45, RGB(255, 223, 127), RGB(255, 223, 127));
    Schedule("RemoveObject(this())", 1, 0, pObject);
  }
 
 return( _inherited(pObject));
}
Das funktioniert alles gut, aber jetzt muss ich das Objekt mit Verzögerung verschwinden lassen, was den Pfeil verlangsamt. Die Funktion "HitTarget" führt nämlich eine Menge Überprüfungen durch, zum Beispiel ob das getroffene Objekt eine Rüstung trägt.
Wenn ich also bloß RemoveObject(pObject); schreibe, gibt das einen Haufen "Object Call: Target is zero" Errors.
Ich hab schon versucht den ganzen Pfeil umzuscripten, damit er keine Überprüfungen macht aber dann gabs irgendwie bei jedem Treffer nen Error.
Also meine Frage:
Gibts ne Möglichkeit, das Objekt ohne Verzögerung verschwinden zu lassen, ohne die ganzen Errors zu bekommen?

Vielen Dank für eure Hilfe!(die ich hoffentlich bekomme!) Suspect
Nach oben Nach unten
Benutzerprofil anzeigen
Andriel
Oberst
Oberst
avatar

Männlich Alter : 67
Anmeldedatum : 06.04.10

BeitragThema: Re: ERROR:Target is zero! Gehts auch anders?   Mi Jun 29, 2011 8:58 pm

Niemand? Sad
Nach oben Nach unten
Benutzerprofil anzeigen
snowtiger11
General
General
avatar

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

BeitragThema: Re: ERROR:Target is zero! Gehts auch anders?   Mi Jun 29, 2011 9:48 pm

Wurde pObject überhaupt definiert?
Ist es nicht meistens pTarget bei sowas?
Naja egal:
Code:

public func HitTarget(pObject)
{
  var pTarget=FindObject2(Find_Distance(5),Find_Func("IsBallon"));
  if(pTarget)
  {
    RemoveObject(pTarget)
  }
}

So, per einer netten kleine variable Wink

Sollte gehen nicht getestet...

Edit:
Gehört das nicht unter Scripthilfe?
Nach oben Nach unten
Benutzerprofil anzeigen
Limeox
Admiral
Admiral
avatar

Männlich Anmeldedatum : 25.04.10

BeitragThema: Re: ERROR:Target is zero! Gehts auch anders?   Mi Jun 29, 2011 10:11 pm

Du könntest den Ballon direkt entfernen und nicht inherited aufrufen. Müsste klappen.
Nach oben Nach unten
Benutzerprofil anzeigen
Andriel
Oberst
Oberst
avatar

Männlich Alter : 67
Anmeldedatum : 06.04.10

BeitragThema: Re: ERROR:Target is zero! Gehts auch anders?   Mi Jun 29, 2011 10:17 pm

Hey, das funktioniert! Danke! Very Happy

snowtiger11:
Bei der Funktion HitTarget(pObject) im Pfeilscript ist pObject das getroffene Objekt. Da ist es aber nicht vorgesehen das dieses beim Treffer gelöscht wird. Daher die Target is zero Errors.
Nach oben Nach unten
Benutzerprofil anzeigen
Andriel
Oberst
Oberst
avatar

Männlich Alter : 67
Anmeldedatum : 06.04.10

BeitragThema: Re: ERROR:Target is zero! Gehts auch anders?   Do Jun 30, 2011 9:27 am

Limeox, kleines Problem bei deiner Lösung: Der Pfeil trifft jetzt nichts mehr außer dem Ballon, bei anderen Objekten fliegt er einfach durch!

EDIT:
Habs gelöst! Wenn es ein Ballon ist, verschwindet er, und sonst wird die Original-Funktion aufgerufen.
Hier:
Code:
/*-- Pfeil-Appendto --*/

#strict

#appendto ARRW

public func HitTarget(pObject)
{
  if(pObject)
  if(pObject->~IsBallon(this()))
  {
    CastParticles("PxSpark", 15, 25, 0, 0, 30, 45, RGB(255, 223, 127), RGB(255, 223, 127));
    RemoveObject(pObject);
  }
 else
 return( _inherited(pObject));
}
Nach oben Nach unten
Benutzerprofil anzeigen
ClonkGeist
Brigadegeneral
Brigadegeneral


Männlich Anmeldedatum : 23.01.10

BeitragThema: Re: ERROR:Target is zero! Gehts auch anders?   Do Jun 30, 2011 3:31 pm

Oder du packst einfach ein "return 0;" nach dem RemoveObject(). Ich weiß nicht genau, ob in der Originalfunktion auch was ohne pObject passiert, aber falls dem so ist, wird das bei deiner Lösung nicht ausgeführt.
Nach oben Nach unten
Benutzerprofil anzeigen
Gesponserte Inhalte




BeitragThema: Re: ERROR:Target is zero! Gehts auch anders?   

Nach oben Nach unten
 
ERROR:Target is zero! Gehts auch anders?
Vorheriges Thema anzeigen Nächstes Thema anzeigen Nach oben 
Seite 1 von 1
 Ähnliche Themen
-
» Kann ich denn Chat von euch (Forumieren) auch wo anders hin machen?
» Könne Gäste auch ohne Anmeldung....?
» Chatanzeige auch im Portal möglich?
» Facebook API Error 191
» Auch Moderator neue Benutzer freischalten?

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