Pozdrav.
Moze li mi neko pokazati kako da napravim da se svakih 30min respawnuju sva vozila i da 20sec ranije iskoci tekst u chatu tipa
[Server]Respawn vozila sledi za 20 sekundi molimo udjite u svoje vozilo da se ne bi respawnovalo
napravis tajmer koji se pokrece svakih 29min i 40 sekundi i taj tajmer pokrece funkciju za poruku koja pokrece tajmer koji se ne ponavlja i koji ce izvrsiti funkciju respawna za 20 sekundi
Ja bih to ovako uradio, ima par gresaka sigurno ali eto sklepano na brzinu.
[pawn]OnGameModeInit(){
SetTimerEx("RespawnVozila", 1740000, false, "i", 0); //podesavas da na 29 minuta tajmer ide loop vazda
return true;
}
forward RespawnVozila(num);
public RespawnVozila(num){
if(num){ // proslo minut
SetTimerEx("RespawnVozila", 1740000, false, "i", 0);
foreach(new i : Vehicle) //ako ne radi ovako napravi iter
SetVehicleToRespawn(i); // rtca svako vozilo pojedinacno
}
else //proslo 29 min
SetTimerEx("RespawnVozila", 60000, false, "i", 1), // podesavas da obavjesti da ce respawn
SendClientMessageToAll(-1, "Respawn vozila za minut");
return true;
}[/pawn]
Nisam s vremenom nešto pa sam nabrzinu skockao nešto slično LVG modu sad ako ima šta prilagodi, nezz koji mod koristiš:
SetTimer("RespawnPoruka", 1800000, true);
FUNCTION: RespawnPoruka()
{
new string[256];
format(string,sizeof(string),"[Server]Respawn vozila sledi za 20 sekundi molimo udjite u svoje vozilo da se ne bi respawnovalo");
SendClientMessageToAll(-1,string);
SetTimer("RespawnStart", 20000, 0);
return true;
}
FUNCTION: RespawnStart()
{
new s[256];
format(s, sizeof(s), "{80C8FE}RESPAWN: {FFFFFF}Sva vozila (non-ownable) su respawnovana, sledeci respawn za sat vremena!");
SendClientMessageToAll(-1,s);
RespawnujSve();
return true;
}
FUNCTION: RespawnujSve()
{
if(stvoreni == 0)
{
for(new car = 1; car <= brojvozila; car++)
{
if(!OwnableVozilo(car))
{
if(IsVehicleEmpty(car))
{
if(GetVehicleModel(car) != 435 && GetVehicleModel(car) != 584)
{
SetVehicleToRespawn(car);
}
}
}
}
}
else
{
for(new car = 1; car <= sbrojvozila+stvoreni; car++)
{
if(!OwnableVozilo(car))
{
if(IsVehicleEmpty(car))
{
if(GetVehicleModel(car) != 435 && GetVehicleModel(car) != 584)
{
SetVehicleToRespawn(car);
}
}
}
}
}
return true;
}
Citat: daddy. poslato Januar 01, 2020, 20:46:39 POSLE PODNE
Nisam s vremenom nešto pa sam nabrzinu skockao nešto slično LVG modu sad ako ima šta prilagodi, nezz koji mod koristiš:
SetTimer("RespawnPoruka", 1800000, true);
FUNCTION: RespawnPoruka()
{
new string[256];
format(string,sizeof(string),"[Server]Respawn vozila sledi za 20 sekundi molimo udjite u svoje vozilo da se ne bi respawnovalo");
SendClientMessageToAll(-1,string);
SetTimer("RespawnStart", 20000, 0);
return true;
}
FUNCTION: RespawnStart()
{
new s[256];
format(s, sizeof(s), "{80C8FE}RESPAWN: {FFFFFF}Sva vozila (non-ownable) su respawnovana, sledeci respawn za sat vremena!");
SendClientMessageToAll(-1,s);
RespawnujSve();
return true;
}
FUNCTION: RespawnujSve()
{
if(stvoreni == 0)
{
for(new car = 1; car <= brojvozila; car++)
{
if(!OwnableVozilo(car))
{
if(IsVehicleEmpty(car))
{
if(GetVehicleModel(car) != 435 && GetVehicleModel(car) != 584)
{
SetVehicleToRespawn(car);
}
}
}
}
}
else
{
for(new car = 1; car <= sbrojvozila+stvoreni; car++)
{
if(!OwnableVozilo(car))
{
if(IsVehicleEmpty(car))
{
if(GetVehicleModel(car) != 435 && GetVehicleModel(car) != 584)
{
SetVehicleToRespawn(car);
}
}
}
}
}
return true;
}
Hvala ti pomogao si mi sada znam :)
Mozete lock.
Citat: Fr0z3n poslato Januar 01, 2020, 20:49:09 POSLE PODNE
Hvala ti pomogao si mi sada znam :)
Mozete lock.
Možeš i ti, ;)
Citat: daddy. poslato Januar 01, 2020, 20:46:39 POSLE PODNE
Nisam s vremenom nešto pa sam nabrzinu skockao nešto slično LVG modu sad ako ima šta prilagodi, nezz koji mod koristiš:
SetTimer("RespawnPoruka", 1800000, true);
FUNCTION: RespawnPoruka()
{
new string[256];
format(string,sizeof(string),"[Server]Respawn vozila sledi za 20 sekundi molimo udjite u svoje vozilo da se ne bi respawnovalo");
SendClientMessageToAll(-1,string);
SetTimer("RespawnStart", 20000, 0);
return true;
}
FUNCTION: RespawnStart()
{
new s[256];
format(s, sizeof(s), "{80C8FE}RESPAWN: {FFFFFF}Sva vozila (non-ownable) su respawnovana, sledeci respawn za sat vremena!");
SendClientMessageToAll(-1,s);
RespawnujSve();
return true;
}
FUNCTION: RespawnujSve()
{
if(stvoreni == 0)
{
for(new car = 1; car <= brojvozila; car++)
{
if(!OwnableVozilo(car))
{
if(IsVehicleEmpty(car))
{
if(GetVehicleModel(car) != 435 && GetVehicleModel(car) != 584)
{
SetVehicleToRespawn(car);
}
}
}
}
}
else
{
for(new car = 1; car <= sbrojvozila+stvoreni; car++)
{
if(!OwnableVozilo(car))
{
if(IsVehicleEmpty(car))
{
if(GetVehicleModel(car) != 435 && GetVehicleModel(car) != 584)
{
SetVehicleToRespawn(car);
}
}
}
}
}
return true;
}
Ipak ne radi ili ja nemam znanje da prilagodim ako ti nesto znaci koristim YSi procese pa ako mozes da napravis da je kompitabilan sa njim jer sam ipack pocetnik... :-X
Za ovo obavezno koristi y_iterate koji dodajes sa:
#include <YSI_Data\y_iterate>
Ako koristis stariju verziju YSI-a samo prepravi mesto includovanja i promeni sintaksu foreacha.
[pawn]
public OnGameModeInit(){
SetTimer("RespawnMessage", 18000000, true);
return 1;
}
IsVehicleEmpty(carid)
{
foreach(new i : Player)
if(IsPlayerInVehicle(i, carid)) return 0;
return 1;
}
forward RespawnMessage();
forward RespawnCars();
public RespawnMessage(){
SetTimer("RespawnCars", 20000, false);
SendClientMessageToAll(-1,"Sva prazna vozila ce biti respawnovana za 20 sekundi.");
return 1;
}
public RespawnCars(){
foreach(new vozilo : Vehicles){
if(IsVehicleEmpty(vozilo)
SetVehicleToRespawn(vozilo);
}
SendClientMessageToAll(-1,"Sva prazna vozila su respawnovana. Sledeci respawn je za 30 minuta.");
return 1;
}
[/pawn]
Citat: malipablo poslato Januar 02, 2020, 00:03:49 PRE PODNE
Za ovo obavezno koristi y_iterate koji dodajes sa:
#include <YSI_Data\y_iterate>
Ako koristis stariju verziju YSI-a samo prepravi mesto includovanja i promeni sintaksu foreacha.
[pawn]
public OnGameModeInit(){
SetTimer("RespawnMessage", 18000000, true);
return 1;
}
IsVehicleEmpty(carid)
{
foreach(new i : Player)
if(IsPlayerInVehicle(i, carid)) return 0;
return 1;
}
forward RespawnMessage();
forward RespawnCars();
public RespawnMessage(){
SetTimer("RespawnCars", 20000, false);
SendClientMessageToAll(-1,"Sva prazna vozila ce biti respawnovana za 20 sekundi.");
return 1;
}
public RespawnCars(){
foreach(new vozilo : Vehicles){
if(IsVehicleEmpty(vozilo)
SetVehicleToRespawn(vozilo);
}
SendClientMessageToAll(-1,"Sva prazna vozila su respawnovana. Sledeci respawn je za 30 minuta.");
return 1;
}
[/pawn]
Da izgleda da je ovo starija verzija a kako da promenim foreach sintaxu?
Samo zamenis: foreach(new i : Player) -> foreach(Player,i) i isto za vozila, i u prvom tajmeru postavis vrednost 1780000 umesto 1800000 jer ima jos jedan tajmer za popunjavanje ostalih 20sekundi
Samo da napomenem, ovo što su ti gore dali je katastrofa za respawn svih vozila...
Kreiraj iterator za svako vozilo i ažuriraj ga na promeni stanja, ovako bespotrebno loop kroz sve igrače, glupost teška, balkanci...
Kreiraš task koji se ponavlja na svakih koliko već i tjt
Citat: P47R14RCH poslato Januar 02, 2020, 00:42:44 PRE PODNE
Samo da napomenem, ovo što su ti gore dali je katastrofa za respawn svih vozila...
Kreiraj iterator za svako vozilo i ažuriraj ga na promeni stanja, ovako bespotrebno loop kroz sve igrače, glupost teška, balkanci...
Kreiraš task koji se ponavlja na svakih koliko već i tjt
Imas li ti mozda vec gotovo?