[PEDIDO]Adicionar funзгo no FS Arara
#1

Boa noite pessoal,eu achei um sistema de Araras,e eu gostaria de fazer ele funcionar sу em determinado local,por exemplo,tem um pickup redondo vermelho,ai voce estб nele,e sу lб vocк pode comprar/alimentar/vender a arara,e fora desse pickup nгo pudesse digitar comandos da arara,como eu faзo isso?

pawn Код:
include <a_samp>
    #include <dini>

    #define BRANCO 0xFFFFFFFF
    #define VERMELHO 0xFF0000FF

    enum a
    {
            bool:Arara,
            bool:Racao,
            Grande,
            Timer
    }
    new Info[MAX_PLAYERS][a];

    public OnFilterScriptInit()
    {
            if(!fexist("Araras.txt")) { dini_Create("Araras.txt"); }
            return 1;
    }

    public OnFilterScriptExit()
    {
            for(new i = 0; i < MAX_PLAYERS; i++)
            {
                if(Info[i][Arara]) { RemovePlayerAttachedObject(i, 0); }
            }
            return 1;
    }

    forward Crescimento(playerid);

    public OnPlayerConnect(playerid)
    {
            new nome[24], str[50];
            GetPlayerName(playerid, nome, 24);
            format(str, sizeof str, "%s - Arara", nome);
            if(dini_Isset("Araras.txt", str))
            {
                    Info[playerid][Arara] = bool:dini_Bool("Araras.txt", str);
                    format(str, sizeof str, "%s - Racao", nome);
                    Info[playerid][Racao] = bool:dini_Bool("Araras.txt", str);
                    format(str, sizeof str, "%s - Grande", nome);
                    Info[playerid][Grande] = dini_Int("Araras.txt", str);
                    if(Info[playerid][Arara])
                    {
                           Info[playerid][Timer] = SetTimerEx("Crescimento", 600000, true, "i", playerid);
                            SendClientMessage(playerid, 0xFFFFFFFF, "Alimente sua arara ou ela morrerб.");
                    }
            }
            return 1;
    }

    public OnPlayerSpawn(playerid)
    {
        if(Info[playerid][Arara]) { SetPlayerAttachedObject(playerid,0, 19079, 1, 0.319503, -0.089340, -0.185576, 0.000000, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000 ); }
        return 1;
    }
    public OnPlayerDisconnect(playerid, reason)
    {
            new nome[24], str[50];
            GetPlayerName(playerid, nome, 24);
            format(str, sizeof str, "%s - Arara", nome);
            dini_BoolSet("Araras.txt", str, Info[playerid][Arara]);
            format(str, sizeof str, "%s - Racao", nome);
            dini_BoolSet("Araras.txt", str, Info[playerid][Racao]);
            format(str, sizeof str, "%s - Grande", nome);
            dini_IntSet("Araras.txt", str, Info[playerid][Grande]);
            return 1;
    }

    public OnPlayerCommandText(playerid, cmdtext[])
    {
            if(strcmp(cmdtext, "/comprararara", true) == 0)
            {
                    if(Info[playerid][Grande] >= 5) return SendClientMessage(playerid, VERMELHO, "Sua arara estб grande,e pronta para ser vendida! /venderarara!");
                    if(GetPlayerMoney(playerid)<2000)return SendClientMessage(playerid, BRANCO,"Vocк nгo tem R$2000!");
                    if(Info[playerid][Arara]) return SendClientMessage(playerid, BRANCO, "Vocк jб tem uma Arara!");
                    SendClientMessage(playerid, BRANCO, "Vocк comprou uma Arara!");
                    SendClientMessage(playerid, BRANCO, "Ela irб crescer de 10 em 10 minutos...");
                    SendClientMessage(playerid, BRANCO, "Nгo se esqueзa de Alimentб-la! /AlimentarArara");
                    SetPlayerAttachedObject(playerid,0, 19079, 1, 0.319503, -0.089340, -0.185576, 0.000000, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000 );
                    GivePlayerMoney(playerid, -2000);
                    Info[playerid][Arara] = true;
                    Info[playerid][Timer] = SetTimerEx("Crescimento", 300000, true, "i", playerid);
                    return 1;
            }
            if(strcmp(cmdtext, "/infoarara", true) == 0)
            {
                    if(Info[playerid][Grande] >= 5) return SendClientMessage(playerid, VERMELHO, "Sua arara estб grande,e pronta para ser vendida! /venderarara!");
                    if(!Info[playerid][Arara]) return SendClientMessage(playerid, VERMELHO, "Vocк nгo tem uma arara.");
                    if(Info[playerid][Racao]) { SendClientMessage(playerid, BRANCO, "Arara Alimentada: {008000}Sim"); }
                    else { SendClientMessage(playerid, BRANCO, "Arara Alimentada: {FF0000}Nгo"); }
                    return 1;
            }
            if(strcmp(cmdtext, "/alimentararara", true) == 0)
            {
                    if(Info[playerid][Grande] >= 5) return SendClientMessage(playerid, VERMELHO, "Sua arara estб grande,e pronta para ser vendida! /venderarara!");
                    if(!Info[playerid][Arara]) return SendClientMessage(playerid, VERMELHO, "Vocк nгo tem uma arara.");
                    if(Info[playerid][Racao]) return SendClientMessage(playerid, BRANCO, "Vocк jб alimentou sua Arara!");
                    SendClientMessage(playerid, BRANCO, "Vocк alimentou sua Arara! Isso lhe custou R$400");
                    GivePlayerMoney(playerid, -400);
                    Info[playerid][Racao] = true;
                    return 1;
            }
            if(strcmp(cmdtext, "/venderarara", true) == 0)
            {
                    if(!Info[playerid][Arara]) return SendClientMessage(playerid, BRANCO,"Vocк nгo tem uma Arara!");
                    if(Info[playerid][Grande] < 5) return SendClientMessage(playerid, BRANCO,"Sua Arara ainda nгo estб grande para ser vendida!");
                    Info[playerid][Grande] = 0;
                    Info[playerid][Arara] = false;
                    RemovePlayerAttachedObject(playerid, 0);
                    GivePlayerMoney(playerid, 12000);
                    SendClientMessage(playerid, BRANCO, "Vocк vendeu sua Arara e ganhou R$12000!");
                    return 1;
            }
            return 0;
    }


    public Crescimento(playerid)
    {
            if(!Info[playerid][Arara])
            {
                    KillTimer(Info[playerid][Timer]);
                    return 0;
            }
            if(!Info[playerid][Racao] && Info[playerid][Grande] < 5)
            {
                    SendClientMessage(playerid, BRANCO, "Vocк esqueceu de alimentar sua Arara,e ela morreu!");
                    RemovePlayerAttachedObject(playerid, 0);
                    Info[playerid][Arara] = false;
                    Info[playerid][Grande] = 0;
                    KillTimer(Info[playerid][Timer]);
                    return 1;
            }
            new str[30];
            Info[playerid][Grande]++;
            Info[playerid][Racao] = false;
            format(str, sizeof str, "Sua Arara Cresceu!(%d/5)", Info[playerid][Grande]);
            SendClientMessage(playerid, BRANCO, str);
            if(Info[playerid][Grande] >= 5)
            {
                    SendClientMessage(playerid, BRANCO, "Sua arara estб grande,e pronta para ser vendida! /venderarara!");
                    KillTimer(Info[playerid][Timer]);
            }
            return 1;
    }
Reply
#2

Use IsPlayerInRangeOfPoint
Reply
#3

Ql Posiзao do pickup?e onde quer colocar-lo?
Reply
#4

Peguei o Link do ViniBorn e Tentei fazer aqui mas nгo deu certo...
...

pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
    {
            if(strcmp(cmdtext, "/comprararara", true) == 0)
            {
                if(IsPlayerInRangeOfPoint(playerid, 7.0, 1141.3381, -2044.0369, 69.0006))
            {
                SendClientMessage(playerid,0xFFFFFFFF,"Nгo estб no .... !");
                    if(Info[playerid][Grande] >= 5) return SendClientMessage(playerid, VERMELHO, "Sua arara estб grande,e pronta para ser vendida! /venderarara!");
                    if(GetPlayerMoney(playerid)<2000)return SendClientMessage(playerid, BRANCO,"Vocк nгo tem R$2000!");
                    if(Info[playerid][Arara]) return SendClientMessage(playerid, BRANCO, "Vocк jб tem uma Arara!");
                    SendClientMessage(playerid, BRANCO, "Vocк comprou uma Arara!");
                    SendClientMessage(playerid, BRANCO, "Ela irб crescer de 10 em 10 minutos...");
                    SendClientMessage(playerid, BRANCO, "Nгo se esqueзa de Alimentб-la! /AlimentarArara");
                    SetPlayerAttachedObject(playerid,0, 19079, 1, 0.319503, -0.089340, -0.185576, 0.000000, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000 );
                    GivePlayerMoney(playerid, -2000);
                    Info[playerid][Arara] = true;
                    Info[playerid][Timer] = SetTimerEx("Crescimento", 300000, true, "i", playerid);
                    }
                    return 1;
            }
Eu gostaria de por tipo aquele cilindro vermelho,e tu sу pudesse comprar/vender/alimentar a arara dentro do cilindro...e fora do cilindro nгo..
Reply
#5

Tenta colocar sem a msgn..
pawn Код:
if(strcmp(cmdtext, "/comprararara", true) == 0)
            {
                if(IsPlayerInRangeOfPoint(playerid, 7.0, 1141.3381, -2044.0369, 69.0006))
            {
                    if(Info[playerid][Grande] >= 5) return SendClientMessage(playerid, VERMELHO, "Sua arara estб grande,e pronta para ser vendida! /venderarara!");
                    if(GetPlayerMoney(playerid)<2000)return SendClientMessage(playerid, BRANCO,"Vocк nгo tem R$2000!");
                    if(Info[playerid][Arara]) return SendClientMessage(playerid, BRANCO, "Vocк jб tem uma Arara!");
                    SendClientMessage(playerid, BRANCO, "Vocк comprou uma Arara!");
                    SendClientMessage(playerid, BRANCO, "Ela irб crescer de 10 em 10 minutos...");
                    SendClientMessage(playerid, BRANCO, "Nгo se esqueзa de Alimentб-la! /AlimentarArara");
                    SetPlayerAttachedObject(playerid,0, 19079, 1, 0.319503, -0.089340, -0.185576, 0.000000, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000 );
                    GivePlayerMoney(playerid, -2000);
                    Info[playerid][Arara] = true;
                    Info[playerid][Timer] = SetTimerEx("Crescimento", 300000, true, "i", playerid);
                    }
                    return 1;
            }
@EDIT
Eu gostaria de por tipo aquele cilindro vermelho,e tu sу pudesse comprar/vender/alimentar a arara dentro do cilindro...e fora do cilindro nгo..
..
USA :
pawn Код:
//Topo
new Check;
//FilterScriptInit
Check = AddCheckpoint( 1141.3381, -2044.0369, 69.0006, 4.0, 40);
Tentaa
Reply
#6

pawn Код:
if(strcmp(cmdtext, "/comprararara", true) == 0)
{
    if(!IsPlayerInRangeOfPoint(playerid, 2.0, 1141.3381, -2044.0369, 69.0006))
        return SendClientMessage(playerid, VERMELHO, "Vocк nгo estб no local correto.");

    if(Info[playerid][Grande] >= 5) return SendClientMessage(playerid, VERMELHO, "Sua arara estб grande,e pronta para ser vendida! /venderarara!");
    if(GetPlayerMoney(playerid)<2000)return SendClientMessage(playerid, BRANCO,"Vocк nгo tem R$2000!");
    if(Info[playerid][Arara]) return SendClientMessage(playerid, BRANCO, "Vocк jб tem uma Arara!");

    SendClientMessage(playerid, BRANCO, "Vocк comprou uma Arara!");
    SendClientMessage(playerid, BRANCO, "Ela irб crescer de 10 em 10 minutos...");
    SendClientMessage(playerid, BRANCO, "Nгo se esqueзa de Alimentб-la! /AlimentarArara");
    SetPlayerAttachedObject(playerid,0, 19079, 1, 0.319503, -0.089340, -0.185576, 0.000000, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000 );
    GivePlayerMoney(playerid, -2000);
    Info[playerid][Arara] = true;
    Info[playerid][Timer] = SetTimerEx("Crescimento", 300000, true, "i", playerid);
    return 1;
}
Reply
#7

Nгo deu... :\ й tipo isso que eu quero..



E que quando entrasse lб,pudesse utilizar os comandos da arara,e fora dele nгo pudesse.

@EDIT ; Nгo vi o posto do Vini nem o Edit do Own..aguardem vou tentar
Reply
#8

Ve meu EDIT.
Reply
#9

Nenhum funcionou aqui ;\
Reply
#10

Nгo apareceu ?
@EDIT
Acho que e preciso da include e CPS_
..
Nгo sei bem Checkpoint ;x
pawn Код:
//Topo
#include <cpstream>
new Check;
new Check2;
//FilterScriptInit
Check = CPS_AddCheckpoint(1141.3381, -2044.0369, 69.0006, 4.0, 40);
Check2 = CPS_AddCheckpoint(1141.3381, -2044.0369, 69.0006, 4.0, 40);

public OnPlayerEnterCheckpoint(playerid)
{
if(Check == Check2)
{
SendClientMessage(playerid,-1,"Use : /ComprarArara");
}
return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)