cmd /rac


Započeo Softic, Septembar 29, 2017, 10:13:27 PRE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Skripta koju koristim: SA
Detaljan opis problema: Evo ovako kada kucam /rac zabaga mi server i posle nekog vremena odbaga i respawnuje vozila... Ako je neko imao isti problem neka javi :)
Dio skripte: DOLE
Neke slike/video za lakse dobivanje pomoci(neobavezno): //
EVO CMD :
YCMD:rac(playerid, params[], help)
{
    #pragma unused help
    if(UlogovanProvera[playerid] == 0) return SCM(playerid,-1,""PLAVA"(( "SIVA"Greska "PLAVA")) Moras se ulogovati da bi koristio ovu komandu!");
   if(PlayerInfo[playerid][pAdmin] < 4) return SCM(playerid, -1, ""PLAVA"(( "SIVA"Greska "PLAVA")) Samo Admini (AL 4+)!");
   if(RespawnVozila) return SCM(playerid, -1, ""PLAVA"(( "SIVA"Greska "PLAVA")) Respawn je vec pokrenut!");
   new string[512]; RespawnVozila = 1;
   format(string,sizeof string, ""CRVENA"Respawn Vozila ~ "BELA"Admin %s je respawnovao sva nekoristena vozila "CRVENA"~", GetName(playerid));
   SCMTA(-1, string);
   SetTimer("Respawn", 1000, false);
   return 1;
}
EVO FORWARD
forward Respawn();
public Respawn()
{
   new bool:unwanted[MAX_VOZILA];
   for(new player=0; player<MAX_PLAYERS; player++)
   {
      if(IsPlayerInAnyVehicle(player)) { unwanted[GetPlayerVehicleID(player)]=true; }
   }
   for(new car = 1; car < MAX_VOZILA; car++)
   {
      if(!unwanted[car]) SetVehicleToRespawn(car);
   }
   RespawnVozila = 0; SCMTA(-1, ""CRVENA"~ "BELA"Vozila Respawnovana "CRVENA"~");
   return 1;
}
Max vozila mi je na 1k

Nova Kuca Community - Founder , Owner

Ovo se i mn desava,ako neko zna moze pomoci? ???

Na mjestu gdje brojiš igrače koristi foreach, i server ti zabaguje jer mora izbrojati igrače, provjeru dal je svaki od njih u vozilu, te provjerit sva vozila i respawnovat ona koja nemaju vozača, što treba vremena da skripta izvrši, vidi da si skratiš to nekako, ja sam ti predložio foreach, jer on loopuje samo konektovane igrače.

forward Respawn();
public Respawn()
{
	for(new car = 1; car <= MAX_VOZILA; car++)
	{
	    if(!OwnableVozilo(car))
	    {
	        if(IsVehicleEmpty(car))
			{
		        if(GetVehicleModel(car) != 435 && GetVehicleModel(car) != 584 && GetVehicleModel(car) != 591)
		        {
					SetVehicleToRespawn(car);
				}
			}
		}
	}
	return true;
}

Malo jednostavnija i bolja provera od te tvoje. Respawn ce ti vozila koja nisu ownable. Ovo je primer pa sam skontaj kako ces za ownable :)

P.S. Zasto koristis ovo u komandama
if(UlogovanProvera[playerid] == 0) return SCM(playerid,-1,""PLAVA"(( "SIVA"Greska "PLAVA")) Moras se ulogovati da bi koristio ovu komandu!");

kad mozes samo ubaciti tu proveru ovde OnPlayerCommandReceived? :P