[Ajuda] Dъvida sobre SII
#1

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

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

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

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

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

@Upp alguem ajuudaaaaaaa
Reply
#7

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);
      }

Reply
#8

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

@Upp alguem ai pode ajudar?
Reply
#10

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
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)