[AJUDA] Comandos que dгo crash.
#1

Й o seguinte, baixei um GM 0.3c e passei para 0.3d. Atй aн beleza, mas hб alguns comandos que quando digitados crasham o server, um exemplo й o "/Rcon login". Mais ou menos assim:

- Abre o samp-server.exe e roda normalmente;
- Abre o servidor registra e loga normalmente;
- Quando vai logar na Rcon ou usar alguns comandos como "/Darlider" o samp-server.exe fecha sozinho.


Crash info:
Код:
--------------------------

SA-MP Server: 0.3d-R2



Exception At Address: 0x7C90100B



Registers:

EAX: 0x00000020	EBX: 0x00000046	ECX: 0x7FFDF000	EDX: 0x00000020

ESI: 0x00000000	EDI: 0x0246A2A0	EBP: 0x0012F644	ESP: 0x0012F60C

EFLAGS: 0x00010202



Stack:

+0000: 0x0048DA4E   0x00000020   0x0048E09E   0x00000000

+0010: 0x0246A2A0   0x00000000   0x00000046   0x00000FFF

+0020: 0x0012F61C   0x0012F230   0x0012F84C   0x004920A8

+0030: 0x004ACCB0   0xFFFFFFFF   0x00000000   0x0040534E

+0040: 0x00000046   0x00000000   0x0246A290   0x0012F674

+0050: 0x01A53590   0x0040578F   0x00000001   0x01335530

+0060: 0x01335530   0x00000040   0x01B0E820   0x004010B6

+0070: 0x01335530   0x0246A2A0   0x01D4C300   0x00402B63

+0080: 0x01335530   0x00000040   0x0012F6AC   0x0246A290

+0090: 0x00000000   0x01335530   0x00000000   0x6501A801

+00A0: 0x00000000   0x0071DF90   0x0071DF90   0x0071EF60

+00B0: 0x0071AF9C   0x0071E1A0   0x0071AF9C   0x01A53590

+00C0: 0x01D4C300   0x00000000   0x01A50020   0x002F8D70

+00D0: 0x0046C760   0x01335530   0x0012F714   0x000000AE

+00E0: 0x01335530   0x00000000   0x01335530   0x0012F724

+00F0: 0x0012F718   0x0140DEA8   0x02467264   0x00000000

+0100: 0x00000000   0x0140DEA8   0x00000000   0x02467264

+0110: 0x00487C44   0x000000AE   0x0071AF64   0x0012F860

+0120: 0x00AE6EA0   0x0012FC8C   0x0000000D   0x00000090

+0130: 0x00000090   0x00000088   0x0012F860   0xFFFFFF00
Reply
#2

Poste os comandos.
Reply
#3

Nгo sei se esse й o nome certo mais poste o OnRconLoginAttempent, acho que й esse nome, procure somente por OnRconLogin.
Reply
#4

Sу testei alguns dos comandos.

pawn Код:
if(strcmp(cmd, "/darlider", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD2, "USO: /darlider [playerid/Parte-do-Nick] [Number(1-17)]");
                return 1;
            }
            new para1;
            new level;
            para1 = ReturnUser(tmp);
            tmp = strtok(cmdtext, idx);
            level = strval(tmp);
            if(level > 24 || level < 0) { SendClientMessage(playerid, COLOR_GREY, "   Nъmeros entre 1 e 24"); return 1; }
            new nome[24];
            GetPlayerName(playerid, nome, sizeof nome);
            if(PlayerInfo[playerid][pAdmin] >= 3000)
            {
                if(IsPlayerConnected(para1))
                {
                    if(para1 != INVALID_PLAYER_ID)
                    {
                        GetPlayerName(para1, giveplayer, sizeof(giveplayer));
                        GetPlayerName(playerid, sendername, sizeof(sendername));
                        PlayerInfo[para1][pLeader] = level;
                        format(string, sizeof(string), "%s lhe deu o direito administraзгo profissional, digite /rg.", sendername);
                        SendClientMessage(para1, COLOR_LIGHTBLUE, string);
                        format(string, sizeof(string), "%s й o novo lнder administrativo profissional (%d).", giveplayer,level);
                        SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
                        if(level == 0) { PlayerInfo[para1][pChar] = 23; }
                        else if(level == 1) { PlayerInfo[para1][pChar] = 265; gTeam[para1] = 2; } //Police Force
                        else if(level == 2) { PlayerInfo[para1][pChar] = 286; gTeam[para1] = 2; } //FBI/ATF
                        else if(level == 3) { PlayerInfo[para1][pChar] = 287; gTeam[para1] = 2;} //National Guard
                        else if(level == 4) { PlayerInfo[para1][pChar] = 61; gTeam[para1] = 4;} //Fab
                        else if(level == 5) { PlayerInfo[para1][pChar] = 104; gTeam[para1] = 7;} //Ballas
                        else if(level == 6) { PlayerInfo[para1][pChar] = 270; gTeam[para1] = 7;} //Grove
                        else if(level == 7) { PlayerInfo[para1][pChar] = 147; gTeam[para1] = 8;} //prefeito
                        else if(level == 8) { PlayerInfo[para1][pChar] = 165; gTeam[para1] = 8;} //M.I.
                        else if(level == 9) { PlayerInfo[para1][pChar] = 295; gTeam[para1] = 9;} //News Reporters
                        else if(level == 10) { PlayerInfo[para1][pChar] = 47; gTeam[para1] = 47;} //ggc
                        else if(level == 11) { PlayerInfo[para1][pChar] = 174; gTeam[para1] = 174;} //San Fierro
                        else if(level == 12) { PlayerInfo[para1][pChar] = 108; gTeam[para1] = 7;} //Los Santos Vagos
                        else if(level == 13) { PlayerInfo[para1][pChar] = 181; gTeam[para1] = 7;} //motoqueiros
                        else if(level == 14) { PlayerInfo[para1][pChar] = 283; gTeam[para1] = 14;} //PR
                        else if(level == 15) { PlayerInfo[para1][pChar] = 115; gTeam[para1] = 7; } //Aztecas
                        else if(level == 16) { PlayerInfo[para1][pChar] = 118; gTeam[para1] = 16; } //Mafia
                        else if(level == 17) { PlayerInfo[para1][pChar] = 294; gTeam[para1] = 16; } //PRF
                        else if(level == 18) { PlayerInfo[para1][pChar] = 292; gTeam[para1] = 16; } //Drifters
                        else if(level == 19) { PlayerInfo[para1][pChar] = 19; gTeam[para1] = 16; } //Lowriders
                        else if(level == 20) { PlayerInfo[para1][pChar] = 293; gTeam[para1] = 16; } //Lowriders
                        else if(level == 21) { PlayerInfo[para1][pChar] = 285; gTeam[para1] = 21; } //BOPE
                        else if(level == 22) { PlayerInfo[para1][pChar] = 290; gTeam[para1] = 22; } //BOPE
                        else if(level == 23) { PlayerInfo[para1][pChar] = 223; gTeam[para1] = 2; } //Taxistas
                        else if(level == 24) { PlayerInfo[para1][pChar] = 279; gTeam[para1] = 7; } //BOPE
                        PlayerInfo[para1][pMember] = level;
                        PlayerInfo[para1][pRank] = 6;
                        PlayerInfo[para1][pTeam] = gTeam[para1];
                        PlayerInfo[para1][pModel] = PlayerInfo[para1][pChar];
                        SetPlayerSkin(para1, PlayerInfo[para1][pChar]);
                        LideresLog(string);
                        if(PlayerInfo[playerid][pMember] > 0)
                        {
                            DemitirInfoOrg(pNome(para1));
                        }
                        if(PlayerInfo[playerid][pLeader] > 0)
                        {
                            DemitirInfoOrg(pNome(para1));
                        }
                        ConviteInfoOrg(pNome(para1), level, 6);
                    }
                }//not connected
            }
            else
            {
                SendClientMessage(playerid, COLOR_GRAD1, "   Sem Autorizaзгo.");
            }
        }
        return 1;
    }
Mas como eu disse, os comandos da Rcon tambйm dгo crash.

@EDIT


pawn Код:
public OnRconLoginAttempt(ip[], password[], success)
{
    if(success)
    {
        new pip[16];
        for(new i=0; i<MAX_PLAYERS; i++)
        {
            GetPlayerIp(i, pip, sizeof(pip));
            new plname[MAX_PLAYER_NAME];
            GetPlayerName(i, plname, sizeof(plname));
            if(!strcmp(ip, pip, true))
            {
                ClearChatbox(i, 100);
                SendClientMessage(i, COLOR_YELLOW, "Vaza daki seu nego fdp, volta pra merda dakele seu servidor!");
                SendClientMessage(i, COLOR_YELLOW, "A culpa nгo eh minha seu invejoso, sua inveja eh minha fama caralho!");
                format(gstring, 128, "%s foi banido por ser Admin Rcon",plname);
                fdplog(gstring);
                Ban(i);
                break;
            }
        }
    }
    return 1;
}
Reply
#5

Quote:
Originally Posted by Guilherme P.
Посмотреть сообщение
pawn Код:
public OnRconLoginAttempt(ip[], password[], success)
{
    if(success)
    {
        new pip[16];
        for(new i=0; i<MAX_PLAYERS; i++)
        {
            GetPlayerIp(i, pip, sizeof(pip));
            new plname[MAX_PLAYER_NAME];
            GetPlayerName(i, plname, sizeof(plname));
            if(!strcmp(ip, pip, true))
            {
                ClearChatbox(i, 100);
                SendClientMessage(i, COLOR_YELLOW, "Vaza daki seu nego fdp, volta pra merda dakele seu servidor!");
                SendClientMessage(i, COLOR_YELLOW, "A culpa nгo eh minha seu invejoso, sua inveja eh minha fama caralho!");
                format(gstring, 128, "%s foi banido por ser Admin Rcon",plname);
                fdplog(gstring);
                Ban(i);
                break;
            }
        }
    }
    return 1;
}
Palavras super sutis.

Simplesmente apague essa public e terб o resultado desejado.
Reply
#6

Haha, quando eu li tambйm achei SUPER sutis.

Vou la testar!
Reply
#7

Super sutis mesmo kkkkk.
Reply
#8

Bom, depois que eu exclui a public consigo usar a Rcon. Mas o "/Darlider" ainda estб fechando o samp-server.exe enquanto estou jogando.
Reply
#9

Especifique os comandos e poste-os, concerteza irб ser mais fбcil de ajudб-lo.
Reply
#10

@Macintosh

Tirei um tempo para testar TODOS os comandos, e o ъnico que estб me dando problemas й o /darlider que crasha o server.

pawn Код:
if(strcmp(cmd, "/darlider", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD2, "USO: /darlider [playerid/Parte-do-Nick] [Number(1-17)]");
                return 1;
            }
            new para1;
            new level;
            para1 = ReturnUser(tmp);
            tmp = strtok(cmdtext, idx);
            level = strval(tmp);
            if(level > 24 || level < 0) { SendClientMessage(playerid, COLOR_GREY, "   Nъmeros entre 1 e 24"); return 1; }
            new nome[24];
            GetPlayerName(playerid, nome, sizeof nome);
            if(PlayerInfo[playerid][pAdmin] >= 3000)
            {
                if(IsPlayerConnected(para1))
                {
                    if(para1 != INVALID_PLAYER_ID)
                    {
                        GetPlayerName(para1, giveplayer, sizeof(giveplayer));
                        GetPlayerName(playerid, sendername, sizeof(sendername));
                        PlayerInfo[para1][pLeader] = level;
                        format(string, sizeof(string), "%s lhe deu o direito administraзгo profissional, digite /rg.", sendername);
                        SendClientMessage(para1, COLOR_LIGHTBLUE, string);
                        format(string, sizeof(string), "%s й o novo lнder administrativo profissional (%d).", giveplayer,level);
                        SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
                        if(level == 0) { PlayerInfo[para1][pChar] = 23; }
                        else if(level == 1) { PlayerInfo[para1][pChar] = 265; gTeam[para1] = 2; } //Police Force
                        else if(level == 2) { PlayerInfo[para1][pChar] = 286; gTeam[para1] = 2; } //FBI/ATF
                        else if(level == 3) { PlayerInfo[para1][pChar] = 287; gTeam[para1] = 2;} //National Guard
                        else if(level == 4) { PlayerInfo[para1][pChar] = 61; gTeam[para1] = 4;} //Fab
                        else if(level == 5) { PlayerInfo[para1][pChar] = 104; gTeam[para1] = 7;} //Ballas
                        else if(level == 6) { PlayerInfo[para1][pChar] = 270; gTeam[para1] = 7;} //Grove
                        else if(level == 7) { PlayerInfo[para1][pChar] = 147; gTeam[para1] = 8;} //prefeito
                        else if(level == 8) { PlayerInfo[para1][pChar] = 165; gTeam[para1] = 8;} //M.I.
                        else if(level == 9) { PlayerInfo[para1][pChar] = 295; gTeam[para1] = 9;} //News Reporters
                        else if(level == 10) { PlayerInfo[para1][pChar] = 47; gTeam[para1] = 47;} //ggc
                        else if(level == 11) { PlayerInfo[para1][pChar] = 174; gTeam[para1] = 174;} //San Fierro
                        else if(level == 12) { PlayerInfo[para1][pChar] = 108; gTeam[para1] = 7;} //Los Santos Vagos
                        else if(level == 13) { PlayerInfo[para1][pChar] = 181; gTeam[para1] = 7;} //motoqueiros
                        else if(level == 14) { PlayerInfo[para1][pChar] = 283; gTeam[para1] = 14;} //PR
                        else if(level == 15) { PlayerInfo[para1][pChar] = 115; gTeam[para1] = 7; } //Aztecas
                        else if(level == 16) { PlayerInfo[para1][pChar] = 118; gTeam[para1] = 16; } //Mafia
                        else if(level == 17) { PlayerInfo[para1][pChar] = 294; gTeam[para1] = 16; } //PRF
                        else if(level == 18) { PlayerInfo[para1][pChar] = 292; gTeam[para1] = 16; } //Drifters
                        else if(level == 19) { PlayerInfo[para1][pChar] = 19; gTeam[para1] = 16; } //Lowriders
                        else if(level == 20) { PlayerInfo[para1][pChar] = 293; gTeam[para1] = 16; } //Lowriders
                        else if(level == 21) { PlayerInfo[para1][pChar] = 285; gTeam[para1] = 21; } //BOPE
                        else if(level == 22) { PlayerInfo[para1][pChar] = 290; gTeam[para1] = 22; } //BOPE
                        else if(level == 23) { PlayerInfo[para1][pChar] = 223; gTeam[para1] = 2; } //Taxistas
                        else if(level == 24) { PlayerInfo[para1][pChar] = 279; gTeam[para1] = 7; } //BOPE
                        PlayerInfo[para1][pMember] = level;
                        PlayerInfo[para1][pRank] = 6;
                        PlayerInfo[para1][pTeam] = gTeam[para1];
                        PlayerInfo[para1][pModel] = PlayerInfo[para1][pChar];
                        SetPlayerSkin(para1, PlayerInfo[para1][pChar]);
                        LideresLog(string);
                        if(PlayerInfo[playerid][pMember] > 0)
                        {
                            DemitirInfoOrg(pNome(para1));
                        }
                        if(PlayerInfo[playerid][pLeader] > 0)
                        {
                            DemitirInfoOrg(pNome(para1));
                        }
                        ConviteInfoOrg(pNome(para1), level, 6);
                    }
                }//not connected
            }
            else
            {
                SendClientMessage(playerid, COLOR_GRAD1, "   Sem Autorizaзгo.");
            }
        }
        return 1;
    }
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)