02.01.2010, 00:35
Hello everyone,
I have a problem with this command. When the Cops arrests someone at the arrest point, everything going alright but when the suspect teleporting to his cell he's frozen and can't move ... It's very annoying to admins to /unfreeze every suspects when they're released from jail. So if one of you could help me with it, I'd be very thankful.
Here is the script :
I have a problem with this command. When the Cops arrests someone at the arrest point, everything going alright but when the suspect teleporting to his cell he's frozen and can't move ... It's very annoying to admins to /unfreeze every suspects when they're released from jail. So if one of you could help me with it, I'd be very thankful.
Here is the script :
Код:
} if(strcmp(cmd, "/arreter", true) == 0 || strcmp(cmd, "/arrest", true) == 0) { if(IsPlayerConnected(playerid)) { if(gTeam[playerid] == 2 || IsACop(playerid)) { if(OnDuty[playerid] != 1 && PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pMember] == 2 ) { SendClientMessage(playerid, COLOR_GREY, " You are not on Duty!"); return 1; } /*if(!PlayerToPoint(6.0, playerid, 268.3327,77.8972,1001.0391) || !PlayerToPoint(15.0, playerid,1537.2515,-1674.9572,13.3828)) {// Jail spot SendClientMessage(playerid, COLOR_GREY, " You are not near the Jail, can't Arrest!"); return 1; }*/ if(PlayerToPoint(6.0, playerid, 268.3327,77.8972,1001.0391) || PlayerToPoint(15.0, playerid,1537.2515,-1674.9572,13.3828) || PlayerToPoint(6.0, playerid, 1528.9080,-1678.0759,5.8906)|| PlayerToPoint(6.0, playerid,1510.5193,-1467.4611,9.5000)) {//New arrest system tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD2, "UTILISATION: /arreter [prix] [temps (minutes)] [caution (0=non 1=oui)] [prix de la caution]"); return 1; } moneys = strval(tmp); if(moneys < 1 || moneys > 99999) { SendClientMessage(playerid, COLOR_GREY, " Jail Price can't be below $1 or above $99999!"); return 1; } tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD2, "UTILISATION: /arreter [prix] [temps (minutes)] [caution (0=non 1=oui)] [prix de la caution]"); return 1; } new time = strval(tmp); if(time < 1 || time > 60) { SendClientMessage(playerid, COLOR_GREY, " Jail Time Minutes can't be below 1 or above 20 (Take the person to prison then)!"); return 1; } tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD2, "UTILISATION: /arreter [prix] [temps (minutes)] [caution (0=non 1=oui)] [prix de la caution]"); return 1; } new bail = strval(tmp); if(bail < 0 || bail > 1) { SendClientMessage(playerid, COLOR_GREY, " Jail Bailing can't be below 0 or above 1!"); return 1; } tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD2, "UTILISATION: /arreter [prix] [temps (minutes)] [caution (0=non 1=oui)] [prix de la caution]"); return 1; } new bailprice = strval(tmp); if(bailprice < 0 || bailprice > 3000000) { SendClientMessage(playerid, COLOR_GREY, " Jail Bailing can't be below $0 or above $3000000!"); return 1; } new suspect = GetClosestPlayer(playerid); if(IsPlayerConnected(suspect)) { if(GetDistanceBetweenPlayers(playerid,suspect) < 5) { GetPlayerName(suspect, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); if(WantedLevel[suspect] < 1) { SendClientMessage(playerid, COLOR_GREY, " Player must be at least Wanted Level 1!"); return 1; } format(string, sizeof(string), "* You arrested %s!", giveplayer); SendClientMessage(playerid, COLOR_WHITE, string); SafeGivePlayerMoney(suspect, -moneys); SafeGivePlayerMoney(playerid, TicketMoney[playerid]); format(string, sizeof(string), "arrested by %s ~n~ for $%d", sendername, moneys); GameTextForPlayer(suspect, string, 5000, 5); SafeResetPlayerWeapons(suspect); if(PlayerInfo[playerid][pMember]==1||PlayerInfo[playerid][pLeader]==1) { new currank[64]; if(PlayerInfo[playerid][pRank] == 1) { currank = "Cadet"; } else if(PlayerInfo[playerid][pRank] == 2) { currank = "Officer"; } else if(PlayerInfo[playerid][pRank] == 3) { currank = "Sergent"; } else if(PlayerInfo[playerid][pRank] == 4) { currank = "Lieutenant"; } else if(PlayerInfo[playerid][pRank] == 5) { currank = "Captaine"; } else if(PlayerInfo[playerid][pRank] == 6) { currank = "Sheriff adjoint"; } else if(PlayerInfo[playerid][pRank] == 7) { currank = "Sheriff"; } else { currank = "Cadet"; } format(string, sizeof(string), "[Police] %s %s has just arrested %s", currank ,sendername, giveplayer); OOCNews(COLOR_BLUE, string); } else if(PlayerInfo[playerid][pMember]==2||PlayerInfo[playerid][pLeader]==2) { format(string, sizeof(string), "[Police] Agent %s has just arrested %s", sendername, giveplayer); OOCNews(COLOR_BLUE, string); } SetPlayerInterior(suspect, 6); SetPlayerPos(suspect,264.6288,77.5742,1001.0391); PlayerInfo[suspect][pJailTime] = time * 60; if(bail == 1) { JailPrice[suspect] = bailprice; format(string, sizeof(string), "You are jailed for %d seconds. Bail: $%d", PlayerInfo[suspect][pJailTime], JailPrice[suspect]); SendClientMessage(suspect, COLOR_WHITE, string); } else { JailPrice[suspect] = 0; format(string, sizeof(string), "You are jailed for %d seconds. Bail: Unable", PlayerInfo[suspect][pJailTime]); SendClientMessage(suspect, COLOR_WHITE, string); } PlayerInfo[suspect][pJailed] = 1; PlayerInfo[suspect][pArrested] += 1; SetPlayerFree(suspect,playerid, "Got Arrested"); WantedPoints[suspect] = 0; WantedLevel[suspect] = 0; WantLawyer[suspect] = 1; }//distance }//not connected else { SendClientMessage(playerid, COLOR_GREY, " No-one close enough to arrest."); return 1; } } else { SendClientMessage(playerid, COLOR_GREY, " You're not in the jail spot."); return 1; } } else { SendClientMessage(playerid, COLOR_GREY, " You are not a Cop / FBI!"); return 1; } }//not connected return 1; }