[AJUDA]Entrar numa org ao se registrar
#1

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;
        }
Reply
#2

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
Reply
#3

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 й?
Reply
#4

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..
Reply
#5

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.
Reply
#6

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
Reply
#7

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 !
Reply
#8

Porfavor me adicione no msn wendell_tyf@hotmail.com preciso muito de sua ajuda!
Reply


Forum Jump:


Users browsing this thread: 5 Guest(s)