detect if a player is near - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (
https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (
https://sampforum.blast.hk/forumdisplay.php?fid=12)
+---- Forum: Help Archive (
https://sampforum.blast.hk/forumdisplay.php?fid=89)
+---- Thread: detect if a player is near (
/showthread.php?tid=164138)
detect if a player is near -
willsuckformoney - 30.07.2010
how to detect if a player is near a npc?? ima need it for my drug bot xD && the npc wont be in one place xD
Re: detect if a player is near -
ikey07 - 30.07.2010
Here you go
pawn Код:
forward GetClosestPlayer(p1);
forward Float:GetDistanceBetweenPlayers(p1,p2);
pawn Код:
public GetClosestPlayer(p1)
{
new x,Float:dis,Float:dis2,player;
player = -1;
dis = 99999.99;
for (x=0;x<MAX_PLAYERS;x++)
{
if(IsPlayerConnected(x))
{
if(x != p1)
{
dis2 = GetDistanceBetweenPlayers(x,p1);
if(dis2 < dis && dis2 != -1.00)
{
dis = dis2;
player = x;
}
}
}
}
return player;
}
pawn Код:
public Float:GetDistanceBetweenPlayers(p1,p2)
{
new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
if(!IsPlayerConnected(p1) || !IsPlayerConnected(p2))
{
return -1.00;
}
GetPlayerPos(p1,x1,y1,z1);
GetPlayerPos(p2,x2,y2,z2);
return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
}
Re: detect if a player is near -
willsuckformoney - 30.07.2010
Tanks but mind telling me how to use this?? xD
Re: detect if a player is near -
ikey07 - 30.07.2010
Now I figure out easly way
each one second,
GetPlayerPos(npc,x,y,z)
if(IsPlayerInRangeOfPoint(playerid,3.0,x,y,z))
{
"You are near of NPC"
}
if you need whole script , just ask
Re: detect if a player is near -
willsuckformoney - 30.07.2010
teheh just a little script to show me? please
Re: detect if a player is near -
willsuckformoney - 30.07.2010
tehe gots it && of topic nice pic xD
Re: detect if a player is near -
ikey07 - 30.07.2010
Here you go
pawn Код:
public OnPlayerUpdate(playerid)
{
new Float:x,Float:y,Float:z;
GetPlayerPos(YOUR_NPC_ID,x,y,z);
if(IsPlayerInRangeOfPoint(playerid,3.0,x,y,z))
{
SendClientMessage(playerid,0xFFFFFFFF,"NPC Says: hello, Im NPC, what can I do for you?");
}
return 1;
}
Re: detect if a player is near - WackoX - 30.07.2010
Quote:
Originally Posted by ikey07
Here you go
pawn Код:
public OnPlayerUpdate(playerid) { new Float:x,Float:y,Float:z; GetPlayerPos(YOUR_NPC_ID,x,y,z); if(IsPlayerInRangeOfPoint(playerid,3.0,x,y,z)) { SendClientMessage(playerid,0xFFFFFFFF,"NPC Says: hello, Im NPC, what can I do for you?"); } return 1; }
|
Are you serious? that would spam your chatbox every 0.02 seconds or so.
Re: detect if a player is near -
Steven82 - 30.07.2010
Maybe set it on like a 30 second timer. Idk. Or just like make a checkpoint and when player enter's the checkpoint display the text.
Re: detect if a player is near -
ikey07 - 30.07.2010
Quote:
Originally Posted by WackoX
Are you serious? that would spam your chatbox every 0.02 seconds or so.
|
Well, I only showed the script, what he put under it, its not my Biz, because there is ppls who understand only when there is SendClientMessage, than some only understand where he must put his code, I hope you got.
I belive that SendClient.... isn't good idea on some timers, but that was only script example!!!!