PDA

View Full Version : OnPlayerSpawn, check player team and spam the SendClientMessage if there is


[LvZ]Free
16/05/2012, 02:49 PM
public OnPlayerSpawn ( playerid ) {
for(new i = 0; i < GetMaxPlayers(); i++)
{
if (gTeam[playerid] == TEAM_POLICE){
new vR = random(sizeof(Vrand));
SetPlayerPos(playerid, Vrand[vR][0], Vrand[vR][1], Vrand[vR][2]);
SendClientMessage(playerid, 0xFFFFFFFF, "Police!");
}
else if (gTeam[playerid] == TEAM_SWAT){
new vR = random(sizeof(Vrand));
SetPlayerPos(playerid, Vrand[vR][0], Vrand[vR][1], Vrand[vR][2]);
SendClientMessage(playerid, 0xFFFFFFFF, "SWAT!");
}
else if (gTeam[playerid] == TEAM_TERRORISTS){
new vR = random(sizeof(Vrand));
SetPlayerPos(playerid, Vrand[vR][0], Vrand[vR][1], Vrand[vR][2]);
SendClientMessage(playerid, 0xFFFFFFFF, "Terrorists!");
}
else if (gTeam[playerid] == TEAM_HUNTERS){
new vR = random(sizeof(Vrand));
SetPlayerPos(playerid, Vrand[vR][0], Vrand[vR][1], Vrand[vR][2]);
SendClientMessage(playerid, 0xFFFFFFFF, "Hunters!");
}
}
}


So this is the code, if i choose team and spawn with it the text EX: SendClientMessage(playerid, 0xFFFFFFFF, "Hunters!"); many times, new vR = random(sizeof(Vrand));
SetPlayerPos(playerid, Vrand[vR][0], Vrand[vR][1], Vrand[vR][2]); this code i took from one random spawn tutorial from here.... I don't know why this happening but i need help

// I think is cause of loop
for(new i = 0; i < GetMaxPlayers(); i++)
It's spammed 30 times = max slots in my server... So.. IDK from here

THx.. for help , i shall rep you (and sorry for bad english)...

ViniBorn
16/05/2012, 02:50 PM
Delete the loop, you don't need.


public OnPlayerSpawn ( playerid )
{
if (gTeam[playerid] == TEAM_POLICE)
SendClientMessage(playerid, 0xFFFFFFFF, "Police!");
else if (gTeam[playerid] == TEAM_SWAT)
SendClientMessage(playerid, 0xFFFFFFFF, "SWAT!");
else if (gTeam[playerid] == TEAM_TERRORISTS)
SendClientMessage(playerid, 0xFFFFFFFF, "Terrorists!");
else if (gTeam[playerid] == TEAM_HUNTERS)
SendClientMessage(playerid, 0xFFFFFFFF, "Hunters!");

new vR = random(sizeof(Vrand));
SetPlayerPos(playerid, Vrand[vR][0], Vrand[vR][1], Vrand[vR][2]);
return 1;
}

Vince
16/05/2012, 02:51 PM
Why, Why, Why is that stuff in a loop in the first place?

[LvZ]Free
16/05/2012, 03:01 PM
a... i don't even know... I look again the tutorial and i don't see it ... it's seems i place this loop for nothing.. and thank u guys