[AJUDA] Sistema de PM
#1

Galera Estou com um prolema neste FS de PM feito por WenSoarres,Tem como empedir q o player mande mensagem pra ele mesmo ?
Esta aki o codigo Por favor ajudem

pawn Код:
/*

        FilterScript Sistema de Private Message(PM)
                Direito autoriais: WeenSoares
                Contato: weensoares@live.com

*/


#include <a_samp>
#include <dutils>
new bool:LerPms[MAX_PLAYERS];
new bool:PmBlock[MAX_PLAYERS];
#pragma tabsize             0
//==============================/*FILTERSCRIPTINIT*/==============================//
public OnFilterScriptInit()
{

        print("•\n");
        print("******************************************************");
        print("*    [FilterScript] Sistema de Private Message(PM)   *\n");
        print("*                   Carregando...                    *\n\n");
        print("*                  Carregado 100%.                   *");
        print("******************************************************");
        print("•\n");
    return 1;
}
//==============================/*ONPLAYERCONNECT*/==============================//
public OnPlayerConnect(playerid)
{
        LerPms[playerid] = false;
        PmBlock[playerid] = false;
        return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
    new cmd[256];
    new string[128];
    new tmp[256];
        new playername[MAX_PLAYER_NAME];
        new giveplayername[MAX_PLAYER_NAME];
        new giveplayerid;
    new idx;
        cmd = strtok(cmdtext, idx);
//==============================/*INICIO DOS COMANDOS*/==============================//
    if(strcmp(cmd, "/pm", true) == 0)
        {
            GetPlayerName(playerid, playername, sizeof(playername));
            GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
                {
                SendClientMessage(playerid, 0x33AA33AA, "Uso correto: /pm [id do player] [menssagem]");
                return 1;
            }
            giveplayerid = strval(tmp);
            if(!strlen(tmp))
                {
                SendClientMessage(playerid, 0x33AA33AA, "Uso correto: /pm [id do player] [menssagem]");
                return 1;
            }
                new length = strlen(cmdtext);
                while ((idx < length) && (cmdtext[idx] <= ' '))
                {
                        idx++;
                }
                new offset = idx;
                new menssagem[156];
                while ((idx < length) && ((idx - offset) < (sizeof(menssagem) - 1)))
                {
                        menssagem[idx - offset] = cmdtext[idx];
                        idx++;
                }
                menssagem[idx - offset] = EOS;
                if(IsPlayerConnected(playerid))
                {
                    if(IsPlayerConnected(giveplayerid))
                        {
                            GetPlayerName(playerid, playername, sizeof(playername));
                            GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
                        if(PmBlock[playerid])
                                {
                            format(string,sizeof(string),"[Private Message]: Vocк nгo pode enviar uma menssagem pois a sua PM estб bloqueada!");
                            SendClientMessage(playerid, 0xFF80808B, string);
                            return 1;
                        }
                        if(PmBlock[giveplayerid])
                                {
                            format(string,sizeof(string),"[Private Message]: Vocк nгo pode enviar uma menssagem para %s pois ele estб com o PM Bloqueado!", giveplayername);
                            SendClientMessage(playerid, 0xFF80808B, string);
                            return 1;
                        }
                        if(!strlen(menssagem))
                                {
                            SendClientMessage(playerid, 0x33AA33AA, "Uso Correto: /pm [id do player] [menssagem]");
                            return 1;
                        }
                        format(string,sizeof(string),">> Enviada para: %s (%d): %s", giveplayername, giveplayerid, menssagem);
                        SendClientMessage(playerid,0xFFD500FF,string);
                        format(string,sizeof(string),"** Recebida de: %s (%d): %s", playername, playerid, menssagem);
                        GameTextForPlayer(giveplayerid, "~w~MENSAGEM ~r~RECEBIDA", 3000, 1);
                        SendClientMessage(giveplayerid,0xFF80808B,string);
                        PlayerPlaySound(giveplayerid, 1085, 0.0, 0.0, 0.0);
                        printf("[Private Message]: %s envio para %s: %s", playername, giveplayername, menssagem);
                                for(new i; i < MAX_PLAYERS; i++)
                                {
                                        if(IsPlayerAdmin(playerid) && LerPms[i] == true)
                                        {
                                                format(string, sizeof(string), "** %s envio para %s: %s", playername, giveplayername, menssagem);
                                        SendClientMessage(i, 0xFF80808B, string);
                                        }
                                }
                    }
                    else
                        {
                        format(string, sizeof(string), "* O ID %d nгo estб online.", giveplayerid);
                        SendClientMessage(playerid, 0x00FFFFAA, string);
                    }
                }
                else
                {
                        SendClientMessage(playerid, 0x00FFFFAA, "Vocк tem que estб logado para usar este comando!");
                }
            return 1;
        }
        if(strcmp(cmd, "/bpm", true) == 0)
        {
            if(!PmBlock[playerid])
                {
                SendClientMessage(playerid, 0xFF80808B, "[Private Message]: Private Message bloqueada!");
                PmBlock[playerid] = true;
            }
            else
                {
                SendClientMessage(playerid, 0xFF80808B, "[Private Message]: Private Message jб bloqueada!");
                return 1;
            }
            return 1;
        }
        if(strcmp(cmd, "/lpm", true) == 0)
        {
                if(IsPlayerConnected(playerid))
                {
                if(PmBlock[playerid])
                        {
                        SendClientMessage(playerid, 0xFF80808B, "[Private Message]: Private Message liberada!");
                        PmBlock[playerid] = false;
                }
                else
                        {
                        SendClientMessage(playerid, 0xFF80808B,"[Private Message]: Private Message jб liberada!");
                }
                }
                return 1;
        }
        if(strcmp(cmd, "/lerpms", true) == 0)
        {
                if(IsPlayerConnected(playerid))
                {
                        if(IsPlayerAdmin(playerid))
                        {
                            if(!LerPms[playerid])
                                {
                                SendClientMessage(playerid, 0xFF80808B, "AdmCMD: Vocк estб lendo as [Private Message].");
                                LerPms[playerid] = true;
                            }
                            else
                                {
                                SendClientMessage(playerid, 0xFF80808B, "AdmCMD: Vocк parou de ler as [Private Message].");
                                LerPms[playerid] = false;
                                return 1;
                            }
                        }
                        else
                        {
                                SendClientMessage(playerid, 0x00FFFFAA, "Vocк nгo tem permissгo para usar este comando!");
                        }
                }
                else
                {
                        SendClientMessage(playerid, 0x00FFFFAA, "Vocк tem que estб logado para usar este comando!");
                }
            return 1;
        }
    return false;
}
Reply
#2

pawn Код:
if(strcmp(cmd, "/pm", true) == 0)
        {
            GetPlayerName(playerid, playername, sizeof(playername));
            GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
                {
                SendClientMessage(playerid, 0x33AA33AA, "Uso correto: /pm [id do player] [menssagem]");
                return 1;
            }
            giveplayerid = strval(tmp);
            if(!strlen(tmp))
                {
                SendClientMessage(playerid, 0x33AA33AA, "Uso correto: /pm [id do player] [menssagem]");
                return 1;
            }
            if(giveplayerid == playerid)
            {
                SendClientMessage(playerid,-1,"Vocк nгo pode mandar mensagem para vocк mesmo!");
                return 1;
            }
                new length = strlen(cmdtext);
                while ((idx < length) && (cmdtext[idx] <= ' '))
                {
                        idx++;
                }
                new offset = idx;
                new menssagem[156];
                while ((idx < length) && ((idx - offset) < (sizeof(menssagem) - 1)))
                {
                        menssagem[idx - offset] = cmdtext[idx];
                        idx++;
                }
                menssagem[idx - offset] = EOS;
                if(IsPlayerConnected(playerid))
                {
                    if(IsPlayerConnected(giveplayerid))
                        {
                            GetPlayerName(playerid, playername, sizeof(playername));
                            GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
                        if(PmBlock[playerid])
                                {
                            format(string,sizeof(string),"[Private Message]: Vocк nгo pode enviar uma menssagem pois a sua PM estб bloqueada!");
                            SendClientMessage(playerid, 0xFF80808B, string);
                            return 1;
                        }
                        if(PmBlock[giveplayerid])
                                {
                            format(string,sizeof(string),"[Private Message]: Vocк nгo pode enviar uma menssagem para %s pois ele estб com o PM Bloqueado!", giveplayername);
                            SendClientMessage(playerid, 0xFF80808B, string);
                            return 1;
                        }
                        if(!strlen(menssagem))
                                {
                            SendClientMessage(playerid, 0x33AA33AA, "Uso Correto: /pm [id do player] [menssagem]");
                            return 1;
                        }
                        format(string,sizeof(string),">> Enviada para: %s (%d): %s", giveplayername, giveplayerid, menssagem);
                        SendClientMessage(playerid,0xFFD500FF,string);
                        format(string,sizeof(string),"** Recebida de: %s (%d): %s", playername, playerid, menssagem);
                        GameTextForPlayer(giveplayerid, "~w~MENSAGEM ~r~RECEBIDA", 3000, 1);
                        SendClientMessage(giveplayerid,0xFF80808B,string);
                        PlayerPlaySound(giveplayerid, 1085, 0.0, 0.0, 0.0);
                        printf("[Private Message]: %s envio para %s: %s", playername, giveplayername, menssagem);
                                for(new i; i < MAX_PLAYERS; i++)
                                {
                                        if(IsPlayerAdmin(playerid) && LerPms[i] == true)
                                        {
                                                format(string, sizeof(string), "** %s envio para %s: %s", playername, giveplayername, menssagem);
                                        SendClientMessage(i, 0xFF80808B, string);
                                        }
                                }
                    }
                    else
                        {
                        format(string, sizeof(string), "* O ID %d nгo estб online.", giveplayerid);
                        SendClientMessage(playerid, 0x00FFFFAA, string);
                    }
                }
                else
                {
                        SendClientMessage(playerid, 0x00FFFFAA, "Vocк tem que estб logado para usar este comando!");
                }
            return 1;
        }
Tenta ai (:
Apenas altere o comando!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)