Alter : 30 Ort : In einem Dorf in Baden Anmeldedatum : 28.10.09
Thema: teamrelaunchpunkte Fr Feb 12, 2010 7:25 pm
wie mach ich teamrelaunchpunkte?
AgentR Hauptman
Anmeldedatum : 31.01.10
Thema: Re: teamrelaunchpunkte Fr Feb 12, 2010 7:37 pm
Was sollen "Teamrelaunchpunkte" sein?
mfg AgentR
Lord Helmchen Fregattenkapitän
Alter : 30 Ort : In einem Dorf in Baden Anmeldedatum : 28.10.09
Thema: Re: teamrelaunchpunkte Fr Feb 12, 2010 7:42 pm
wenn ein team mitglied stirbt wird es wieder amteamspawnpoint gerelauncht und nicht irgendwo auf der karte
Gamer Staatsrat
Alter : 28 Ort : In einem kleinen Dorf in Unterfranken (Bayern) Anmeldedatum : 10.02.09
Thema: Re: teamrelaunchpunkte Fr Feb 12, 2010 11:50 pm
Welche Packs benutz du?
Lord Helmchen Fregattenkapitän
Alter : 30 Ort : In einem Dorf in Baden Anmeldedatum : 28.10.09
Thema: Re: teamrelaunchpunkte Sa Feb 13, 2010 2:04 am
Hazard und Objects
Gamer Staatsrat
Alter : 28 Ort : In einem kleinen Dorf in Unterfranken (Bayern) Anmeldedatum : 10.02.09
Thema: Re: teamrelaunchpunkte Sa Feb 13, 2010 11:51 am
Bei Hazard werden die Team-Relaunchpunkte im Script festgelegt.
Code:
public func RelaunchPosition(& iX, & iY, int iTeam) { // Anzahl Zufallpositionen, iTeam verwendet für spezielle Teamstartpositionen var rand = Random(2); if(iTeam == 1 ) { iX = 145; iY = 547; } //Hier sind die Relaunchpositionen für jedes Team festgelegt. if(iTeam == 2) { iX = 1720; iY = 660; } }
Koordinaten natürlich noch ersetzen.
Lord Helmchen Fregattenkapitän
Alter : 30 Ort : In einem Dorf in Baden Anmeldedatum : 28.10.09
Thema: Re: teamrelaunchpunkte Sa Feb 13, 2010 12:52 pm
danke hat mir sehr geholfen:) geht das auch zB mit M&M ?
Gamer Staatsrat
Alter : 28 Ort : In einem kleinen Dorf in Unterfranken (Bayern) Anmeldedatum : 10.02.09
Thema: Re: teamrelaunchpunkte Sa Feb 13, 2010 12:55 pm
Nein das ist extra bei Hazard so gemacht worden Meinst du eigentlich das beim Spielstart je nach team anders gestartet werden soll oder das bei Tod eines CLonks der wieder auf ne position kommt (also bei Relaunch-Meeles)
Lord Helmchen Fregattenkapitän
Alter : 30 Ort : In einem Dorf in Baden Anmeldedatum : 28.10.09
Thema: Re: teamrelaunchpunkte Sa Feb 13, 2010 2:14 pm
wie kann ich die anzahl der relaunches festlegen? EDIT: irgendwie werden die clonks nicht gerelauncht
Lord Helmchen Fregattenkapitän
Alter : 30 Ort : In einem Dorf in Baden Anmeldedatum : 28.10.09
Thema: Re: teamrelaunchpunkte Di März 23, 2010 11:34 pm
ich meine beides also zB team A startet links und wenn ein mitglied des teams stirbt wird es links gerelauncht und man hat 10 relaunches. wie mache ich das? thx im vorraus
Extremclonk Staatsrat
Ort : Am Anti-Spam-Limes Anmeldedatum : 19.01.09
Thema: Re: teamrelaunchpunkte Mi März 24, 2010 12:03 am
Frage: Soll jeder Spieler 10 Relaunches haben oder jedes Team?
Zum Relaunch an sich stellt und Clonk sogar was zur Verfügung. Ein jeder Clonk der Stirbt ruft im Scenarioscript die Funktion "RelaunchPlayer" auf. Die müssen wir nur schreiben. Als Parameter wird überdies die Spielernummer des relauchten Spielers übergeben.
Code:
func Relaunchplayer(int iPlr) { var pClonk = CreateObject(ID); //Hier muss statt ID die ID der Clonkart rein pClonk -> SetOwner(iPlr); //Hier wird der gerelaunchte Spieler Besitzer des Clonks pClonk -> MakeCrewMember(0, iPlr); //Hier wird der Clonk der Crew des Spielers hinzugefügt
if(GetPlayerTeam(iPlr) == 1) pClonk -> SetPosition(x,y); //Für x und y musst du if(GetPlayerTeam(iPlr) == 2) pClonk -> SetPosition(x,y);/die Koords schreiben. }
Für die Relaunch Begrenzung würde ich globals verweden. Diese werden wie locals im Scenarioscript festgelegt. So:
Code:
static iRel1, iRel2;
Jetzt haben wir zwei Globals, doch diese stehen noch auf 0. Wir müssen sie in der initialize auf 10 setzten.
Code:
func Initialize() { iRel1 = 10; iRel2 =10; }
Nun müssen die Verbrauchten Relaunches noch abgezogen werden. Das tun wir jedes mal wenn ein Spieler stirbt, als in der Funktion RelauchPlayer. Außerdem müssen wir ja gucken ob noch Relaunches da sind. So:
Code:
if(GetPlayerTeam(iPlr) == 1 && iRel1 == 0) return 1; //Ist der Spieler bei Team1 und dieses hat keine Relaunches mehr wird er net relauncht. if(GetPlayerTeam(iPlr) == 2 && iRel2 == 0) return 1; //Ist der Spieler bei Team2 und dieses hat keine Relaunches mehr wird er net relauncht.
if(GetPlayerTeam(iPlr) == 1) pClonk -> SetPosition(x,y); if(GetPlayerTeam(iPlr) == 1) iRel1--; //Stirbt ein Team1 Angehöriger wird iRel1 reduziert. if(GetPlayerTeam(iPlr) == 2) pClonk -> SetPosition(x,y); if(GetPlayerTeam(iPlr) == 2) iRel2--; //Stirbt ein Team2 Angehöriger wird iRel2 reduziert. }
So guckt das dann drein. Soll jeder Spieler 10 Relaunches haben musst du GetPlayerTeam(iPlr) durch iPlr ersetzen. Vorsicht ist geboten da Teams von 1 ab aufwärts gezählt werden, Spieler aber von 0! Dann musste du halt noch für jeden Spieler ne global anlegen.
Lord Helmchen Fregattenkapitän
Alter : 30 Ort : In einem Dorf in Baden Anmeldedatum : 28.10.09
Thema: Re: teamrelaunchpunkte Mi März 24, 2010 9:11 am
thx dass du mir das so ausführlich erklärt hast
EDIT: irgend wie gehts immer noch nicht:(
Extremclonk Staatsrat
Ort : Am Anti-Spam-Limes Anmeldedatum : 19.01.09
Thema: Re: teamrelaunchpunkte Mi März 24, 2010 6:59 pm
Hm, kommen irgendwelche Errors? Passiert überhaupt irgendwas? Auf Mögliche Schreibfehler im Funktionsnamen geguckt? Da kommt nämlich kein Error, das ist mies. Es natürlich auch gestattet mich einfach in ICQ/Skype zu adden, falls gar nix mehr geht.
Lord Helmchen Fregattenkapitän
Alter : 30 Ort : In einem Dorf in Baden Anmeldedatum : 28.10.09
Thema: Re: teamrelaunchpunkte Mi März 24, 2010 7:36 pm
if(GetPlayerTeam(iPlr) == 1 && iRel1 == 0) return 1; //Ist der Spieler bei Team1 und dieses hat keine Relaunches mehr wird er net relauncht. if(GetPlayerTeam(iPlr) == 2 && iRel2 == 0) return 1; //Ist der Spieler bei Team2 und dieses hat keine Relaunches mehr wird er net relauncht.
wo genau kommt das rein in func Relaunchplayer(int iPlr)? weil egal wo ich es reinmache und dann einen gegner kill wir der spieler elimminiert und fertig fehle kommen wenn ichs halt nirgends rein mache
Extremclonk Staatsrat
Ort : Am Anti-Spam-Limes Anmeldedatum : 19.01.09
Thema: Re: teamrelaunchpunkte Mi März 24, 2010 8:13 pm
Das muss in RelaunchPlayer ganz oben hin nach der "{" Klammer.
Code:
func RelaunchPlayer(int iPlr) { if(GetPlayerTeam(iPlr) == 1 && iRel1 == 0) return 1; //Ist der Spieler bei Team1 und dieses hat keine Relaunches mehr wird er net relauncht. if(GetPlayerTeam(iPlr) == 2 && iRel2 == 0) return 1; //Ist der Spieler bei Team2 und dieses hat keine Relaunches mehr wird er net relauncht. .....
Hast du iRel auch gleich 10 gesetzt? Ach ja und ich hab mich da oben verschrieben es heißt RelaunchPlayer(), nicht Relaunchplayer(). Guck mal nach nicht das du den Fehler übernommen hast.
Lord Helmchen Fregattenkapitän
Alter : 30 Ort : In einem Dorf in Baden Anmeldedatum : 28.10.09
Thema: Re: teamrelaunchpunkte Mi März 24, 2010 9:45 pm
ok versuche gleich obs so geht
EDIT: geht immer noch nicht ich schreib mal das komplete script rein:
/*-- Gangwar --*/
#strict
static iRel1, iRel2;
func Initialize() {
iRel1 = 30; iRel2 =30;
return(1); }
func InitializePlayer(int iPlr){
if(GetPlayerTeam(iPlr) == 1) {var i=GetCrewCount(iPlr); while (i--) GetCrew(iPlr,i)->SetPosition(75,530);}
if(GetPlayerTeam(iPlr) == 2) {var i=GetCrewCount(iPlr); while (i--) GetCrew(iPlr,i)->SetPosition(2450,530);}
}
func RelaunchPlayer(int iPlr){
if(GetPlayerTeam(iPlr) == 1 && iRel1 == 0) return 1; //Ist der Spieler bei Team1 und dieses hat keine Relaunches mehr wird er net relauncht. if(GetPlayerTeam(iPlr) == 2 && iRel2 == 0) return 1; //Ist der Spieler bei Team2 und dieses hat keine Relaunches mehr wird er net relauncht.