[Include] Multi Task Timers
#1

• Multi Task Timers
Executa mais de uma funзгo com um ъnico timer, tambйm suporta parвmetros. Nгo hб limite de parвmetros ou funзхes que um timer multi tasks possa ter, use a quantidade que preferir.

Qualquer funзгo pode ser executada, a keyword public nгo й um requerimento.
• Macros
PHP код:
Create_MultiTask:NomeDaTarefa("Func1(), Func2(), Func3()");
Create_MultiTaskEx:NomeDaTarefa("ComParams(a), ComParams2(b, c, a)""a,b,c");
Start_MultiTask:NomeDaTarefa(Tempo_Em_MSrepetir true false);
Start_MultiTaskEx:NomeDaTarefa(Tempo_Em_MSrepetir true false"iii"123);
Stop_MultiTask:NomeDaTarefa;
GetID_MultiTask(NomeDaTarefa); 
• Explicando cada macro
Код:
Create_MultiTask:NomeDaTarefa("Func1(), Func2()");

-Verde: Create_MultiTask, cria tarefas para funзхes sem parвmetros.
-Vermelho: Nome da tarefa.
-Azul: Funзхes para serem executadas, como nenhuma tem parвmetros, nгo deixe nada entre parкnteses. Separe cada funзгo utilizando vнrgulas.
Код:
Create_MultiTaskEx:NomeDaTarefa("ComParams(a), ComParams2(b, c, a)", "a,b,c"); 

-Verde: Create_MultiTaskEx, cria tarefas para funзхes com parвmetros.
-Vermelho: Nome da tarefa.
-Azul: Funзхes para serem executadas, os parвmetros a serem utilizados devem existir na funзгo e no handler que estб em laranja que serб explicado em breve.
-Laranja: a,b,c sгo as variбveis passadas pela macro Start_MultiTaskEx: e os parвmetros que as funзхes da task podem utilizar. Vocк pode utilizar tags nos parвmetros sem problemas, ex: "a,Float:b,c".
Код:
Start_MultiTask:NomeDaTarefa(Tempo_Em_MS, repetir = true / false);

-Verde: Start_MultiTask, comeзa a execuзгo de uma tarefa sem parвmetros.
-Vermelho: Nome da tarefa.
-Azul: Tempo em milesimos.
-Laranja: Se a tarefa vai repetir apуs o intervalo, utilize true se essa for a intenзгo.
Код:
Start_MultiTaskEx:NomeDaTarefa(Tempo_Em_MS, repetir = true / false, "iii", 1, 2, 3); 

-Verde: Start_MultiTaskEx, comeзa a execuзгo de uma tarefa com parвmetros.
-Vermelho: Nome da tarefa.
-Azul: Tempo em milesimos.
-Laranja: Se a tarefa vai repetir apуs o intervalo, utilize true se essa for a intenзгo.
-Rosa: Formato que indica os tipos de valores que a tarefa irб receber na callback.
-Marrom: Valores que serгo passados para a callback como parвmetros que podem ser utilizados pelas funзхes da tarefa.
Код:
Stop_MultiTask:NomeDaTarefa; 

-Verde: Stop_MultiTask, para a execuзгo de uma tarefa com ou sem parвmetros.
-Vermelho: Nome da tarefa.
Код:
GetID_MultiTask(NomeDaTarefa);

-Verde: GetID_MultiTask, obtйm o ID do timer de uma tarefa.
-Vermelho: Nome da tarefa.
• Exemplo com parвmetros
PHP код:
Create_MultiTaskEx:ExemploComParams("teste(a,c,b,d)""a,b,c,Float:d");
public 
OnGameModeInit()
{
    
Start_MultiTaskEx:ExemploComParams(1000false"iiif"1,2,3,3.5);
    return 
1;
}
teste(vsmFloat:l) return printf("%i %i %i %f",vsml); //saнda: 1 3 2 3.500000 
• Exemplo sem parвmetros
PHP код:
Create_MultiTask:ExemploSemParams("teste1(), teste2(), func1()");
public 
OnGameModeInit()
{
    
Start_MultiTask:ExemploSemParams(1000false);
    return 
1;
}
teste1() return print("1");
teste2() return print("2");
func1() return print("5");
//saнda: '1'
//saнda: '2'
//saнda: '5' 
• Download
Github
Reply
#2

Muito bom Jelly. Vai economizar muitas linhas, achei super ъtil, estarб no meu servidor, Observei o cуdigo e vi que isso deu menos de 30 linhas :O.

+Rep.
Reply
#3

Bem Ъtil Essa Include +REP.
Reply
#4

Уtimo, ainda explicado.
Reply
#5

Quote:
Originally Posted by zLink
Посмотреть сообщение
Caramba, muito bom Jelly, jб vi muitas pessoas falando que os SetTimer nгo sгo muito precisos,
e que o Y_timers resolvia muitas coisas.. porem parei de carregar a biblioteca YSI

Se puder claro, dar uma olhada na sugestгo, seria maravilhoso.
[Include] Timer Fix

Bom trabalho
Se vocк quiser utilizar o timerfix do Slice para tornar os timers mais precisos, basta incluir antes da minha include. Agora, se vocк quiser utilizar o plugin fixes2, basta apenas carregar o plugin sem a necessidade de nenhuma mudanзa.
Reply
#6

Muito bom trabalho jelly!
Reply
#7

Opa, Jelly de volta huehu ?

Уtimo sistema Jelly, uns dias desse um membro do fуrum pediu um sistema
similar, eu fiz um, depois de uma olhada ..
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)