[AJUDA] Usar cmd sу a 10 metros de distancia
#1

Galera, to com um probleminha aqui, to com 2 comandos aqui no meu Game-Mode, sу que quando eu uso, eu posso usa-lo para qualquer ID mesmo nгo estando online e o player й libertado ou sequestrado.

Tipo eu queria que alguйm colocasse nos 2 para que sу quando alguйm digitasse /comando [id-do-player] no ID que nгo estб conectado apareзa a mensagem "Este jogador nгo estб conectado!" e que tambйm sу possa digitar os 2 comandos em algum jogador com 10 metros de distancia, caso esteja a 11 metros ou mais e ele digite apareзa "Vocк nгo estб a 10 metros do jogador...", por favor, quem souber, coloca isso ai nos 2 comandos...

Aqui vai os comandos:

pawn Код:
if(strcmp(cmd,"/libertar", true) == 0)
    {
            new tmpp[256];
            tmp = strtok(cmdtext, idx);
                        if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_LARANJA, "Digite: /libertar [id-do-jogador] ");
                return 1;
            }
            giveplayerid = strval(tmp);
            tmpp = strtok(cmdtext, idx);
    if(giveplayerid != playerid)
                {
                    if(sequestrado[giveplayerid] == 0)
                    {
                        for(new i = 0; i < TOTALPLAYERS; i ++)
                        {
                        if(Digitou[giveplayerid] != 10)
                             {
                            if(i != playerid)
                                {
                                    format(string, sizeof(string), "%s(id:%d) Libertou %s(id:%d) Da Base Traficantes. O Objetivo e chegar na delegacia de LS",
                                    PlayerName(playerid), playerid, PlayerName(giveplayerid), giveplayerid);
                                    SendClientMessage(playerid,COLOR_AZULFRACO,string);
                                    SetPlayerPos(giveplayerid, 2512.7249,-960.6126,85.1028);
                                     Digitou[giveplayerid] != 10;
                                }
                                }
                            }
                        }
                            }

                    if(Digitou[giveplayerid] == 10)
                             {
                        SendClientMessageToAll(COLOR_VERMELHO,"Comeзou uma fuga de Sequestrados.");
                        GivePlayerMoney(playerid,50000);
                        GivePlayerWeapon(giveplayerid,26,300);
                        GivePlayerWeapon(giveplayerid,32,300);
                        SetPlayerPos(giveplayerid, 239.96437072754, -1389.6704101563, 53.109375);
                        Digitou[giveplayerid] != 10;
                        }
        if(giveplayerid == playerid)
        {
  return SendClientMessage(playerid,COLOR_ROXO,"Voce nao pode se libertar");
  }
                return 1;
    }
pawn Код:
if(strcmp(cmd,"/sequestrar", true) == 0)
    {
            if(Stats[playerid][GANGID] == 2)
            {
            new tmpp[256];
            tmp = strtok(cmdtext, idx);
                        if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_LARANJA, "Digite: /sequestrar [id-do-jogador] ");
                return 1;
            }
            giveplayerid = strval(tmp);
            tmpp = strtok(cmdtext, idx);
                          if(giveplayerid != playerid)
                {
                    if(sequestrado[giveplayerid] == 0)
                    {
                        for(new i = 0; i < TOTALPLAYERS; i ++)
                        {
                        if(Stats[playerid][GANGID] == 2)
                        {
                            if(i != playerid)
                                {
                                SetPlayerPos(giveplayerid,233.22340393066,-1380.4265136719,53.140632629395);
                                }
                            }
                        }
                            }
                     }
                     }
                if(Stats[playerid][GANGID] != 2)
            {
return SendClientMessage(playerid,COLOR_VERMELHO2,"Vocк nao й um Traficante");
            }
                if(Digitou[giveplayerid] == 10)
                    return SendClientMessage(playerid, 0xFFFFFFFF, "Este Player Ja Esta Sequestrado");
                         if(Digitou[giveplayerid] != 10)
                {
                        SendClientMessageToAll(COLOR_VERMELHO2,"A Traficantes fez um novo refйm, vб salva-lo!");
                        SendClientMessageToAll(COLOR_VERMELHO2,"Obs.: A Cada Refйm salvo vocк ganha 50000 em dinheiro!");
                        ResetPlayerWeapons(giveplayerid);
                        SetPlayerPos(giveplayerid,2502.7595,-955.4245,82.3018);
                        Digitou[giveplayerid] = 10;
                        }
                return 1;
    }
Please, help-me!
Reply
#2

Me adiciona no SKYPE ou MSN:

Skype: jhony.test
MSN: equipebpground@hotmail.com

Nгo upei minha ajuda pra vocк aqui, porque б pagina ta dando erro quando vai carrega !
Reply
#3

BurnouT_ nгo coloca Arial Black й ruim de ler mano na moral =D.
Reply
#4

Ta adicionado, estou te esperando lб

- Aceito mais ajudas
Reply
#5

Usa isso aqui sу nгo mi pergunte de quem й os crйditos nгo sei :S

pawn Код:
//isos й uma public  ._.
forward ProxDetectorS(Float:radi, playerid, targetid);
public ProxDetectorS(Float:radi, playerid, targetid)
{
    if(IsPlayerConnected(playerid)&&IsPlayerConnected(targetid))
    {
        new Float:posx, Float:posy, Float:posz;
        new Float:oldposx, Float:oldposy, Float:oldposz;
        new Float:tempposx, Float:tempposy, Float:tempposz;
        GetPlayerPos(playerid, oldposx, oldposy, oldposz);
        //radi = 2.0; //Trigger Radius
        GetPlayerPos(targetid, posx, posy, posz);
        tempposx = (oldposx -posx);
        tempposy = (oldposy -posy);
        tempposz = (oldposz -posz);
        //printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);
        if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
        {
            return 1;
        }
    }
    return 0;
}
Exemplo:

pawn Код:
if(strcmp(cmd,"/libertar", true) == 0)
{
    new tmpp[256];
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
        SendClientMessage(playerid, COLOR_LARANJA, "Digite: /libertar [id-do-jogador] ");
        return 1;
    }
    giveplayerid = strval(tmp);
    tmpp = strtok(cmdtext, idx);
    if(giveplayerid != playerid)
    {
        if(sequestrado[giveplayerid] == 0)
        {
            if(ProxDetectorS(10.0, playerid, cliente)) // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
            {
                for(new i = 0; i < TOTALPLAYERS; i ++)
                {
                    if(Digitou[giveplayerid] != 10)
                    {
                        if(i != playerid)
                        {
                            format(string, sizeof(string), "%s(id:%d) Libertou %s(id:%d) Da Base Traficantes. O Objetivo e chegar na delegacia de LS",
                            PlayerName(playerid), playerid, PlayerName(giveplayerid), giveplayerid);
                            SendClientMessage(playerid,COLOR_AZULFRACO,string);
                            SetPlayerPos(giveplayerid, 2512.7249,-960.6126,85.1028);
                            Digitou[giveplayerid] != 10;
                        }
                    }
                }
            }
        }
        else
        {
            SendClientMessage(playerid, 0xFFFFFFFF, "Vocк deve chegar mais perto do Player!");// <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
        }
    }
    if(Digitou[giveplayerid] == 10)
    {
        SendClientMessageToAll(COLOR_VERMELHO,"Comeзou uma fuga de Sequestrados.");
        GivePlayerMoney(playerid,50000);
        GivePlayerWeapon(giveplayerid,26,300);
        GivePlayerWeapon(giveplayerid,32,300);
        SetPlayerPos(giveplayerid, 239.96437072754, -1389.6704101563, 53.109375);
        Digitou[giveplayerid] != 10;
    }
    if(giveplayerid == playerid)
    {
        return SendClientMessage(playerid,COLOR_ROXO,"Voce nao pode se libertar");
    }
    return 1;
}
Tenta ai se der certo vocк faz no outro se nгo der estuda o codigo ._.
Reply
#6

Bom, nesse cуdigo do /libertar tava faltando uma new

new cliente;

eu coloquei e compilou certin, sу que to sem ngm pra testar, fui testar sozinho, tentei qualquer ID e tipo apareceu a mensagem que eu libertei o (id:%d) sу que esse ID nгo ta On, ai nгo dб nem pra ver se a parada dos 10 metros funfou, mais depois irei testar aqui e posto aqui se funfou ou nгo...

Por favor, continuem dando cуdigos, preciso resolver essas 2 coisas urgente!
Reply
#7

Quote:
Originally Posted by BurnouT_
Посмотреть сообщение
- Aceito mais ajudas
І

The message you have entered is too short. Please lengthen your message to at least 8 characters.
Reply
#8

Bem BurnouT_, dei uma arrumada no public do ProxDetectorS para o mesmo responder apenas б 10 metros exatos de distancia, apesar de eu achar meio difнcil 2 jogadores estarem б 10 metros exatos.


Aqui estб, use-o em um if assim como o ProxDetectorS. Coloque o cуdigo abaixo no final do gamemode:

pawn Код:
stock DeZMetrOsProxDetectorS(Float:radi, playerid, targetid)
{
    if(IsPlayerConnected(playerid)&&IsPlayerConnected(targetid))
    {
        new Float:posx, Float:posy, Float:posz;
        new Float:oldposx, Float:oldposy, Float:oldposz;
        new Float:tempposx, Float:tempposy, Float:tempposz;
        GetPlayerPos(playerid, oldposx, oldposy, oldposz);
        GetPlayerPos(targetid, posx, posy, posz);
        if(posx-oldposx==10 && posy-oldposy==10)
        {
            tempposx = (oldposx -posx);
            tempposy = (oldposy -posy);
            tempposz = (oldposz -posz);
            if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
            {
                return 1;
            }
        }
    }
    return 0;
}

Espero ter ajudado
Reply
#9

Usa o ProxDetector do GF!
Reply
#10

Pow vey, rjj, jб tentei do seu modo, mais nгo consegui, adapta seu cуdigo com meus 2 comandos e posta aqui vey, por favor... To precisando muito!
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)