31.01.2017, 00:05
спокойной ночи, ребята, Чтобы создать NPC, чтобы напасть на игрока, но NPC происходит через предметы, я попробовал несколько способов, чтобы исправить это с помощью ColAndreas, но не смог.
Code:
public FCNPC_OnUpdate(npcid)
{
foreach(new i : Player)
{
if(!IsPlayerNPC(i) && IsPlayerConnected(i))
{
new Float:PosZ[3], Float:PosP[3];
GetPlayerPos(npcid, PosZ[0], PosZ[1], PosZ[2]);
GetPlayerPos(i, PosP[0], PosP[1], PosP[2]);
if(IsPlayerInRangeOfPoint(i, 15.0, PosZ[0], PosZ[1], PosZ[2])) FCNPC_GoTo(npcid, PosP[0], PosP[1], PosP[2], MOVE_TYPE_RUN, 0.5, false, 0.0, true);
if(IsPlayerInRangeOfPoint(i, 1.0, PosZ[0], PosZ[1], PosZ[2]))
{
FCNPC_Stop(npcid);
FCNPC_MeleeAttack(npcid, -1, true);
}
else FCNPC_StopAttack(npcid);
if(ChecarColisao(npcid,i))
FCNPC_Stop(npcid), FCNPC_StopAttack(npcid);
}
}
return 1;
}
stock ChecarColisao(npcid,playerid)
{
new Float:x, Float:y, Float:z,Float: endx, Float:endy, Float: endz;
FCNPC_GetPosition(npcid,endx,endy,endz);
GetPlayerPos(playerid,x,y,z);
if(CA_RayCastLine(x, y, z, endx, endy, z, x, y, z)) return 1;
return 0;
}


