Ich habe letztens ein Szen gebastelt und es ist auch schon fertig Problem ist nur das das ganze ein Deathmatch sein soll. Ich habe leider nur sehr schwer verständliche Scripts und Goalobjecte gefunden ich hätte gerne das mir jemand erklärt wie mann ein Deathmatch script macht oder ein Goal das Deathmatch ist. Danke im vorraus
P.S.: Ich habe diesen Post irgendwie schonmal gemacht aber er schein verloren gegangen zu sein, falls ich Doppelposte weil irgendwer meinen Thread verschoben hat dann kann ich nix dafür weil ich nicht benachrichtigt wurde das mein Thread verschoben wurde...
Und danke das ihr über meine Rechtschreibung hinweg sehen könnt
Dragonclonk Kadett
Alter : 31 Ort : Lübeck Anmeldedatum : 11.12.08
Thema: Re: Deathmatchziel Sa Apr 18, 2009 10:24 am
Wie wäre es mit MELE??
Gamer Staatsrat
Alter : 28 Ort : In einem kleinen Dorf in Unterfranken (Bayern) Anmeldedatum : 10.02.09
Thema: Re: Deathmatchziel Sa Apr 18, 2009 4:09 pm
Meint er vieleicht Deathmatch also das von Hazard?
mOwl Oberst
Anmeldedatum : 07.01.09
Thema: Re: Deathmatchziel So Apr 19, 2009 2:06 pm
Ich meine Deathmatch heißt in diesem fall es gibt 2 Teams und wer als erster 10 Kills hat hat gewonnen.
Eine globale variable für den Entsprechenden Spieler Hochzäglen und wenn ein Spieler die benötigte anzahl punkte hat alle anderen Eliminieren. Das geht zum beistpiel mit folgender Funktion::
Hmm das habe ich jetzt nicht so richtig verstanden gibt es nicht einfach einen Befehl der einsetzt wenn meine Variable iKills =10 oder iKills>10 ist und dann einfach das spiel beendet? (natürlich so das der der die 10 Kills gemacht hat der Gewinner ist...)
Toastbrot Kadett
Anmeldedatum : 10.03.09
Thema: Re: Deathmatchziel Mo Apr 20, 2009 7:39 pm
Hier ist mal ein Auskommentierter code für den Scenarioscript:
Code:
//Erstmal eine Variable deklarien die die zu erreichenden Punkte speichert static Goal;
public func Initialize(){
//Hier wird dann die zu erreichende Punktzahl gesetzt: Goal=10; }
//Der GamCall OnClonkDeath mit den Parametern pClonk und pKiller //wird aufgerufen wenn ein Clonk stirbt: public func OnClonkDeath(pClonk,pKiller){
//Jetzt wird der Besitzer des Killers abgefragt und die //Globale mit dem Index des Spielers wird um eins erhöht //dadurch Funktioniert der script mit Unbegrenzt Spielern Global( GetOwner( pKiller ) )++;
//Falls die Globale den Sollwert erreicht oder überschritten // hat werden alle Spieler außer dem Besitzer //von pKiller Eliminiert if(Global ( GetOwner ( pKiller ) ) >= Goal)EliminateExclude(GetOwner(pKiller ));
}
//So hier ist dann noch die Funktion die macht das der Gewinner als einziger noch steht: public func EliminateExclude(int ExcludePlayer){
//Zuerst einmal eine for-Schleife die alle // SpielerIndexe von 0 bis GetPlayerCount-1 hochzählt for(var i=0; i< GetPlayerCount() ; i++){ //Und falls der Spieler nicht der zu überlebende ist wird er Eliminiert if(GetPlayerByIndex(i) != ExcludePlayer)EliminatePlayer(i); }
}
mOwl Oberst
Anmeldedatum : 07.01.09
Thema: Re: Deathmatchziel Di Apr 21, 2009 1:11 pm
Danke das war mal hilfreich eine frage noch: ich habe das ganze auf 2 Teams ausgelegt und würde gerne wissen wie ich das hin bekomme mit den Kills das das ganze Team gewinnt und nicht nur 1 Spieler.
Gamer Staatsrat
Alter : 28 Ort : In einem kleinen Dorf in Unterfranken (Bayern) Anmeldedatum : 10.02.09
Thema: Re: Deathmatchziel Di Apr 21, 2009 5:58 pm
Ich hab mal auf der Clonkwiki ne Funktion bei Scripts "EliminateTeam(i)" gesehen. Die machen sich ne while oder ne for schleife und eliminieren dann den Spieler. Weiß nichtmehr genau, sorry.
Toastbrot Kadett
Anmeldedatum : 10.03.09
Thema: Re: Deathmatchziel Do Apr 23, 2009 7:44 pm
mOwl schrieb:
Danke das war mal hilfreich eine frage noch: ich habe das ganze auf 2 Teams ausgelegt und würde gerne wissen wie ich das hin bekomme mit den Kills das das ganze Team gewinnt und nicht nur 1 Spieler.
Muss dann alles auf Team umgestellt werden. Hier ein Vorschlag:
Code:
//Erstmal eine Variable deklarien die die zu erreichenden Punkte speichert static Goal;
public func Initialize(){
//Hier wird dann die zu erreichende Punktzahl gesetzt: Goal=10; }
//Der GameCall OnClonkDeath mit den Parametern pClonk und pKiller //wird aufgerufen wenn ein Clonk stirbt: public func OnClonkDeath(pClonk,pKiller){
//Jetzt wird der Besitzer des Killers abgefragt und die //Globale mit dem Index des Spielers wird um eins erhöht //dadurch Funktioniert der script mit Unbegrenzt Spielern //Neu ist das die Variable mit dem Index des Teams erhöht wird: Global(GetPlayerTeam(GetOwner( pKiller ) ))++;
//Falls die Globale den Sollwert erreicht oder überschritten // hat werden alle Spieler außer denen aus dem Team des Besitzer //von pKiller Eliminiert if(Global ( GetPlayerTeam(GetOwner ( pKiller ) )) >= Goal) EliminateExcludeTeam(GetPlayerTeam(GetOwner(pKiller )));
}
//So hier ist dann noch die Funktion die macht das das GewinnerTeam als einziges noch steht: public func EliminateExcludeTeam(int ExcludeTeam){
//Zuerst einmal eine for-Schleife die alle // SpielerIndexe von 0 bis GetPlayerCount-1 hochzählt for(var i=0; i< GetPlayerCount() ; i++){ //Und falls der Spieler nicht zum überlebenden //Team gehört ist wird er Eliminiert if(GetPlayerTeam(GetPlayerByIndex(i)) != ExcludeTeam)EliminatePlayer(i); }