sNaxu Napisano 30 Listopada 2015 Udostępnij Napisano 30 Listopada 2015 Jak zrobić swojego questa by DarkGL. //questy //Autor DarkGL : ) new quest_gracza[33]; new ile_juz[33]; //przedzial , ile ,kogo , nagroda expa, vip 1 tak 0 nie new questy[][]={ {1,2,Ninja,500,0}, {1,3,Mag,1200,1}, {1,6,Zabojca,2000,0}, {2,6,Hunter,5000,0}, {2,15,Barbarzynca,15000,1}, {2,20,Paladyn,20000,1}, {3,65,Barbarzynca,150000,1}, {3,120,Paladyn,200000,1} } new vault_questy; new vault_questy2; //od , do , hp new prze[][]={ {1,50,20}, {51,80,40}, {81,140,60} } new prze_wybrany[33] new questy_info[][]={ "Zabij 2 Ninje (Nagroda 500 doswiadczenia)", "Zabij 3 Magow (Nagroda 1200 doswiadczenia)", "Zabij 6 Zabojcow (Nagroda 2000 doswiadczenia)", "Zabij 6 Lowcow (Nagroda 5000 doswiadczenia)", "Zabij 15 Barbarzyncow (Nagroda 15000 doswiadczenia)", "Zabij 20 Paladynow (Nagroda 20000 doswiadczenia)", "Zabij 65 Barbarzyncow (Nagroda 150000 doswiadczenia)", "Zabij 120 Paladynow (Nagroda 200000 doswiadczenia)" } new questy_zabil[][]={ "Ninjow", "Magow", "Zabojcow", "Lowcow", "Barbarzyncow", "Paladynow", "Barbarzyncow", "Paladynow" }2. w plugin_init dodajemy vault_questy = nvault_open("Questy"); vault_questy2 = nvault_open("Questy2"); register_clcmd("say /questy","menu_questow") register_clcmd("say /quest","menu_questow") 3.w dowolnym miejscu w kodzie dodajemy public menu_questow(id){ if(quest_gracza[id] == -1 || quest_gracza[id] == -2){ new menu = menu_create("Menu Questow","menu_questow_handle") new formats[128] for(new i = 0;i<sizeof prze;i++){ formatex(formats,127,"Questy od %d do %d poziomu",prze[i][0],prze[i][1]); menu_additem(menu,formats) } menu_display(id,menu,0) } else { client_print(id,print_chat,"Wykonaj najpierw poprzednie zadanie") } } public menu_questow_handle(id,menu,item){ if(item == MENU_EXIT){ menu_destroy(menu); return PLUGIN_CONTINUE; } if(player_lvl[id] < prze[item][0]){ client_print(id,print_chat,"Masz za maly level!"); menu_questow(id) menu_destroy(menu); return PLUGIN_CONTINUE; } new formats[128] formatex(formats,127,"Questy od %d do %d poziomu",prze[item][0],prze[item][1]); new menu2 = menu_create(formats,"menu_questow_handle2") for(new i = 0;i<sizeof(questy);i++){ if(questy[i][0] == item+1){ menu_additem(menu2,questy_info[i]); } } menu_setprop(menu2, MPROP_EXITNAME, "Wyjdz"); menu_setprop(menu2, MPROP_BACKNAME, "Poprzednia strona"); menu_setprop(menu2, MPROP_NEXTNAME, "Nastepna strona"); prze_wybrany[id] = item+1; menu_display(id,menu2) return PLUGIN_CONTINUE; } public zapisz_questa(id,quest){ new name[64]; get_user_name(id,name,63) strtolower(name) new key[64]; format(key,63,"questy-%i-%s-%i",player_class[id],name,quest); nvault_set(vault_questy,key,"1"); } 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",player_class[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",player_class[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",player_class[id],name,quest); new data[64]; nvault_get(vault_questy,key,data,63); return str_to_num(data); } public menu_questow_handle2(id,menu,item){ if(item == MENU_EXIT){ menu_destroy(menu); return PLUGIN_CONTINUE; } new ile2 = 0; for(new i = 0;i<sizeof(questy);i++){ if(questy[i][0] != prze_wybrany[id]){ continue; } if(ile2 == item){ item = i; break; } ile2++; } if(questy[item][4] && !(get_user_flags(id) & ADMIN_LEVEL_H)){ client_print(id,print_chat,"Ten quest jest tylko dla vipow! Aby kupic vipa wejdz na forum amxx.pl"); menu_questow(id) menu_destroy(menu); return PLUGIN_CONTINUE; } if(wczytaj_questa(id,item)){ client_print(id,print_chat,"Wykonales juz to zadanie!"); menu_questow(id) menu_destroy(menu); return PLUGIN_CONTINUE; } quest_gracza[id] = item; ile_juz[id] = 0 zapisz_aktualny_quest(id) client_print(id,print_chat,"Wybrales zadanie: %s powodzenia !",questy_info[item]); quest_gracza[id] = wczytaj_aktualny_quest(id); menu_destroy(menu); return PLUGIN_CONTINUE; } 4.w funkcji DeathMsg w warunku if (is_user_connected(kid) && is_user_connected(vid) && get_user_team(kid) != get_user_team(vid)) { dodajemy if(quest_gracza[kid] != -1){ if(player_class[vid] == questy[quest_gracza[kid]][2]){ ile_juz[kid]++; zapisz_aktualny_quest(kid) } if(ile_juz[kid] == questy[quest_gracza[kid]][1]){ client_print(kid,print_chat,"Wykonales zadanie %s gratulacje otrzymujesz %i expa!",questy_info[quest_gracza[kid]],questy[quest_gracza[kid]][3]) zapisz_questa(kid,quest_gracza[kid]) Give_Xp(kid,questy[quest_gracza[kid]][3]); quest_gracza[kid] = -1; zapisz_aktualny_quest(kid) } else { client_print(kid,print_chat,"Zabiles %i/%i %s",ile_juz[kid],questy[quest_gracza[kid]][1],questy_zabil[quest_gracza[kid]]) } } tak to ma wyglądać if (is_user_connected(kid) && is_user_connected(vid) && get_user_team(kid) != get_user_team(vid)) { show_deadmessage(kid,vid,headshot,weaponname) create_itm(vid,0,"losowy item") award_kill(kid,vid) add_respawn_bonus(vid) add_bonus_explode(vid) add_barbarian_bonus(kid) //mana_gracza[kid]+=1 //mana_gracza[headshot]+=2 if (player_class[kid] == Barbarzynca) refill_ammo(kid) if (player_class[kid] == Griswold) refill_ammo(kid) if (player_class[kid] == Kowal) refill_ammo(kid) if (player_class[kid] == Demonolog) refill_ammo(kid) set_renderchange(kid) savexpcom(vid) if(quest_gracza[kid] != -1){ if(player_class[vid] == questy[quest_gracza[kid]][2]){ ile_juz[kid]++; zapisz_aktualny_quest(kid) } if(ile_juz[kid] == questy[quest_gracza[kid]][1]){ client_print(kid,print_chat,"Wykonales zadanie %s gratulacje otrzymujesz %i expa!",questy_info[quest_gracza[kid]],questy[quest_gracza[kid]][3]) zapisz_questa(kid,quest_gracza[kid]) Give_Xp(kid,questy[quest_gracza[kid]][3]); quest_gracza[kid] = -1; zapisz_aktualny_quest(kid) } else { client_print(kid,print_chat,"Zabiles %i/%i %s",ile_juz[kid],questy[quest_gracza[kid]][1],questy_zabil[quest_gracza[kid]]) } } } 5. quest_gracza[id] = wczytaj_aktualny_quest(id); musimy to dodać po całym switch w funkcji handle menu wyboru klas dużo diablo modów dużo menów dlatego tylko przyklad public PokazMeni(id, key) { /* Menu: * Wybierz klase: * 1:Czarodziejka * 2:Druid * 3:Paladyn * 4:Zabojczyni * 5:Nekromanta * 6:Barbarzynca * 7:Ninja * 8:Amazonka * 0:Wstecz */ new lx[28] // <-- tutaj wpisz liczbę swoich klas + 1(none) g_haskit[id] = 0 c_shake[id]=0 c_damage[id]=0 c_jump[id]=0 c_mine[id]=0 c_respawn[id]=0 c_vampire[id]=0 zmiana_skinu[id]=0 switch(key) { case 0: { player_class[id] = Mag c_shake[id]=20 LoadXP(id, player_class[id]) } case 1: { player_class[id] = Mnich c_damage[id]=3 zmiana_skinu[id]=1 changeskin(id,0) LoadXP(id, player_class[id]) } case 2: { player_class[id] = Paladyn LoadXP(id, player_class[id]) } case 3: { player_class[id] = Zabojca c_jump[id]=1 c_mine[id]=2 LoadXP(id, player_class[id]) } case 4: { player_class[id] = Nekromanta g_haskit[id] = 1 c_respawn[id]=4 c_vampire[id]=random_num(1,3) LoadXP(id, player_class[id]) } case 5: { player_class[id] = Barbarzynca LoadXP(id, player_class[id]) } case 6: { player_class[id] = Ninja LoadXP(id, player_class[id]) } case 7: { player_class[id] = Hunter g_GrenadeTrap[id] = 1 LoadXP(id, player_class[id]) } case 9: { select_class(id,lx) } } CurWeapon(id) quest_gracza[id] = wczytaj_aktualny_quest(id); give_knife(id) return PLUGIN_HANDLED } Wiem jestem cienki w pisaniu poradników : D 3 Odnośnik do komentarza https://csowicze.pl/topic/22596-tworzenie-swoich-quest%C3%B3w/ Udostępnij na innych stronach Więcej opcji udostępniania...
Luki!# Napisano 30 Listopada 2015 Udostępnij Napisano 30 Listopada 2015 Dobry poradnik + GG: 49722583 Odnośnik do komentarza https://csowicze.pl/topic/22596-tworzenie-swoich-quest%C3%B3w/#findComment-103948 Udostępnij na innych stronach Więcej opcji udostępniania...
Klosin Napisano 30 Listopada 2015 Udostępnij Napisano 30 Listopada 2015 Pewnie się przyda, dobrze opisany ładnie schludnie masz + Odnośnik do komentarza https://csowicze.pl/topic/22596-tworzenie-swoich-quest%C3%B3w/#findComment-103950 Udostępnij na innych stronach Więcej opcji udostępniania...
davise Napisano 30 Listopada 2015 Udostępnij Napisano 30 Listopada 2015 Wkońcu swoją robotę, wykonujesz... Odnośnik do komentarza https://csowicze.pl/topic/22596-tworzenie-swoich-quest%C3%B3w/#findComment-103956 Udostępnij na innych stronach Więcej opcji udostępniania...
Borsuk_Sqn Napisano 30 Listopada 2015 Udostępnij Napisano 30 Listopada 2015 :D No to już umiem :3 Prawie :D no tak na 30 % ale jeszcze z 5 razy ogarne i bedzie git xD + ____________________________________________________________ W razie potrzeby zawsze pomogę ile mogę :3 Odnośnik do komentarza https://csowicze.pl/topic/22596-tworzenie-swoich-quest%C3%B3w/#findComment-104055 Udostępnij na innych stronach Więcej opcji udostępniania...
Shadowek Napisano 30 Listopada 2015 Udostępnij Napisano 30 Listopada 2015 (edytowane) Dobry poradnik fajnie fajnie, ale to nie jemu dziękujcie tylko osobie która to wykonała (bo on to tylko przekopiował) : DarkGl (jakby ktoś nie wiedział: Administrator sieci AmxxSupport) Edytowane 30 Listopada 2015 przez Shadowek Odnośnik do komentarza https://csowicze.pl/topic/22596-tworzenie-swoich-quest%C3%B3w/#findComment-104077 Udostępnij na innych stronach Więcej opcji udostępniania...
sNaxu Napisano 30 Listopada 2015 Autor Udostępnij Napisano 30 Listopada 2015 Shadowek, Masz rację, niech nie dziękują Mi tylko Jemu, żeby nikt się nie czepiał - Ja nigdzie nie napisałem że poradnik jest mojego autorstwa. Odnośnik do komentarza https://csowicze.pl/topic/22596-tworzenie-swoich-quest%C3%B3w/#findComment-104090 Udostępnij na innych stronach Więcej opcji udostępniania...
Shadowek Napisano 1 Grudnia 2015 Udostępnij Napisano 1 Grudnia 2015 Shadowek, Masz rację, niech nie dziękują Mi tylko Jemu, żeby nikt się nie czepiał - Ja nigdzie nie napisałem że poradnik jest mojego autorstwa. Tylko, żebyś sobie nie pomyślał, że chciałem cię obrazić nic z tych rzeczy. Ja tylko im napisałem, że to wykonał DarkGL, ponieważ niektórzy chyba nie czytają początku :) Odnośnik do komentarza https://csowicze.pl/topic/22596-tworzenie-swoich-quest%C3%B3w/#findComment-104219 Udostępnij na innych stronach Więcej opcji udostępniania...
KiKerr Napisano 5 Grudnia 2015 Udostępnij Napisano 5 Grudnia 2015 Wiadomość wygenerowana automatycznie Powód: Dzięki za poradnik, zamykam Jeżeli się z tym nie zgadzasz raportuj ten post a moderator lub administrator rozpatrzy go ponownie. Z pozdrowieniami. Administracja CSowicze.pl Odnośnik do komentarza https://csowicze.pl/topic/22596-tworzenie-swoich-quest%C3%B3w/#findComment-105116 Udostępnij na innych stronach Więcej opcji udostępniania...
Gość esej Napisano 21 Czerwca 2016 Udostępnij Napisano 21 Czerwca 2016 Wiadomość wygenerowana automatycznie Powód: zamek Jeżeli się z tym nie zgadzasz raportuj ten post a moderator lub administrator rozpatrzy go ponownie. Z pozdrowieniami. Administracja CSowicze.pl Odnośnik do komentarza https://csowicze.pl/topic/22596-tworzenie-swoich-quest%C3%B3w/#findComment-170937 Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi