←  Szukam pluginu

AMXX.pl: Support AMX Mod X i SourceMod

»

Za odpowiedz EXP

Daj buziaka's Photo 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.
Quote

Pan Marian's Photo 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.
Quote

Daj buziaka's Photo Daj buziaka 08.06.2013

okey już testuje :)

nie działa. nawet nic się nie wyświetla.
Quote

Pan Marian's Photo 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

Quote

Daj buziaka's Photo 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.
Quote

Pan Marian's Photo 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)
Quote

Daj buziaka's Photo Daj buziaka 08.06.2013

też nie działa. nawet się nie pokazuje.
Quote

  • +
  • -
GuRu's Photo GuRu 09.06.2013

set_task(0.1,"event",666)

Nie jestem pewien, ale spróbuj

Quote