[AJUDA]Eu Seto o Cara no Jogo Quando Ele Sai e Entra Ele Vai Pra Level 1 :\
#1

Galera Eu Seto Um Cara De Level 5 de CV Quando Ele Sai do Jogo e Entra Ele Vai Pra Level 1 ? Podem Me Ajudar?

Код:
        if(strcmp(cmd, "/setcv", true) == 0)
        {
                tmp = strtok(cmdtext, idx);
                giveplayerid = strval(tmp);
                GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                GetPlayerName(playerid, sendername, sizeof(sendername));
                PlayerInfo[playerid][pCV] = dini_Int(udb_encode(sendername), "levelcv");
                PlayerInfo[giveplayerid][pCV] = dini_Int(udb_encode(giveplayer), "levelcv");
                giveplayerid = strval(tmp);
                if(!strlen(tmp) && PlayerInfo[playerid][pAdmin] >= 5)
                {
                        SendClientMessage(playerid, COLOR_GREEN, "Uso correto: /setcv [id do player] [cargo]");
                        return 1;
                }
                tmp = strtok(cmdtext, idx);
                if(!strlen(tmp) && PlayerInfo[playerid][pAdmin] >= 5)
                {
                        SendClientMessage(playerid, COLOR_GREEN, "Uso correto: /setcv [id do player] [cargo]");
                        return 1;
                }
                PlayerInfo[playerid][pCV] = dini_Int(udb_encode(sendername), "levelcv");
                levelcv[playerid] = strval(tmp);
                if(levelcv[playerid] < 0)
                {
                        SendClientMessage(playerid, COLOR_CYAN, "Level de CV invбlido!");
            return 1;
                }
                if(levelcv[playerid] > 5)
                {
                        SendClientMessage(playerid, COLOR_CYAN, "Level de CV invбlido!");
            return 1;
                }
                if(levelcv[playerid] == PlayerInfo[giveplayerid][pCV])
                {
            format(string, sizeof(string), "Este player jб й um membro do CV!", levelcv[playerid]);
            SendClientMessage(playerid, COLOR_CYAN, string);
            return 1;
                }
                if(logged[playerid] == 1)
                {
                        if(PlayerInfo[playerid][pAdmin] >= 5 || PlayerInfo[playerid][pCV] >= 3)
                        {
                            if(IsPlayerConnected(giveplayerid))
                            {
                                if(logged[giveplayerid] == 0)
                                        {
                                                SendClientMessage(playerid, COLOR_CYAN, "O player tem que estar logado para poder receber o level de CV!");
                                                return 1;
                                        }
                                        else
                                        {
                                                GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                                                GetPlayerName(playerid, sendername, sizeof(sendername));
                                                dini_IntSet(udb_encode(giveplayer), "levelcv", levelcv[playerid]);
                                                format(string, sizeof(string), "ADMIN: Vocк tranformou o player %s em um membro do CV!", giveplayer);
                                                SendClientMessage(playerid, COLOR_CYAN, string);
                                                format(string, sizeof(string), "ADMIN: Agora vocк й membro do CV level %d, Promovido por %s.", level[playerid], sendername, playerid);
                                                SendClientMessage(giveplayerid, COLOR_CYAN, string);
                                                PlayerInfo[giveplayerid][pCV] = dini_Int(udb_encode(giveplayer), "levelcv");
                                                new PlayerName[30];
                                                GetPlayerName(playerid, PlayerName, 30);
                                                printf("[Command] %s usou /setcv para dar par %s level %d de CV.", PlayerName, giveplayer, level[playerid]);
                                        }
                                }
                                else
                                {
                                    format(string, sizeof(string), "%d nгo й o nъmero de ID de um player ativo!", giveplayerid);
                        SendClientMessage(playerid, COLOR_CYAN, string);
                                }
                        }
                        else
                        {
                                SendClientMessage(playerid, COLOR_CYAN, "Vocк nгo tem permissгo para usar este comando!");
                        }
                }
                else
                {
                    SendClientMessage(playerid, COLOR_CYAN, "Vocк tem que estar logado para usar este comando!");
                }
                return 1;
        }
Reply
#2

Provavelmente tem de salvar o level dele quando ele desconectar nй?
Poste o OnPlayerDisconnect.
Reply
#3

Код:
public OnPlayerDisconnect(playerid)
{
    logged[playerid] = 0;
        freeze[playerid] = 0;
        level[playerid] = 0;
        levelvip[playerid] = 0;
        levelcv[playerid] = 0;
        levelada[playerid] = 0;
        leveltcp[playerid] = 0;
        levelbope[playerid] = 0;
        levelexc[playerid] = 0;
        levelpcc[playerid] = 0;
        levelreb[playerid] = 0;
        levelgoe[playerid] = 0;
        levelpm[playerid] = 0;
        PlayerInfo[playerid][pAdmin] = 0;
        logado[playerid] = 0;

        #if Leavemessages == true

        DestroyObject(objectid);
        new PlayerName[30], string[80];
        switch (reason)
        {
                case 0:
                {
                        if(SilentBanKick[playerid] == 0)
                        {
                                GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
                                format(string, sizeof string, "%s(%i) saiu do server! (Crash/Conexгo)", PlayerName);
                                SendClientMessageToAll(leavemessagecolor, string);
                        }
                }
                case 1:
                {
                        if(SilentBanKick[playerid] == 0)
                        {
                                GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
                                format(string, sizeof string, "%s(%i) saiu do server! (Saindo...)", PlayerName);
                                SendClientMessageToAll(leavemessagecolor, string);
                        }
                }
                case 2:
                {
                        if(SilentBanKick[playerid] == 0)
                        {
                                GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
                                format(string, sizeof string, "%s(%i) fez merda e foi kickado/banido! (Kick/Ban)", PlayerName);
                                SendClientMessageToAll(leavemessagecolor, string);
                        }
                }
        }
        #endif
}
Reply
#4

Ajudem '-'
Reply
#5

Como eu pensei, nгo estб salvando quando vocк desconecta.

Eu recomendo vocк usar o sistema de salvamento de DraKiNs, й 72x mais rбpida que a Dini.

pawn Код:
Fini_SaveFile();
Fini_CloseFile();

Tуpico da Include Fini


Sem Double Post Cara '-'
Reply
#6

aonde? ponho ? em q parte?
Reply
#7

No comando apуs setar o level.
Mais vocк precisa mudar para a Fini.

@Eu nгo sou muito bom em salvamento acho que й isso.
Reply
#8

To botando assim e ta dando error

Код:
        if(strcmp(cmd, "/setcv", true) == 0)
        {
                tmp = strtok(cmdtext, idx);
                giveplayerid = strval(tmp);
                GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                GetPlayerName(playerid, sendername, sizeof(sendername));
                PlayerInfo[playerid][pCV] = dini_Int(udb_encode(sendername), "levelcv");
                PlayerInfo[giveplayerid][pCV] = dini_Int(udb_encode(giveplayer), "levelcv");
                giveplayerid = strval(tmp);
                if(!strlen(tmp) && PlayerInfo[playerid][pAdmin] >= 5)
                {
                        SendClientMessage(playerid, COLOR_GREEN, "Uso correto: /setcv [id do player] [cargo]");
                        return 1;
                }
                tmp = strtok(cmdtext, idx);
                if(!strlen(tmp) && PlayerInfo[playerid][pAdmin] >= 5)
                {
                        SendClientMessage(playerid, COLOR_GREEN, "Uso correto: /setcv [id do player] [cargo]");
                        return 1;
                }
                PlayerInfo[playerid][pCV] = dini_Int(udb_encode(sendername), "levelcv");
                levelcv[playerid] = strval(tmp);
                if(levelcv[playerid] < 0)
                {
                        SendClientMessage(playerid, COLOR_CYAN, "Level de CV invбlido!");
            return 1;
                }
                if(levelcv[playerid] > 5)
                {
                        SendClientMessage(playerid, COLOR_CYAN, "Level de CV invбlido!");
            return 1;
                }
                if(levelcv[playerid] == PlayerInfo[giveplayerid][pCV])
                {
            format(string, sizeof(string), "Este player jб й um membro do CV!", levelcv[playerid]);
            SendClientMessage(playerid, COLOR_CYAN, string);
            return 1;
                }
                if(logged[playerid] == 1)
                {
                        if(PlayerInfo[playerid][pAdmin] >= 5 || PlayerInfo[playerid][pCV] >= 3)
                        {
                            if(IsPlayerConnected(giveplayerid))
                            {
                                if(logged[giveplayerid] == 0)
                                        {
                                                SendClientMessage(playerid, COLOR_CYAN, "O player tem que estar logado para poder receber o level de CV!");
                                                return 1;
                                        }
                                        else
                                        {
                                                GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                                                GetPlayerName(playerid, sendername, sizeof(sendername));
                                                dini_IntSet(udb_encode(giveplayer), "levelcv", levelcv[playerid]);
                                                format(string, sizeof(string), "ADMIN: Vocк tranformou o player %s em um membro do CV!", giveplayer);
                                                SendClientMessage(playerid, COLOR_CYAN, string);
                                                format(string, sizeof(string), "ADMIN: Agora vocк й membro do CV level %d, Promovido por %s.", level[playerid], sendername, playerid);
                                                SendClientMessage(giveplayerid, COLOR_CYAN, string);
                                                PlayerInfo[giveplayerid][pCV] = dini_Int(udb_encode(giveplayer), "levelcv");
                                                new PlayerName[30];
                                                GetPlayerName(playerid, PlayerName, 30);
                                                printf("[Command] %s usou /setcv para dar par %s level %d de CV.", PlayerName, giveplayer, level[playerid]);
                                        }
                                }
                                else
                                {
                                    format(string, sizeof(string), "%d nгo й o nъmero de ID de um player ativo!", giveplayerid);
                        SendClientMessage(playerid, COLOR_CYAN, string);
                                }
                        }
                        else
                        {
                                SendClientMessage(playerid, COLOR_CYAN, "Vocк nгo tem permissгo para usar este comando!");
                        }
                }
                else
                {
                    SendClientMessage(playerid, COLOR_CYAN, "Vocк tem que estar logado para usar este comando!");

                }
                return 1;
        }
                Fini_SaveFile();
                Fini_CloseFile();
ERRORS
error 017: undefined symbol "Fini_SaveFile"
error 017: undefined symbol "Fini_CloseFile"
Reply
#9

OMG!!!!
Tenho de explicar novamente cara?
Baixa a include Fini e substitui pela Dini.
Reply
#10

Quote:
Originally Posted by Nake01
Посмотреть сообщение
To botando assim e ta dando error

Код:
        if(strcmp(cmd, "/setcv", true) == 0)
        {
                tmp = strtok(cmdtext, idx);
                giveplayerid = strval(tmp);
                GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                GetPlayerName(playerid, sendername, sizeof(sendername));
                PlayerInfo[playerid][pCV] = dini_Int(udb_encode(sendername), "levelcv");
                PlayerInfo[giveplayerid][pCV] = dini_Int(udb_encode(giveplayer), "levelcv");
                giveplayerid = strval(tmp);
                if(!strlen(tmp) && PlayerInfo[playerid][pAdmin] >= 5)
                {
                        SendClientMessage(playerid, COLOR_GREEN, "Uso correto: /setcv [id do player] [cargo]");
                        return 1;
                }
                tmp = strtok(cmdtext, idx);
                if(!strlen(tmp) && PlayerInfo[playerid][pAdmin] >= 5)
                {
                        SendClientMessage(playerid, COLOR_GREEN, "Uso correto: /setcv [id do player] [cargo]");
                        return 1;
                }
                PlayerInfo[playerid][pCV] = dini_Int(udb_encode(sendername), "levelcv");
                levelcv[playerid] = strval(tmp);
                if(levelcv[playerid] < 0)
                {
                        SendClientMessage(playerid, COLOR_CYAN, "Level de CV invбlido!");
            return 1;
                }
                if(levelcv[playerid] > 5)
                {
                        SendClientMessage(playerid, COLOR_CYAN, "Level de CV invбlido!");
            return 1;
                }
                if(levelcv[playerid] == PlayerInfo[giveplayerid][pCV])
                {
            format(string, sizeof(string), "Este player jб й um membro do CV!", levelcv[playerid]);
            SendClientMessage(playerid, COLOR_CYAN, string);
            return 1;
                }
                if(logged[playerid] == 1)
                {
                        if(PlayerInfo[playerid][pAdmin] >= 5 || PlayerInfo[playerid][pCV] >= 3)
                        {
                            if(IsPlayerConnected(giveplayerid))
                            {
                                if(logged[giveplayerid] == 0)
                                        {
                                                SendClientMessage(playerid, COLOR_CYAN, "O player tem que estar logado para poder receber o level de CV!");
                                                return 1;
                                        }
                                        else
                                        {
                                                GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                                                GetPlayerName(playerid, sendername, sizeof(sendername));
                                                dini_IntSet(udb_encode(giveplayer), "levelcv", levelcv[playerid]);
                                                format(string, sizeof(string), "ADMIN: Vocк tranformou o player %s em um membro do CV!", giveplayer);
                                                SendClientMessage(playerid, COLOR_CYAN, string);
                                                format(string, sizeof(string), "ADMIN: Agora vocк й membro do CV level %d, Promovido por %s.", level[playerid], sendername, playerid);
                                                SendClientMessage(giveplayerid, COLOR_CYAN, string);
                                                PlayerInfo[giveplayerid][pCV] = dini_Int(udb_encode(giveplayer), "levelcv");
                                                new PlayerName[30];
                                                GetPlayerName(playerid, PlayerName, 30);
                                                printf("[Command] %s usou /setcv para dar par %s level %d de CV.", PlayerName, giveplayer, level[playerid]);
                                        }
                                }
                                else
                                {
                                    format(string, sizeof(string), "%d nгo й o nъmero de ID de um player ativo!", giveplayerid);
                        SendClientMessage(playerid, COLOR_CYAN, string);
                                }
                        }
                        else
                        {
                                SendClientMessage(playerid, COLOR_CYAN, "Vocк nгo tem permissгo para usar este comando!");
                        }
                }
                else
                {
                    SendClientMessage(playerid, COLOR_CYAN, "Vocк tem que estar logado para usar este comando!");

                }
                return 1;
        }
                Fini_SaveFile();
                Fini_CloseFile();
ERRORS
error 017: undefined symbol "Fini_SaveFile"
error 017: undefined symbol "Fini_CloseFile"
Se quiser em Fini, terб de alterar tudo de Dini para Fini, nгo colocar uma parada em Fini e o resto em Dini.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)