CMD:jail ( playerid , params [] )
{
if ( !IsPlayerAdmin ( playerid ) ) return SendClientMessage ( playerid , -1 , "Your not admin! Dumbass" ) ;
new TargetID , Reason[128];
if ( sscanf ( params , "us[128]" , TargetID , Reason ) ) return SendClientMessage ( playerid , -1 , "Usage : /jail [ID] [REASON]" ) ;
if( !IsPlayerConnected ( TargetID ) ) return SendClientMessage ( playerid , -1 , "Invalid ID" ) ;
if ( TargetID == playerid ) return SendClientMessage ( playerid , -1 , "You cannot jail yourself" ) ;
else
{
//SetPlayerPos(player , Float:x , Float:y , Float:z ) ;
new pName[MAX_PLAYER_NAME] , IDName[MAX_PLAYER_NAME];
GetPlayerName ( playerid , pName , MAX_PLAYER_NAME ) ;
GetPlayerName ( TargetID , IDName , MAX_PLAYER_NAME ) ;
new str[128];
format ( str , 128 , "%s Has been Jailed by Administrator %s. [Reason : %s ]" , IDName , pName , Reason ) ;
SendClientMessageToAll ( -1 , str ) ;
new str2[128];
format ( str2 , 128 , "You have been Jailed by Administrator %s. [Reason : %s ]" , pName , Reason ) ;
SendClientMessage ( TargetID , -1 , str2 ) ;
}
return 1;
}
if(strcmp(cmd, "/prison", true) ==0)
{
if(IsPlayerAdmin(playerid)>1)
{
new suspect = GetClosestPlayer(playerid);
if(GetPlayerWantedLevel(suspect)>1)
{
if(IsPlayerConnected(suspect))
{
if(GetDistanceBetweenPlayers(playerid,suspect) < 5)
{
GetPlayerName(suspect, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* You were prisoned by %s.", sendername);
SendClientMessage(suspect, COLOR_BLUE, string);
format(string, sizeof(string), "* You prisoned %s.", giveplayer);
SendClientMessage(playerid, COLOR_BLUE, string);
SetPlayerInterior(suspect,JAILINTERIOR);
SetPlayerPos(suspect,JAILX,JAILY,JAILZ);
}
else
{
SendClientMessage(playerid, COLOR_GREY, "None near you!");
return 1;
}
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, "You can only prison wanted persons!");
}
}
return 1;
}
forward GetClosestPlayer(p1);
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;
}
forward Float:GetDistanceBetweenPlayers(p1,p2);
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));
}
|
Thanks but it shoulden't be a admin command it just so you can jail ppls when they have done a crime/s
Or can't I done like this: GetPlayerWantedLevel and then if they have wanted level he can teleport to jail.. If a cop writes /jail id |
command(jail, playerid, params[])
{
new pID = -1;
if(sscanf(params, "u", pID)) return SendClientMessage(playerid, 0x0, "Usage: /jail [playerid]");
if(!IsPlayerConnected(pID) || pID == -1 || pID == playerid) return SendClientMessage(playerid, 0x0, "You are either trying to jail yourself, or this player is yourself.");
if(GetPlayerWantedLevel(pID) < 1) return SendClientMessage(playerid, 0x0, "This player is not wanted..");
// tele to jail here
// remove wanted level
return 1;
}
there u have wrote the comment should I paste the teleport code there??.. How can I make so they come in random jail because I have like 7 jails..//I mean comment like this <<<
enum posInfo
{
Float: X,
Float: Y,
Float: Z,
}
new JailZones[][posInfo] = {
{X, Y, Z}, // change X, Y, Z to the cordinates of jail 1
{X, Y, Z}, // change X, Y, Z to the cordinates of jail 2
{X, Y, Z}, // change X, Y, Z to the cordinates of jail 3
{X, Y, Z}, // change X, Y, Z to the cordinates of jail 4
{X, Y, Z}, // change X, Y, Z to the cordinates of jail 5
{X, Y, Z}, // change X, Y, Z to the cordinates of jail 6
{X, Y, Z} // change X, Y, Z to the cordinates of jail 7
};
// Now to choose a random cordinate just do:
new RandomJail = random(sizeof(JailZones));
// Then :
SetPlayerPos(playerid, JailZones[RandomJail][X], JailZones[RandomJail][Y], JailZones[RandomJail][Z]);
...