Nu merge !Helios scrie:Folosește acest quest, și eu îl folosesc și nu am probleme.Cod: Selectaţi tot
--------------------------- Quest editat de Helios pentru Just4Metin --------------------------- quest marriage_manage begin state start begin when 9006.chat."Vreau să mă căsătoresc" with not pc.is_engaged_or_married() begin if not npc.lock() then say_title("Femeia Bătrână:") say("") ----"123456789012345678901234567890123456789012345678901234567890"| say("O altă nuntă are loc momentan.") say("") say("Aşteaptă sau întoarce-te mai târziu!") say("") return end if pc.level < 25 then say_title("Femeia Bătrână:") say("") ----"123456789012345678901234567890123456789012345678901234567890"| say("Pentru a putea organiza o nuntă, trebuie ca ambii") say("participanţi să aibă minim nivelul 25. Din păcate") say("nu îndeplineşti această condiţie.") say("Revin-o la mine când vei fi pregătit(ă)!") say("") npc.unlock() return end local m_ring_num = pc.countitem(70301) local m_has_ring = m_ring_num > 0 if not m_has_ring then say_title("Femeia Bătrână:") say("") ----"123456789012345678901234567890123456789012345678901234567890"| say("Din păcate nu pot să încep nunta deoarece") say("vă lipsesc Inelele de Logodnă.") say("Revin-o la mine când vei fi pregătit(ă)!") say("") npc.unlock() return end local m_sex = pc.get_sex() if not marriage_manage.is_equip_wedding_dress() then say_title("Femeia Bătrână:") say("") ----"123456789012345678901234567890123456789012345678901234567890"| say("Din păcate nu pot să incep nunta deoarece") say("nu purtaţi costumele de nuntă.") say("") if m_sex==0 then say("Dacă vrei să te căsătoreşti ai nevoie de:") say_item("Tuxedo", 11901, "") else say("If you want to get married you need to wear:") say_item("Rochie de mireasă ", 11903, "") end say("") npc.unlock() return end local NEED_MONEY = 1000000 if pc.get_money() < NEED_MONEY then say_title("Femeia Bătrână:") say("") ----"123456789012345678901234567890123456789012345678901234567890"| say("Ei ... vrei să te căsătoreşti dar nu ai bani să-ţi") say("plăteşti nunta? Cum iţi vei întreţine familia?") say("Revin-o la mine când ai toţi banii.") say("") say_reward("Cost: 1.000.000 Yang") say("") npc.unlock() return end say_title("Femeia Bătrână:") say("") say("Dacă ai venit la mine înseamnă că vrei să ") say("te căsătoreşti. Ei bine, ai venit la locul") say("potrivit.") say("") say_reward("Introdu numele persoanei iubite:") say("") local sname = input() if sname == "" then say_title("Femeia Bătrână:") say("") ----"123456789012345678901234567890123456789012345678901234567890"| say("Numele pe care l-ai introdus nu este bun.") say("Încearcă din nou şi ai grijă de data") say("asta să introduci numele corect.") say("" ) npc.unlock() return end local u_vid = find_pc_by_name(sname) local m_vid = pc.get_vid() if u_vid == 0 then say_title("Femeia Bătrână:") say("") say("Nu ştii cu cine vrei să te căsătoreşti?") say("") say_reward(string.format("%s nu este online.", sname)) say("") npc.unlock() return end if not npc.is_near_vid(u_vid, 10) then say_title("Femeia Bătrână:") say("") ----"123456789012345678901234567890123456789012345678901234567890"| say("Persoana cu care vrei să te căsătoreşti") say("nu este aproape tine. Pentru a vă putea") say("căsători cheam-o aproape tine.") say("") say_reward(string.format("%s este prea departe.", sname)) say("") npc.unlock() return end local old = pc.select(u_vid) local u_level = pc.get_level() local u_job = pc.get_job() local u_sex = pc.get_sex() local u_name = pc.name local u_gold = pc.get_money() local u_married = pc.is_married() local u_has_ring = pc.countitem(70301) > 0 local u_wear = marriage_manage.is_equip_wedding_dress() pc.select(old) local m_level = pc.get_level() if u_vid == m_vid then say_title("Femeia Bătrână:") say("") say("Introdu numele partenerului nu al tău.") say("") npc.unlock() return end if u_sex == m_sex then say_title("Femeia Bătrână:") say("") say("Îmi pare rău dar nu voi căsători două persoane") say("de acelaşi sex.") say("") npc.unlock() return end if u_married then say_title("Femeia Bătrână:") say("") ----"123456789012345678901234567890123456789012345678901234567890"| say("Ha? Nu ştiai? Persoana cu care vrei să ") say("te căsătoreşti este deja luată.") say("") say_reward(string.format("%s este deja căsătorit(ă).", sname)) say("") npc.unlock() return end if u_level < 25 then say_title("Femeia Bătrână:") say("") say("Persoana cu care vrei să te căsătoreşti") say("nu are nivelul necesar.") say("") say_reward("Nivel necesar: 25") say("") npc.unlock() return end if m_level - u_level > 15 or u_level - m_level > 15 then say_title("Femeia Bătrână:") say("") ----"123456789012345678901234567890123456789012345678901234567890"| say("Diferenţa de nivel dintre voi doi este prea") say("mare. Revin-o atunci când diferenţa va fi") say("doar de 15 nivele.") say("") npc.unlock() return end if not u_has_ring then if m_ring_num >= 2 then say_title("Femeia Bătrână:") say("") say("Acum schimbaţi inelele.") say("") else say_title("Femeia Bătrână:") say("") ----"123456789012345678901234567890123456789012345678901234567890"| say("Căsătoria este o chestiune foarte importantă ") say("în viaţă. Macar atât puteai să-i cumperi") say("un inel persoanei iubite.") say("") end say_item("Inel de logodnă ", 70302, "") say("") ----"123456789012345678901234567890123456789012345678901234567890"| say("Partenerul tău trebuie să aibă si el un inel") say("de logodnă.") say("") npc.unlock() return end if not u_wear then say_title("Femeia Bătrână:") say("") say("Nu purtaţi costumul de nuntă. Ar fi cam jenant") say("să vă căsătoriţi în armură nu credeţi? Reveniţi") say("când aveţi costumele de nuntă.") say("") if u_sex==0 then say_reward("Persoanei iubite îi lipseşte costumul de nuntă.") else say_reward("Persoanei iubite îi lipseşte costumul de nuntă.") end say("") npc.unlock() return end local ok_sign = confirm(u_vid, "Vrei să te căsătoreşti cu "..pc.name.."?", 30) if ok_sign == CONFIRM_OK then local m_name = pc.name if pc.get_gold()>=NEED_MONEY then pc.change_gold(-NEED_MONEY) pc.removeitem(70301, 1) pc.give_item2(70302, 1) local old = pc.select(u_vid) pc.removeitem(70301, 1) pc.give_item2(70302, 1) pc.select(old) say_title("Femeia Bătrână:") say("") ----"123456789012345678901234567890123456789012345678901234567890"| say("Totul este gata! Cu siguranţă totul este") say("pregătit acum.") say("Acum vă voi trimite la managerul de nunţi") say("pentru a termina cununia.") say("") wait() setskin(NOWINDOW) marriage.engage_to(u_vid) end else say_title("Femeia Bătrână:") say("") say("Partenerul tău nu mai doreşte să se") say("căsătorească cu tine.") say("") end say("") npc.unlock() end when 9006.chat."Începe nunta" with pc.is_engaged() begin say_title("Femeia Bătrână:") say("") say("De ce eşti încă aici?") say("") wait() setskin(NOWINDOW) marriage.warp_to_my_marriage_map() end when 9011.chat."Permisiunea pentru căsătorie" with pc.is_engaged() and marriage.in_my_wedding() begin if not npc.lock() then say_title("Organizatoare de nunţi:") say("") say("Vorbesc cu partenerul tău. Aşteaptă.") say("") return end say_title("Organizatoare de nunţi:") say("") say("Prima dată, introdu numele partenerului.") local sname = input() local u_vid = find_pc_by_name(sname) local m_vid = pc.get_vid() if u_vid == 0 then say_title("Organizatoare de nunţi:") say("") say("Nu văd pe nimeni cu acest nume în preajmă.") say("Eşti sigur că acesta este numele? ") say("") say_reward(string.format("%s nu este online.", sname)) say("") npc.unlock() return end if not npc.is_near_vid(u_vid, 10) then say_title("Organizatoare de nunţi:") say("") say("Persoana cu care vrei să te căsătoreşti") say("nu este aproape tine. Pentru a vă putea") say("căsători cheam-o aproape tine.") say("") say_reward(string.format("%s trebuie sa fie mai aproape.", sname)) say("") npc.unlock() return end if u_vid == m_vid then say_title("Organizatoare de nunţi:") say("") say("Nu introdu propriul nume.") say("") say("Trebuie să introduci numele partenerului tău.") say("") npc.unlock() return end if u_vid != marriage.find_married_vid() then say_title("Organizatoare de nunţi:") say("") say("Ceva nu este în regula. Nu este persoana") say("potrivită.") say("Poţi să verifici te rog?") say("") npc.unlock() return end local ok_sign = confirm(u_vid, "Vrei să te căsătoreşti cu "..pc.name.."?", 30) if ok_sign != CONFIRM_OK then say_title("Organizatoare de nunţi:") say("") say("Partenerul tău nu este pregătit.") say("") npc.unlock() return end say_title("Organizatoare de nunţi:") say("") say("Acum totul este în ordine şi putem începe.") say("") marriage.set_to_marriage() say("Să aveţi o nuntă frumoasă!") say("") npc.unlock() end function give_wedding_gift() local male_item = {71072, 71073, 71074} local female_item = {71069, 71070, 71071} if pc.get_sex() == MALE then pc.give_item2(male_item[number(1, 3)], 1) else pc.give_item2(female_item[number(1, 3)], 1) end end when 9011.chat."Porneşte muzica" with (pc.is_engaged() or pc.is_married()) and marriage.in_my_wedding() and not marriage.wedding_is_playing_music() begin marriage.wedding_music(true, "wedding.mp3") setskin(NOWINDOW) end when 9011.chat."Opreşte muzica" with (pc.is_engaged() or pc.is_married()) and marriage.in_my_wedding() and marriage.wedding_is_playing_music() begin marriage.wedding_music(false, "default") setskin(NOWINDOW) end when 9011.chat."Noapte/zi" with pc.is_married() and marriage.in_my_wedding() begin marriage.wedding_dark(true) setskin(NOWINDOW) end when 9011.chat."Porneşte zăpada" with pc.is_married() and marriage.in_my_wedding() begin marriage.wedding_snow(true) setskin(NOWINDOW) end when 9011.chat."Anunţ " with pc.is_married() and marriage.in_my_wedding() begin if pc.getqf("wedding_announce_time") < get_time() then local old_vid = pc.get_vid() local u_vid = marriage.find_married_vid() if u_vid != 0 then pc.select(u_vid) local partner = pc.getname() pc.select(old_vid) notice_all(pc.name.." şi "..partner.." va invită la nunta lor!") notice_all("Du-te la femeia bătrână pentru a te alătura.") pc.setqf("wedding_announce_time", get_time()+60*10) setskin(NOWINDOW) else say("Partenerul tău nu este online!") say("") end else local remaining = pc.getqf("wedding_announce_time") - get_time() say("Mai trebuie să aştepţi "..remaining.." secunde.") say("") end end when 9011.chat."Încheiaţi nunta" with pc.is_married() and marriage.in_my_wedding() begin if not npc.lock() then say_title("Organizatoare de nunţi:") say("") say("Vorbesc cu partenerul tău. Aşteaptă.") say("") return end say_title("Organizatoare de nunţi:") say("") say("Doreşti să închei nunta?") say("") local s = select("Da","Nu") if s == 1 then local u_vid = marriage.find_married_vid() if u_vid == 0 then say_title("Organizatoare de nunţi:") say("") say("Partenerul tău trebuie să fie de acord") say("pentru terminarea nunţii.") say("") say("Nunta nu poate fi terminată deoarece") say("partenerul tău nu este online.") say("") npc.unlock() return end say_title("Organizatoare de nunţi:") say("") say("Trebuie să aşteptăm confirmarea partenerului,") say("tău.") say("") local ok_sign = confirm(u_vid, "Vrei să termini nunta? ", 30) if ok_sign == CONFIRM_OK then marriage.end_wedding() else say_title("Organizatoare de nunţi:") say("") say("Partenerul tău nu este de acord!") say("") end npc.unlock() end end when 11000.chat."Divorţ " or 11002.chat."Divorţ " or 11004.chat."Divorţ " with pc.is_married() begin if not marriage_manage.check_divorce_time() then return end local u_vid = marriage.find_married_vid() if u_vid == 0 or not npc.is_near_vid(u_vid, 10) then say_title("Gardian:") say("") ----"123456789012345678901234567890123456789012345678901234567890"| say("Fără partenerul dumneavoastră nu puteţi obţine") say("divorţul în mod legal.") say("Revin-o cu partenerul tău!") say("") return end say_title("Gardian:") say("") ----"123456789012345678901234567890123456789012345678901234567890"| say("Pentru a divorţa aveţi nevoie de 500.000Yang") say("şi acordul partenerului dumneavoastră.") say("") say("Eşti sigur că vrei asta?") say("") local MONEY_NEED_FOR_ONE = 500000 local s = select("Da.", "Nu sunt sigur încă.") if s == 1 then local m_enough_money = pc.gold > MONEY_NEED_FOR_ONE local m_have_ring = pc.countitem(70302) > 0 local old = pc.select(u_vid) local u_enough_money = pc.gold > MONEY_NEED_FOR_ONE local u_have_ring = pc.countitem(70302) > 0 pc.select(old) if not m_have_ring then say("Aduceţi inelul de nuntă.") return; end if not u_have_ring then say("Partenerul trebuie să aibă inelul de nuntă.") return; end if not m_enough_money then say_title("Gardian:") say("") say("Nu ai destui bani pentru a divorţa.") say("") say_reward("Ai nevoie de 500.000Yang") say("") return; end if not u_enough_money then say_title("Gardian:") say("") say("Nu ai destui bani pentru a divorţa.") say("") say_reward("Ai nevoie de 500.000Yang") say("") return; end say_title("Gardian:") say("") say("Eşti sigur că vrei să divorţezi?") say("") local c=select("Da.", "Nu. M-am răzgândit.") if 2 == c then say_pc_name() say("") say("M-am răzgândit.") say("Nu mai vreau sa divorţez.") say("") wait() say_title("Gardian:") say("") say("Este cea mai bună cale.") say("") say_reward("Divorţul a fost anulat.") say("") return end local ok_sign = confirm(u_vid, pc.name.."Vrei sa divorţezi?", 30) if ok_sign == CONFIRM_OK then local m_enough_money = pc.gold > MONEY_NEED_FOR_ONE local m_have_ring = pc.countitem(70302) > 0 local old = pc.select(u_vid) local u_enough_money = pc.gold > MONEY_NEED_FOR_ONE local u_have_ring = pc.countitem(70302) > 0 pc.select(old) if m_have_ring and m_enough_money and u_have_ring and u_enough_money then pc.removeitem(70302, 1) pc.change_money(-MONEY_NEED_FOR_ONE) local old = pc.select(u_vid) pc.removeitem(70302, 1) pc.change_money(-MONEY_NEED_FOR_ONE) pc.select(old) say_title("Gardian:") say("") say("Ai divorţat.") say("") say("Nu mai poţi face nimic acum.") say("") marriage.remove() else say_title("Gardian:") say("") say("Documentele nu sunt complete.") say("Vă rog să veniţi mai târziu din nou.") say("") say_reward("Divorţul a fost anulat.") say("") end else say_title("Gardian:") say("") say("Partenerul tău nu vrea să divorţeze!") say("") say_reward("Divorţul a fost anulat.") say("") end end end when 11000.chat."Eliminaţi inelul de cununie" or 11002.chat."Eliminaţi inelul de cununie" or 11004.chat."Eliminaţi inelul de cununie" with not pc.is_married() and pc.count_item(70302)>0 begin say_title("Gardian:") say("") ----"123456789012345678901234567890123456789012345678901234567890"| say("Inelul de cununuie a fost eliminat.") say("") pc.remove_item(70302) end when 11000.chat."Divorţ unilateral" or 11002.chat."Divorţ unilateral" or 11004.chat."Divorţ unilateral" with pc.is_married() begin if not marriage_manage.check_divorce_time() then return end say_title("Gardian:") say("") say("Ai nevoie de 1.000.000Yang pentru acest lucru.") say("Eşti sigur că vrei să divorţezi?") say("") local s = select("Da.", "Nu... ") local NEED_MONEY = 1000000 if s == 2 then return end if pc.money < NEED_MONEY then say_title("Gardian:") say("") say("Nu ai destui bani pentru a divorţa.") say("Ai nevoie de 1.000.000Yang.") say("") return end say_title("Gardian:") say("") say("Eşti sigur că vrei să divorţezi?") say("Gândeşte-te bine:") say("") local c = select("Da, vreau.","Mă mai gândesc.") if c == 2 then say_title("Gardian:") say("") say("Păi") say("Poate e mai bine aşa.") say("") return end pc.removeitem(70302, 1) pc.change_gold(-NEED_MONEY) marriage.remove() say_title("Gardian:") say("") say("Ok, dacă asta este alegerea ta.") say("") end when 9006.chat."Lista nunţilor" with not pc.is_engaged() begin local t = marriage.get_wedding_list() if table.getn(t) == 0 then say_title("Femeia Bătrână:") say("") say("În acest moment nu este nici o nuntă ") say("in desfăşurare.") say("") else -- chat(table.getn(t)) local wedding_names = {} table.foreachi(t, function(n, p) wedding_names[n] = "Nunta dintre "..p[3].." şi "..p[4] end) wedding_names[table.getn(t)+1] = locale.confirm local s = select_table(wedding_names) if s != table.getn(wedding_names) then marriage.join_wedding(t[s][1], t[s][2]) end end end when 9011.click with not pc.is_engaged() and not pc.is_married() begin say_title("Organizatoare de nunţi:") say("") say("Distracţie plăcută!") say("") end function check_divorce_time() local DIVORCE_LIMIT_TIME = 86400 if is_test_server() then DIVORCE_LIMIT_TIME = 60 end if marriage.get_married_time() < DIVORCE_LIMIT_TIME then say_title("Gardian:") say("") say("Eşti proaspăt căsătorit!") say("") say("Deja vrei să divorţezi? Mai aşteaptă ") say("puţin timp.") say("") return false end return true end function is_equip_wedding_dress() local a = pc.get_armor() return a >= 11901 and a <= 11904 end end end
Cod: Selectaţi tot
root@metin2:~ # cd /usr/game/share/locale/romania/quest
root@metin2:/usr/game/share/locale/romania/quest # ./qc marriage_manage.lua
must start with 'quest'
marriage_manage.lua:2:Abort (core dumped)



