SA-MP Forums Archive
[Ajuda] Como fazer um comando desse? - 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: [Ajuda] Como fazer um comando desse? (/showthread.php?tid=398077)



Como fazer um comando desse? - Sonik_Paintballer - 08.12.2012

Galera tipo eu ja tentei de tudo mais nгo soube fazer,eu queria fazer tipo sabe aquele comando /at (atender telefone) dos servidores de RPG?,intгo,como tem lideres nгo gostam muito de ficar atendendo telefone eu queria botar um comando tipo /cp (caixa postal) que iria mandar uma mensagem para quem estava ligando avisando que entrou na caixa postal,ai precisa ser tipo assim pegar o comando /at e ao inves de colocar o "SendClientMessage(i, COLOR_GRAD2, "Atendeu o celular.");" seria assim:

pawn Код:
SendClientMessage(i,  COLOR_YELLOW, "%s : Olб,vocк acessou minha caixa postal");
SendClientMessage(i,  COLOR_YELLOW, "%s : No momento nгo posso atender.");
SendClientMessage(i,  COLOR_YELLOW, "%s : Envie um sms para %d e talvez obterб uma resposta",PlayerInfo[i][pPnumber]);
SendClientMessage(i,  COLOR_YELLOW, "%s : Atenciosamente eu");
sу q tem q trocar o i pela palavra q vai definir o cara que ligou pra vc entende? e depois desligar

veja sу o comando do /at

pawn Код:
if(strcmp(cmd, "/atender", true) == 0 || strcmp(cmd, "/at", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            if(Mobile[playerid] != 255)
            {
                SendClientMessage(playerid, COLOR_GRAD2, "Voce ja estб em uma ligaзгo...");
                return 1;
            }
            for(new i = 0; i < MAX_PLAYERS; i++)
            {
                if(IsPlayerConnected(i))
                {
                    if(Mobile[i] == playerid)
                    {
                        Mobile[playerid] = i; //caller connecting
                        SendClientMessage(i,  COLOR_GRAD2, "Atendeu o celular.");
                        GetPlayerName(playerid, sendername, sizeof(sendername));
                        format(string, sizeof(string), "* %s atendeu o celular.", sendername);
                        ProxDetector(30.0, playerid, string,             COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                        SetPlayerSpecialAction(playerid,SPECIAL_ACTION_USECELLPHONE);
                        RingTone[playerid] = 0;
                    }

                }
            }
        }
        return 1;
    }
oq eu pensei seria mais ou menos assim:

pawn Код:
if(strcmp(cmd, "/cp", true) == 0 || strcmp(cmd, "/caixapostal", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            if(Mobile[playerid] != 255)
            {
                SendClientMessage(playerid, COLOR_GRAD2, "Voce ja estб em uma ligaзгo...");
                return 1;
            }
            for(new i = 0; i < MAX_PLAYERS; i++)
            {
                if(IsPlayerConnected(i))
                {
                    if(Mobile[i] == playerid)
                    {
                        Mobile[playerid] = i; //caller connecting
                        SendClientMessage(i,  COLOR_YELLOW, "blablabla");
                        SendClientMessage(i,  COLOR_YELLOW, "blablabla");
                        SendClientMessage(i,  COLOR_YELLOW, "blablabla");
                        SendClientMessage(i,  COLOR_YELLOW, "blablabla.");
                        GetPlayerName(playerid, sendername, sizeof(sendername));
                        SetPlayerSpecialAction(playerid,SPECIAL_ACTION_USECELLPHONE);
                        Mobile[playerid] = 255;
                        CellTime[playerid] = 0;
                        SetPlayerSpecialAction(playerid,SPECIAL_ACTION_STOPUSECELLPHONE);
                        RingTone[playerid] = 0;
                        Mobile[nomedequemligou] = 255;
                        CellTime[nomedequemligou] = 0;
                        SetPlayerSpecialAction(nomedequemligou,SPECIAL_ACTION_STOPUSECELLPHONE);
                        RingTone[nomedequemligou] = 0;
                    }

                }
            }
        }
        return 1;
    }
sу q eu nгo sei definir quem й a pessoa q ligou,tentei definir como giveplayerid utilizando:
pawn Код:
new playa;
            playa = ReturnUser(tmp);
            GetPlayerName(playa, giveplayer, sizeof(giveplayer));
mais nгo funcionou


aqui vгo algumas coisas q tem haver com o cmd do /at e q talvez possam ajudar:

pawn Код:
if(strcmp(cmd, "/desligar", true) == 0 || strcmp(cmd, "/des", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            new caller = Mobile[playerid];
            if(IsPlayerConnected(caller))
            {
                if(caller != INVALID_PLAYER_ID)
                {
                    if(caller != 255)
                    {
                        if(caller < 255)
                        {
                            SendClientMessage(caller,  COLOR_GRAD2, "Desligou.");
                            CellTime[caller] = 0;
                            CellTime[playerid] = 0;
                            SendClientMessage(playerid,  COLOR_GRAD2, "Desligou.");
                            Mobile[caller] = 255;
                        }
                        Mobile[playerid] = 255;
                        CellTime[playerid] = 0;
                        SetPlayerSpecialAction(playerid,SPECIAL_ACTION_STOPUSECELLPHONE);
                        RingTone[playerid] = 0;
                        return 1;
                    }
                }
            }
            SendClientMessage(playerid,  COLOR_GRAD2, "Guardou o celular no bolso.");
            SetPlayerSpecialAction(playerid,SPECIAL_ACTION_STOPUSECELLPHONE);
        }
        return 1;
    }
nгo sei mais acho q usar no cmd do /cp isto:
pawn Код:
new caller = Mobile[playerid];
 if(caller != INVALID_PLAYER_ID)
if(caller != 255)
if(caller < 255)
talvez possa ajudar a definir quem ligou certo? eu nгo entendo mt de pawno por isso nгo escrevam coisas tipo "ah cara й sу vc pegar tal coisa e botar assim em tal coisa",eu gostaria do cmd pronto pq nгo sei...tipo montar o cmd :S


Re: Como fazer um comando desse? - TugaBR - 08.12.2012

Brother, vocк se baseia pelo comando /desligar. Tem que criar a mesma animaзгo. O problema й vocк pegar o que o player deixou na caixa postal, e mostrar pro player dono do celular. Vocк pode pegar o que o player deixou na caixa postal usando strings, tem um FS de Sistema de E-mail na net. Peзo que vocк dк uma conferida, estude ele, vai te ajudar:

https://sampforum.blast.hk/showthread.php?tid=272588







edit.



Re: Como fazer um comando desse? - lucas_mdr1235 - 08.12.2012

Ai mano isso nao tem nada a ver. Essa mensagens nao sao um sistema e sim um aplicativo chamado HOTKEYBOARDPRO complicado mecher mais quando pegar o jeito ja era.


Re: Como fazer um comando desse? - TugaBR - 08.12.2012

Quote:
Originally Posted by lucas_mdr1235
Посмотреть сообщение
Ai mano isso nao tem nada a ver. Essa mensagens nao sao um sistema e sim um aplicativo chamado HOTKEYBOARDPRO complicado mecher mais quando pegar o jeito ja era.
O que й que tem haver mano? Vocк leu a parada lб em cima?


Re: Como fazer um comando desse? - lucas_mdr1235 - 08.12.2012

Quote:
Originally Posted by TugaBR
Посмотреть сообщение
O que й que tem haver mano? Vocк leu a parada lб em cima?
LOL cara eu sei do q estou falando o cara q fez o topico nao tem conhecimento desse aplicativo usado em servidores de RPG ele esta pensando q isso esta no CODIGO mais so q e um aplicaitivo um dos servidores q usa esse processo e o Brasil Play Forever usado pelos lideres e sub lideres.
Nгo q o sistema dele seja impossivel de fazer pq e facil sim citei isso pra ele ver e ter conhecimento do q ele quer