Rcars automatico -
Andinho - 20.08.2016
Bom a duvida й simples, um spawn de veнculos automбtico, eu quero que der spawn em alguns horбrios, como 3 da manha, 7 da manha, 12 horas etc, ja tentei uma vez criar um settimer verificando a hora a cada segundo, na logica daria certo, mais nao dei, ele verificava a hora a cada segundo exemplo:
SetTimer( " rcars " a cada 1 segundo e bla bla ...);
forward rcars ...
public rcars ...
{
aki dava spawn e mandava a menssagem pra geral. ;
}
esse mйtodo que usei dava spawn mais й como se a public fosse chamada varias vezes seguidas, mandando um flod bem loko no chat tipo
todos os carros foram spawnados !
todos os carros foram spawnados !
todos os carros foram spawnados !
todos os carros foram spawnados !
todos os carros foram spawnados !
todos os carros foram spawnados !
...
e ai ? alguma dica ?
@edit o settimer chamava outra public pra verificar a hora, dai entao essa public chamava a outra !
Re: [ajuda] Rcars automatico -
willttoonn - 20.08.2016
Coloque as funзхes dentro de um timer de minuto, e coloque um if na funзгo pra que se for o horбrio que vocк informar dar o comando.
Respuesta: [ajuda] Rcars automatico -
SammyJ - 21.08.2016
Acho que isso resolve, talvez tenha alguma forma mais otimizada!
PHP код:
SetTimer("rcars" 1000, false);
forward rcars();
public rcars()
{
new hora=0;
gettime(hora);
switch(hora)
{
case 3:
{
for(new vehicleid=0;vehicleid<MAX_VEHICLES; vehicleid++){
SetVehicleToRespawn(vehicleid);
}
}
case 7:
{
for(new vehicleid=0;vehicleid<MAX_VEHICLES; vehicleid++){
SetVehicleToRespawn(vehicleid);
}
}
case 12:
{
for(new vehicleid=0;vehicleid<MAX_VEHICLES; vehicleid++){
SetVehicleToRespawn(vehicleid);
}
}
//[...]
}
return SetTimer("rcars" 1000, false);
}
Re: [ajuda] Rcars automatico -
RodrigoMSR - 21.08.2016
Sim, tem:
Код:
public OnGameModeInit()
{
SetTimer("rcars" 60*1000, true);
return 1;
}
forward rcars();
public rcars()
{
new hora=0;
gettime(hora);
switch(hora)
{
case 3, 7, 12:
{
for(new vehicleid=0;vehicleid<MAX_VEHICLES; vehicleid++) SetVehicleToRespawn(vehicleid);
}
}
return 1;
}
Re: [ajuda] Rcars automatico - Whoo - 21.08.2016
Faзa uma funзгo para verificar se o veнculo estб em uso por que ninguйm merece fica apй
Re: [ajuda] Rcars automatico -
Andinho - 21.08.2016
Mais se eu fizer oque vcs disseram, iria dar spawn nos carros com muita frequencia ne ? pq ia verificar a "hora", a cara 1 minuto se fosse 3 roras, de 03:01, 03:02, 03:03... iria dar spawn, oque me dizem ?
@edit me corigam se eu tiver errado,
nesta parte
new hora = 0;
gettime(hora);
switch(hora)
{ ....
vai conferir apenas se "hora" for por exemplo 3 horas em ponto ?
Re: [ajuda] Rcars automatico -
RodrigoMSR - 21.08.2016
Vai fazer uma checagem na hora do servidor a cada 1 minuto, caso for tais horas irб respawnar.
Re: [ajuda] Rcars automatico - Whoo - 21.08.2016
Quote:
Originally Posted by Andinho
Mais se eu fizer oque vcs disseram, iria dar spawn nos carros com muita frequencia ne ? pq ia verificar a "hora", a cara 1 minuto se fosse 3 roras, de 03:01, 03:02, 03:03... iria dar spawn, oque me dizem ?
@edit me corigam se eu tiver errado,
nesta parte
new hora = 0;
gettime(hora);
switch(hora)
{ ....
vai conferir apenas se "hora" for por exemplo 3 horas em ponto ?
|
realmente do jeito que passaram vai acontecer isso... mas vocк pode colocar o timer para cada 1 hora ou 2 sem verificar a hora .. nгo й necessбrio complicar algo que й fбcil 1 segundo = 1000milisegundos.
60*1000*60*2
Re: [ajuda] Rcars automatico -
Andinho - 21.08.2016
Deu certo aki, obg a quem ajudou ^^ acabou ficando assim
settimer de 1 segundo se repetindo // no ongamemodint
forward Spawn();
public Spawn()
{
new hora=0;
new mins=0;
new segs=0;
gettime(hora,mins,segs);
switch(hora)
{
case 3, 6, 9, 12, 15, 18, 21, 0:
{
switch(mins)
{
case 0:
{
switch(segs)
{
case 0:
{
new inVeh;
for( new i = 0; i < MAX_VEHICLES; i++ )
{
inVeh = 0;
for( new j = 0; j < GetMaxPlayers(); j++ )
{
if(IsPlayerInVehicle( j, i ))
{
inVeh = 1;
break;
}
}
if(!inVeh)
{
SetVehicleToRespawn(i);
}
}
SendClientMessageToAll(0xEEE685FF, "{EEE685}[{ffffff}SPAWN{EEE685}] Todos os veiculos do servidor foram spawnados !");
}
}
}
}
}
}
return 1;
}