SA-MP Forums Archive
/drag fix - 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: /drag fix (/showthread.php?tid=399395)



/drag fix - hejsan123 - 14.12.2012

I want to make so if you are cuffed you can make /drag
I have test to make it but it's not working.

Quote:

CMD:drag(playerid, params[])
{
if(IsACop(playerid))
{
new string[128], giveplayerid;
if(sscanf(params, "u", giveplayerid)) return SendClientMessageEx(playerid, COLOR_GREY, "USAGE: /drag [playerid]");

if(IsPlayerConnected(giveplayerid))
{
if(GetPVarInt(giveplayerid, "PlayerCuffed") == 2)
{
if(IsPlayerInAnyVehicle(playerid)) return SendClientMessageEx(playerid, COLOR_WHITE, " You must be out of the vehicle to use this command.");
if(GetPVarInt(giveplayerid, "BeingDragged") == 1)
{
SendClientMessageEx(playerid, COLOR_WHITE, " That player is already being dragged. ");
return 1;
}
new Float:dX, Float:dY, Float:dZ;
GetPlayerPos(giveplayerid, dX, dY, dZ);
if(!IsPlayerInRangeOfPoint(playerid, 5.0, dX, dY, dZ))
{
SendClientMessageEx(playerid, COLOR_GRAD2, " That suspect is not near you.");
return 1;
}
format(string, sizeof(string), "* %s has is now dragging you.", GetPlayerNameEx(playerid));
SendClientMessageEx(giveplayerid, COLOR_WHITE, string);
format(string, sizeof(string), "* You are now dragging %s, you may move them now.", GetPlayerNameEx(giveplayerid));
SendClientMessageEx(playerid, COLOR_WHITE, string);
format(string, sizeof(string), "* %s grabs ahold of %s and begins to move them.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPL E,COLOR_PURPLE);
SendClientMessageEx(playerid, COLOR_WHITE, "You are now dragging the suspect, press the '{AA3333}FIRE{FFFFFF}' button to stop.");
SetPVarInt(giveplayerid, "BeingDragged", 1);
SetPVarInt(playerid, "DraggingPlayer", giveplayerid);
}
else
{
SendClientMessageEx(playerid, COLOR_WHITE, " The specified player is not cuffed !");
}
}
}
else
{
SendClientMessageEx(playerid, COLOR_GREY, " You are not a LEO ! ");
return 1;
}
return 0;
}




Re: /drag fix - Laure - 14.12.2012

What is the problem btw?


Re: /drag fix - hejsan123 - 14.12.2012

Quote:
Originally Posted by Imperor
Посмотреть сообщение
What is the problem btw?
I want to add so if someone is cuffed and then you can make /drag


Re: /drag fix - RajatPawar - 14.12.2012

You are actually doing good, the sscanf and the clientmessages are fine. But you are NOt ACTUALLY IMPLEMENTING the action drag. Use getplayer pos of the cop and then set a timer every second to set the targets position X+2, Y+2 (X and Y are the cops position). You could do it differently, this is how I would do it though..if there's a better way, please share!


Re: /drag fix - hejsan123 - 14.12.2012

Quote:
Originally Posted by Rajat_Pawar
Посмотреть сообщение
You are actually doing good, the sscanf and the clientmessages are fine. But you are NOt ACTUALLY IMPLEMENTING the action drag. Use getplayer pos of the cop and then set a timer every second to set the targets position X+2, Y+2 (X and Y are the cops position). You could do it differently, this is how I would do it though..if there's a better way, please share!
Can you make it and send the code?


Re: /drag fix - hejsan123 - 14.12.2012

can someone fix that for me?


Re: /drag fix - hejsan123 - 15.12.2012

Please can someone help me fast i need to fix that

If you are cuffed you can make /drag

Quote:

CMD:drag(playerid, params[])
{
if(IsACop(playerid))
{
new string[128], giveplayerid;
if(sscanf(params, "u", giveplayerid)) return SendClientMessageEx(playerid, COLOR_GREY, "USAGE: /drag [playerid]");

if(IsPlayerConnected(giveplayerid))
{
if(GetPVarInt(giveplayerid, "PlayerCuffed") == 2)
{
if(IsPlayerInAnyVehicle(playerid)) return SendClientMessageEx(playerid, COLOR_WHITE, " You must be out of the vehicle to use this command.");
if(GetPVarInt(giveplayerid, "BeingDragged") == 1)
{
SendClientMessageEx(playerid, COLOR_WHITE, " That player is already being dragged. ");
return 1;
}
new Float:dX, Float:dY, Float:dZ;
GetPlayerPos(giveplayerid, dX, dY, dZ);
if(!IsPlayerInRangeOfPoint(playerid, 5.0, dX, dY, dZ))
{
SendClientMessageEx(playerid, COLOR_GRAD2, " That suspect is not near you.");
return 1;
}
format(string, sizeof(string), "* %s has is now dragging you.", GetPlayerNameEx(playerid));
SendClientMessageEx(giveplayerid, COLOR_WHITE, string);
format(string, sizeof(string), "* You are now dragging %s, you may move them now.", GetPlayerNameEx(giveplayerid));
SendClientMessageEx(playerid, COLOR_WHITE, string);
format(string, sizeof(string), "* %s grabs ahold of %s and begins to move them.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPL E,COLOR_PURPLE);
SendClientMessageEx(playerid, COLOR_WHITE, "You are now dragging the suspect, press the '{AA3333}FIRE{FFFFFF}' button to stop.");
SetPVarInt(giveplayerid, "BeingDragged", 1);
SetPVarInt(playerid, "DraggingPlayer", giveplayerid);
}
else
{
SendClientMessageEx(playerid, COLOR_WHITE, " The specified player is not cuffed !");
}
}
}
else
{
SendClientMessageEx(playerid, COLOR_GREY, " You are not a LEO ! ");
return 1;
}
return 0;
}




Re: /drag fix - RajatPawar - 15.12.2012

If you made this command yourself, the method I told you should be quite easy to follow/script.