09.07.2012, 18:40
Poderia passar estes comandos de logar e registrar para logar e registrar em dialog quando conecta-se no server?
Muito Obrigado!
PHP код:
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, "Erro! 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][pAZT] = 0;
PlayerInfo[playerid][pFRT] = 0;
PlayerInfo[playerid][pLDR] = 0;
PlayerInfo[playerid][pVAG] = 0;
PlayerInfo[playerid][PMLS] = 0;
PlayerInfo[playerid][pGROVE] = 0;
PlayerInfo[playerid][pRPT] = 0;
PlayerInfo[playerid][pBALLAS] = 0;
PlayerInfo[playerid][pCV] = 0;
PlayerInfo[playerid][pHLP] = 0;
PlayerInfo[playerid][pADA] = 0;
PlayerInfo[playerid][pPCC] = 0;
PlayerInfo[playerid][pREB] = 0;
PlayerInfo[playerid][pTCP] = 0;
PlayerInfo[playerid][pBOPE] = 0;
PlayerInfo[playerid][pGOE] = 0;
PlayerInfo[playerid][pPM] = 0;
dini_IntSet(udb_encode(playername), "level", PlayerInfo[playerid][pAdmin]);
dini_IntSet(udb_encode(playername), "levelvip", PlayerInfo[playerid][pVIP]);
dini_IntSet(udb_encode(playername), "levelazt", PlayerInfo[playerid][pAZT]);
dini_IntSet(udb_encode(playername), "levelfrt", PlayerInfo[playerid][pFRT]);
dini_IntSet(udb_encode(playername), "levelpmls", PlayerInfo[playerid][PMLS]);
dini_IntSet(udb_encode(playername), "levelvag", PlayerInfo[playerid][pVAG]);
dini_IntSet(udb_encode(playername), "levelfrt", PlayerInfo[playerid][pFRT]);
dini_IntSet(udb_encode(playername), "levelgrove", PlayerInfo[playerid][pGROVE]);
dini_IntSet(udb_encode(playername), "levelrpt", PlayerInfo[playerid][pRPT]);
dini_IntSet(udb_encode(playername), "levelballas", PlayerInfo[playerid][pBALLAS]);
dini_IntSet(udb_encode(playername), "levelcv", PlayerInfo[playerid][pCV]);
dini_IntSet(udb_encode(playername), "levelhelper", PlayerInfo[playerid][pHLP]);
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), "levelpcc", PlayerInfo[playerid][pPCC]);
dini_IntSet(udb_encode(playername), "levelreb", PlayerInfo[playerid][pREB]);
dini_IntSet(udb_encode(playername), "levelgoe", PlayerInfo[playerid][pGOE]);
dini_IntSet(udb_encode(playername), "levelpm", PlayerInfo[playerid][pPM]);
format(string, sizeof(string), "{1175E7}-InfoServ- {F7A80B} | Nick %s | Senha %s", playername, playerid, tmp);
printf(string);
format(string, sizeof(string), "{1175E7}-InfoServ- {F7A80B}| Nick %s ", playername, tmp);
SendClientMessage(playerid, 0xFF8000AA, string);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
ShowPlayerDialog(playerid, 60, DIALOG_STYLE_LIST, "[ ESCOLHA SUA GANG ]", "Grove Street\nBallas\nAztecas\nLos vagos\n", "Selecionar", "");
}
else
{
SendClientMessage(playerid, COLOR_YELLOW, "[EG]Avisa: Fake's nгo seram permitidos.");
format(string, sizeof(string), "O nick %s jб й registrado nesse server!", playername,tmp);
SendClientMessage(playerid, COLOR_YELLOW, string);
}
}
return 1;
}
// === [Login] ===
if(strcmp(cmd, "/login", true) == 0)
{
if(logged[playerid] == 1)
{
SendClientMessage(playerid, COLOR_CYAN, "Vocк jб estб logado champz!");
return 1;
}
tmp = strtok(cmdtext, idx);
GetPlayerName(playerid, playername, sizeof(playername));
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GREEN, "Uso correto: [senha]");
}
else
{
if(dini_Exists(udb_encode(playername)))
{
if(logged[playerid] == 0)
{
tmp2 = dini_Get(udb_encode(playername), "pass");
if(udb_hash(tmp) != strval(tmp2))
{
new PlayerName[24];
GetPlayerName(playerid, PlayerName, 30);
format(string, sizeof(string), "Erro! Vocк digitou a senha errada para %s!", PlayerName);
SendClientMessage(playerid, COLOR_RED, string);
}
else
{
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
logged[playerid] = 1;
logado[playerid] = 1;
dini_Set(udb_encode(playername),"senha",tmp);
PlayerInfo[playerid][pAdmin] = dini_Int(udb_encode(playername), "level");
PlayerInfo[playerid][pPMs] = dini_Int(udb_encode(playername), "SeePMs");
PlayerInfo[playerid][pVIP] = dini_Int(udb_encode(playername), "levelvip");
PlayerInfo[playerid][pFRT] = dini_Int(udb_encode(playername), "levelfrt");
// GANGS
PlayerInfo[playerid][pGROVE] = dini_Int(udb_encode(playername), "levelgrove");
PlayerInfo[playerid][pLDR] = dini_Int(udb_encode(playername), "levellider");
PlayerInfo[playerid][pRPT] = dini_Int(udb_encode(playername), "levelrpt");
PlayerInfo[playerid][pVAG] = dini_Int(udb_encode(playername), "levelvag");
PlayerInfo[playerid][pAZT] = dini_Int(udb_encode(playername), "levelazt");
PlayerInfo[playerid][pBALLAS] = dini_Int(udb_encode(playername), "levelballas");
// FECHA TIMES
PlayerInfo[playerid][PMLS] = dini_Int(udb_encode(playername), "levelpmls");
PlayerInfo[playerid][pHLP] = dini_Int(udb_encode(playername), "levelhelper");
PlayerInfo[playerid][pADA] = dini_Int(udb_encode(playername), "levelada");
PlayerInfo[playerid][pTCP] = dini_Int(udb_encode(playername), "leveltcp");
PlayerInfo[playerid][pBOPE] = dini_Int(udb_encode(playername), "levelbope");
PlayerInfo[playerid][pPCC] = dini_Int(udb_encode(playername), "levelpcc");
PlayerInfo[playerid][pREB] = dini_Int(udb_encode(playername), "levelreb");
PlayerInfo[playerid][pGOE] = dini_Int(udb_encode(playername), "levelgoe");
PlayerInfo[playerid][pPM] = dini_Int(udb_encode(playername), "levelpm");
GameTextForPlayer(playerid, "~G~ LOGADO COM SUCESSO !",2000,1);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
if(PlayerInfo[playerid][pAdmin] == 0)
{
new PlayerName[24];
GetPlayerName(playerid, PlayerName, 30);
format(string, sizeof(string), "Logado como: %s {F7A70B}[ Player Regular ]", PlayerName);
SendClientMessage(playerid, COLOR_SYSTEM, string);
PlayerInfo[playerid][pAdmin] = 0;
dini_IntSet(udb_encode(playername), "level", PlayerInfo[playerid][pAdmin]);
}
if(PlayerInfo[playerid][pVIP] == 1)
{
new PlayerName[24];
GetPlayerName(playerid, PlayerName, 30);
format(string, sizeof(string), "Logado como: %s, Player {F7A80B}VIP | Comandos: /comandosvip", PlayerName);
SendClientMessage(playerid, COLOR_CYAN, string);
GivePlayerMoney(playerid, 100000);
}
if(PlayerInfo[playerid][pRPT] == 1)
{
new PlayerName[24];
GetPlayerName(playerid, PlayerName, 30);
format(string, sizeof(string), "Logado como: %s, {09A5F2}Reporter ", PlayerName);
SendClientMessage(playerid, COLOR_CYAN, string);
IsPlayerAdmin(playerid);
format(string, sizeof(string), "%s Detectado como {09A5F2}Reporter", pname);
SendClientMessageToAll(COLOR_ADM, string);
}
if(PlayerInfo[playerid][pAdmin] == 4)
{
new PlayerName[24];
GetPlayerName(playerid, PlayerName, 30);
format(string, sizeof(string), "Logado como: %s, Administrador {09A5F2}Sub Game Master", PlayerName);
SendClientMessage(playerid, COLOR_CYAN, string);
IsPlayerAdmin(playerid);
format(string, sizeof(string), "~w~ADMIN ~g~onn");
GameTextForAll(string, 5000, 1);
format(string, sizeof(string), "%s Detectado como Administrador [Level: {09A5F2}Sub Game Master{09A5F2}] ", pname);
SendClientMessageToAll(COLOR_ADM, string);
}
if(PlayerInfo[playerid][pAdmin] == 5)
{
new PlayerName[24];
GetPlayerName(playerid, PlayerName, 30);
format(string, sizeof(string), "Logado como: %s, Administrador {09A5F2}GameMaster", PlayerName);
SendClientMessage(playerid, COLOR_CYAN, string);
IsPlayerAdmin(playerid);
format(string, sizeof(string), "~w~ADMIN ~g~onn");
GameTextForAll(string, 5000, 1);
format(string, sizeof(string), "%s Administrador Level | {09A5F2}Game Master{09A5F2}] ", pname);
SendClientMessageToAll(COLOR_ADM, string);
}
if(PlayerInfo[playerid][pAdmin] == 6)
{
new PlayerName[24];
GetPlayerName(playerid, PlayerName, 30);
format(string, sizeof(string), "Logado como: %s, {09A5F2}Fundador", PlayerName);
SendClientMessage(playerid, COLOR_CYAN, string);
IsPlayerAdmin(playerid);
format(string, sizeof(string), "~w~ADMIN ~g~onn");
GameTextForAll(string, 5000, 1);
format(string, sizeof(string), "%s Detectado como Administrador [Level: {09A5F2}Dono{09A5F2}] ", pname);
SendClientMessageToAll(COLOR_ADM, string);
}
return 1;
}
}
}
else
{
format(string, sizeof(string), "A conta %s, nгo existe nesse servidor!", playername);
SendClientMessage(playerid, COLOR_CYAN, string);
SendClientMessage(playerid, COLOR_CYAN, "Por favor use /registrar (senha) para se registrar.");
}
}
return 1;
}