01.09.2011, 00:22
Pessoal, eu tenho um comando que й assim:
O comando funciona certinho, ele define os kills do banco de dados do jogador escolhido pra 10 apartir do pDataInfo[PlayerReset][Matou] = 10; bd_escrever_int(pName(PlayerReset),"MatouGeral",10 );
Porem eu quero que nao seja um numero certo e ao eu usar o comando /kills me aparece o dialog que ja aparece, pedindo o id do player, e depois um dialog pedindo o numero pelo qual eu devo definir o pDataInfo[PlayerReset][Matou] = X; bd_escrever_int(pName(PlayerReset),"MatouGeral",X) ;
Resumindo: O adm utiliza /kills, o dialog pede a id do jogador, aparece outro dialog pedindo o numero de kills que serб modificado para o player (numero que substituirб o X no cуdigo)
Aguardo por respostas.
pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
(...TEM UNS CODIGOS AQUI ANTES...)
else if (strcmp(param, "/kills", true) == 0)
{
if (pDataInfo[playerid][Logado] == true && pDataInfo[playerid][Level] >= 4)
{
ShowPlayerDialog(playerid, 2693, DIALOG_STYLE_INPUT,"Team SA:MP [DM] v2.10 - EDITAR KILLS", "Para editar os kills de um jogador vocк\ndeve inserir a ID no campo abaixo e apertar selecionar.\nDeixe em branco para cancelar.\n\nInsira a ID do jogador para editar:", "Selecionar", "Cancelar");
return PlayerPlaySound(playerid, 1057, 0.0, 0.0, 0.0);
} else return SendClientMessage(playerid, COR_VERMELHA, "| Й necessбrio ser no mнnimo administrador para usar este comando.");
}
(...TEM UNS CODIGOS AQUI DEPOIS...)
pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 2693) // Comando Editar Kills
{
if (strlen(inputtext) == 0) return 1;
if (ValidaComando(playerid, inputtext) == 0) return 1;
if (!IsNumeric(inputtext)) return 1;
new PlayerReset = strval(inputtext);
if (IsPlayerConnected(PlayerReset))
{
if (pDataInfo[PlayerReset][Logado] == false) return SendClientMessage(playerid, COR_VERMELHA, "| O jogador nгo estб logado no servidor");
if (pDataInfo[PlayerReset][Registrado] == false) return SendClientMessage(playerid, COR_VERMELHA, "| O jogador nгo estб registrado no servidor");
if (response)
{
pDataInfo[PlayerReset][Matou] = 10; bd_escrever_int(pName(PlayerReset),"MatouGeral",10);
format(strres, 128, "| Kills do jogador %s(%d) foram editados com sucesso.", pName(PlayerReset), PlayerReset); SendClientMessage(playerid, COR_VERDE, strres);
format(strres, 128, "| Seus Kills foram editados com sucesso pelo administrador %s(%d).", pName(playerid), playerid); SendClientMessage(PlayerReset, COR_VERDE, strres);
}
} else return SendClientMessage(playerid, COR_VERMELHA, "| O jogador nгo estб conectado no servidor.");
PlayerPlaySound(playerid,1057,0.0,0.0,0.0); return 1;
}
}
Porem eu quero que nao seja um numero certo e ao eu usar o comando /kills me aparece o dialog que ja aparece, pedindo o id do player, e depois um dialog pedindo o numero pelo qual eu devo definir o pDataInfo[PlayerReset][Matou] = X; bd_escrever_int(pName(PlayerReset),"MatouGeral",X) ;
Resumindo: O adm utiliza /kills, o dialog pede a id do jogador, aparece outro dialog pedindo o numero de kills que serб modificado para o player (numero que substituirб o X no cуdigo)
Aguardo por respostas.