balance system not working...[REP+] -
niels44 - 12.09.2012
hey guys,
yes i already made another topic about this a week ago or something, and there 1 guy helped me but it didnt really worked wut he said...
so well here is the point:
i made a sorta balance system for my server and well, in the code it seems all alright to me, and NO errors/warns at all, but ingame it just doesnt works.... here its ment to do it that when the cops team has like 5 players and the terrorists have 4 or 3 players, then it should say when trying to spawn as a cop it should say its full , join other team... but it doesnt
same in the other way, if i have 3 terrors and 1 cop, a player still can join the terrorists... anyways anyone has got the answer to this? please
pawn Код:
new TeamArmy = 0, TeamTerrorists = 0;
pawn Код:
public OnPlayerRequestSpawn(playerid)
{
if(TeamTerrorists > TeamArmy && (AllTeams[playerid] == TERRORISTS && (AllTeams[playerid] != ARMY)))
{
SendClientMessage(playerid, COLOR_ORANGE, "BALANCE: team Terrorists is full, join team Army");
return 0;
}
else if(TeamTerrorists < TeamArmy && (AllTeams[playerid] == TERRORISTS && (AllTeams[playerid] != ARMY)))
{
TeamTerrorists++;
SendClientMessage(playerid, COLOR_BLUE, "welcome to the Terrorists, use /cmds to see a list of commands");
return 1;
}
else if(TeamArmy > TeamTerrorists && (AllTeams[playerid] == ARMY && (AllTeams[playerid] != TERRORISTS)))
{
SendClientMessage(playerid, COLOR_ORANGE, "BALANCE: Team Terrorists is full, join team Army");
return 0;
}
else if(TeamArmy < TeamTerrorists && (AllTeams[playerid] == ARMY && (AllTeams[playerid] != TERRORISTS)))
{
TeamArmy++;
SendClientMessage(playerid, COLOR_BLUE, "welcome to the Army, use /cmds to see a list of commands");
return 1;
}
return 1;
}
pawn Код:
public OnPlayerDisconnect(playerid, reason)
{
if(AllTeams[playerid] == TERRORISTS && (AllTeams[playerid] != ARMY))
{
TeamTerrorists--;
}
else if(AllTeams[playerid] == ARMY && (AllTeams[playerid] != TERRORISTS))
{
TeamArmy--;
}
return 1;
}
ok well this is my pawn code till this far... cant really find the problem though
anyways REP+ for the ones who help me xD
greets niels
Re: balance system not working...[REP+] -
Roko_foko - 12.09.2012
Correct me if I am wrong. AllTeams[playerid] tells in which team is specific player (playerid).
Re: balance system not working...[REP+] -
niels44 - 12.09.2012
yup your right xD, the allteams is same as gteam, i just changed the variable, but yes its AllTeams[playerid] so it checks for the playerid, right? or am i wrong for that playerid thingy now? xD
Re: balance system not working...[REP+] -
mamorunl - 12.09.2012
Your AND statements may not work the way they should be because you put backets around every one of them.
Re: balance system not working...[REP+] -
niels44 - 12.09.2012
yes cuz else i get errors, if i dont put the ( in front of them i get errors, example:
pawn Код:
if(AllTeams[playerid] == TERRORISTS && AllTeams[playerid] != ARMY)
{
TeamTerrorists--;
}
this will get me errors, cuz i removed the ( and )....
anyways tell me if im wrong xD
Re: balance system not working...[REP+] -
Roko_foko - 12.09.2012
Quote:
Originally Posted by niels44
yup your right xD, the allteams is same as gteam, i just changed the variable, but yes its AllTeams[playerid] so it checks for the playerid, right? or am i wrong for that playerid thingy now? xD
|
You are not storing it. When player spawns as a terrorist. You need to AllTeams[playerid]=TERRORIST plus TeamTerrorists++; (what you did already). As well as that, OnPlayerDisconnect you need to clean players team.( AllTeams[playerid]=NO_TEAM)
Re: balance system not working...[REP+] -
niels44 - 12.09.2012
wait i dont understand you...
Re: balance system not working...[REP+] -
Roko_foko - 12.09.2012
Can you show me OnPlayerRequestClass I will make it work.
Re: balance system not working...[REP+] -
niels44 - 12.09.2012
thnx xD:
pawn Код:
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 2486.6650,-1666.2847,13.3438);
SetPlayerFacingAngle(playerid, 264.2691);
SetPlayerCameraPos(playerid, 2492.1646,-1663.5969,13.3359);
SetPlayerCameraLookAt(playerid, 2486.6650,-1666.2847,13.3438);
switch(classid)
{
case 0 .. 5:
{
GameTextForPlayer(playerid, "~r~Terrorists", 3000, 6);
AllTeams[playerid] = TERRORISTS;
}
case 6 .. 11:
{
GameTextForPlayer(playerid, "~b~Army", 3000, 6);
AllTeams[playerid] = ARMY;
}
}
return 1;
}
hmm also if i have to remove something, tell me pls, to prevent buggs xD
and thnx again
Re: balance system not working...[REP+] -
mamorunl - 12.09.2012
Quote:
Originally Posted by niels44
yes cuz else i get errors, if i dont put the ( in front of them i get errors, example:
pawn Код:
if(AllTeams[playerid] == TERRORISTS && AllTeams[playerid] != ARMY) { TeamTerrorists--; }
this will get me errors, cuz i removed the ( and )....
anyways tell me if im wrong xD
|
Well.. that is a rubbish comparison, but the syntaxis is right, so it shouldn't give you any errors.