SA-MP Forums Archive
Gente , olhem aqui ! - 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: Gente , olhem aqui ! (/showthread.php?tid=419006)



Gente , olhem aqui ! - Duun - 27.02.2013

pawn Код:
CMD:kick(playerid, params[])
{
    new
        Tex,        Id,
        Str[ 128 ],     No[ 25 ], Chu[ 25 ]
    ;
   
    GetPlayerName(playerid, Chu, 25);
    GetPlayerName(Id, No, 25);

    if(Pi[playerid][SouAdmin] != 1)
    return SendClientMessage(playerid, Vermelho, "Vocк nгo й um Administrador");
   
    if(sscanf(params, "us", Id, Tex))
    {
        SendClientMessage(playerid, Vermelho,"* Use: /kick [id] [Motivo]");
    }
        else
        {
            if(!IsPlayerConnected(Id))
            return SendClientMessage(playerid, Vermelho, "Este jogador nгo estб conectado");
           
            format(Str, sizeof(Str), "O Admin {88AA88}%s{FFFFFF} Kickou o Jogador {88AA88}%s{FFFFFF} Pelo Motivo : {88AA88}%s", Chu, No, Tex);
            SendClientMessageToAll(Branco, Str);
            Kick(Id);
        }
    return 1;
}

Entгo galera, o comando acima ta funcionando quase perfeitamente . Acontece o seguinte :
Depois que eu dou kick no player, o motivo nгo aparece ! nem o motivo nem nada, nem aparece quem kicou , quem foi kikado , nada , a mensagem nгo й enviada !
Eu testei comigo mesmo .

como podem ver , a mensagem era para aparecer antes do player ser kikado , mais nгo й enviada .

E aparece uma mensagem na Janelinha preta do servidor , alguma coisa sobre tamanho de string .
Alguйm sabe isso ?



Re: Gente , olhem aqui ! - Duun - 27.02.2013

Aparece essa mensagem na janelinha preta do servidor :

sscanf warning : strings without a length are deprecated, please add a destination size


Re: Gente , olhem aqui ! - Coringa_Vilao - 27.02.2013

Tenta...

pawn Код:
CMD:kick(playerid, params[])
{
    if(Sistema de Admin < 1)
            return SendClientMessage(playerid, COR, "Vocк nгo й Administrador!");

        new id, motivo[30], Str[100];
        if(sscanf(params, "is[30]", id, motivo))
            return SendClientMessage(playerid, COR, "USE: /kick [Id do Player]");

    if(!IsPlayerConnected(id))
            return SendClientMessage(playerid, COR, "Esse jogador nгo esta conectado!");

        format(Str, sizeof(Str), "Aqui a Mensagem", GetName(id), GetName(playerid), motivo);
        SendClientMessageToAll(0x00FF00FF, Str);
        Kick(id);
        return 1;
}

Edite de acordo com o seu gamemode !


Re: Gente , olhem aqui ! - Blix - 27.02.2013

pawn Код:
CMD:kick(playerid, params[]){
    new Tex[128],Id,Str[ 128 ], No[ 25 ],Chu[ 25 ];

    GetPlayerName(playerid, Chu, 25);
    GetPlayerName(Id, No, 25);

    if(Pi[playerid][SouAdmin] != 1)return
        SendClientMessage(playerid, Vermelho, "Vocк nгo й um Administrador");

    if(sscanf(params, "us[128]", Id, Tex)){
        SendClientMessage(playerid, Vermelho,"* Use: /kick [id] [Motivo]");
    }
    else{
        if(!IsPlayerConnected(Id)) return
            SendClientMessage(playerid, Vermelho, "Este jogador nгo estб conectado");

        format(Str, sizeof(Str), "O Admin {88AA88}%s{FFFFFF} Kickou o Jogador {88AA88}%s{FFFFFF} Pelo Motivo : {88AA88}%s", Chu, No, Tex);
        SendClientMessageToAll(Branco, Str);
        SetTimerEx("KickPlayer", 1000, false, "d",Id);
     }
    return 1;
}


forward KickPlayer(playerid);
public KickPlayer(playerid)
{
    Kick(playerid);
    return 1;
}
pronto para 3x.


Re: Gente , olhem aqui ! - paulor - 27.02.2013

pawn Код:
CMD:kick(playerid, params[]) {
    new Tex[64], Id, Str[128], No[21], Chu[21];
    GetPlayerName(playerid, Chu, 20);

    if(Pi[playerid][SouAdmin] != 1) return SendClientMessage(playerid, Vermelho, "Vocк nгo й um Administrador");
    if(sscanf(params, "us[64]", Id, Tex)) SendClientMessage(playerid, Vermelho,"* Use: /kick [id] [Motivo]");
    else {
        if(!IsPlayerConnected(Id)) return SendClientMessage(playerid, Vermelho, "Este jogador nгo estб conectado");
       
        GetPlayerName(Id, No, 20);
        format(Str, sizeof(Str), "O Admin {88AA88}%s{FFFFFF} Kickou o Jogador {88AA88}%s{FFFFFF} Pelo Motivo : {88AA88}%s", Chu, No, Tex);
        SendClientMessageToAll(Branco, Str);
        Kick(Id);
    }
    return 1;
}



Re: Gente , olhem aqui ! - Duun - 27.02.2013

Ta , alguйm agora pode me explicar o que eu tinha feito de errado ?

@ Vou seguir o do Paulor . Parece ser o melhor HIHI



Re: Gente , olhem aqui ! - Duun - 27.02.2013

Gente , dessa vez nгo aparece mensagem na janelinha preta , mais a mensagem

pawn Код:
O Admin {88AA88}%s{FFFFFF} Kickou o Jogador {88AA88}%s{FFFFFF} Pelo Motivo : {88AA88}%s
Nгo aparece !


Re: Gente , olhem aqui ! - Gii - 27.02.2013

Nгo chega a se um bug do cуdigo, mas sim uma questгo de seguranзa do samp!

http://forum.sa-mp.com/showpost.php?...3&postcount=20


Re: Gente , olhem aqui ! - paulor - 27.02.2013

Quote:
Originally Posted by Duun
Посмотреть сообщение
Gente , dessa vez nгo aparece mensagem na janelinha preta , mais a mensagem

pawn Код:
O Admin {88AA88}%s{FFFFFF} Kickou o Jogador {88AA88}%s{FFFFFF} Pelo Motivo : {88AA88}%s
Nгo aparece !
Isso й um bug da 0.3x para resolver faзa isso..

pawn Код:
#define Kick(%0) SetTimerEx("Kicka", 100, false, "i", %0)

CMD:kick(playerid, params[]) {
    new Tex[64], Id, Str[128], No[21], Chu[21];
    GetPlayerName(playerid, Chu, 20);

    if(Pi[playerid][SouAdmin] != 1) return SendClientMessage(playerid, Vermelho, "Vocк nгo й um Administrador");
    if(sscanf(params, "us[64]", Id, Tex)) SendClientMessage(playerid, Vermelho,"* Use: /kick [id] [Motivo]");
    else {
        if(!IsPlayerConnected(Id)) return SendClientMessage(playerid, Vermelho, "Este jogador nгo estб conectado");
       
        GetPlayerName(Id, No, 20);
        format(Str, sizeof(Str), "O Admin {88AA88}%s{FFFFFF} Kickou o Jogador {88AA88}%s{FFFFFF} Pelo Motivo : {88AA88}%s", Chu, No, Tex);
        SendClientMessageToAll(Branco, Str);
        Kick(Id);
    }
    return 1;
}

forward Kicka(p); public Kicka(p) {
    #undef Kick
    Kick(p);
    #define Kick(%0) SetTimerEx("Kicka", 100, false, "i", %0)
    return 1;
}



Re: Gente , olhem aqui ! - Duun - 27.02.2013

Nгo entendi Programador

Quer dizer que nгo pode ter mensagem nenhuma dentro do comando Kick ?