objeto não destroi - LeleziiN - 25/11/2020
Bom quando atiro no objeto(veado) ele não se destroi e nem quando saiu da area de caça o objeto não se destroi, oq poderia ser?
codigo da area
Código: if(X >= -1773.246093 && Y >= -2412.403564 && X <= -1501.246093 && Y <= -2100.403564) //Floresta LS
{
if(GetPlayerInterior(I) == 0)
{
//GameTextForPlayer(i,"~p~Area ~g~de ~r~Caca",500,4);
TextDrawSetString(TextdrawPostos[I], "~n~~y~~h~Area ~w~~h~de ~b~~h~~h~~h~Caca ~w~~h~- ~g~~h~~h~~h~/Cacar");
TextDrawShowForPlayer(I, TextdrawPostos[I]);
AreaCaca[I] = 1;
}
}
else
{
AreaCaca[I] = 0;
if(CacaInProgress[I] == 1)
{
SendClientMessage(I, COR_ORKUT, "| INFO | Você abandonou sua caça...");
CacaInProgress[I] = 0;
DestroyDynamicObject(Veados[I]);
//Cacas[I] = 16;
//TempoCacaAtivado[I] = 0;
//KillTimer(TempoCaca[I]);
}
}
e o codigo do tiro
Código: public OnPlayerShootDynamicObject(playerid, weaponid, objectid, Float:x, Float:y, Float:z)
{
for(new i; i != 17; i++)//10
{
if(objectid == Veados[i])
{
DestroyDynamicObject(Veados[i]);
SendClientMessage(playerid, COR_MARA1, "| INFO | Você abateu um veado com sucesso!");
DisablePlayerCheckpoint(playerid);
Cacas[playerid] ++;
}
}
return 1;
}
Poderiam mim ajudar pfvr
RE: objeto não destroi - Guscooby - 25/11/2020
Para saber se você está próximo de algum local é interessante usar o
Código: IsPlayerInRangePoint
Já no problema do tiro no veado, você precisa enviar o código da criação do objeto. Talvez o problema esteja na criação do próprio objeto.
RE: objeto não destroi - LeleziiN - 26/11/2020
A parte de criar o objeto
Código: 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] = CreateDynamicObject(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);
//SetPlayerMapIcon(playerid, 90, Float:X, Float:Y, Float:Z, 56, 0, MAPICON_GLOBAL_CHECKPOINT);
//PlayerPlaySound(playerid, 1057, 0.0, 0.0, 10.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;
}
A base que fiz o meu
Código: #include <a_samp>
#include <streamer>
#include <zcmd>
new Veados[10];
new Cacas[MAX_PLAYERS];
new PodePegar[MAX_PLAYERS];
new Float: ViadosCF[9][3] =
{
{-1719.8383,-2234.2600,50.4234}, // X Y Z coord 1
{-1772.4163,-2231.8875,66.7393}, // X Y Z coord 2
{-1804.1705,-2206.6208,75.7214}, // X Y Z coord 3
{-1834.0166,-2185.7173,80.4917}, // X Y Z coord 4
{-1861.4663,-2166.8967,82.6432}, // X Y Z coord 5
{-1928.5894,-2141.1968,76.4992}, // X Y Z coord 6
{-1962.7743,-2111.5525,78.2001}, // X Y Z coord 7
{-2002.7104,-2027.5487,80.9751}, // X Y Z coord 8
{-1997.5974,-2008.5566,85.7108} // X Y Z coord 9
};
main()
{
print("\n----------------------------------");
print("By Juliano Carrinho");
print("----------------------------------\n");
}
public OnGameModeInit()
{
// Don't use these lines if it's a filterscript
SetGameModeText("Caça");
AddPlayerClass(18, -1633.5469, -2233.8367, 31.4766, 0, 0, 0, 0, 0, 0);
//System Caçador By Juliano Carrinho
//
CreatePickup(358, 23, -1633.5469, -2233.8367, 31.4766, -1);
Create3DTextLabel("Pegue Seu Rifle de Caca Aqui\n/rifle\nBoa Caca!!", -1, -1633.5469, -2233.8367, 31.4766, 40.0, 0, -1);
//
CreatePickup(19315, 23, -1628.9717,-2239.3115,31.4766, -1);
Create3DTextLabel("Aperte 'F' Para Ver As Instrucoes!!", -1, -1628.9717,-2239.3115,31.4766, 40.0, 0, -1);
//
AddStaticVehicle(471,-1646.0482,-2247.6357,30.6148,91.9894,77,82); // Quad 1
AddStaticVehicle(471,-1645.7937,-2245.8611,30.4259,89.7857,77,82); // Quad 2
//
new Cacador = CreateActor (18, -1632.7811, -2247.2131, 31.4766, 2.5765);
ApplyActorAnimation(Cacador, "ped","IDLE_chat", 4.1,1,0,0,1,0);
Create3DTextLabel("Venda Suas Cacas Aqui\n/vendercaca", -1, -1632.7811,-2247.2131,31.4766, 40.0, 0, -1);
//
return 1;
}
public OnGameModeExit()
{
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, -1633.5469, -2233.8367, 31.4766);
SetPlayerCameraPos(playerid, -1633.5469, -2233.8367, 31.4766);
SetPlayerCameraLookAt(playerid, -1633.5469, -2233.8367, 31.4766);
return 1;
}
public OnPlayerSpawn(playerid)
{
SetPlayerPos(playerid, -1633.5469, -2233.8367, 31.4766);
for(new i; i < 100; i++)
{
SendClientMessage(playerid ,-1, " ");
}
PodePegar[playerid] = 0;
return 1;
}
public OnPlayerDeath(playerid)
{
PodePegar[playerid] = 0;
return 1;
}
CMD:rifle(playerid)
{
if(PodePegar[playerid] == 1) return SendClientMessage(playerid, -1, "| ERRO | Voce Ja Pegou um Rifle");
GivePlayerWeapon(playerid, 34, 9999);
SendClientMessage(playerid, -1, "| INFO | Voce Pegou Seu Rifle de Caca, Leia As Instrucoes, Boa Caca!!");
PodePegar[playerid] = 1;
return 1;
}
CMD:cacarv(playerid)
{
if(IsPlayerInRangeOfPoint(playerid, 1000.0, -1633.5469, -2233.8367, 31.4766))
{
new indx = random(sizeof(ViadosCF));
Veados[0] = CreateDynamicObject(19315, ViadosCF[indx][0], ViadosCF[indx][1], ViadosCF[indx][2], 0, 0, 0);
SetPlayerCheckpoint(playerid, ViadosCF[indx][0], ViadosCF[indx][1], ViadosCF[indx][2], 1.0);
}
else SendClientMessage(playerid, -1, "| ERRO | Voce Nao Esta na Area de Caca");
return 1;
}
CMD:vendercacav(playerid)
{
if(IsPlayerInRangeOfPoint(playerid, 2.0, -1632.7811,-2247.2131,31.4766))
{
if(Cacas[playerid] < 3) return SendClientMessage(playerid, -1, "| ERRO | Voce Nao Tem Casas Suficiente!!");
new GranaExp = randomEx(50, 100), Str[55];
format(Str, 55, "| INFO | Voce recebeu R$ %i,00 Pela Caca!", GranaExp);
SendClientMessage(playerid, 0x33AA33AA, Str);
GivePlayerMoney(playerid, GranaExp);
}
else SendClientMessage(playerid, -1, "| ERRO | Voce Nao Esta na Area de Caca");
return 1;
}
public OnPlayerKeyStateChange(playerid,newkeys,oldkeys)
{
if(newkeys & KEY_SECONDARY_ATTACK)
{
if(IsPlayerInRangeOfPoint(playerid, 3.0, -1628.9717,-2239.3115,31.4766))
{
SendClientMessage(playerid, -1, "| INFO | Voce Comecou a Casa, Procure Os Veados Pela Area e Mate-os!!");
SendClientMessage(playerid, -1, "| INFO | Cada Vez Que Voce Matar Um Veado, Voce Ganha 1Kg De Carne, Depois e So Vender");
SendClientMessage(playerid, -1, "| INFO | Use o Quad Para Se Movimentar Melhor Pela Area.. E /cacar Para Cacar");
}
}
return 1;
}
public OnPlayerShootDynamicObject(playerid, weaponid, objectid, Float:x, Float:y, Float:z)
{
for(new i; i != 10; i++)
{
if(objectid == Veados[i])
{
DestroyDynamicObject(Veados[i]);
SendClientMessage(playerid, -1, "| CACA | Voce Acertou Um Veado");
DisablePlayerCheckpoint(playerid);
Cacas[playerid] ++;
}
}
return 1;
}
stock randomEx(min, max)
return random(max - min) + min;
RE: objeto não destroi - LeleziiN - 27/11/2020
Pderiam mim ajudar
RE: objeto não destroi - LeleziiN - 30/12/2020
Resolvido, sistema próprio criado
|