Moin Community,
da meine bisherige Lösung zu ein paar Problemen führte und Goldkiller mir empfohlen hat das über Arrays zu lösen, gab er mir folgendes Beispiel mit:
enum e_TeamData {
TD_iSpieler,
TD_iKills
}
new g_TeamData[2][e_TeamData];
stock Verteilen1(playerid)
{
// Aufpassen!
// die Teamid fängt hier bei 0 an,nicht bei 1
// Ist der Spieler in keinem Team,gibt es die konstante: NO_TEAM
// SetPlayerTeam(playerid, NO_TEAM );
new
teamid;
if( g_TeamData[0] > g_TeamData[1] ) {
teamid = 1;
}
else if( g_TeamData[0] < g_TeamData[1] ) {
teamid = 0;
}
else {
new
r = random(2);
if( r == 0 ) {
teamid = 0;
}
else {
teamid = 1;
}
}
g_TeamData[teamid][TD_iSpieler]++;
SetPlayerTeam(playerid, teamid);
SetPlayerHealth(playerid,0.0);
// Man könnte jetzt alles Teamabhängig hier machen
if(teamid == 0 ) {
SetSpawnInfo(playerid,teamid,174,961.2678,2100.2549,1011.0256,7.5695,24,250,31,500,0,1);
SetPlayerColor(playerid, 0x0073FF00);
}
else {
SetSpawnInfo(playerid,teamid,185,959.1449,2167.9775,1011.0234,358.7257,24,250,31,500,0,1);
SetPlayerColor(playerid, 0xFFE60000);
}
return 1;
}
Der Stock "Verteilen1" existierte schon vorher - nur eben mit anderem Inhalt.
enum/variablen sind im Script ganz oben, wie üblich halt. Dennoch kommt beim compilieren folgender Fehler:
Ich erkenne beim besten Willen nicht wo eine falsche Definition vorliegt.
Kann mir einer helfen?
Grüße