SA-MP Forums Archive
[Ajuda]Comando - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda]Comando (/showthread.php?tid=255254)



[Ajuda]Comando - Lohran - 14.05.2011

tipo eu queria saber como criar um comando com tempo para ser usado tipo uma pessoa usa em um certo horбrio e outra sу pode usar 3 horas depois


Re: [Ajuda]Comando - Transferencia - 14.05.2011

https://sampforum.blast.hk/showthread.php?tid=185953
https://sampforum.blast.hk/showthread.php?tid=153229
https://sampforum.blast.hk/showthread.php?tid=142571

Pode Escolher Um Destes


Re: [Ajuda]Comando - [S]trong - 15.05.2011

crie a var

pawn Код:
new Time[MAX_PLAYERS];
ъtilizaremos ela desta forma ao ъtilizar o comando

pawn Код:
Time[playerid] = GetTickCount();
para bloquearmos o comando vamos ъtilizar a var desta maneira

pawn Код:
if (GetTickCount() - Time[playerid] < 2000(o 2 mil equivale aos segundos ou seja 2000 = 2 segundos, mude os 2 segundos para o tempo que vocк queira)
pronto й isto, realmente muito simples estou de saida caso tenha alguma dъvida pergunte que logo mais respondo.


Re: [Ajuda]Comando - TheGarfield - 15.05.2011

para pegar o tempo usa meu conversor de millesegundos.

https://sampforum.blast.hk/showthread.php?tid=188261 (ESPANHOL)


Re: [Ajuda]Comando - Shadoww5 - 15.05.2011

Alguem pode me explicar como que funciona esse GetTickCount ? Basicamente, me expliquem isto, por favor:

PHP код:
if(GetTickCount() - Time[playerid] < 2000



Re: [Ajuda]Comando - Transferencia - 15.05.2011

serve para capturar o tempo em milisegundos de quando o samp-server.exe foi iniciado atй o atual momento que o usou...


Re: [Ajuda]Comando - Shadoww5 - 15.05.2011

Essa parte eu entendi, mas nгo ficou muito claro ... Como que essa subtraзгo serб menor que 2 segundos ?

Se puder me explicar melhor, agradeзo.


Re: [Ajuda]Comando - TheGarfield - 15.05.2011

sim.
vamos dizer que o servidor iniciou com o tempo 1361451 atй o executamento da funзгo:
pawn Код:
static id;
if(GetTickCount() - id >  id)
{
      printf("%d й maior que %d",GetTickCount() - id, id);
      // adicione isto em OnGameModeInit
      GetTickCount() = id;
}
fiz um cуdigo auto explicativo lol.

ou seja

o GetTickCount й uma funзгo que quando liga o servidor atй o termino dele ele fica contando.
vou explicar de outra forma:
pawn Код:
new sougato = GetTickCount(); // vamos supor que tenha 1000.
//nгo importa oq faзa ele sempre vai continuar contando 1001, 1002 ... sу que de uma maneira mais rбpida.
if(sougato - GetTickCount()> GetTickCount()) // se tempo sougato 1000 menos o tempo atual 5000 = 4000 for maior que 5000 (tempo atual).
lembrando que os nъmero explicados na ilustraзгo assima nгo sгo reais.


Abraзos.


Re: [Ajuda]Comando - [S]trong - 15.05.2011

o GetTickCount sobe com os MS do servidor, ao usarmos o Time[playerid] estamos capturando o gettickcount atual
no exemplo que eu dei capturamos o gettickcount, se tirarmos o time[playerid] do gettickcount vai sobrar sу os MS que vieram depois de termos salvado o gettickcount na var Time[playerid].


Re: [Ajuda]Comando - Shadoww5 - 15.05.2011

Ok, deu pra entender um pouco.