19.11.2010, 21:06
How to set a checkpoint to follow a player?
if (strcmp(cmd, "/tracker", true) == 0)
{
new Float:x, Float:y, Float:z;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /tracker [playerid/PartOfName]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if(PlayerInfo[playerid][pJob] == 1)
{
GetPlayerPos(giveplayerid,x,y,z);
if(PlayerInfo[playerid][pJustAttachedMole] == 0)
{
if(!IsPlayerInRangeOfPoint(playerid, 15, x, y, z))
{
SendClientMessage(playerid, COLOR_GRAD1, "** Player is not near you!");
return 1;
}
SetPlayerCheckpoint(playerid,x,y,z,5.0);
GameTextForPlayer(playerid,"~b~Tracker Attached to ~n~~r~suspect",5000,5);
PlayerInfo[playerid][pJustAttachedMole] = 1;
SendClientMessage(playerid,COLOR_RED,"|______________Laptop Information________________|");
SendClientMessage(playerid,COLOR_RED,"Tracker attatched,your tracking your suspect!");
SendClientMessage(playerid,COLOR_RED,"Type /killtracker to deatatch it!");
}
else
{
SendClientMessage(playerid,COLOR_YELLOW,"You already have an attached tracker,type /killtracker to deattatch it!");
}
}
else
{
SendClientMessage(playerid,COLOR_RED,"You need to be a detective for this job!");
}
return 1;
}
new CPTimer[MAX_PLAYERS];
CPTimer[playerid] = SetTimerEx("UpdateCP", 1000, true, "i", playerid);
KillTimer(CPTimer[playerid]);
forward UpdateCP(playerid);
public UpdateCP(playerid)
{
new Float:pos[3];
GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
for(new i=0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
SetPlayerCheckpoint(i, pos[0], pos[1], pos[2], 3.0);
}
}
}
CPTimer[playerid] = SetTimerEx("UpdateCP", 1000, true, "ii", playerid, giveplayerid);
forward UpdateCP(playerid, giveplayerid);
public UpdateCP(playerid, giveplayerid)
{
new Float:pos[3];
GetPlayerPos(giveplayerid, pos[0], pos[1], pos[2]);
SetPlayerCheckpoint(playerid, pos[0], pos[1], pos[2], 3.0);
}