rendered paste body#define MAX_PROPS 100
enum prop_enum
{
Float:xpos,
Float:ypos,
Float:zpos,
fname[256]
}
stock PropUpFunc(playerid, propid, Float:size)
{
new propinfo[prop_enum];
set(propinfo[fname],propfile(dini_Get(PROP_MAIN, str(propid))));
propinfo[xpos]=dini_Float(propinfo[fname], "x");
propinfo[ypos]=dini_Float(propinfo[fname], "y");
propinfo[zpos]=dini_Float(propinfo[fname], "z");
if(GetPlayerDistanceToPointEx(playerid,propinfo[xpos],propinfo[ypos],propinfo[zpos]) < PROP_DIST)
{
if(Player[playerid][area]!=propid)
{
Player[playerid][area]=propid;
SetPlayerCheckpoint(playerid,propinfo[xpos],propinfo[ypos],propinfo[zpos],size);
}
return true;
} else if(Player[playerid][area]==propid)
{
DisablePlayerCheckpoint(playerid);
Player[playerid][area]=0;
return true;
}
return false;
}
#define PropUp(%1,%2,%3) if(PropUpFunc(%1,%2,%3)) return true
CheckpointUpdate(playerid)
{
for(new i = 1; i <= dini_Int(PROP_MAIN, IDS); i++)
{
if(MAX_PROPS-1 < i) return false;
PropUp(playerid, i, dini_Float(propfile(dini_Get(PROP_MAIN, str(i))), "size"));
}
return false;
}