05.05.2014, 21:50
Caso resolvido, e a soluзгo foi mais simples do que imaginei. Bastou pegar a linha "ShowPlayerDialog" que eu ja tinha feito pro comando "/spawn", e adicionar logo apуs a seleзгo de Classe em "OnPlayerRequestSpawn" (eu estava errando era nisso, antes colocava a Dialog pra aparecer em "OnPlayerSpawn")
Fazendo como exemplificado abaixo, o Player faz o login, seleciona a classe, e ao clicar em Spawn abre a Dialog com a lista de locais que defini anteriormente, e ele sу spawna apуs selecionar um local. Antes, como eu estava fazendo errado, o player clicava em Spawn, ia pra rua, e sу depois aparecia a Dialog pra selcionar os locais.
Quote:
ShowPlayerDialog(playerid, DialogSpawn, DIALOG_STYLE_LIST, "Choose spawn point:", "Local 1\r\nLocal 2\r\nLocal 3", "Spawn", "Cancel"); |
pawn Код:
public OnPlayerRequestSpawn(playerid)
{
new Name[24], Msg[128];
// Get the player's name
GetPlayerName(playerid, Name, sizeof(Name));
// Choose a random spawnlocation based on the player's class
switch (APlayerData[playerid][PlayerClass])
{
case Class1: // Classe apenas para exemplificar
{
format(Msg, 128, "{FFFF00}%s{00FF00} entrou como {FFFF00}Classe 1", Name);
SetPlayerColor(playerid, 0x008A45FF);
}
case Class2: // Classe apenas para exemplificar
{
format(Msg, 128, "{FFFF00}%s{00FF00} entrou como {FFFF00}Classe 2", Name);
SetPlayerColor(playerid, 0x008A45FF);
}
}
SendClientMessageToAll(0xFFFFFFFF, Msg);
ShowPlayerDialog(playerid, DialogSpawn, DIALOG_STYLE_LIST, "Choose spawn point:", ""Local 1\r\nLocal 2\r\nLocal 3", "Spawn", "Cancel");
return 0;
}