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  

 

 Deathmatchziel

Nach unten 
4 verfasser
AutorNachricht
mOwl
Oberst
Oberst



Anmeldedatum : 07.01.09

Deathmatchziel Empty
BeitragThema: Deathmatchziel   Deathmatchziel EmptyMi Apr 15, 2009 6:50 pm

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 Wink
Nach oben Nach unten
Dragonclonk
Kadett
Kadett
Dragonclonk


Männlich Alter : 31
Ort : Lübeck
Anmeldedatum : 11.12.08

Deathmatchziel Empty
BeitragThema: Re: Deathmatchziel   Deathmatchziel EmptySa Apr 18, 2009 10:24 am

Wie wäre es mit MELE??
Nach oben Nach unten
Gamer
Staatsrat
Staatsrat
Gamer


Männlich Alter : 28
Ort : In einem kleinen Dorf in Unterfranken (Bayern)
Anmeldedatum : 10.02.09

Deathmatchziel Empty
BeitragThema: Re: Deathmatchziel   Deathmatchziel EmptySa Apr 18, 2009 4:09 pm

Meint er vieleicht Deathmatch also das von Hazard? Wink
Nach oben Nach unten
http://www.gamer95.npage.de/
mOwl
Oberst
Oberst



Anmeldedatum : 07.01.09

Deathmatchziel Empty
BeitragThema: Re: Deathmatchziel   Deathmatchziel EmptySo 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.
Nach oben Nach unten
Toastbrot
Kadett
Kadett
Toastbrot


Männlich Anmeldedatum : 10.03.09

Deathmatchziel Empty
BeitragThema: Re: Deathmatchziel   Deathmatchziel EmptySo Apr 19, 2009 5:24 pm

Du must im Scenarioscript in dem GamCall : OnClonkDeath(Clonk,Killer)
(siehe hier: http://de.wiki.nosebud.de/wiki/Scripte:GameCalls)

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::

Code:

public func EliminateExclude(int ExcludePlayer){

for(var i=0; i< GetPlayerCount() ; i++){
                                                          if(GetPlayerByIndex(i) != ExcludePlayer)EliminatePlayer(i);
                                                          }

}

Nach oben Nach unten
mOwl
Oberst
Oberst



Anmeldedatum : 07.01.09

Deathmatchziel Empty
BeitragThema: Re: Deathmatchziel   Deathmatchziel EmptyMo Apr 20, 2009 4:43 pm

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...)
Nach oben Nach unten
Toastbrot
Kadett
Kadett
Toastbrot


Männlich Anmeldedatum : 10.03.09

Deathmatchziel Empty
BeitragThema: Re: Deathmatchziel   Deathmatchziel EmptyMo 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);
                                              }

}



Nach oben Nach unten
mOwl
Oberst
Oberst



Anmeldedatum : 07.01.09

Deathmatchziel Empty
BeitragThema: Re: Deathmatchziel   Deathmatchziel EmptyDi 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.
Nach oben Nach unten
Gamer
Staatsrat
Staatsrat
Gamer


Männlich Alter : 28
Ort : In einem kleinen Dorf in Unterfranken (Bayern)
Anmeldedatum : 10.02.09

Deathmatchziel Empty
BeitragThema: Re: Deathmatchziel   Deathmatchziel EmptyDi 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. Wink
Nach oben Nach unten
http://www.gamer95.npage.de/
Toastbrot
Kadett
Kadett
Toastbrot


Männlich Anmeldedatum : 10.03.09

Deathmatchziel Empty
BeitragThema: Re: Deathmatchziel   Deathmatchziel EmptyDo 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);
                                              }

}



Hoffe ich konnte helfen



mfg Toastbrot
Nach oben Nach unten
Gesponserte Inhalte





Deathmatchziel Empty
BeitragThema: Re: Deathmatchziel   Deathmatchziel Empty

Nach oben Nach unten
 
Deathmatchziel
Nach oben 
Seite 1 von 1

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