[pwn]#include <a_samp> //********xObjects**********
forward PlayerObjectUpdate(playerid);
enum object_info
{
modelidd,
Float:ox,
Float:oy,
Float:oz,
Float:orx,
Float:ory,
Float:orz,
Float:viewdist
}
new Objects[][object_info] = {// ниже вставляй свои обьекты в том же виде, в котором вставлен пример
{3997,4.1605,1504.3836,829.6649,0.0000,0.0000,0.0000,50.0},
};
enum player_info
{
objid[sizeof(Objects)],
bool:view[sizeof(Objects)]
}
new PlayerO[MAX_PLAYERS][player_info];
//**************************
main()
{
print("\n----------------------------------");
print(" x Objects ");
print("----------------------------------\n");
}
public OnPlayerSpawn(playerid)
{
SetTimerEx("PlayerObjectUpdate", 100, 1, "d", playerid);
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/mycommand", cmdtext, true, 10) == 0)
{
///
return 1;
}
return 0;
}
//------------------------------------------------------------------------------
// xObjects
//------------------------------------------------------------------------------
bool:IsInReach(Float:x,Float:y,Float:z,Float:x2,Float:y2,F loat:z2,Float:dist)
{
x = (x > x2) ? x - x2 : x2 - x;
if(x > dist) return false;
y = (y > y2) ? y - y2 : y2 - y;
if(y > dist) return false;
z = (z > z2) ? z - z2 : z2 - z;
if(z > dist) return false;
return true;
}
//------------------------------------------------------------------------------
public PlayerObjectUpdate(playerid)
{
if(IsPlayerConnected(playerid))
{
new Float:pos[3];
GetPlayerPos(playerid,pos[0],pos[1],pos[2]);
for(new i = 0; i < sizeof(Objects); i++)
{
if(!PlayerO[playerid][view][i])
{
if(IsInReach(pos[0],pos[1],pos[2],Objects[i][ox],Objects[i][oy],Objects[i][oz],Objects[i][viewdist]))
{
PlayerO[playerid][view][i] = true;
PlayerO[playerid][objid][i] = CreatePlayerObject(playerid,Objects[i][modelidd],Objects[i][ox],Objects[i][oy],Objects[i][oz],Objects[i][orx],Objects[i][ory],Objects[i][orz]);
}
} else if(!IsInReach(pos[0],pos[1],pos[2],Objects[i][ox],Objects[i][oy],Objects[i][oz],Objects[i][viewdist]))
{
PlayerO[playerid][view][i] = false;
DestroyPlayerObject(playerid,PlayerO[playerid][objid][i]);
}
}
}
}[/pwn]