08/10/2023 20:20
(Esta mensagem foi modificada pela última vez a: 08/10/2023 21:32 por L10motos.)
(08/10/2023 00:23)xbruno1000x Escreveu: Como não sabemos se essas condicionais estão corretas, vamos um passo de cada vez. Primeiro vamos tentar fazer a dialog funcionar.
Código:new MEGAString[3000];
CMD:teste(playerid)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(PlayerInfo[i][pHeadValue] > 0)
{
format(string, sizeof(string), "%s(%d) - $%d\n", Name(i), i, PlayerInfo[i][pHeadValue]);
strcat(MEGAString, string);
}
ShowPlayerDialog(playerid, DIALOG_MULTI_USO, DIALOG_STYLE_LIST, "Contratos online", MEGAString, "Fechar", "");
}
return 1;
}
Em teoria, as strings vão ser concatenadas caso o jogador tenha uma recompensa maior que 0. Se funcionar, você começa a inserir suas condições a partir desse código.
Como eu crio, se o jogador clicar no jogador 1, ae o dialogo leva para o jogador 1, clicou no jogador 2, no OnDialogResponse retorna o nome do jogador 2, abaixo sobre:
Código:
CMD:teste(playerid)
{
new megastring[2000], string[256], cont;
format(string, sizeof(string), " \tOrganização:\n");
strcat(megastring, string);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(PlayerInfo[i][pHeadValue] > 0)
{
if(gTeam[i] == 0)
{
showcontract[playerid] = i;
format(string, sizeof(string), "%s(%d) - $%d\n", Name(i), i, PlayerInfo[i][pHeadValue]);
strcat(megastring, string);
}
else
{
showcontract[playerid] = i;
format(string, sizeof(string), "%s(%d) - $%d\t(%s)\n", Name(i), i, PlayerInfo[i][pHeadValue], TeamName(gTeam[i]));
strcat(megastring, string);
}
FORMAT_SSTR "%s", TeamName(gTeam[playerid]));
}
}
return ShowPlayerDialog(playerid, DIALOG_ASSASSINOS_4, DIALOG_STYLE_TABLIST_HEADERS, sstring, megastring, "Fechar", "");
}
if(dialogid == DIALOG_ASSASSINOS_4 && response)
{
FORMAT_STR "debug %s.", Name(showcontract[playerid]));
SCM(playerid, -1, string);
}