[ 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