Portal SAMP
[Ajuda] Profissão de Caçador - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Profissão de Caçador (/showthread.php?tid=433)



Profissão de Caçador - LeleziiN - 05/12/2020

Bom pessoal implementei um sistema de Caçar Cervos na Profissão de Caçador.
Exemplo: O o player pega a profissão de caçador ai ele vai para o spaw da profissao, ai na area de caça o player digita /cacar ai aparece um checkpoint no cervo e um ponto vermelho no mapa indicando aonde ele esta, quando chego perto o cp desaparece, e quando atiro no objeto do cervo ele não se destroir, poderiam mim ajudar nesse bug pfvr pois ja tentei e até agora nada de resolver

Código:
new Veados[10];
new Cacas[MAX_PLAYERS];
new PodePegar[MAX_PLAYERS];

new Float: VeadosCF[16][3] =
{
    {-1758.8411,-2216.6213,65.0577},
    {-1745.5845,-2183.6558,60.6717},
    {-1744.3525,-2183.0427,60.1695},
    {-1732.0298,-2135.0994,51.1673},
    {-1715.9175,-2106.1194,42.0772},
    {-1670.8931,-2101.1980,39.6994},
    {-1647.6996,-2104.4160,38.3779},
    {-1626.4993,-2117.6799,33.4966},
    {-1598.6370,-2137.8540,19.8412},
    {-1529.2206,-2140.1216,5.9310},
    {-1534.3219,-2181.5002,3.9616},
    {-1573.7734,-2223.5271,14.4488},
    {-1615.0796,-2261.3125,31.2145},
    {-1584.1884,-2285.6411,25.3133},
    {-1555.9476,-2266.5667,4.4041},
    {-1608.1683,-2240.4658,26.7188}
};

// Comando para caçar

if(strcmp(cmd, "/cacar", true) == 0)
    {
        if(Profissao[playerid] == Cacador || VerificarADM(playerid) == 1)
        {
            if(CacaInProgress[playerid] == 1)
            {
                  SendClientMessage(playerid, CORX1, "| ERRO | Você já está caçando!");
                return 1;
            }
            if(CacaInProgress[playerid] == 0)
            {
                  new Float:X, Float:Y, Float:Z;
                GetPlayerPos(playerid,X,Y,Z);
                if(AreaCaca[playerid] == 1)
                {
                    new indx = random(sizeof(VeadosCF));
                    Veados[0] = CreateObject(19315, VeadosCF[indx][0], VeadosCF[indx][1], VeadosCF[indx][2], 0, 0, 0);
                    SetPlayerCheckpoint(playerid, VeadosCF[indx][0], VeadosCF[indx][1], VeadosCF[indx][2], 1.0);
                    SendClientMessage(playerid, COR_MARA1, "| INFO | Caça iniciada. Há informações de um animal a poucos metros de você, siga o icone amarelo no mapa para chegar ao local!");
                    CacaInProgress[playerid] = 1;
                    //return 1;
                }
                else
                {
                    SendClientMessage(playerid,CORX1,"| ERRO | Você não está na área de caça.");
                    return 1;
                }
            }
        }
        else
        {
            SendClientMessage(playerid,CORX1,"| ERRO | Você não tem permissão!");
            return 1;
        }
        return 1;
    }
    
    if(strcmp(cmd,"/vendercaca",true) == 0)
    {
        if(Profissao[playerid] == Cacador || VerificarADM(playerid) == 1)
        {
            new msg[256];
            new quantia;
            if(CPS_IsPlayerInCheckpoint(playerid, checkvendas))
            {
                if(Cacas[playerid] == 0)
                {
                    SendClientMessage(playerid, CORX1, "| ERRO | Você não tem nenhuma caça!");
                    return 1;
                }
                else
                {
                    quantia = Cacas[playerid] * 3750;
                    format(msg, sizeof(msg),"| INFO | Você vendeu %d caça(s) por $100 cada e faturou $%d com a venda.",Cacas[playerid],quantia);
                    SendClientMessage(playerid, COR_MARA2, msg);
                    GivePlayerMoneyEx(playerid,quantia);
                    Cacas[playerid] = 16;
                    return 1;
                }
            }
            else
            {
                SendClientMessage(playerid, CORX1, "| ERRO | Você não está na Cooperativa de Caça [Pier 69 de San Fierro]!");
                return 1;
            }
        }
        else
        {
            SendClientMessage(playerid, CORX1, "| ERRO | Você não tem permissão!");
            return 1;
        }
    }

    
    
public OnPlayerShootDynamicObject(playerid, weaponid, objectid, Float:x, Float:y, Float:z)
{
    for(new i; i != 10; i++)
    {
        if(objectid == Veados[i])
        {
            DestroyObject(Veados[i]);
            SendClientMessage(playerid, COR_MARA1, "| INFO | Você abateu um veado com sucesso!");
            DisablePlayerCheckpoint(playerid);
            Cacas[playerid] ++;
        }
    }
    return 1;
}
 
A base que peguei para fazer o meu
https://www.youtube.com/watch?v=gsTAnq6eSxE&t=97s