Witma,
Pokażę wam jak w prosty sposób dodać do tego pluginu http://amxx.pl/topic...ersja-4-update/ , Misje "Zabij klase x Razy"
Pomógł mi przy Tym radim dzięki wielkie
OK to przechodzimy to pluginu, pokażę wam to na przykładzie Snajper:
do enum dodajemy:
SNAJPER = 7 // jeśli cyfra 7 jest już zajęta dodajemy 8 lub 9
a powinno wyglądać tak
-
enum { NONE = 0, KILL = 1, SUBSTRATES = 2, DISARM = 3, HEADSHOT = 4, RESUCE_HOSTAGES = 5, DMG = 6, SNAJPER = 7 }
do new QuestInfoMessage dodajemy:
"Musisz zabic jeszcze %i osob z klasa Snajper"
powinno wyglądać tak:
new QuestInfoMessage[][] = { "Brak Questa %i", "Musisz zabic jeszcze %i osob", "Musisz podlozyc bombe jeszcze %i razy", "Musisz rozbroic bombe jeszcze %i razy", "Musisz zabic jeszcze %i osob headshotem", "Musisz uratowac jeszcze %i razy hosty", "Musisz zadac jeszcze %i obrazen", "Musisz zabic jeszcze %i osob z klasa Snajper" }
Do public DeathMsg dodajemy:
case SNAJPER: { if(cod_get_user_class(vid) == cod_get_classid("Snajper")) add_progress(id, 1); }
powinno całość wyglądać tak:
public DeathMsg() { new id = read_data(1); new vid = read_data(2); new hs = read_data(3); new knife = read_data(4); if( is_user_connected(id) && get_user_team(id) != get_user_team(vid) ) { if( ePlayerQuestType[id] ) { switch(ePlayerQuestType[id]) { case KILL: { add_progress(id, 1) } case HEADSHOT: { if(hs) add_progress(id, 1); } case KNIFE: { if(knife) add_progress(id, 1); } case SNAJPER: { if(cod_get_user_class(vid) == cod_get_classid("Snajper")) add_progress(id, 1); } } } } }
do public menu_first_handle dodajemy:
case SNAJPER: formatex(formats, 127, "Zabij %i Snajperow Nagroda: %i expa", ArrayGetCell(gIleRazy, i), ArrayGetCell(gNagroda, i))
całość powinna wyglądać tak:
public menu_first_handle(id, menu, item) { client_cmd(id, "spk QTM_CodMod/select"); if(item == MENU_EXIT){ menu_destroy(menu); return PLUGIN_CONTINUE; } new menu2 = menu_create("Wybierz Quest:","menu_handle") new formats[128] for(new i = 0;i<MaxQuest;i++) { if(ArrayGetCell(gPrzedzial, i) == item) { switch(ArrayGetCell(gTyp, i)) { case KILL: formatex(formats, 127, "Zabij %i osob Nagroda: %i expa", ArrayGetCell(gIleRazy, i), ArrayGetCell(gNagroda, i)) case HEADSHOT: formatex(formats, 127, "Jebnij %i HeadShotow Nagroda: %i expa", ArrayGetCell(gIleRazy, i), ArrayGetCell(gNagroda, i)) case SUBSTRATES: formatex(formats, 127, "Podloz %i bomb Nagroda: %i expa", ArrayGetCell(gIleRazy, i), ArrayGetCell(gNagroda, i)) case RESUCE_HOSTAGES: formatex(formats, 127, "Uratuj %i razy hosty Nagroda: %i expa", ArrayGetCell(gIleRazy, i), ArrayGetCell(gNagroda, i)) case DISARM: formatex(formats, 127, "Rozbroj %i bomb Nagroda: %i expa", ArrayGetCell(gIleRazy, i), ArrayGetCell(gNagroda, i)) case DMG: formatex(formats, 127, "Zadaj %i obrazen Nagroda: %i expa", ArrayGetCell(gIleRazy, i), ArrayGetCell(gNagroda, i)) case SNAJPER: formatex(formats, 127, "Zabij %i Snajperow Nagroda: %i expa", ArrayGetCell(gIleRazy, i), ArrayGetCell(gNagroda, i)) } menu_additem(menu2, formats); } } iPlayerPrzedzial[id] = item; menu_setprop(menu2, MPROP_PERPAGE, 7); menu_display(id,menu2,0) menu_destroy(menu); return PLUGIN_HANDLED }
Jest to mój pierwszy poradnik więc proszę o wyrozumiałość, sądzę że może się komuś przydać
Testowałem te rozwiązanie i nalicza normalnie i nie ma żadnych bugów ani errorów .