09.03.2014, 00:59
So here is my code:
I also have this little bit of code, which allows for the player to be set into the jail, or something along those lines.
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?
Код:
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; }
Код:
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; }