(30/07/2022 22:03)Carlos Victor Escreveu: Oque provavelmente está acontecendo, é você pedindo pro jogador escolher o spawn antes de spawnar, ou dando spawn em um lugar padrão. Eu recomendo, vou colocar abaixo um exemplo de como você poderia fazer:
Código PHP:new spawnLocation[MAX_PLAYERS];
public OnGameModeInit()
{
AddPlayerClass(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
return 1;
}
public OnPlayerSpawn(playerid)
{
switch(spawnLocation[playerid])
{
case 1:
{
//Los Santos
}
case 2:
{
//Las Venturas
}
case 3:
{
//San Fierro
}
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch(dialogid)
{
case DIALOG_LOCALSPAWN:
{
if(!response)
return Kick(playerid);
if(response)
{
if(isnull(inputtext))
return ShowPlayerDialog(playerid, DIALOG_LOCALSPAWN, DIALOG_STYLE_INPUT, "{FFFFFF}Local Spawn", "{FFFFFF}[1] Los Santos\n[2] San Fierro", "Selecionar", "Sair");
if(strval(inputtext) == 1)
{
spawnLocation[playerid] = 1;
SendClientMessage(playerid, -1, "* Você decidiu spawnar em Los Santos.");
}
else if(strval(inputtext) == 2)
{
spawnLocation[playerid] = 2;
SendClientMessage(playerid, -1, "* Você decidiu spawnar em Las Venturas.");
}
else if(strval(inputtext) == 3)
{
spawnLocation[playerid] = 3;
SendClientMessage(playerid, -1, "* Você decidiu spawnar em San Fierro.");
}
}
}
}
return 1;
}
Fiz desse jeito que você recomendo fico assim:
ONGAMEMODEINIT:
Código PHP:
AddPlayerClass(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
ONPLAYERSPAWN:
Código PHP:
switch(spawnLocation[playerid])
{
case 1:
{
SetPlayerPos(playerid,2500.5332,-1672.8907,13.0086);
//Los Santos
}
case 2:
{
SetPlayerPos(playerid,1692.8406,1434.9109,10.3291);
//Las Venturas
}
case 3:
{
SetPlayerPos(playerid,-2258.3833,541.9443,34.8340);
//San Fierro
}
}
ONDIALOG:
Código PHP:
switch(dialogid)
{
case DIALOG_LOCALSPAWN:
{
if(!response)
return Kick(playerid);
if(response)
{
if(isnull(inputtext))
return ShowPlayerDialog(playerid, DIALOG_LOCALSPAWN, DIALOG_STYLE_INPUT, "{FFFFFF}Local Spawn", "{FFFFFF}[1] Los Santos\n[2] San Fierro", "Selecionar", "Sair");
if(strval(inputtext) == 1)
{
spawnLocation[playerid] = 1;
SendClientMessage(playerid, -1, "* Você decidiu spawnar em Los Santos.");
}
else if(strval(inputtext) == 2)
{
spawnLocation[playerid] = 2;
SendClientMessage(playerid, -1, "* Você decidiu spawnar em Las Venturas.");
}
else if(strval(inputtext) == 3)
{
spawnLocation[playerid] = 3;
SendClientMessage(playerid, -1, "* Você decidiu spawnar em San Fierro.");
}
}
}
}
Porém depois que eu registro ou logo colocando a senha não aparece a dialog para escolher as três opção...