Page 1 of 1
Cerere set_task
Posted: 24 Feb 2014, 18:16
by EpsiloN
Nickname: EpsiloN
Numele pluginului cerut: -
Descriere plugin cerut: As vrea sa imi spuna cineva cum pot adauga in set_task pe durata infinita de rulare a task-ului
Alte informatii: As vrea sa stiu cum pot pune un set_task infinit care sa scaneze jucatorii la fiecare 5 secunde pentru a verifica un anumit cvar si daca jucatorii isi schimba valoarea acelui cvar, serverul sa ii dea slay si sa schimbe acea valoare la cea pe care o setez eu din plugin
Nu stiu daca o sa dau un exemplu bun, dar o sa dau un exemplu si va rog sa ma corectati daca gresesc
- Exemplu | Afiseaza codul
[code]#include <amxmodx>
#define PLUGIN "Interp"
#define VERSION "1.0"
#define AUTHOR "EpsiloN a.k.a dystopiA"
public plugin_int()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
set_task(5.0, "cmdInterp", id, "b")
}
public cmdInterp(id)
{
new interp[32]
get_user_info(id, "ex_interp", interp, charsmax(interp))
if(strcmp(interp, "0.1" == 0)
{
server_cmd("slay #%d", get_user_userid(id))
client_cmd(id, "ex_interp 0.01")
}
}
public client_connect(id)
{
new interp[32]
get_user_info(id, "ex_interp", interp, chasrmax(interp))
if(strcmp(interp, "0.1" == 0)
{
client_print(id, print_chat, "Interp-ul tau nu este setat corect. Te rugam sa scrii ex_interp 0.01 in consola")
}
}[/code]
Multumesc!
Stima EpsiloN
Re: Cerere set_task
Posted: 24 Feb 2014, 18:24
by DaNNe.
Asa:
set_task(0.5, "BlaBlaBla", _, _, "b"
- La asta te referi ? Acest task se repeta la infinit.
Re: Cerere set_task
Posted: 24 Feb 2014, 18:37
by Cosmin
set_task(5.0,"exec",id,"b") //"b" = repeta la infinit.
Exista si un tutorial despre task.
Re: Cerere set_task
Posted: 24 Feb 2014, 18:39
by #Vali
scosmynnnn wrote:set_task(5.0,"exec",id,"b") //"b" = repeta la infinit.
Exista si un tutorial despre task.
Nu e bine :) daca il asezi in studio o sa vezi ca ai completat alt camp
Re: Cerere set_task
Posted: 24 Feb 2014, 18:43
by Cosmin
Ba este bine.
Re: Cerere set_task
Posted: 24 Feb 2014, 19:21
by levin
DaNNe. wrote:Asa:
set_task(0.5, "BlaBlaBla", _, _, "b"
- La asta te referi ? Acest task se repeta la infinit.
Asa e foarte bine
Re: Cerere set_task
Posted: 24 Feb 2014, 20:07
by EpsiloN
Multumesc tuturor pentru raspunsuri, mai ales tie dane
(ai avut dreptate ;))
Cerere rezolvata.
EDIT: Nu mi-a mers
Am incercat ceva si imi da eroare de tag missmatch
- Interp | Afiseaza codul
[code]#include <amxmodx>
#define PLUGIN "Interp"
#define VERSION "1.0"
#define AUTHOR "dystopiA"
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
set_task(5.0, "cmdInterp", _, _, "b")
}
public cmdInterp(id)
{
new interp[32], nume[32]
get_user_info(id, "ex_interp", interp, charsmax(interp))
get_user_name(id, nume, charsmax(nume))
if(strcmp(interp, "0.1") == 0)
{
server_cmd("slay #%d", get_user_userid(id))
client_print(0, print_chat, "[Interp] Jucatorul %s nu are interp-ul setat pe 0.01.")
client_print(id, print_chat, "[Interp] Interp-ul tau nu este setat pe 0.01. Te rugam sa introduci in consola ex_interp 0.01.")
}
}[/code]
Re: Cerere set_task
Posted: 25 Feb 2014, 10:15
by meNe
Salut, incearca asta:
- | Afiseaza codul
#include <amxmodx>
#define PLUGIN "Interp"
#define VERSION "1.0"
#define AUTHOR "dystopiA"
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
set_task(5.0, "cmdInterp", 0, _, _, "b")
}
public cmdInterp(id)
{
new interp[32], nume[32]
get_user_info(id, "ex_interp", interp, charsmax(interp))
get_user_name(id, nume, charsmax(nume))
if(strcmp(interp, "0.1") == 0)
{
server_cmd("slay #%d", get_user_userid(id))
client_print(0, print_chat, "[Interp] Jucatorul %s nu are interp-ul setat pe 0.01.")
client_print(id, print_chat, "[Interp] Interp-ul tau nu este setat pe 0.01. Te rugam sa introduci in consola ex_interp 0.01.")
}
}
---
Multumesc.
Re: Cerere set_task
Posted: 25 Feb 2014, 14:08
by levin
EpsiloN wrote:
Multumesc tuturor pentru raspunsuri, mai ales tie dane
(ai avut dreptate ;))
Cerere rezolvata.
EDIT: Nu mi-a mers
Am incercat ceva si imi da eroare de tag missmatch
- Interp | Afiseaza codul
[code]
#include <amxmodx>
#define PLUGIN "Interp"
#define VERSION "1.0"
#define AUTHOR "dystopiA"
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
set_task(5.0, "cmdInterp", _, _, "b")
}
public cmdInterp(id)
{
new interp[32], nume[32]
get_user_info(id, "ex_interp", interp, charsmax(interp))
get_user_name(id, nume, charsmax(nume))
if(strcmp(interp, "0.1") == 0)
{
server_cmd("slay #%d", get_user_userid(id))
client_print(0, print_chat, "[Interp] Jucatorul %s nu are interp-ul setat pe 0.01.")
client_print(id, print_chat, "[Interp] Interp-ul tau nu este setat pe 0.01. Te rugam sa introduci in consola ex_interp 0.01.")
}
}
[/code]
Uite asa
- | Afiseaza codul
#include < amxmodx >
new const
PLUGIN [ ] = "Interp",
VERSION [ ] = "1.0",
AUTHOR [ ] = "dystopiA";
public plugin_init ( )
{
register_plugin ( PLUGIN , VERSION , AUTHOR );
set_task ( 5.0 , "cmdInterp" , _ , _ , _ , "b" , 0 );
}
public cmdInterp ( id )
{
new interp [ 32 ] , nume [ 32 ];
get_user_info( id , "ex_interp" , interp , charsmax ( interp ) );
get_user_name( id , nume , charsmax ( nume ) );
if ( strcmp ( interp , "0.1" ) == 0 )
{
server_cmd ( "slay #%i" , get_user_userid ( id ) )
xCoLoR ( 0 , ".n[.vInterp.n] Jucatorul.e %s.n nu are interp-ul setat pe.v 0.01.n !" , nume );
xCoLoR ( id , ".n[.vInterp.n] Interp-ul tau nu este setat pe.e 0.01.n ! Te rugam sa introduci in consola ex_interp.n 0.01.n !" );
}
}
stock xCoLoR ( const id , const input [ ] , any:... )
{
new count = 1, players [ 32 ];
static msg [ 191 ];
vformat ( msg , 190 , input , 3 );
replace_all ( msg , 190 , "!v" , "^4" );
replace_all ( msg , 190 , "!n" , "^1" );
replace_all ( msg , 190 , "!e" , "^3" );
replace_all ( msg , 190 , "!e2" , "^0" );
if ( id )
{
players [ 0 ] = id;
}
else
get_players ( players , count , "ch" );
{
for ( new i = 0; i < count; i++ )
{
if ( is_user_connected ( players [ i ] ) )
{
message_begin ( MSG_ONE_UNRELIABLE , get_user_msgid ( "SayText" ) , _ , players [ i ] );
write_byte ( players[ i ] );
write_string ( msg );
message_end ( );
}
}
}
}
#pragma semicolon 1
Re: Cerere set_task
Posted: 25 Feb 2014, 21:03
by EpsiloN
meNe wrote:Salut, incearca asta:
- | Afiseaza codul
#include <amxmodx>
#define PLUGIN "Interp"
#define VERSION "1.0"
#define AUTHOR "dystopiA"
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
set_task(5.0, "cmdInterp", 0, _, _, "b")
}
public cmdInterp(id)
{
new interp[32], nume[32]
get_user_info(id, "ex_interp", interp, charsmax(interp))
get_user_name(id, nume, charsmax(nume))
if(strcmp(interp, "0.1") == 0)
{
server_cmd("slay #%d", get_user_userid(id))
client_print(0, print_chat, "[Interp] Jucatorul %s nu are interp-ul setat pe 0.01.")
client_print(id, print_chat, "[Interp] Interp-ul tau nu este setat pe 0.01. Te rugam sa introduci in consola ex_interp 0.01.")
}
}
---
Multumesc.
Multumesc tuturor (am uitat sa pun sa pun un argument inainte de
_, _, "b")
@ meNe Nu inteleg de ce tie ti-a mers cand ai pus acel 0 :)) (eu in loc de
0 am pus
id si tot mi-a dat eroare de tag missmatch
)
Re: Cerere set_task
Posted: 25 Feb 2014, 22:36
by meNe
Salut,
Totul e simplu. In plugin_init() nu ai definit indexul, asa ca taskul nu avea de unde sa ,,il cunoasca''.
Ca sa setezi cum ai pus tu, trebuia sa fie ceva de genul:
- | Afiseaza codul
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
for(new id = 1; id <= get_maxplayers(); id++)
{
set_task(5.0, "cmdInterp", id, _, _, "b")
}
}
---
Multumesc.
Re: Cerere set_task
Posted: 26 Feb 2014, 21:31
by EpsiloN
meNe wrote:Salut,
Totul e simplu. In plugin_init() nu ai definit indexul, asa ca taskul nu avea de unde sa ,,il cunoasca''.
Ca sa setezi cum ai pus tu, trebuia sa fie ceva de genul:
- | Afiseaza codul
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
for(new id = 1; id <= get_maxplayers(); id++)
{
set_task(5.0, "cmdInterp", id, _, _, "b")
}
}
---
Multumesc.
Deci daca e
0 si nu
id, task-ul se va aplica si va verifica toti jucatorii deodata sau pe rand?