[SOLVED] /jail command
#1

i have been searching for /jail command but i couldn't get the script to work becouse it was only a part of the script.
So if anyone can Make me a /Jail Command with timer it would be verry nice of them os PLS can someone HELp i really need this
Reply
#2

Sorry 4 the bump but i really need this
Reply
#3

You can change that code when you want an other jailposition. You can add features and customize to your script. I script that in ~4 mins.

Код:
dcmd_jail(playerid, params[])
{
	new ReturnPlayer, pName[24], ReturnUserName[24], str[128];
	if(PlayerInfo[playerid][AdminLevel] < 1) return false;
	if(sscanf(params, "d", ReturnPlayer)) return SendClientMessage(playerid, COLOR_WHITE, "Usage: /jail [playerid]");
	if(!IsPlayerConnected(ReturnPlayer)) return SendClientMessage(playerid, COLOR_BRIGHTRED, "Invalid playerid.");
	if(PlayerIsJailed[ReturnPlayer] == 1) return SendClientMessage(playerid, COLOR_BRIGHTRED, "That player is jailed already.");

	GetPlayerName(playerid, pName, sizeof(pName));
	GetPlayerName(ReturnPlayer, ReturnUserName, sizeof(ReturnUserName));
	
	format(str, sizeof(str), "Mod Message: %s (ID: %d) has jailed %s (ID: %d).", pName, playerid, ReturnUserName, ReturnPlayer);
	SendModMsg(COLOR_WHITE, str);
	
	if(Jail1 == 0 && Jail2 == 0)
	{
	  SetPlayerPos(playerid, 198.0768,175.1553,1003.0234);
	  Jail1 = true;
	  PlayerInJail1[playerid] = true;
	  SendClientMessage(ReturnPlayer, COLOR_GREEN, "You have been jailed by a crew member.");
		PlayerIsJailed[ReturnPlayer] = true;
		SetPlayerInterior(playerid, 3);
	}
	else if(Jail1 == 1 && Jail2 == 0)
	{
		SetPlayerPos(playerid, 193.2748,175.0982,1003.0234);
	  Jail2 = true;
	  PlayerInJail2[playerid] = true;
	  SendClientMessage(ReturnPlayer, COLOR_BRIGHTRED, "You have been jailed by a crew member.");
		PlayerIsJailed[ReturnPlayer] = true;
		SetPlayerInterior(playerid, 3);
	}
	if(Jail1 == 1 && Jail2 == 1) return SendClientMessage(playerid, COLOR_BRIGHTRED, "The jails are too crowded!");
	return 1;
}

dcmd_unjail(playerid, params[])
{
	new ReturnPlayer, pName[24], ReturnUserName[24], str[128];
	if(PlayerInfo[playerid][AdminLevel] < 1) return false;
	if(sscanf(params, "d", ReturnPlayer)) return SendClientMessage(playerid, COLOR_WHITE, "Usage: /unjail [playerid]");
	if(!IsPlayerConnected(ReturnPlayer)) return SendClientMessage(playerid, COLOR_BRIGHTRED, "Invalid playerid.");
	if(PlayerIsJailed[ReturnPlayer] == 0) return SendClientMessage(playerid, COLOR_BRIGHTRED, "That player isn't jailed!");

	GetPlayerName(playerid, pName, sizeof(pName));
	GetPlayerName(ReturnPlayer, ReturnUserName, sizeof(ReturnUserName));

	format(str, sizeof(str), "Mod Message: %s (ID: %d) has unjailed %s (ID: %d).", pName, playerid, ReturnUserName, ReturnPlayer);
	SendModMsg(COLOR_WHITE, str);

	SendClientMessage(ReturnPlayer, COLOR_GREEN, "You have been unjailed.");
	PlayerIsJailed[ReturnPlayer] = false;
	SetPlayerInterior(playerid, 0);
	SpawnPlayer(ReturnPlayer);

	if(PlayerInJail1[playerid] == 1)
	{
	  Jail1 = false;
	  PlayerInJail1[playerid] = false;
	}
	if(PlayerInJail2[playerid] == 1)
	{
	  Jail2 = false;
	  PlayerInJail2[playerid] = false;
	}
	return 1;
}
Reply
#4

So is this a jail command fully complete I will add it to my server and then I needur name to add in credits if this is a fully complete jail command
Reply
#5

Thanks man but
Does it have to be dcmd
can u make it like if(strcmp(cmdtext.... WILL THAT WORK
or it has to be DCMD
Reply
#6

i done it with dcmd
But i fixed some ERROR'S but not all
SO now i get this
Код:
error 017: undefined symbol "PlayerIsJailed"
Reply
#7

I can help u wid ur server park4bmx
Reply
#8

Quote:
Originally Posted by [asg
davo ]
I can help u wid ur server park4bmx
[1]What with
[2] i only need
Код:
error 017: undefined symbol "PlayerIsJailed"
This solved if you can help me with that
Reply
#9

Hey try this one

pawn Код:
dcmd_jail(playerid,params[]) {
    if(PlayerInfo[playerid][LoggedIn] == 1) {
        if(PlayerInfo[playerid][Level] >= 3) {
          new tmp[256], tmp2[256], tmp3[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index), tmp3 = strtok(params,Index);
          if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /jail [playerid] [minutes] [reason]");
        new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
            player1 = strval(tmp);

            if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && (PlayerInfo[player1][Level] != ServerInfo[MaxAdminLevel]) ) {
                if(PlayerInfo[player1][Jailed] == 0) {
                    GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
                    new jtime = strval(tmp2);
                    if(jtime == 0) jtime = 9999;

                    CMDMessageToAdmins(playerid,"JAIL");
                    PlayerInfo[player1][JailTime] = jtime*1000*60;
              SetTimerEx("JailPlayer",5000,0,"d",player1);
              SetTimerEx("Jail1",1000,0,"d",player1);
                PlayerInfo[player1][Jailed] = 1;

                    if(jtime == 9999) {
                        if(!strlen(params[strlen(tmp2)+1])) format(string,sizeof(string),"Administrator %s has jailed %s ",adminname, playername);
                        else format(string,sizeof(string),"Administrator %s has jailed %s [reason: %s]",adminname, playername, params[strlen(tmp)+1] );
                    } else {
                        if(!strlen(tmp3)) format(string,sizeof(string),"Administrator %s has jailed %s for %d minutes",adminname, playername, jtime);
                        else format(string,sizeof(string),"Administrator %s has jailed %s for %d minutes [reason: %s]",adminname, playername, jtime, params[strlen(tmp2)+strlen(tmp)+1] );
                    }
                return SendClientMessageToAll(blue,string);
                } else return SendClientMessage(playerid, red, "Player is already in jail");
            } else return SendClientMessage(playerid, red, "Player is not connected or is the highest level admin");
        } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
    } else return SendClientMessage(playerid,red,"ERROR: You must be logged in to use this commands");
}
Reply
#10

Quote:
Originally Posted by ColdXX
Hey try this one

pawn Код:
dcmd_jail(playerid,params[]) {
    if(PlayerInfo[playerid][LoggedIn] == 1) {
        if(PlayerInfo[playerid][Level] >= 3) {
          new tmp[256], tmp2[256], tmp3[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index), tmp3 = strtok(params,Index);
          if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /jail [playerid] [minutes] [reason]");
        new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
            player1 = strval(tmp);

            if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && (PlayerInfo[player1][Level] != ServerInfo[MaxAdminLevel]) ) {
                if(PlayerInfo[player1][Jailed] == 0) {
                    GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
                    new jtime = strval(tmp2);
                    if(jtime == 0) jtime = 9999;

                CMDMessageToAdmins(playerid,"JAIL");
                    PlayerInfo[player1][JailTime] = jtime*1000*60;
              SetTimerEx("JailPlayer",5000,0,"d",player1);
              SetTimerEx("Jail1",1000,0,"d",player1);
                PlayerInfo[player1][Jailed] = 1;

                    if(jtime == 9999) {
                        if(!strlen(params[strlen(tmp2)+1])) format(string,sizeof(string),"Administrator %s has jailed %s ",adminname, playername);
                        else format(string,sizeof(string),"Administrator %s has jailed %s [reason: %s]",adminname, playername, params[strlen(tmp)+1] );
                    } else {
                        if(!strlen(tmp3)) format(string,sizeof(string),"Administrator %s has jailed %s for %d minutes",adminname, playername, jtime);
                        else format(string,sizeof(string),"Administrator %s has jailed %s for %d minutes [reason: %s]",adminname, playername, jtime, params[strlen(tmp2)+strlen(tmp)+1] );
                    }
                return SendClientMessageToAll(blue,string);
                } else return SendClientMessage(playerid, red, "Player is already in jail");
            } else return SendClientMessage(playerid, red, "Player is not connected or is the highest level admin");
        } else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
    } else return SendClientMessage(playerid,red,"ERROR: You must be logged in to use this commands");
}
Thanks man i got some ERROR but i fixed them and it WORKED
Reply


Forum Jump:


Users browsing this thread: