Za odpowiedz EXP
Daj buziaka 08.06.2013
Witam. Szukam pluginu na coda chodzi mi ogólnie o plugin Questions / Equation Event ale żeby za poprawną odpowiedź dostawało się exp.
Pan Marian 08.06.2013
Przerobiłem plugin DarkGL'a, sprawdź czy działa. Dopisz do cod_plugins.ini. W /configs utwórz plik o nazwie event_words.ini, do którego po każdym enterze wpisujesz inne słowo lub frazę.
#include <amxmisc> #include <fun> #include <codmod> new dir[128],slowo[128] new ile_xp,ile; new bool:wpisywac = false; //pcvars new pcvar_max_xp,pcvar_min_xp,pcvar_min_time,pcvar_max_time,pcvar_time; public plugin_init() { register_plugin("Event Frags","0.1", "DarkGL edited by Pan Marian") pcvar_max_xp = register_cvar("event_max_xp","10") pcvar_min_xp = register_cvar("event_min_xp","5") pcvar_min_time = register_cvar("event_min_time","120.0") pcvar_max_time = register_cvar("event_max_time","360.0") pcvar_time = register_cvar("event_time_write","7") register_clcmd("say","say_handle") register_clcmd("say_team","say_handle") set_task(random_float(get_pcvar_float(pcvar_min_time),get_pcvar_float(pcvar_max_time)),"event",666) } public say_handle(id){ if(!wpisywac){ return PLUGIN_CONTINUE; } if(get_user_team(id) != 2 && get_user_team(id) != 1 ){ return PLUGIN_CONTINUE; } new stringsay[192] read_args(stringsay,192) remove_quotes(stringsay) if(!equali(slowo,stringsay)){ return PLUGIN_CONTINUE; } remove_task(665); wpisywac = false; new name[64]; get_user_name(id,name,63); client_print(0,print_center,"Gratulacje %s wygral %d doswiadczenia :) !",name,ile_xp) cod_set_user_xp(id, cod_get_user_xp(id)+ile_xp) set_task(7.0,"usun",664) return PLUGIN_CONTINUE; } public usun(){ client_print(0,print_center,"") } public event(){ new len; read_file(dir,random(file_size(dir,1)),slowo,127,len) ile_xp = random_num(get_pcvar_num(pcvar_min_xp),get_pcvar_num(pcvar_max_xp)) ile = get_pcvar_num(pcvar_time) client_print(0,print_center,"Kto pierwszy wpisze [%s] wygra %d XP - %d sekund",slowo,ile_xp,ile) wpisywac = true; set_task(random_float(get_pcvar_float(pcvar_min_time),get_pcvar_float(pcvar_max_time)),"event",666) set_task(1.0,"odswiez",665,_,_,"b") } public odswiez(){ ile--; if(ile <= 0 ){ wpisywac = false; client_print(0,print_center,"Niestety nikt nie wygral xp w konkursie:(") set_task(7.0,"usun",664) remove_task(665) } else { client_print(0,print_center,"Kto pierwszy wpisze [%s] wygra %d xp - %d sekund",slowo,ile_xp,ile) } } public plugin_precache(){ new cdir[128]; get_configsdir(cdir,charsmax(cdir)); format(dir,charsmax(dir),"%s/events_words.ini",cdir) }
Edited by Pan Marian, 08.06.2013 08:26.
Pan Marian 08.06.2013
A skonfigurowałeś czas? bo wyświetlić się powinno. Masz tam czas 2-3 minuty, losowy w czas, podczas którego ma się wyświetlić tekst
Daj buziaka 08.06.2013
event_min_time 120.0
event_max_time 360.0
ustawiłem sobie na
event_min_time 5.0
event_max_time 10.0
bo to jest w sekundach i nic. to samo.
Pan Marian 08.06.2013
A spróbuj zamiast
set_task(random_float(get_pcvar_float(pcvar_min_time),get_pcvar_float(pcvar_max_time)),"event",666)
set_task(10.0,"event",666)