Ich bin mir sicher, dass es soetwas schon gab, aber die Suche findet bei "Relaunch" nichts Ich hab mir den Skript in den fortgeschrittenen Bereich angeschaut, aber das sieht nach ziemlich viel aus, und es ist nicht besonders gut erkärt. Also ich brauche nur, dass Speiler, wenn sie getötet wurden, an ihrer Standardstartposition wieder erscheinen. Wie gehe ich das am besten an?
Gamer Staatsrat
Alter : 28 Ort : In einem kleinen Dorf in Unterfranken (Bayern) Anmeldedatum : 10.02.09
Thema: Re: Relaunchskript So Okt 31, 2010 8:44 pm
Klar, das geht einfach..
Code:
public func RelaunchPlayer(int iPlr){
var clonk=CreateObject(CLNK,StartX,StartY); MakeCrewMember(clonk,iPlr);
return(1); }
Für StartX und StartY musst du noch die entsprechenden Zahlen eingeben. Achja und die ID CLNK (= Clonk) kannst du auch verändern, je nachdem als was man wiedergeboren werden soll. (KNIG = Ritter z.B) Gib bescheid obs funktioniert!
Limeox Admiral
Anmeldedatum : 25.04.10
Thema: Re: Relaunchskript So Okt 31, 2010 9:02 pm
Nunja, kommt auch aufs Szen drauf an: Steuert man nur einen Clonk oder mehrere? Wenn man nur einen steuert, kann RelaunchPlayer verwendet werden, OnClonkDeath funktioniert bei beiden Varianten. RelaunchPlayer wird eben immer nur aufgerufen, wenn wirklich der letzte Clonk gestorben ist. Ich würde OnClonkDeath empfehlen. Denn an diese Funktion wird im Gegensatz zu RelaunchPlayer auch der gestorbene Clonk übergeben. Damit ist es zB möglich, denselben Clonktyp wiederzuerschaffen, die Infosektion zu übergeben (damit man immer mit "demselben" Clonk spielt) usw. Und es funktioniert eben auch bei mehr als 1 Clonk pro Spieler.
Für den Rest siehe Gamer - das Wichtigste ist es, einen neuen Clonk zu erstellen und diesen per MakeCrewMember hinzuzufügen - und man sollte ihn automatisch mit SetCursor auswählen.
Dann gibt es eben noch die Spezialsachen wie zB Infosektion übertragen. Das ist vor Allem wichtig bei Szenarien, die lange dauern und daher viele neue Clonks erstellen können. Da ist die Datei sonst am Ende zugehäuft mit neuen Clonks. Aber auch so kann es interessant sein, immer mit demselben Clonk zu spielen - der bekommt dann auch deutlich mehr Erfahrung, als wenn man pro Runde 5 Clonks trainieren würde. Außerdem hat jeder Clonk zu Beginn, je nach Rang bzw Fair-Crew-Einstellung deutlich weniger Energie als er haben sollte. Die muss man dann extra füllen. Nur ein paar Beispiele - der Script lässt sich beliebig optimieren.
Code:
public func OnClonkDeath(object pClonk) { var iPlr = GetOwner(pClonk); //Fail bei Aufgabe/Leaven etc if (!GetPlayerName(iPlr)) return; //Neuen Clonk erstellen var pNewClonk = CreateObject(GetID(pClonk), 100, 100, iPlr); MakeCrewMember(pNewClonk, iPlr); //Infosektion übernehmen GrabObjectInfo(pClonk, pNewClonk); //Leben füllen DoEnergy(GetPhysical("Energy", PHYS_Current, pNewClonk), pNewClonk, true); //Und auswählen SetCursor(iPlr, pNewClonk); }
Gamer Staatsrat
Alter : 28 Ort : In einem kleinen Dorf in Unterfranken (Bayern) Anmeldedatum : 10.02.09
Thema: Re: Relaunchskript So Okt 31, 2010 9:53 pm
Für seine Ansprüche hats gereicht. Ich rede ja die ganze Zeit in Skype mit ihm..