[AJUDA]Entrar numa org ao se registrar -
Nake01 - 17.06.2011
Gostaria de saber a vocкs como faзo para botar pro player quando ele usar o comando /registrar [senha] depois que ele uzar apareзe uma Dialog informando qual organizaзгo ele quer ser "CV, ADA, TCP, PCC", nisso quando ele clica-se numa organizaзгo ele ganha-se level 1 da org que ele clicou para assim nгo ser preciso ficar setando player ao se registrar
,
Se alguem puder ajudar agradeзo. As Enum e Loops Estгo no COMANDO.
Comando /registrar abaixo.
Код:
// === [Register] ===
new PlayerName[24];
GetPlayerName(playerid, PlayerName, 30);
if(strcmp(cmd, "/registrar", true) == 0)
{
tmp = strtok(cmdtext, idx);
GetPlayerName(playerid, playername, sizeof(playername));
if(20 < strlen(tmp) || strlen(tmp) < 4)
{
SendClientMessage(playerid, COLOR_CYAN, "[RTX] INFORMA: Sua senha tem que ter mais de 4 e menos de 20 letras/nъmeros!");
return 1;
}
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_CYAN, "Uso correto: /registrar [senha] ~ Vai fazer com que vocк fique registrado com o server e seus stats sejam salvos!");
}
else
{
if (!dini_Exists(udb_encode(playername)))
{
dini_Create(udb_encode(playername));
dini_IntSet(udb_encode(playername), "pass", udb_hash(tmp));
dini_Set(udb_encode(playername),"senha",tmp);
PlayerInfo[playerid][pAdmin] = 0;
PlayerInfo[playerid][pVIP] = 0;
PlayerInfo[playerid][pADA] = 0;
PlayerInfo[playerid][pTCP] = 0;
PlayerInfo[playerid][pPCC] = 0;
PlayerInfo[playerid][pRRB] = 0;
PlayerInfo[playerid][pEX] = 0;
PlayerInfo[playerid][pBOPE] = 0;
PlayerInfo[playerid][pCHQ] = 0;
PlayerInfo[playerid][pCV] = 0;
dini_IntSet(udb_encode(playername), "level", PlayerInfo[playerid][pAdmin]);
dini_IntSet(udb_encode(playername), "levelvip", PlayerInfo[playerid][pVIP]);
dini_IntSet(udb_encode(playername), "levelada", PlayerInfo[playerid][pADA]);
dini_IntSet(udb_encode(playername), "leveltcp", PlayerInfo[playerid][pTCP]);
dini_IntSet(udb_encode(playername), "levelbope", PlayerInfo[playerid][pBOPE]);
dini_IntSet(udb_encode(playername), "levelex", PlayerInfo[playerid][pEX]);
dini_IntSet(udb_encode(playername), "levelpcc", PlayerInfo[playerid][pPCC]);
dini_IntSet(udb_encode(playername), "levelrrb", PlayerInfo[playerid][pRRB]);
dini_IntSet(udb_encode(playername), "levelchq", PlayerInfo[playerid][pCHQ]);
dini_IntSet(udb_encode(playername), "levelcv", PlayerInfo[playerid][pCV]);
format(string, sizeof(string), "%s(%i) registrado com a senha \"%s\"", playername, playerid, tmp);
printf(string);
format(string, sizeof(string), "Vocк criou a conta %s com a senha \"%s\". Nгo se esqueзa da sua senha!", playername, tmp);
SendClientMessage(playerid, COLOR_CYAN, string);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
}
else
{
SendClientMessage(playerid, COLOR_YELLOW, "[RTX] INFORMA: Um erro aconteceu enquanto tentava se registrar ao server, vaza fakes!");
format(string, sizeof(string), "[RTX] INFORMA: O nick %s jб й registrado nesse server!", playername,tmp);
SendClientMessage(playerid, COLOR_YELLOW, string);
}
}
return 1;
}
Re: [AJUDA]Entrar numa org ao se registrar -
Douglas_Lacerda - 17.06.2011
Simples ! ! !
No topo de sua Fs crie:
Код:
#define DOUGLAS_DIALOG 60 // Dialog que definimos para setar o player para tal Org.
Em baixo de:
Код:
format(string, sizeof(string), "%s(%i) registrado com a senha \"%s\"", playername, playerid, tmp);
printf(string);
format(string, sizeof(string), "Vocк criou a conta %s com a senha \"%s\". Nгo se esqueзa da sua senha!", playername, tmp);
SendClientMessage(playerid, COLOR_CYAN, string);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
Coloque isso:
Код:
ShowPlayerDialog(playerid, DOUGLAS_DIALOG, DIALOG_STYLE_LIST, "Agora escolha uma organizaзгo:", "Comando Vermelho\nAmigos dos Amigos\nTerceiro Comando Puro\nPrimeiro Comando da Capital", "Selecionar", "Cancelar");
Depois na public:
Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
return 1;
}
Coloque isso dentro:
Код:
if(dialogid == DOUGLAS_DIALOG)
{
if(response)
{
if(listitem == 0)
{
levelcv[playerid] = 1; // Irб setar o cv de level 1
}
if(listitem == 1)
{
levelada[playerid] = 1; // Irб setar o ada de level 1
}
if(listitem == 2)
{
leveltcp[playerid] = 1; // Irб setar o tcp de level 1
}
if(listitem == 3)
{
levelpcc[playerid] = 1; // Irб setar o pcc de level 1
}
}
}
Observaзгo: nгo esqueзa de alinhar os cуdigos, caso nгo sabe alinhar veja o tutorial abaixo:
https://sampforum.blast.hk/showthread.php?tid=260576
Re: [AJUDA]Entrar numa org ao se registrar -
Nake01 - 17.06.2011
Amigo funciono quase tudo mais sу que quando eu Spawn e uso o comandos /cvs apareзe que nгo tem cv online, e nos dados da conta que criei o lv de cv ta 0 sendo que ele Spawn no cv *-*, sabe oque й?
Re: [AJUDA]Entrar numa org ao se registrar -
[R] ousenber [K] - 17.06.2011
pawn Код:
if (strcmp("/cvs", cmdtext, true) == 0)
{
for(new id = 0; id < MAX_PLAYERS; ++id) {
SendClientMessage(id, 0xFFFFFFAA, "CV's Online:");
if(levelcv[id] >= 1) {
new Nome[24];
GetPlayerName(id, Nome, sizeof(Nome));
format(string, sizeof(string), "CV: %s",Nome);
SendClientMessage(id,0xFF0000B9,string);
}
}
return true;
}
Se sua variavel nгo for levelcv , e so vc trocar..
Re: [AJUDA]Entrar numa org ao se registrar -
Douglas_Lacerda - 17.06.2011
Uma simples dica que dou para vocк, e refazer essa Fs sua de Admin, transformar ela tudo em .ini ou seja criar um sistema de Registro e Login Box, pois eu tenho essa fs igual a sua, e ela e praticamente toda bugada, nгo vai adiantar. O sistema de registro dela e meio antigo rsrs, a maioria dos servers nгo tem mais esse sistema de /registrar e /login.
Re: [AJUDA]Entrar numa org ao se registrar -
Nake01 - 17.06.2011
Poo mais se quando o cara logar eu setar ele de lv 1 fica deboa sу que quando Registra e clica na Org Nasce na org que ele clico sу que de lv 0 '-' se puder ajuda de algum jeito me adicione no MSN
Re: [AJUDA]Entrar numa org ao se registrar -
Douglas_Lacerda - 19.06.2011
Sim eu ja vi esses bugs principalmente quando digita /cvs ou /pccs
ou quando fica alguns segundos no servidor o level dele e setado para 0 sem ter setado !
Re: [AJUDA]Entrar numa org ao se registrar -
Nake01 - 19.06.2011
Porfavor me adicione no msn
wendell_tyf@hotmail.com preciso muito de sua ajuda!