05/12/2020 13:11
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
A base que peguei para fazer o meu
https://www.youtube.com/watch?v=gsTAnq6eSxE&t=97s
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