25.04.2009, 15:11
Okay, well I've added a command so members of faction 2 can jail someone. Only, the jail is not the LSPD one.
The command works fine only when their jail time is up it teleports them to LSPD.
Is it possible to make it so if they are in the LSPD jail they go to the LSPD lobby, and if they are in the other jail they go to the other lobby?.
Here are the codes:
/sasdjail
Released from jail part
The command works fine only when their jail time is up it teleports them to LSPD.
Is it possible to make it so if they are in the LSPD jail they go to the LSPD lobby, and if they are in the other jail they go to the other lobby?.
Here are the codes:
/sasdjail
Код:
if(strcmp(cmd, "/sasdjail", true) == 0) { if(IsPlayerConnected(playerid)) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /sasdjail [playerid/PartOfName] [time(minutes)] [reason]"); return 1; } new playa; new money; playa = ReturnUser(tmp); tmp = strtok(cmdtext, idx); money = strval(tmp); if (PlayerInfo[playerid][pMember] != 2 && PlayerInfo[playerid][pLeader] != 2) return SendClientMessage(playerid, COLOR_GREY, "You are NOT part of the Sheriffs Department!") { 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_GRAD2, "USAGE: /sasdjail [playerid/PartOfName] [time(minutes)] [reason]"); return 1; } format(string, sizeof(string), "* You Jailed %s.", giveplayer); SendClientMessage(playerid, COLOR_LIGHTRED, string); format(string, sizeof(string), "* You were Jailed by Sheriff %s.", sendername); SendClientMessage(playa, COLOR_LIGHTRED, string); SafeResetPlayerWeapons(playa); WantedPoints[playa] = 0; PlayerInfo[playa][pJailed] = 1; PlayerInfo[playa][pJailTime] = money*60; SetPlayerInterior(playa, 5); PlayerInfo[playa][pInt] = 5; SetPlayerPos(playa, 319.4753,313.1263,999.1484); format(string, sizeof(string), "You are jailed for %d minutes. Bail: Unable", money); SendClientMessage(playa, COLOR_WHITE, string); format(string, 256, "%s has been jailed by Sheriff %s [Reason: %s]", giveplayer, sendername, (result)); BroadCast(COLOR_LIGHTRED,string); format(string, sizeof(string), "%s has been jailed by Sheriff %s [Reason: %s]", giveplayer, sendername, (result)); printf("%s",string); } } } return 1; } }
Код:
public SetPlayerUnjail() { // new plname[MAX_PLAYER_NAME]; new string[256]; if(PaintballPlayers >= 2 && PaintballRound != 1 && StartingPaintballRound != 1) { StartingPaintballRound = 1; SetTimer("PreparePaintball", 15000, 0); } if(KartingPlayers >= 2 && KartingRound != 1 && StartingKartRound != 1) { StartingKartRound = 1; SetTimer("PrepareKarting", 15000, 0); } if(KartingRound != 0 && KartingPlayers < 2) { StartingKartRound = 0; KartingRound = 0; EndingKartRound = 1; } for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerConnected(i)) { new newcar = GetPlayerVehicleID(i); new level = PlayerInfo[i][pLevel]; if(level >= 0 && level <= 2) { PlayerInfo[i][pPayCheck] += 1; } else if(level >= 3 && level <= 4) { PlayerInfo[i][pPayCheck] += 2; } else if(level >= 5 && level <= 6) { PlayerInfo[i][pPayCheck] += 3; } else if(level >= 7 && level <= 8) { PlayerInfo[i][pPayCheck] += 4; } else if(level >= 9 && level <= 10) { PlayerInfo[i][pPayCheck] += 5; } else if(level >= 11 && level <= 12) { PlayerInfo[i][pPayCheck] += 6; } else if(level >= 13 && level <= 14) { PlayerInfo[i][pPayCheck] += 7; } else if(level >= 15 && level <= 16) { PlayerInfo[i][pPayCheck] += 8; } else if(level >= 17 && level <= 18) { PlayerInfo[i][pPayCheck] += 9; } else if(level >= 19 && level <= 20) { PlayerInfo[i][pPayCheck] += 10; } else if(level >= 21) { PlayerInfo[i][pPayCheck] += 11; } if(PlayerInfo[i][pJailed] > 0) { if(PlayerInfo[i][pJailTime] > 0 && WantLawyer[i] == 0) { PlayerInfo[i][pJailTime]--; } if(PlayerInfo[i][pJailTime] <= 0 && WantLawyer[i] == 0) { PlayerInfo[i][pJailTime] = 0; if(PlayerInfo[i][pJailed] == 1) { SetPlayerInterior(i, 6); PlayerInfo[i][pInt] = 6; SetPlayerPos(i,246.8439,70.0776,1003.6406); } else if(PlayerInfo[i][pJailed] == 2) { SetPlayerWorldBounds(i,20000.0000,-20000.0000,20000.0000,-20000.0000); //Reset world to player SetPlayerInterior(i, 0); PlayerInfo[i][pInt] = 0; SetPlayerPos(i, 90.2101,1920.4854,17.9422); } PlayerInfo[i][pJailed] = 0; SendClientMessage(i, COLOR_GRAD1,"Warden: You've been released from jail."); SendClientMessage(i, COLOR_GRAD1,"Warden: You've been transported to the LSPD"); format(string, sizeof(string), "~g~LSPD~n~~w~Try to be a better citizen"); GameTextForPlayer(i, string, 5000, 1); if(gTeam[i] == 4) { gTeam[i] = 3; } ClearCrime(i); SetPlayerToTeamColor(i); } }