Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: KiLLa poslato Novembar 18, 2011, 19:25:27 POSLE PODNE

Naslov: [Pomoc] /put i /arrest
Poruka od: KiLLa poslato Novembar 18, 2011, 19:25:27 POSLE PODNE
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...
Naslov: Odg: [Pomoc] /put i /arrest
Poruka od: Ray_Gonzalez poslato Novembar 18, 2011, 19:28:51 POSLE PODNE
Za to "PUT" probaj "/DRAG".
Naslov: Odg: [Pomoc] /put i /arrest
Poruka od: KiLLa poslato Novembar 18, 2011, 19:31:24 POSLE PODNE
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;
}
Naslov: Odg: [Pomoc] /put i /arrest
Poruka od: Ray_Gonzalez poslato Novembar 18, 2011, 19:35:00 POSLE PODNE
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
Naslov: Odg: [Pomoc] /put i /arrest
Poruka od: KiLLa poslato Novembar 18, 2011, 19:36:54 POSLE PODNE
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()
Naslov: Odg: [Pomoc] /put i /arrest
Poruka od: poznaticovik poslato Novembar 18, 2011, 19:42:49 POSLE PODNE
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
Naslov: Odg: [Pomoc] /put i /arrest
Poruka od: KiLLa poslato Novembar 18, 2011, 19:56:42 POSLE PODNE
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)
Naslov: Odg: [Pomoc] /put i /arrest
Poruka od: poznaticovik poslato Novembar 18, 2011, 21:17:08 POSLE PODNE
Kako ti može tu izbacivati  warning? Ti si negdje pogrijeÅ¡io ne ja.
Naslov: Odg: [Pomoc] /put i /arrest
Poruka od: KiLLa poslato Novembar 19, 2011, 09:08:04 PRE PODNE
Rjesio, hvala svima, moze LOCK!  ;D