Guten Tag die files die ich habe Da haben wir eine Heiraten.lua
Die Hochzeit Funktioniert Einwandfrei, den noch wenn mann die hochzeit Beendet ist alles weg Familie in der FL & das kleine herz oben und der Eherring ist da zu seinen patner kann mann sich teleporttieren
aber in ch99 ist wieder alles da wie kann das sein
hier mal die Heirats.lua:
Code
- quest marriage_manage begin
- state start begin
- when oldwoman.chat."Ich möchte heiraten" with not pc.is_engaged_or_married() begin
- if not npc.lock() then
- say_title("Alte Dame")
- say("Die Hochzeitsinseln sind zurzeit voll. Wartet")
- say("einen Moment oder kommt später wieder!")
- return
- end
- if pc.level < 25 then
- say_title("Alte Dame")
- say("Du bist noch zu jung um zu heiraten.")
- say("Die jungen Paare werden zu oft geschieden.")
- say("Ich möchte nicht zulassen, dass du das")
- say("durchstehen musst.")
- say("Geh und sammle mehr Erfahrung.")
- say_reward("Du kannst erst ab Level 25 heiraten.")
- 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("Alte Dame")
- say("Du willst ohne einen Verlobungsring heiraten?")
- say_item("Verlobungsring", 70301, "")
- say("Besorge mir erst einen Ring, dann können")
- say("wir über Hochzeit reden...")
- npc.unlock()
- return
- end
- local m_sex = pc.get_sex()
- if not marriage_manage.is_equip_wedding_dress() then
- say_title("Alte Dame")
- say("Möchtest du wirklich so heiraten?")
- say("Meistens ist eine Ehe für die Ewigkeit,")
- say("da kannst du doch nicht so gekleidet auftreten.")
- if m_sex==0 then
- say_item("Smoking", marriage_manage.get_wedding_dress(pc.get_job()), "")
- say_reward("Wenn du heiraten möchtest brauchst du")
- say_reward("einen Smoking.")
- else
- say_item("Brautkleid", marriage_manage.get_wedding_dress(pc.get_job()), "")
- say_reward("Wenn du heiraten möchtest brauchst du")
- say_reward("ein Brautkleid.")
- end
- npc.unlock()
- return
- end
- local NEED_MONEY = 1000000
- if pc.get_money() < NEED_MONEY then
- say_title("Alte Dame")
- say("Hochzeiten kosten eine Menge Yang.")
- say("Du besitzt leider nicht genug um deine")
- say("zu finanzieren.")
- say_reward("Du brauchst eine Millionen Yang")
- npc.unlock()
- return
- end
- say_title("Alte Dame")
- say("Wie ich sehe bist du entschlossen.")
- say("Wollen wir jetzt die Vorbereitungen treffen?")
- say("Dann schreib jetzt bitte den Namen der Person,")
- say("die du heiraten möchtest.")
- local sname = input()
- if sname == "" then
- say_title("Alte Dame")
- say("Bist du so aufgeregt, dass du nichtmehr")
- say("den Namen schreiben kannst? Probiers nochmal")
- 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("Alte Dame")
- say("Du weisst nicht den Namen deines Partners?")
- say("Bist du sicher, dass du heiraten möchtest?")
- say_reward(sname.." ist nicht online")
- npc.unlock()
- return
- end
- if not npc.is_near_vid(u_vid, 10) then
- say_title("Alte Dame")
- say("Dein Partner muss in der Nähe sein,")
- say("damit ich euch trauen kann.")
- say_reward(sname.." ist zu weit weg")
- 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("Alte Dame")
- say("Nicht deinen, den deines Partners!")
- say_reward("Du hast deinen eigenen Namen eingegeben")
- npc.unlock()
- return
- end
- if u_married then
- say_title("Alte Dame")
- say("Die Person die du heiraten möchtest ist")
- say("bereits verheiratet. Ich glaube du musst")
- say("dir einen neuen, unverheirateten,")
- say("Lebensgefährten suchen.")
- npc.unlock()
- return
- end
- if u_level < 25 then
- say_title("Alte Dame")
- say("Dein Partner ist noch keine 25, du kannst")
- say("dich mit dieser Ehe strafbar machen!")
- npc.unlock()
- return
- end
- if m_level - u_level > 15 or u_level - m_level > 15 then
- say_title("Alte Dame")
- say("Der Erfahrungsunterschied zwischen dir und")
- say("dein Partner ist zu groß! So eine Ehe kann")
- say("ich leider nicht zulassen.")
- say("Ihr dürft nur 15 Level unterschied haben.")
- npc.unlock()
- return
- end
- if not u_has_ring then
- say_title("Alte Dame")
- say("Dein Partner braucht auch einen Verlobungsring.")
- say("Kauf ihn doch in Zeichen deiner Liebe einen!")
- npc.unlock()
- return
- end
- if not u_wear then
- say_title("Alte Dame")
- say("Dein Partner trägt keine Hochzeitskleidung")
- say("Ist es dir nicht peinlich dich so mir ihn")
- say("blicken zu lassen?")
- npc.unlock()
- return
- end
- local ok_sign = confirm(u_vid, "Möchtest du "..pc.name.." heiraten?", 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("Alte Dame")
- say("So, ich denke jetzt haben wirs.")
- say("Ich werde euch jetzt auf die Hochzeits-")
- say("insel schicken. Ich wünsch euch eine lange")
- say("und glückliche Ehe. Gratulation!")
- wait()
- setskin(NOWINDOW)
- marriage.engage_to(u_vid)
- end
- else
- say_title("Alte Dame")
- say("Dein Partner möchte dich nicht heiraten.")
- say("Klärt es lieber untereinander ab.")
- end
- npc.unlock()
- end
- when oldwoman.chat."Zu meiner Hochzeit" with pc.is_engaged() begin
- say_title("Alte Dame")
- say("Warum bist du noch hier?")
- say("Dein Partner vermisst dich!")
- say("Ich begleite dich zu ihm.")
- wait()
- setskin(NOWINDOW)
- marriage.warp_to_my_marriage_map()
- end
- when 9011.chat."Eheschließung" with pc.is_engaged() and marriage.in_my_wedding() begin
- if not npc.lock() then
- say_title("Hochzeitshelferin")
- say("Ich rede gerade mit deinen Partner,")
- say("einen Moment bitte.")
- return
- end
- say_title("Hochzeitshelferin")
- say("Ich werde eure Ehe offiziel eintragen.")
- say("Gib erstmal den Namen deines Partners")
- say("ein.")
- local sname = input()
- local u_vid = find_pc_by_name(sname)
- local m_vid = pc.get_vid()
- if u_vid == 0 then
- say_title("Hochzeitshelferin")
- say("Dieser Name ist nicht registriet.")
- say("Möchtest du deine Eingabe nochmal")
- say("überprüfen?")
- say_reward(sname.." ist nicht online")
- npc.unlock()
- return
- end
- if not npc.is_near_vid(u_vid, 10) then
- say_title("Hochzeitshelferin")
- say("Du musst deinen Partner herbringen.")
- say("Ich brauch ihn um den Ehebund zu")
- say("schließen.")
- npc.unlock()
- return
- end
- if u_vid == m_vid then
- say_title("Hochzeitshelferin")
- say("Du sollst nicht deinen, sondern den deines")
- say("Partners schreiben.")
- npc.unlock()
- return
- end
- if u_vid != marriage.find_married_vid() then
- say_title("Hochzeitshelferin")
- say("Das ist nicht die Person, die du")
- say("ursprünglich heiraten wolltest.")
- npc.unlock()
- return
- end
- local ok_sign = confirm(u_vid, "Möchtest du "..pc.name.." heiraten?", 30)
- if ok_sign != CONFIRM_OK then
- say_title("Hochzeitshelferin")
- say("Dein Partner ist noch nicht für die")
- say("Eheschließung bereit.")
- npc.unlock()
- return
- end
- say_title("Hochzeitshelferin")
- say("Ok, alles in Ordnung. Wir können anfangen.")
- marriage.set_to_marriage()
- 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."Hochzeitsmusik abspielen" 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."Hochzeitsmusik beenden" 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."Nacht" with
- pc.is_married() and
- marriage.in_my_wedding() begin
- marriage.wedding_dark(true)
- setskin(NOWINDOW)
- end
- when 9011.chat."Schnee" with pc.is_married() and marriage.in_my_wedding() begin
- marriage.wedding_snow(true)
- setskin(NOWINDOW)
- end
- when 9011.chat."Hochzeit beenden" with pc.is_married() and marriage.in_my_wedding() begin
- if not npc.lock() then
- say_title("Hochzeitshelferin")
- say("Warte einen Moment, ich rede gerade mit")
- say("deinen Partner.")
- return
- end
- say_title("Hochzeitshelferin")
- say("Möchtest du die Party abbrechen?")
- local s = select("Ja","Nein")
- if s == 1 then
- local u_vid = marriage.find_married_vid()
- say_title("Hochzeitshelferin")
- say("Wir müssen auf deinen Partner warten.")
- say("Es liegt jetzt an ihn..")
- local ok_sign = confirm(u_vid, "Möchtest du die Hochzeit beenden? ", 30)
- if ok_sign == CONFIRM_OK then
- marriage.end_wedding()
- else
- say_title("Hochzeitshelferin")
- say("Dein Partner möchte noch weiterfeiern!")
- end
- npc.unlock()
- end
- end
- when 11000.chat."Scheidung einreichen" or 11002.chat."Scheidung einreichen" or 11004.chat."Scheidung einreichen " 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("Wächter des Dorfplatzes")
- say("Ohne deinen Partner kannst du auf rechtlichen")
- say("Wege nicht geschieden werden.")
- return
- end
- say_title("Wächter des Dorfplatzes")
- say("Für eine rechtlich Scheidung brauch ich")
- say("500.000 Yang und eine Einverständniss")
- say("von deinen Partner.")
- say("Möchtest du dich wirklich Scheiden lassen?")
- local MONEY_NEED_FOR_ONE = 500000
- local s = select("Ja", "Nein")
- 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("Ich brauche den Ehering.")
- return
- end
- if not u_have_ring then
- say("Ich brauche den Ehering deines Partners.")
- return
- end
- if not m_enough_money then
- say_title("Wächter des Dorfplatzes")
- say("Du hast nicht genug Yang für die Scheidung.")
- return
- end
- if not u_enough_money then
- say_title("Wächter des Dorfplatzes")
- say("Du hast nicht genug Yang für die Scheidung.")
- return
- end
- say_title("Wächter des Dorfplatzes")
- say("Möchtet ihr euch wirklich scheiden lassen?")
- say("Vielleicht ist es einfach nur ein Missverständniss.")
- say("Wollt ihr es wirklich?")
- local c=select("Ja", "Ich hab meine Meinung geändert")
- if 2 == c then
- say_pc_name()
- say("Ich hab meine Meinung geändert")
- say("Ich will doch nicht geschieden werden")
- wait()
- say_title("Wächter des Dorfplatzes")
- say("Es ist das beste für euch..")
- say("Ich wünsch euch noch eine lange und")
- say("glückliche Ehe.")
- say_reward("Die Scheidung wurde anuliert.")
- return
- end
- local ok_sign = confirm(u_vid, "Möchtest du dich von "..pc.name.." scheiden lassen?", 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("Wächter des Dorfplatzes")
- say("Die Scheidung ist vollbracht.")
- say("Du bist nun wieder ein freier Mensch.")
- say("Die Scheidung kann nichtmehr rückgängig")
- say("gemacht werden.")
- marriage.remove()
- else
- say_title("Wächter des Dorfplatzes")
- say("Eure Unterlagen sind nicht komplett.")
- say("Kommt später wieder.")
- end
- else
- say_title("Wächter des Dorfplatzes")
- say("Dein Partner möchte sich nicht Scheiden")
- say("lassen. Finde zuerst einen Grund.")
- end
- end
- end
- when 11000.chat."Einseitige Scheidung einreichen" or 11002.chat."Einseitige Scheidung einreichen" or 11004.chat."Einseitige Scheidung einreichen" with pc.is_married() begin
- if not marriage_manage.check_divorce_time() then
- return
- end
- say_title("Wächter des Dorfplatzes")
- say("Du brauchst eine Millionen Yang um dich")
- say("sofort scheiden zu lassen. Willst du es")
- say("trotzdem machen?")
- local s = select("Ja", "Nein")
- local NEED_MONEY = 1000000
- if s == 2 then
- return
- end
- if pc.money < NEED_MONEY then
- say_title("Wächter des Dorfplatzes")
- say("Du hast nicht genug Yang für die")
- say("einseitige Scheidung.")
- return
- end
- say_title("Wächter des Dorfplatzes")
- say("Möchtest du es wirklich machen?")
- say("Denk nochmal drüber nach..")
- local c = select("Ja, ich will","Nein, doch nicht")
- if c == 2 then
- say_title("Wächter des Dorfplatzes")
- say("Na dann,")
- say("Es ist besser so. Falls doch komm")
- say("wieder zurück. Sei dir dann aber wirklich")
- say("sicher dabei!")
- return
- end
- pc.removeitem(70302, 1)
- pc.change_gold(-NEED_MONEY)
- marriage.remove()
- say_title("Wächter des Dorfplatzes")
- say("Wenn du dir ganz sicher bist..")
- say("dann mal los! Ab jetzt bist du wieder")
- say("ein freier Mensch.")
- end
- when oldwoman.chat."Liste der Hochzeiten" with not pc.is_engaged() begin
- local t = marriage.get_wedding_list()
- if table.getn(t) == 0 then
- say_title("Alte Dame")
- say("Momentan finden keine Hochzeiten statt...")
- else
- -- chat(table.getn(t))
- local wedding_names = {}
- table.foreachi(t, function(n, p) wedding_names[n] = p[3].." Hochzeit "..p[4].." von " 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
- 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("Guardian of the village:")
- say("The ink is not even dry yet!")
- say("Give yourself more time.")
- return false
- end
- return true
- end
- function is_equip_wedding_dress()
- local a = pc.get_armor()
- return a >= 11901 and a <= 11904
- end
- function get_wedding_dress(pc_job)
- if 0==pc_job then
- return 11901
- elseif 1==pc_job then
- return 11903
- elseif 2==pc_job then
- return 11902
- elseif 3==pc_job then
- return 11904
- else
- return 0;
- end
- end
- end
- end
Hoffe ihr könnt mir helfen.
lg AceWavee.