Skripta: Raven's Roleplay
Problem: U ovom GM je /arrest unutar PD stanice, i mozete /arrest igraca bez ikakvog /cuff i /tazer, ali treba mi : 1. Da premjestim /arrest dole u PD garazu I 2. Trebam komandu /put da stavim igraca u auto...
Za to "PUT" probaj "/DRAG".
Ok za /drag, evo ti /arrest if(strcmp(cmd, "/arrest", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(IsACop(playerid) || IsAFreecop(playerid))
{
if(PlayerInfo[playerid][pDuty] == 0)
{
SendClientMessage(playerid, COLOR_GREY, "** You are not on Duty!");
return 1;
}
if(PlayerInfo[playerid][pDBanned] == 1)
{
SendClientMessage(playerid, COLOR_GREY, "** You are Banned From Cop Duty!");
return 1;
}
if(IsPlayerInRangeOfPoint(playerid, 6, 255.4480,85.8236,1002.4453))
{//New arrest system SAPD
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /arrest [price] [time (minutes)] [bail (0=no 1=yes)] [bailprice]");
return 1;
}
moneys = strval(tmp);
if(moneys < 1 || moneys > 20000) { SendClientMessage(playerid, COLOR_GREY, " Jail Price can't be below $1 or above $20000!"); return 1; }
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /arrest [price] [time (minutes)] [bail (0=no 1=yes)] [bailprice]");
return 1;
}
new time = strval(tmp);
if(time < 1 || time > 5) { SendClientMessage(playerid, COLOR_GREY, " Jail Time Minutes can't be below 1 or above 5 (Take the person to prison then)!"); return 1; }
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /arrest [price] [time (minutes)] [bail (0=no 1=yes)] [bailprice]");
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, "USAGE: /arrest [price] [time (minutes)] [bail (0=no 1=yes)] [bailprice]");
return 1;
}
new bailprice = strval(tmp);
if(bailprice < 0 || bailprice > 2000000) { SendClientMessage(playerid, COLOR_GREY, "** Jail Bailing can't be below $0 or above $2000000!"); return 1; }
new suspect = GetClosestPlayer(playerid);
if(IsPlayerConnected(suspect))
{
if(GetDistanceBetweenPlayers(playerid,suspect) < 5)
{
GetPlayerName(suspect, giveplayer, sizeof(giveplayer));
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);
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 = "Senior Officer"; }
else if(PlayerInfo[playerid][pRank] == 4) { currank = "Sergeant"; }
else if(PlayerInfo[playerid][pRank] == 5) { currank = "Lieutenant"; }
else if(PlayerInfo[playerid][pRank] == 6) { currank = "Captain"; }
else if(PlayerInfo[playerid][pRank] == 7) { currank = "Deputy Chief"; }
else if(PlayerInfo[playerid][pRank] == 8) { currank = "Chief"; }
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);
}
else if(PlayerInfo[playerid][pMember]==3||PlayerInfo[playerid][pLeader]==3)
{
format(string, sizeof(string), "[Police] Soldier %s has just arrested %s", sendername, giveplayer);
OOCNews(COLOR_BLUE, string);
}
else if(IsAFreecop(playerid))
{
format(string, sizeof(string), "[Police] Voluntary %s has just arrested %s", sendername, giveplayer);
OOCNews(COLOR_BLUE, string);
}
SafeSetPlayerInterior(suspect, 6);
SafeSetPlayerPos(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");
TextDrawShowForPlayer(suspect, Textdraw1[suspect]);
WantedPoints[suspect] = 0;
WantedLevel[suspect] = 0;
WantLawyer[suspect] = 1;
PlayerCuffed[suspect] = 0;
GaveUp[suspect] = 0;
new y, m, d;
new h,mi,s;
getdate(y,m,d);
gettime(h,mi,s);
format(string,sizeof(string), "(%d/%d/%d)[%d:%d:%d] %s Has Arrested %s for %s Seconds. Bail: $%d, Price: $%d",d,m,y,h,mi,s,sendername,giveplayer, PlayerInfo[suspect][pJailTime],JailPrice[suspect],moneys);
JailLog(string);
KillTimer(cufftimer[suspect]);
}//distance
}//not connected
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, "** You are not an FBI!");
return 1;
}
}//not connected
return 1;
}
Posto ces tesko skontati sta je editovao,ovo sam pronasao,mislim da je to to.
if(IsPlayerInRangeOfPoint(playerid, 6, 255.4480,85.8236,1002.4453))
EDIT: Editovao si post pa sam se ispalio sada :D
Dobro, hvala, i ja bi dodo jos if(da mora biti cuffan da bi se arresto) ako mi mozes rec kako da to napisem pod if()
Napraviš varijablu npr.
new cuffed[MAX_PLAYERS];
Onda pod komandu di ti je cuff staviš
cuffed[playerid] = 1;
I onda provjera npr.
if(cuffed[playerid] == 1) {
// sad dalje kod da ga staviš u zatvor
kada stavim cuffed[playerid] = 1; pod /cuff dobijem ovaj warning:
(69015) : warning 225: unreachable code
1 Warning.
Linija 69015: if(strcmp(cmd, "/uncuff", true) == 0)
Kako ti može tu izbacivati warning? Ti si negdje pogriješio ne ja.
Rjesio, hvala svima, moze LOCK! ;D