Se isso tem alguma relaзгo com aquele outro tуpico, eu sugiro que vocк deixe esse modo de lado e faзa o seu prуpio sistema de equipes.
Vamos tentar novamente, tente seguindo estes passos:
PHP код:
#define EQUIPE_A (01)
#define EQUIPE_B (02)
new Classe[MAX_PLAYERS];
new Equipe[MAX_PLAYERS];
PHP код:
public OnGameModeInit()
{
AddPlayerClass(114, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(115, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(286, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(285, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
return 1;
}
PHP код:
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
if(classid == 0 || classid == 1)
{
Equipe[playerid] = EQUIPE_A;
GameTextForPlayer(playerid, "~r~!! Equipe A !!", 2000, 0);
}
else if(classid == 2 || classid == 3)
{
Equipe[playerid] = EQUIPE_B;
GameTextForPlayer(playerid, "~b~!! Equipe B !!", 2000, 0);
}
return 1;
}
Agora lembre-se que toda vez que for escolhida uma opзгo em OnPlayerRequestClass, o player jб vai receber uma equipe. Entгo em OnPlayerRequestSpawn vocк poderб proibir o uso de determinada classe.
Veja o exemplo:
PHP код:
public OnPlayerRequestSpawn(playerid)
{
if(Classe[playerid] == 1 && Equipe[playerid] == EQUIPE_A)
{
if(!IsPlayerAdmin(playerid))
{
SendClientMessage(playerid, -1, "somente Admin Rcon pode usar essa classe na Equipe A !");
return 0;
}
else
{
SendClientMessage(playerid, -1, "Voce escolheu sua classe de Admin Rcon da Equipe A !");
}
}
return 1;
}
Desse modo, somente administradores Rcon poderб escolher a
classe 01 que й da
Equipe A.
Vocк pode criar um comando para a escolha de classes assim:
PHP код:
public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp(cmdtext, "/escolherclasse", true))
{
new info_string[50];
if(Equipe[playerid] == EQUIPE_A) info_string = "Homem Pequeno\nHomem Grande";
else if(Equipe[playerid] == EQUIPE_B) info_string = "Mulher Pequena\nMulher Grande";
ShowPlayerDialog(playerid, 0, DIALOG_STYLE_LIST, "escolha sua classe", info_string, "escolher", "cancelar");
return 1;
}
return 0;
}
E em OnDialogResponse:
PHP код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 0)
{
if(response)
{
if(Equipe[playerid] == EQUIPE_A)
{
if(listitem == 0)
{
Classe[playerid] = 0;
SetPlayerSkin(playerid, 114);
}
else if(listitem == 1)
{
Classe[playerid] = 1;
SetPlayerSkin(playerid, 115);
}
}
else if(Equipe[playerid] == EQUIPE_B)
{
if(listitem == 0)
{
Classe[playerid] = 2;
SetPlayerSkin(playerid, 286);
}
else if(listitem == 1)
{
Classe[playerid] = 3;
SetPlayerSkin(playerid, 285);
}
}
}
}
return 1;
}
O cуdigo de OnDialogResponse jб й auto-explicativo, mas caso ainda tenha dъvidas. Ele altera a classe do player
(nгo a do sa-mp, a suposta classe criada em new Classe[MAX_PLAYERS]), e seta a skin dessa mesma classe.
Isso tudo tem que ser de acordo com a ordem que vocк adicionou elas em OnGamemodeInit.
Depois desse quase tutorial, tenho certeza que se vocк revisar o conteъdo poderб criar seu prуpio
"sistema de equipes" ou seja lб o que vier em sua mente ^^
Cumprimentos.