Why does my /jail command not fix the person's interior after their time is up?
#1

So here is my code:

Код:
	if(strcmp(cmd, "/jail", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
	    {
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_WHITE, "USAGE: /jail [playerid/PartOfName] [minutes] [reason]");
				return 1;
			}
			new playa;
			new time;
			playa = ReturnUser(tmp);
			tmp = strtok(cmdtext, idx);
			time = strvalEx(tmp);
			if(PlayerInfo[playerid][pAdmin] >= 2)
			{
			    if(IsPlayerConnected(playa))
			    {
			        if(playa != INVALID_PLAYER_ID)
			        {
				        GetPlayerName(playa, giveplayer, sizeof(giveplayer));
						GetPlayerName(playerid, sendername, sizeof(sendername));
						new length = strlen(cmdtext);
						while ((idx < length) && (cmdtext[idx] <= ' '))
						{
							idx++;
						}
						new offset = idx;
						new result[64];
						while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
						{
							result[idx - offset] = cmdtext[idx];
							idx++;
						}
						result[idx - offset] = EOS;
						if(!strlen(result))
						{
							SendClientMessage(playerid, COLOR_WHITE, "USAGE: /jail [playerid/PartOfName] [minutes] [reason]");
							return 1;
						}
						format(string, sizeof(string), "{AA3333}AdmCmd{FFFF00}: %s has been jailed by an Admin, reason: %s", giveplayer, (result));
                		SendClientMessageToAll(COLOR_LIGHTRED, string);
                		ClearGuns(playa);
						ResetPlayerWeapons(playa);
						PlayerInfo[playa][pWantedLevel] = 0;
						SetPlayerWantedLevel(playa, 0);
						SetPlayerToTeamColor(playa);
						PlayerInfo[playa][pJailed] = 1;
						PlayerInfo[playa][pJailTime] = time*60;
						SetPlayerInterior(playa, 6);
						SetPlayerVirtualWorld(playerid, 0);
						PlayerInfo[giveplayerid][pVirtualWorld] = 0;
						SetPlayerPos(playa, 264.6288,77.5742,1001.0391);
						SetPlayerFacingAngle(playa, -90);
						format(string, sizeof(string), "You are jailed for %d minutes.   Bail: Unable", time);
						SendClientMessage(playa, COLOR_LIGHTBLUE, string);
					}
				}
			}
			else
			{
				SendClientMessage(playerid, COLOR_GRAD1, "You are not authorized to use that command!");
			}
		}
		return 1;
	}
I also have this little bit of code, which allows for the player to be set into the jail, or something along those lines.

Код:
		if(PlayerInfo[playerid][pJailed] == 1)
		{
            HideArea(playerid);
		    SetPlayerInterior(playerid, 6);
			SetPlayerPos(playerid,264.6288,77.5742,1001.0391);
			SetCameraBehindPlayer(playerid);
			SetPlayerFacingAngle( playerid, -90);
			SetPlayerToTeamColor(playerid);
			CanTalk[playerid] = 1;
			return 1;
		}
Basically, my issue is when you put someone in jail, for any increment of time, when they get released their interior is bugged. The jail's interior is 6, and when they get taken out of jail because their time is up, the interior must stay at 6 because it bugs the player. Why is this?
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 1 Guest(s)