SA-MP Forums Archive
[Ajuda] Dъvida sobre SII - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Dъvida sobre SII (/showthread.php?tid=452826)



Dъvida sobre SII - ViniKuliveguisky - 22.07.2013

Bom mano eu fiz um sistema de registro tudo ai la tem INI_WriteInt("Admin", 0) quando й registrado
ai agora estou na parte de administraзгo eu fiz o padmin que seria promover admin, entгo fiz um code la todo engenhoso, porem chega na parte que o cara promovido tem que setar esta linha "Admin", e eu to meio em duvida como fazer ou se tem como fazer isso.
entгo eu fiz assim INI_WriteInt("Admin", Admlelvel); o Admlevel seria a var que pega o level que ele digitou de adm.

pawn Код:
if(strcmp(cmd, "/padmin", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            new para1;
            para1 = ReturnUser(tmp);
            tmp = strtok ( cmdtext, idx ) ;
            new IDdoPlayer, AdminLevel; //cria uma variavel para armazenar o id do player e o level admin
            if(strlen(tmp) == 0) return SendClientMessage(playerid, 0xFFFFFFFF, "Use: /padmin [id] [level]");
            if(PlayerInfo[playerid][pAdmin] == 5000)
            {
                if(admtrampando[playerid] == 0)
                {
                    if(para1 != INVALID_PLAYER_ID)
                    {
                        if(PlayerInfo[para1][pAdmin] >= 3000)
                        {
                            SendClientMessage(playerid, COLOR_GRAD1, "Vocк nгo pode promover um Admin Dono/3000!");
                            return 1;
                        }
                        if(INI_Open(ObterINI(playerid)))
                        {
                            INI_WriteInt("Admin", AdminLevel); // essa parte aqui nгo se se esta certo
                            INI_Save();
                            INI_Close();
                            PlayerInfo[playerid][pAdmin] = AdminLevel;// aki no caso usei a enum do meu GM, vocк adapta com a sua enum
                            new PlayerNomeS[MAX_PLAYER_NAME], AdminNome[MAX_PLAYER_NAME], MensagemPlayer[92], MensagemAdmin[90];
                            GetPlayerName(playerid, AdminNome, sizeof(AdminNome)); // aki ele vai pegar o nome do admin
                            GetPlayerName(IDdoPlayer, PlayerNomeS, sizeof(PlayerNomeS));// aki ele vai pegar o nome do player a ser setado adm
                            format(MensagemPlayer, sizeof(MensagemPlayer), "* Vocк foi promovido para Admin level %d - Por: %s.", AdminLevel, AdminNome);//aqui vai formata mensagem para enviar ao player
                            format(MensagemAdmin, sizeof(MensagemAdmin), "* Vocк promoveu o jogador %s para Admin level %d.", PlayerNomeS, AdminLevel);//aqui vai formata mensagem para enviar ao admin
                            SendClientMessage(playerid, COLOR_LIGHTBLUE, MensagemAdmin) && SendClientMessage(IDdoPlayer, COLOR_LIGHTBLUE, MensagemPlayer);
                        }
                    }
                }
                else
                {
                    SendClientMessage(playerid, Cyan, "Vocк nгo esta trabalhando");
                    return 1;
                }
            }
            else
            {
                SendClientMessage(playerid, Cyan, "Vocк nгo й um administrador ou nгo tem level de Admin suficiente");
                return 1;
            }
        }
    }
Se estiver errado por favor fale oque, ou atй mesmo se puder me ajudar agradeзo muito e do rep ^^


Re: Dъvida sobre SII - P1c4550 - 22.07.2013

pra quanto vc quiser setar essa linha INI_WriteInt("Admin", AdminLevel); ?
se for setar pra um numero fixo seria so fazer assim
PHP код:
PlayerInfo[playerid][pAdmin] = 1;
 
INI_WriteInt("Admin"1); 



Respuesta: Re: Dъvida sobre SII - ViniKuliveguisky - 22.07.2013

Quote:
Originally Posted by P1c4550
Посмотреть сообщение
pra quanto vc quiser setar essa linha INI_WriteInt("Admin", AdminLevel); ?
se for setar pra um numero fixo seria so fazer assim
PHP код:
PlayerInfo[playerid][pAdmin] = 1;
 
INI_WriteInt("Admin"1); 
Eu quero muda esse Admin que ta la registrado para outro numero!
Como faзo isso?


Re: Dъvida sobre SII - P1c4550 - 22.07.2013

como assim explica melhor oque vc quer fazer que admin aonde ele ta registrado?
mostra a parte do codigo que vc quer alterar


Respuesta: Dъvida sobre SII - ViniKuliveguisky - 22.07.2013

Mano olha sу vo mostra algumas partes e explico depois

Essa й a parte do Registro onde seta que o player novo recebe Admin = 0
pawn Код:
if(dialogid == DIALOG_REGISTRO)
    {
        if (response)
        {
            if(!strlen(inputtext))
            {
                ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_PASSWORD, "{FFFFFF}Registrando...","{F81414}Vocк digitou uma senha invбlida.\n{FFFFFF}Digite sua senha abaixo para registrar uma nova conta.","Registrar","Sair");
            }
            if(INI_Open(ObterINI(playerid)))
            {
                INI_WriteString("Senha",inputtext);
                INI_WriteInt("Score",1);
                SetPlayerScore( playerid, INI_ReadInt( "Score" ) );
                INI_WriteInt("Dinheiro",1000);
                INI_WriteInt("Admin",0);
                INI_WriteInt("Skin", 23);
                SetPlayerSkin(playerid, INI_ReadInt("Skin"));
                //INI_WriteInt("Vida",100);
                //INI_WriteInt("Colete",0);
                INI_Save();
                INI_Close();
Essa parte й oque preciso de ajuda!
Eu fiz o padmin que vai promover o jogador para admin, entгo eu queria saber como seto o admin dele para 1 ou 2 dependendo do level de admin.

pawn Код:
if(strcmp(cmd, "/padmin", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            new para1;
            para1 = ReturnUser(tmp);
            tmp = strtok ( cmdtext, idx ) ;
            new IDdoPlayer, AdminLevel;
            if(strlen(tmp) == 0) return SendClientMessage(playerid, 0xFFFFFFFF, "Use: /padmin [id] [level]");
            if(PlayerInfo[playerid][pAdmin] == 5000)
            {
                if(admtrampando[playerid] == 0)
                {
                    if(para1 != INVALID_PLAYER_ID)
                    {
                        if(PlayerInfo[para1][pAdmin] >= 3000)
                        {
                            SendClientMessage(playerid, COLOR_GRAD1, "Vocк nгo pode promover um Admin Dono/3000!");
                            return 1;
                        }
                        if(INI_Open(ObterINI(playerid)))
                        {
                            INI_WriteInt("Admin", AdminLevel); // essa parte aqui nгo se se esta certo
                            INI_Save();
                            INI_Close();
                            PlayerInfo[playerid][pAdmin] = AdminLevel;
                            new PlayerNomeS[MAX_PLAYER_NAME], AdminNome[MAX_PLAYER_NAME], MensagemPlayer[92], MensagemAdmin[90];
                            GetPlayerName(playerid, AdminNome, sizeof(AdminNome));
                            GetPlayerName(IDdoPlayer, PlayerNomeS, sizeof(PlayerNomeS));
                            format(MensagemPlayer, sizeof(MensagemPlayer), "* Vocк foi promovido para Admin level %d - Por: %s.", AdminLevel, AdminNome);
                            format(MensagemAdmin, sizeof(MensagemAdmin), "* Vocк promoveu o jogador %s para Admin level %d.", PlayerNomeS, AdminLevel);
                            SendClientMessage(playerid, COLOR_LIGHTBLUE, MensagemAdmin) && SendClientMessage(IDdoPlayer, COLOR_LIGHTBLUE, MensagemPlayer);
                        }
                    }
                }
                else
                {
                    SendClientMessage(playerid, Cyan, "Vocк nгo esta trabalhando");
                    return 1;
                }
            }
            else
            {
                SendClientMessage(playerid, Cyan, "Vocк nгo й um administrador ou nгo tem level de Admin suficiente");
                return 1;
            }
        }
    }
Ali onde esta escrito "Nгo sei se esta certo" й onde preciso de ajuda
O adminlevel seria o level que eu coloquei no /padmin 5 1 que seria = padmin id leveladmin
Entendeu?
Preciso saber como trocar o numero dessa WriteInt que coloquei no registro e quero trocar no padmin


Respuesta: Dъvida sobre SII - ViniKuliveguisky - 22.07.2013

@Upp alguem ajuudaaaaaaa


Re: Dъvida sobre SII - P1c4550 - 23.07.2013

nao mexo com SII faz um tempo mas se nao me engano nao da usar essa variavel ali > INI_WriteInt("Admin", AdminLevel); tem que ser um numero entao vc pode fazer um case ficando assim como abaixo \/ se nao funcionar verifique se a variavel AdminLevel esta recebendo o valor digitado no comando formata ela e faz um SendClientMessage e posta o resultado ae espero ter ajudado


PHP код:

switch(AdminLevel)
{
    case 
1:
     {
        
INI_WriteInt("Admin"1);
      }
    case 
2:
     {
        
INI_WriteInt("Admin"2);
     }
    case 
3:
     {
        
INI_WriteInt("Admin"3);
      }




Respuesta: Dъvida sobre SII - ViniKuliveguisky - 23.07.2013

Vish valeu mano pela lуgica й para dar certo!
Porйm nгo esta funcionando o code

Alguem poderia me ajudar aqui!
quando eu digito /padmin ID level no caso /padmin 0 2
ele aparece Que tal pessoa promoveu tudo certinho mais o level fica sempre 0
alguem pode me ajudar?

pawn Код:
if(strcmp(cmd, "/padmin", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            new para1;
            para1 = ReturnUser(tmp);
            tmp = strtok ( cmdtext, idx ) ;
            new IDdoPlayer, AdminLevel; //cria uma variavel para armazenar o id do player e o level admin
            if(strlen(tmp) == 0) return SendClientMessage(playerid, Cyan, "Use: /padmin [id] [level]");
            if(PlayerInfo[playerid][pAdmin] == 5000)
            {
                if(admtrampando[playerid] == 0)
                {
                    if(para1 != INVALID_PLAYER_ID)
                    {
                        if(PlayerInfo[para1][pAdmin] == 5000)
                        {
                            SendClientMessage(playerid, COLOR_GRAD1, "Vocк nгo pode promover um Admin Dono!");
                            return 1;
                        }
                        PlayerInfo[playerid][pAdmin] = AdminLevel;// aki no caso usei a enum do meu GM, vocк adapta com a sua enum
                        new PlayerNomeS[MAX_PLAYER_NAME], AdminNome[MAX_PLAYER_NAME], MensagemPlayer[92], MensagemAdmin[90];
                        GetPlayerName(playerid, AdminNome, sizeof(AdminNome)); // aki ele vai pegar o nome do admin
                        GetPlayerName(IDdoPlayer, PlayerNomeS, sizeof(PlayerNomeS));// aki ele vai pegar o nome do player a ser setado adm
                        INI_Open(ObterADM(playerid));
                        switch(AdminLevel)
                        {
                            case 1:
                            {
                                INI_WriteInt("Admin", 1);
                            }
                            case 2:
                            {
                                INI_WriteInt("Admin", 2);
                            }
                            case 3:
                            {
                                INI_WriteInt("Admin", 3);
                            }
                            case 4:
                            {
                                INI_WriteInt("Admin", 4);
                            }
                            case 3000:
                            {
                                INI_WriteInt("Admin", 3000);
                            }
                        }
                        INI_Save();
                        INI_Close();
                        format(MensagemPlayer, sizeof(MensagemPlayer), "* Vocк foi promovido para Admin level %d - Por: %s.", AdminLevel, AdminNome);//aqui vai formata mensagem para enviar ao player
                        format(MensagemAdmin, sizeof(MensagemAdmin), "* Vocк promoveu o jogador %s para Admin level %d.", PlayerNomeS, AdminLevel);//aqui vai formata mensagem para enviar ao admin
                        SendClientMessage(playerid, COLOR_LIGHTBLUE, MensagemAdmin) && SendClientMessage(IDdoPlayer, COLOR_LIGHTBLUE, MensagemPlayer);
                    }
                }
                else
                {
                    SendClientMessage(playerid, Cyan, "Vocк nгo estб trabalhando");
                    return 1;
                }
            }
            else
            {
                SendClientMessage(playerid, Cyan, "Vocк nгo й um administrador ou nгo tem level de Admin suficiente");
                return 1;
            }
        }
    }



Respuesta: Dъvida sobre SII - ViniKuliveguisky - 23.07.2013

@Upp alguem ai pode ajudar?


Re: Respuesta: Dъvida sobre SII - humildadeforever - 23.07.2013

Quote:
Originally Posted by ViniKuliveguisky
Посмотреть сообщение
@Upp alguem ai pode ajudar?
Tu ja colocou

pawn Код:
AdminLevel = strval(tmp); // acho q й assim, faz tempo q nгo mexo em pawn
?
Nгo consegui ver o cуdigo completo, to pelo cel