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  

 

 Appendto Funktioniert nicht

Nach unten 
+3
Bowserkoopa
Extremclonk
Toastbrot
7 verfasser
Gehe zu Seite : 1, 2  Weiter
AutorNachricht
Toastbrot
Kadett
Kadett
Toastbrot


Männlich Anmeldedatum : 10.03.09

Appendto Funktioniert nicht Empty
BeitragThema: Appendto Funktioniert nicht   Appendto Funktioniert nicht EmptyDi Apr 28, 2009 3:27 pm

Moin,
Ich wollte ein Append auf alle Clonks machen.
also habe einen Ordner namens
"System.c4g" erstellt und darein einen Script
Namens "ClonkAppend.c" eingefügt.

In diesem Script steht dann einfach mal folgendes:
Code:

#strict
#appendto CLNK

func Initialize(){
CreateContents(ROCK);
return(_inherited());
}



Allerdings tut sich da gar nichts keine Fehlermeldung
kein Stein.´Nicht mal für den Normalen Clonk.

danke schon mal im voraus für Hilfe.
Nach oben Nach unten
Extremclonk
Staatsrat
Staatsrat
Extremclonk


Männlich Ort : Am Anti-Spam-Limes
Anmeldedatum : 19.01.09

Appendto Funktioniert nicht Empty
BeitragThema: Re: Appendto Funktioniert nicht   Appendto Funktioniert nicht EmptyDi Apr 28, 2009 3:32 pm

Soweit ich weiß überlädst du damit die normale Initialize Funktion im Clonk du musst in dein Appendto die Orginal Initialize übernehmen plus das was du appenden willst. Ist ist zumindest so wenn man Include nimmt....

Code:


#strict
#appendto CLNK

protected func Initialize()
{
  // Clonks mit Magiephysikal aus fehlerhaften Szenarien korrigieren
  if (GetID () == CLNK)
    if (GetPhysical ("Magic", 1))
      SetPhysical ("Magic", 0, 1);
  SetAction("Walk");
  SetDir(Random(2));
  // Broadcast für Spielregeln
  GameCallEx("OnClonkCreation", this());
  CreateContents(ROCK);
return(_inherited());
}
Nach oben Nach unten
Toastbrot
Kadett
Kadett
Toastbrot


Männlich Anmeldedatum : 10.03.09

Appendto Funktioniert nicht Empty
BeitragThema: Re: Appendto Funktioniert nicht   Appendto Funktioniert nicht EmptyDi Apr 28, 2009 4:04 pm

Da passiert auch überhaupt nichts.
Aber eigentlich ist es doch überflüssig die Funktion ganz zu übernehmen da
return(_inherited()); ja die überladene Funkltion aufruft.
Nach oben Nach unten
Extremclonk
Staatsrat
Staatsrat
Extremclonk


Männlich Ort : Am Anti-Spam-Limes
Anmeldedatum : 19.01.09

Appendto Funktioniert nicht Empty
BeitragThema: Re: Appendto Funktioniert nicht   Appendto Funktioniert nicht EmptyDi Apr 28, 2009 4:06 pm

Okay das mit return(_inherited) kenn ich net sorry, ich hatte halt dieses Problem mal mit #include....
Mit meinem Latein bin ich am ende sry.
Nach oben Nach unten
Bowserkoopa
Staatsrat
Staatsrat
Bowserkoopa


Männlich Alter : 30
Anmeldedatum : 21.12.08

Appendto Funktioniert nicht Empty
BeitragThema: Re: Appendto Funktioniert nicht   Appendto Funktioniert nicht EmptyDi Apr 28, 2009 4:18 pm

_inherited hängt das eigentlich ja an. Also kopier die echte Clonk Initialize, schreib deinen Text rein, und schreib retrun(1); rein. Müsste dann ja eigentlich tun. Und wegen 3 Zeilen mehr im Appendto sparst du dir keine Zeit und wenn dann nur Nanosekunden.
Nach oben Nach unten
Toastbrot
Kadett
Kadett
Toastbrot


Männlich Anmeldedatum : 10.03.09

Appendto Funktioniert nicht Empty
BeitragThema: Re: Appendto Funktioniert nicht   Appendto Funktioniert nicht EmptyDi Apr 28, 2009 8:48 pm

Also wenn ich das richtig verstanden habe hängt das inherited nicht den Script ran sondern ruft die Funktion auf die Überladen wurde.

Allerdings hat der Script inzwischen Funktioniert.Es ging als ich den SystemOrdner aus einem Unterverzeichnis direct in den Level geladen hatte.

Vielen dank an alle die Was geschrieben haben.

mfg Toastbrot
Nach oben Nach unten
Bowserkoopa
Staatsrat
Staatsrat
Bowserkoopa


Männlich Alter : 30
Anmeldedatum : 21.12.08

Appendto Funktioniert nicht Empty
BeitragThema: Re: Appendto Funktioniert nicht   Appendto Funktioniert nicht EmptyMi Apr 29, 2009 10:33 am

wie unterordner? also system.c4g und dann nen ordner wo das script drin ist?
Nach oben Nach unten
Liech
Fregattenkapitän
Fregattenkapitän



Männlich Alter : 33
Anmeldedatum : 02.02.09

Appendto Funktioniert nicht Empty
BeitragThema: Re: Appendto Funktioniert nicht   Appendto Funktioniert nicht EmptyMi Apr 29, 2009 6:10 pm

Theoretisch müsste das funktionieren. Vielleicht hast du den System.c4g ordner nicht richtig platziert. Probier mal ob irgendein anderes Script das du dort reintust funktioniert.

z.B:
Zitat :
global func A(){Log("!");}

Ansonsten: Wo hast du den Ordner rein getan?
Nach oben Nach unten
Toastbrot
Kadett
Kadett
Toastbrot


Männlich Anmeldedatum : 10.03.09

Appendto Funktioniert nicht Empty
BeitragThema: Re: Appendto Funktioniert nicht   Appendto Funktioniert nicht EmptyMi Apr 29, 2009 6:58 pm

Toastbrot schrieb:
(...)Allerdings hat der Script inzwischen Funktioniert.(...)
Wie ich schon schrieb es ging, nur ging es nicht als ich in einem Scenario einen ObjecOrdner hatte darin ein Object und darin den SystemOrdner. Dann passierte gar nichts aber inzwischen geht das so wie ich will.
Nach oben Nach unten
Bowserkoopa
Staatsrat
Staatsrat
Bowserkoopa


Männlich Alter : 30
Anmeldedatum : 21.12.08

Appendto Funktioniert nicht Empty
BeitragThema: Re: Appendto Funktioniert nicht   Appendto Funktioniert nicht EmptyMi Apr 29, 2009 8:52 pm

Ich habe auch ein Skript, dass aber beim Szenariostart nicht an jeden Clonk angehängt wird. Sehts euch mal an:

Im System.c4g
Code:
#strict

#appendto CLNK

global func Gravit()
{
//Kletteranimation umstellen
   if(GetAction() eq "Scale" || GetAction() eq "ScaleDown") {
      SetObjDrawTransform(0,GetDir()*2000-1000,-GetDir()*10000+5000,1000,0,0);
   }


   // Jetzt Hangelanimation umstellen
   if(GetAction() eq "Hangle") {
      SetObjDrawTransform(1000,0,0,0,-1000,0);
   }
   if(GetAction() ne "Hangle" && GetAction() ne "Scale" && GetAction() ne "ScaleDown") SetObjDrawTransform();
//Das Rauf und runterhangeln noch
   if(GetAction() ne "Hangle" && GetAction() ne "Scale") SetObjDrawTransform();
   
   }

Und das im Szenario selber:
Code:
/*-- Neues Szenario --*/

#strict

func Initialize() {
GameCall("Gravit",0);
  return(1);
}
Nach oben Nach unten
Flinti
Kadett
Kadett



Männlich Alter : 31
Anmeldedatum : 07.04.09

Appendto Funktioniert nicht Empty
BeitragThema: Re: Appendto Funktioniert nicht   Appendto Funktioniert nicht EmptyMi Apr 29, 2009 9:05 pm

Was soll dein Script denn nützen? Du brauchst ja kein #appendto, wenn du eine Globale Funktoin machst. Nehme doch einfach einen Parameter Wink
Nach oben Nach unten
Bowserkoopa
Staatsrat
Staatsrat
Bowserkoopa


Männlich Alter : 30
Anmeldedatum : 21.12.08

Appendto Funktioniert nicht Empty
BeitragThema: Re: Appendto Funktioniert nicht   Appendto Funktioniert nicht EmptyMi Apr 29, 2009 9:17 pm

Verstehe ich nicht :S Der Sinn ist, dass man an der Wand+Decke laufen kann.
Nach oben Nach unten
Flinti
Kadett
Kadett



Männlich Alter : 31
Anmeldedatum : 07.04.09

Appendto Funktioniert nicht Empty
BeitragThema: Re: Appendto Funktioniert nicht   Appendto Funktioniert nicht EmptyMi Apr 29, 2009 9:18 pm

Warum appendierst du die globale Funnktion an den Clonk?

EDIT: Dein Script dürfte eigentlich auch gar nicht funzen :O
Nach oben Nach unten
Bowserkoopa
Staatsrat
Staatsrat
Bowserkoopa


Männlich Alter : 30
Anmeldedatum : 21.12.08

Appendto Funktioniert nicht Empty
BeitragThema: Re: Appendto Funktioniert nicht   Appendto Funktioniert nicht EmptyDo Apr 30, 2009 10:17 am

Doch, denn wenn ich sie in den Clonk schreibe, und dann im Szenarioskript aufrufe, kommen die richtigen Animationen, welche ich mit SetObjectDrawTransform gemacht habe. Nur soll eben die Funktion in jeden Clonk geschrieben werden, und dannach im Szenskript aufgerufen werden.
Nach oben Nach unten
Flinti
Kadett
Kadett



Männlich Alter : 31
Anmeldedatum : 07.04.09

Appendto Funktioniert nicht Empty
BeitragThema: Re: Appendto Funktioniert nicht   Appendto Funktioniert nicht EmptyFr Mai 01, 2009 1:35 am

Dann ist das aber ein ekeliger hack Wink
Nimm doch sowas, dafür brauchst du nichtmal ein #appendto:

Szenscript:
Code:


global func Gravit(object obj)
{
//Kletteranimation umstellen
  if(GetAction(obj) eq "Scale" || GetAction(obj) eq "ScaleDown") {
      obj->SetObjDrawTransform(0,GetDir(obj)*2000-1000,-GetDir(obj)*10000+5000,1000,0,0);
  }


  // Jetzt Hangelanimation umstellen
  if(GetAction(obj) eq "Hangle") {
      obj->SetObjDrawTransform(1000,0,0,0,-1000,0);
  }
  if(GetAction(obj) ne "Hangle" && GetAction(obj) ne "Scale" && GetAction(obj) ne "ScaleDown") obj->SetObjDrawTransform();
//Das Rauf und runterhangeln noch
  if(GetAction(obj) ne "Hangle" && GetAction(obj) ne "Scale") obj->SetObjDrawTransform();
 
  }

func MachToll()
{
  var obj;
  while(obj = FindObject2(FindExclude(obj), Find_ID(CLNK)))
  {
    Gravit(obj);
  }
}
Nach oben Nach unten
Bowserkoopa
Staatsrat
Staatsrat
Bowserkoopa


Männlich Alter : 30
Anmeldedatum : 21.12.08

Appendto Funktioniert nicht Empty
BeitragThema: Re: Appendto Funktioniert nicht   Appendto Funktioniert nicht EmptyFr Mai 01, 2009 9:59 am

Das Skript für doch so gar nichts durch? Hab ins Szenarioskript kopiert und mit GameCall aufgerufen, aber es tat gar nicht. Die hangeln immer noch normal. Oh warte mal, ich glaube, dass ist, weils nur an Clonks angehängt ist! Dann müsste man es noch für alle Typen umschreiben, jetzt wirds mir erst klar.
Nach oben Nach unten
Soterotu
Generalleutnant
Generalleutnant
Soterotu


Männlich Alter : 31
Ort : Einsames Dorf in Oberfranken
Anmeldedatum : 27.01.09

Appendto Funktioniert nicht Empty
BeitragThema: Re: Appendto Funktioniert nicht   Appendto Funktioniert nicht EmptyFr Mai 01, 2009 10:09 am

Bowserkoopa schrieb:
Das Skript für doch so gar nichts durch? Hab ins Szenarioskript kopiert und mit GameCall aufgerufen, aber es tat gar nicht. Die hangeln immer noch normal. Oh warte mal, ich glaube, dass ist, weils nur an Clonks angehängt ist! Dann müsste man es noch für alle Typen umschreiben, jetzt wirds mir erst klar.

Irrtum da sobald man etwas als Appendto an CLNK anhängt betrifft das alle Clonkarten da jede andere Clonkart CLNK includiert.
Nach oben Nach unten
Bowserkoopa
Staatsrat
Staatsrat
Bowserkoopa


Männlich Alter : 30
Anmeldedatum : 21.12.08

Appendto Funktioniert nicht Empty
BeitragThema: Re: Appendto Funktioniert nicht   Appendto Funktioniert nicht EmptyFr Mai 01, 2009 10:11 am

Ja aber das Skript davor hat gar kein #appendto. Da steht Find_ID(CLNK) und das sucht ja nur nach clonks. Ich löse es gerade mit Find_OCF(OCF_CrewMember())

EDIT: meine Variante funktioniert auch nicht, da noch ein Timer fehlt, der immer überprüft, ob man klettert oder hangelt.
EDIT: Habs jetzt einfach in jeden Clonk kopiert und den Timer dazugemacht. Ist es eigentlich möglich, Skriptteile in einen Clonk zu kopieren(also neue Fähigkeiten spendierten) wenn ein anderes Objekt aktiviert wird?
Nach oben Nach unten
Flinti
Kadett
Kadett



Männlich Alter : 31
Anmeldedatum : 07.04.09

Appendto Funktioniert nicht Empty
BeitragThema: Re: Appendto Funktioniert nicht   Appendto Funktioniert nicht EmptyFr Mai 01, 2009 4:27 pm

Zitat :
Das Skript für doch so gar nichts durch? Hab ins Szenarioskript kopiert und mit GameCall aufgerufen, aber es tat gar nicht. Die hangeln immer noch normal. Oh warte mal, ich glaube, dass ist, weils nur an Clonks angehängt ist! Dann müsste man es noch für alle Typen umschreiben, jetzt wirds mir erst klar.

Das wollte ich dir die ganze Zeit sagen, und auf deine letzte Frage: Nein, es ist nicht möglich. Du kannst lediglich überprüfen, ob ein bestimmtes Objekt existiert, und dann in der Funktion erst eine Aktion ausführen.
Nach oben Nach unten
Bowserkoopa
Staatsrat
Staatsrat
Bowserkoopa


Männlich Alter : 30
Anmeldedatum : 21.12.08

Appendto Funktioniert nicht Empty
BeitragThema: Re: Appendto Funktioniert nicht   Appendto Funktioniert nicht EmptyFr Mai 01, 2009 5:37 pm

ohh schade, also lässt sich mit dem einen Skriptteil nichts machen? Ich habe nämlich jetzt JEDEN Clonktyp ins Szen kopiert, Timer hinzugefügt und Skript erneuert, und nun braucht das satte 9 MB.
Nach oben Nach unten
Flinti
Kadett
Kadett



Männlich Alter : 31
Anmeldedatum : 07.04.09

Appendto Funktioniert nicht Empty
BeitragThema: Re: Appendto Funktioniert nicht   Appendto Funktioniert nicht EmptySa Mai 02, 2009 3:00 pm

1. Mache deine Funktion public
2. Hänge sie an CLNK an und überlade Initialize(),
3. wo du einen Effekt erstellst, der den Timer darstellt
4. in dem du die tolle Funktion mit der Überprüfung einbaust

=> Alle Clonks können deine neue, Implementierte Funktion!

Ich erwarte nicht, dass du alles verstanden hast Surprised Wink
Nach oben Nach unten
Bowserkoopa
Staatsrat
Staatsrat
Bowserkoopa


Männlich Alter : 30
Anmeldedatum : 21.12.08

Appendto Funktioniert nicht Empty
BeitragThema: Re: Appendto Funktioniert nicht   Appendto Funktioniert nicht EmptySa Mai 02, 2009 5:42 pm

oK, habe wirklich nicht alles verstanden. Soweit komme ich:

1.public func Gravit() machen
2.#appendto CLNK
3. In Initalize etwas schreiben, was ich nicht verstanden habe.

Also fragt sich nur. Wie mache ich jetzt den Timer?
Nach oben Nach unten
Flinti
Kadett
Kadett



Männlich Alter : 31
Anmeldedatum : 07.04.09

Appendto Funktioniert nicht Empty
BeitragThema: Re: Appendto Funktioniert nicht   Appendto Funktioniert nicht EmptyMo Mai 11, 2009 11:30 pm

Ich schaue mal, ob ich dazu nicht ein Tutorial schreibe...
Nach oben Nach unten
Bowserkoopa
Staatsrat
Staatsrat
Bowserkoopa


Männlich Alter : 30
Anmeldedatum : 21.12.08

Appendto Funktioniert nicht Empty
BeitragThema: Re: Appendto Funktioniert nicht   Appendto Funktioniert nicht EmptyDi Mai 12, 2009 1:55 pm

Also Clonkfunktionen über Appendto anhängen, und dann per Szenarioskript aufrufen? Es fehlt eben ein Timer am ganzen, der prüft, ob der Clonk die Wand hochläuft. DefCore appendtos gibts ja nicht
Nach oben Nach unten
Flinti
Kadett
Kadett



Männlich Alter : 31
Anmeldedatum : 07.04.09

Appendto Funktioniert nicht Empty
BeitragThema: Re: Appendto Funktioniert nicht   Appendto Funktioniert nicht EmptyMi Mai 13, 2009 12:17 am

Ein Tutorial für den Timer per Effekt. Mal schaue, wann ich Zeit finde.
Nach oben Nach unten
Gesponserte Inhalte





Appendto Funktioniert nicht Empty
BeitragThema: Re: Appendto Funktioniert nicht   Appendto Funktioniert nicht Empty

Nach oben Nach unten
 
Appendto Funktioniert nicht
Nach oben 
Seite 1 von 2Gehe zu Seite : 1, 2  Weiter
 Ähnliche Themen
-
» Spawn funktioniert nicht
» Flint funktioniert nicht. :(

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