[Ajuda]Comando
#1

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
Reply
#2

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
Reply
#3

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.
Reply
#4

para pegar o tempo usa meu conversor de millesegundos.

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

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

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

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

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.
Reply
#8

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.
Reply
#9

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].
Reply
#10

Ok, deu pra entender um pouco.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)