[ pomoc]random prebacivanje u celiju

Započeo dane_1, Oktobar 31, 2011, 11:08:20 PRE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Skripta koju koristim: LARP
Detaljan opis problema: Ovako..Napravio sam zatvvor i ubacio i sve..Samo me jedno muci kad arrestam nekog da ga random porrta..Znaci ima 30 celija i gdje da stavim sve te kordinate pa da ga random porta u jednu od tih..Ako shvacate neznam kak objasnit :S
Dio skripte:if(strcmp(cmd, "/arrest", true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
if(IsACop(playerid) || IsAFreecop(playerid))
{
if(PlayerInfo[playerid][pDuty] == 0)
{
    SendClientMessage(playerid, COLOR_GREY, "** Niste na Dužnosti!");
    return 1;
}
if(PlayerInfo[playerid][pDBanned] == 1)
{
    SendClientMessage(playerid, COLOR_GREY, "** Banani ste sa dužnosti!");
    return 1;
}

if(IsPlayerInRangeOfPoint(playerid, 6, 3531.7742,-2020.3217,118.0000))
{//New arrest system SAPD

tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Korištenje: /arrest [cijena] [time (minutes)] [Jamcevina (0=ne 1=da)] [Jamcevina]");
return 1;
}
moneys = strval(tmp);
if(moneys < 1 || moneys > 20000) { SendClientMessage(playerid, COLOR_GREY, "   Cijena Jaila nesmije biti ispod $1 ili preko $20000!"); return 1; }
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Korištenje: /arrest [cijena] [time (minutes)] [Jamcevina (0=ne 1=da)] [Jamcevina $]");
return 1;
}
new time = strval(tmp);
if(time < 1 || time > 5) { SendClientMessage(playerid, COLOR_GREY, "   Jail nesmije biti ispod 1 ili preko 5 (Ili koristite Zatvor)!"); return 1; }
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Korištenje: /arrest [cijena] [time (minutes)] [Jamcevina (0=ne 1=da)] [Jamcevina $]");
return 1;
}
new bail = strval(tmp);
if(bail < 0 || bail > 1) { SendClientMessage(playerid, COLOR_GREY, "  Jamcevina  mora biti 0 ili 1!"); return 1; }
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Korištenje: /arrest [cijena] [time (minutes)] [Jamcevina (0=ne 1=da)] [Jamcevina $]");
return 1;
}
new bailprice = strval(tmp);
if(bailprice < 0 || bailprice > 2000000) { SendClientMessage(playerid, COLOR_GREY, "** Jamcevina mora biti izmeÄ'u $1 i $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, "** Igrač mora biti barem 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 e uhitio %s", currank ,sendername, giveplayer);
OOCNews(COLOR_BLUE, string);
}
else if(PlayerInfo[playerid][pMember]==2||PlayerInfo[playerid][pLeader]==2)
{
format(string, sizeof(string), "[Policija] Agent %s je ugitio %s", sendername, giveplayer);
OOCNews(COLOR_BLUE, string);
}
else if(PlayerInfo[playerid][pMember]==3||PlayerInfo[playerid][pLeader]==3)
{
format(string, sizeof(string), "[Policija] Vojnik %s je uhitio %s", sendername, giveplayer);
OOCNews(COLOR_BLUE, string);
}
else if(IsAFreecop(playerid))
{
    format(string, sizeof(string), "[Policija] Volonter %s je uhitio %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), "Pritvoren si na %d Sekundi.   Jamčevina: $%d", PlayerInfo[suspect][pJailTime], JailPrice[suspect]);
SendClientMessage(suspect, COLOR_WHITE, string);
}
else
{
    JailPrice[suspect] = 0;
format(string, sizeof(string), "Pritvoren si na %d Sekundi.   Jamčevina: Nije Moguće", 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 Je uhitio %s na %s Sekundi. Jamčevina: $%d, Cijena: $%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, "** Nisi PD/FBI/SWAT!");
    return 1;
}
}//not connected
return 1;
                  }

Neke slike/video za lakse dobivanje pomoci(neobavezno):

dragan12

http://wiki.sa-mp.com/wiki/Random
Tu imas sve. Znaci
new Float:RandomCelije[][3] =
{
    {-2796.9854, 1224.8180, 20.5429},//Stavljas x,y,z kordinate svuda
    {-2454.2170, 503.8759, 30.0790},
    {-2669.7322, -6.0874, 6.1328}
};

I onda u komandi
new rand = random(sizeof(RandomCelije));
SetPlayerPos(playerid, RandomCelije[rand][0], RandomCelije[rand][1],RandomCelije[rand][2]);

Ima na samp wiki sve :D

Citat: [BD]Gagi poslato Oktobar 31, 2011, 11:52:01 PRE PODNE
http://wiki.sa-mp.com/wiki/Random
Tu imas sve. Znaci
new Float:RandomCelije[][3] =
{
    {-2796.9854, 1224.8180, 20.5429},//Stavljas x,y,z kordinate svuda
    {-2454.2170, 503.8759, 30.0790},
    {-2669.7322, -6.0874, 6.1328}
};

I onda u komandi
new rand = random(sizeof(RandomCelije));
SetPlayerPos(playerid, RandomCelije[rand][0], RandomCelije[rand][1],RandomCelije[rand][2]);

Ima na samp wiki sve :D

Cek pojasni..Stavio si 3 kordinate..onda vamo i u komandi mora bit randomcelije.... ili ne..ja ako ubacim 30 celija ja u komandi moram tih 30 stavit?

dragan12

Citat: dane_1 poslato Oktobar 31, 2011, 12:09:52 POSLE PODNE
Citat: [BD]Gagi poslato Oktobar 31, 2011, 11:52:01 PRE PODNE
http://wiki.sa-mp.com/wiki/Random
Tu imas sve. Znaci
new Float:RandomCelije[][3] =
{
    {-2796.9854, 1224.8180, 20.5429},//Stavljas x,y,z kordinate svuda
    {-2454.2170, 503.8759, 30.0790},
    {-2669.7322, -6.0874, 6.1328}
};

I onda u komandi
new rand = random(sizeof(RandomCelije));
SetPlayerPos(playerid, RandomCelije[rand][0], RandomCelije[rand][1],RandomCelije[rand][2]);

Ima na samp wiki sve :D

Cek pojasni..Stavio si 3 kordinate..onda vamo i u komandi mora bit randomcelije.... ili ne..ja ako ubacim 30 celija ja u komandi moram tih 30 stavit?
new Float:RandomCelije[][3] //To 3 nista ne diras. To je da ima kordinate i da ide redom te tri. Samo ostavi tako. Samo dodaji kordinate i probaj

Dodaj jos 27 svojih koordinata. A prve tri koordinate izmjeni.

I dole u skripti onda stavis ovo sto ti je on rekao
Last nick: Vectro64

ev kompilam pa javim :D

Valja..Lock
Poslednja Izmena: Oktobar 31, 2011, 12:40:35 POSLE PODNE od dane_1