Witam znalazłem taki kod :
Spoiler
[code=auto:0]#include <amxmodx> #include <codmod> #include <nvault> #include <colorchat> #define PLUGIN "[COD] Questy" #define VERSION "1.0" #define AUTHOR "DarkGL edited by Muzzi" new const prefix[] = "[Questy]"; new const przedzial[][] = { {1,50}, {51,100}, {101,200} } new const SpisQuest[][] = { {1,2,"Komandos","300"}, {2,5,"Snajper","400"}, {3,8,"Obronca","650"} } new const QuestyInfo[][] = { "Zabij 2 Komandosow", "Zabij 5 Snajperow", "Zabij 8 Obroncow" } new const QuestyInfoExp[][] = { "(Nagroda 300 doswiadczenia)", "(Nagroda 400 doswiadczenia)", "(Nagroda 650 doswiadczenia)" } new prze_wybrany[33], vault_questy, vault_questy2, quest_gracza[33], ile_juz[33], klasa[33][64]; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_event("DeathMsg", "DeathMsg", "a"); register_clcmd("say /quest","cmdMenuQuest"); vault_questy = nvault_open("Questy"); vault_questy2 = nvault_open("Questy2"); } public cod_class_changed(id, klasa) { quest_gracza[id] = wczytaj_aktualny_quest(id) } public client_disconnect(id) zapisz_questa(id,quest_gracza[id],"1") public plugin_end() { nvault_close(vault_questy); nvault_close(vault_questy2); } public cmdMenuQuest(id){ if(quest_gracza[id] == -1 || quest_gracza[id] == -2) { new menu = menu_create("^n^n\y[NazwaSieci.pl] \wMenu Questow^n\dby \rMuzzi\d^n^n\yAktualny Quest: \wBrak","handle_cmdMenuQuest"); menu_additem(menu,"Wybierz Quest","0"); menu_additem(menu,"Resuj Questy \y[\rWszystkie!\y]","3"); menu_display(id,menu); } else { new formats[256]; format(formats,charsmax(formats),"^n^n^n\y[NazwaSieci.pl] \wMenu Questow^n\dby \rMuzzi^n^n\yAktualny Quest: \w%s^n\rStatus:\w %d/%d^n\y%s",QuestyInfo[quest_gracza[id]],ile_juz[id],SpisQuest[quest_gracza[id]][1],QuestyInfoExp[id]); new menu = menu_create(formats,"handle_cmdMenuQuest"); menu_additem(menu,"\dWybierz Quest","2"); menu_additem(menu,"\wAnuluj Quest","1"); menu_display(id,menu); } } public handle_cmdMenuQuest(id,menu,item){ if(item==MENU_EXIT) { menu_destroy(menu); return PLUGIN_HANDLED; } new data[6], iName[64]; new access, callback; menu_item_getinfo(menu, item, access, data,5, iName, 63, callback); new key = str_to_num(data); switch(key) { case 0: cmdQuest(id) case 1:{ zapisz_questa(id,quest_gracza[id],"0") quest_gracza[id] = -1; zapisz_aktualny_quest(id) } case 2:{ ColorChat(id,GREY,"%s Niestety, posiadasz aktualnie Questa",prefix); return PLUGIN_HANDLED; } case 3: resetquesty(id) } return PLUGIN_HANDLED; } public cmdQuest(id){ if(quest_gracza[id] == -1 || quest_gracza[id] == -2) { new formats[512]; format(formats,charsmax(formats),"^n^n\y[NazwaSieci.pl] \wWybierz Quest\d"); new menu = menu_create(formats,"handle_cmdQuest"); for(new i=0; i<sizeof przedzial; i++) { format(formats,charsmax(formats),"Questy od \r%d \wdo \r%d",przedzial[i][0],przedzial[i][1]); menu_additem(menu, formats); } menu_display(id,menu); } else { ColorChat(id,GREY,"%s Wykonaj najpierw poprzednie zadanie",prefix) } return PLUGIN_CONTINUE; } public handle_cmdQuest(id,menu,item){ if(item == MENU_EXIT){ menu_destroy(menu); return PLUGIN_CONTINUE; } if(cod_get_user_level(id) < przedzial[item][0]) { ColorChat(id,GREY,"%s Masz za maly level!",prefix); cmdQuest(id) menu_destroy(menu); return PLUGIN_HANDLED; } new formats[512] formatex(formats,charsmax(formats),"^n^n\y[NazwaSieci.pl] \wWybierz Quest^n\dZadania od %d do %d poziomu",przedzial[item][0],przedzial[item][1]); new menu = menu_create(formats,"handle_handle_cmdQuest") for(new i=0; i<sizeof SpisQuest; i++) { if(SpisQuest[i][0] == item+1){ formatex(formats,charsmax(formats),"\w%s \r%s",QuestyInfo[i],QuestyInfoExp[i]); menu_additem(menu,formats); } } prze_wybrany[id] = item+1; menu_display(id,menu); return PLUGIN_CONTINUE; } public handle_handle_cmdQuest(id,menu,item){ if(item == MENU_EXIT){ menu_destroy(menu); return PLUGIN_CONTINUE; } new ile2 = 0; for(new i = 0;i<sizeof(SpisQuest);i++){ if(SpisQuest[i][0] != prze_wybrany[id]){ continue; } if(ile2 == item){ item = i; break; } ile2++; } if(wczytaj_questa(id,item)){ ColorChat(id,GREY,"%s Wykonales juz to zadanie!",prefix); cmdQuest(id) menu_destroy(menu); return PLUGIN_CONTINUE; } quest_gracza[id] = item; ile_juz[id] = 0 zapisz_aktualny_quest(id) ColorChat(id,GREY,"%s Wybrales quest: %s %s powodzenia !",prefix,QuestyInfo[item],QuestyInfoExp[item]); quest_gracza[id] = wczytaj_aktualny_quest(id); menu_destroy(menu); return PLUGIN_CONTINUE; } public DeathMsg(){ new attacker = read_data(1); new victim = read_data(2); if(quest_gracza[attacker] != -1) { if(attacker == victim) return PLUGIN_HANDLED; cod_get_class_name(cod_get_user_class(victim), klasa[victim], charsmax(klasa)); if(klasa[victim][0] == SpisQuest[quest_gracza[attacker]][2]){ ile_juz[attacker]++; zapisz_aktualny_quest(attacker) } if(ile_juz[attacker] == SpisQuest[quest_gracza[attacker]][1]){ ColorChat(attacker,GREY,"%s Wykonales zadanie %s gratulacje otrzymujesz %s expa!",prefix,QuestyInfo[quest_gracza[attacker]],QuestyInfoExp[attacker]) zapisz_questa(attacker,quest_gracza[attacker],"1") cod_set_user_xp(attacker,cod_get_user_xp(attacker) + SpisQuest[quest_gracza[attacker]][3]); quest_gracza[attacker] = -1; zapisz_aktualny_quest(attacker) } else { ColorChat(attacker,GREY,"%s Zabiles %i/%i %s",prefix,ile_juz[attacker],SpisQuest[quest_gracza[attacker]][1],SpisQuest[quest_gracza[attacker]][2]) } } return PLUGIN_CONTINUE; public zapisz_questa(id,quest,value[]) { new name[64]; get_user_name(id,name,63) strtolower(name) new key[64]; format(key,63,"questy-%i-%s-%i",klasa[id],name,quest); nvault_set(vault_questy,key,value); } public zapisz_aktualny_quest(id){ new name[64]; get_user_name(id,name,63) strtolower(name) new key[256]; format(key,255,"questy-%d-%s",klasa[id],name); new data[32] formatex(data,charsmax(data),"#%d#%d",quest_gracza[id]+1,ile_juz[id]); nvault_set(vault_questy2,key,data); } public wczytaj_aktualny_quest(id){ new name[64]; get_user_name(id,name,63) strtolower(name) new key[256]; format(key,255,"questy-%d-%s",klasa[id],name); new data[32]; nvault_get(vault_questy2,key,data,31); replace_all(data,31,"#"," "); new questt[32],ile[32] parse(data,questt,31,ile,31) ile_juz[id] = str_to_num(ile) return str_to_num(questt)-1 } public wczytaj_questa(id,quest){ new name[64]; get_user_name(id,name,63) strtolower(name) new key[64]; format(key,63,"questy-%i-%s-%i",klasa[id],name,quest); new data[64]; nvault_get(vault_questy,key,data,63); return str_to_num(data); } public resetquesty(id) { new menu = menu_create("Czy na pewno chcesz usunac Wszystkie Zapisane Questy?","handle_resetquesty"); menu_additem(menu,"Tak, Chce wykasowac wszystkie Questy!","0"); menu_additem(menu,"Nie, Nie chce nic kasowac!","1"); menu_display(id,menu); } public handle_resetquesty(id,menu,item){ if(item==MENU_EXIT) { menu_destroy(menu); return PLUGIN_HANDLED; } new data[6], iName[64]; new access, callback; menu_item_getinfo(menu, item, access, data,5, iName, 63, callback); new key = str_to_num(data); switch(key) { case 0:{ for(new i=0;i<sizeof SpisQuest;i++) { zapisz_questa(id,i,"0") } quest_gracza[id] = -1; zapisz_aktualny_quest(id) } case 1: ColorChat(id,GREY,"%s Nie baw sie :D",prefix); } return PLUGIN_CONTINUE; } [/code]
Jak dodać do tego pluginu misje zabicia z dowolnej broni np
Zabij 10 razy z pistoletu
Na wklejce daje 2 kod gdzie jest takie coś http://amxx.pl/pastebin/3o46xlrp8cwq/
Proszę o pomoc