ZCMD - Help - 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)
+--- Thread: ZCMD - Help (
/showthread.php?tid=558224)
ZCMD - Help -
danish007 - 16.01.2015
Hello,
i want to know how can i use COMMAND:arrest(playerid, params[]) under OnPlayerKeyState...
is there any way?
or any code? to perform the command under onplayerkeystate?
Re: ZCMD - Help -
Schneider - 16.01.2015
Yes, you gave the answer yourself already:
pawn Код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys == Whatever key)
{
new closestplayer = //Get The Closest player
new target[4];
format(target, 4, "%d", closestplayer);
cmd_arrest(playerid, target);
}
return 1;
}
Re: ZCMD - Help -
ATGOggy - 16.01.2015
This is an example:
A stock:
PHP код:
stock GetClosestPlayerToPlayer(playerid)
{
new Float:dist = 1000.0;
new targetid = INVALID_PLAYER_ID;
new Float:x1,Float:y1,Float:z1;
new Float:x2,Float:y2,Float:z2;
new Float:tmpdis;
GetPlayerPos(playerid,x1,y1,z1);
for(new i=0;i<MAX_PLAYERS;i++)
{
if(i == playerid) continue;
GetPlayerPos(i,x2,y2,z2);
tmpdis = floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
if(tmpdis < dist)
{
dist = tmpdis;
targetid = i;
}
}
return targetid;
}
Under OnPlayerKeyState
PHP код:
if(newkeys==a)
{
if(GetPlayerTeam(playerid)!=TEAM_LAW) return SendClientMessage(playerid, COLOR_RED, "ERROR: You are not a law enforcement agent.");
CallLocalFunction("OnPlayerCommandText", "is", GetClosestPlayerToPlayer(playerid), "/arrest");
return 1;
}
Re: ZCMD - Help -
danish007 - 16.01.2015
only for playerid?
how can i call only for playerid?
Re: ZCMD - Help -
TheRaGeLord - 16.01.2015
It Will work for the Closest Player, If you Use What ATOggy Said..
Re: ZCMD - Help -
danish007 - 16.01.2015
but i want to use only for playerid