Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Poprawa] Questa Ślub


Rekomendowane odpowiedzi

Opublikowano

Opis problemu:

 

jak podaje się juz imie partnera/partnerki do sluby przy starszej pani to nic dalej nie idzie a
taki syserr

SYSERR: Jun 13 17:43:45 :: RunState: LUA_ERROR: [string "marriage_manage"]:195: attempt to concatenate field `name' (a function value)
SYSERR: Jun 13 17:43:45 :: WriteRunningStateToSyserr: LUA_ERROR: quest marriage_manage.start letter
SYSERR: Jun 13 17:43:45 :: WriteRunningStateToSyserr: LUA_ERROR: quest marriage_manage.start letter

 

 

 

quest marriage_manage begin

state start begin
when oldwoman.chat."Chcę wziąć ślub" with not pc.is_engaged_or_married() begin
if not npc.lock() then
say_title("Starsza Pani:")
say("Witam, jestem odpowiedzialana za śluby w tym")
say("kraju, nie rób pochopnych decyzji! Czy")
say("na pewno chcesz wziąć ślub?")
return
end
if pc.level < 25 then
say_title("Starsza Pani:")
say("Niestety, aby uniknąć niepotrzenych ślubów w")
say("w naszym królestwie wprowadziliśmy restrykcję ")
say("poziomu. Dopiero Gracze którzy posiadają poziom")
say("wyższy, niż 25 mogą wziąć ślub")
say("")
say_reward("Wróć gdy osiągniesz poziom wyższy niż 25")
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("Starsza Pani:")
say("Jak ty chcesz brać ślub? Nawet nie masz")
say("Pierścionka Zaręczynowego! Oboje musicie")
say("go mieć! Zdobądź go jakoś!")
say("")
say_item("Pierścionek Zaręczynowy", 70301, "")
say_reward("Jak zdobędziecie obrączki zapraszam ponownie!")
say("")
npc.unlock()
return
end
local m_sex = pc.get_sex()
if not marriage_manage.is_equip_wedding_dress() then
say_title("Starsza Pani:")
say("Chcecie zawrzeć związek małżeński a nawet nie")
say("macie odpowiedniego stroju? Na co wy liczycie?")
say("Nie możecie się pobrać gdy nie macie odpowiedniego")
say("ubioru!")
say("")
if m_sex==0 then
say_item("Smoking", marriage_manage.get_wedding_dress(pc.get_job()), "")
say_reward("Zdobądź ten przedmiot a się pobierzesz!")
else
say_item("Suknia Ślubna", marriage_manage.get_wedding_dress(pc.get_job()), "")
say_reward("Zdobądź ten przedmiot a się pobierzesz!")
end
say("")
npc.unlock()
return
end
local NEED_MONEY = 1000000
if pc.get_money() < NEED_MONEY then
say_title("Starsza Pani:")
say(" Ślub nie jest tani! To kosztuje troszkę pieniędzy")
say("Ja również muszę z czegoś utrzymać męża i dzieci!")
say("Przecież, człowiek nie żyje samą wodą...")
say("Przyjdź gdy zdobędziesz 1 Milion Yang.")
say("")
say_reward(string.format("Potrzebujesz %d? Yang", NEED_MONEY/10000))
say("")
npc.unlock()
return
end
say_title("Starsza Pani:")
say("Mogę dać wam ślub, robiłam to wiele razy!")
say("Na pewno nie zawiedziesz się w sposobie")
say("w jaki przeprowadzę ślub!")
say_reward("Podaj imię osoby z którą chcesz wziąć ślub.")
local sname = input()
if sname == "" then
say_title("Starsza Pani:")
say("Tak wiem, ciężko jest tak od razu podjąć właściwą ")
say("decyzję, lecz możesz do mnie wrócić gdy nadejdzie")
say("właściwy moment, gdy będziesz pewny swojego wyboru.")
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("Starsza Pani:")
say("Nie znasz imienia osoby z którą chcesz wziąć ślub?")
say("To może lepiej zrezygnuj z małżeństwa dla własnego")
say("bezpieczeństwa? Najlepiej odpocznij, prześpij się ")
say("i przemyśl swoją decyzję. Wtedy imię powinno Ci")
say("się przypomnieć!")
say("")
say_reward(string.format("Postać %s nie jest zalogowana.", sname))
say("")
npc.unlock()
return
end
if not npc.is_near_vid(u_vid, 10) then
say_title("Starsza Pani:")
say("Osoby które mają brać ślub muszą być bardzo")
say("zdecydowane i zdeterminowane. A co najważniejsze")
say("muszą być blisko między sobą psychicznie jak i")
say("fizycznie. Poproś aby osoba staneła blisko Ciebie")
say("")
say_reward(string.format("%s stoi za dalego od Ciebie", 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.get_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("Starsza Pani:")
say("Ty się tak nazywasz!")
say("")
say_reward("Nie możesz wziąć ślubu z samym sobą!")
say("")
npc.unlock()
return
end
if u_sex == m_sex then
say_title("Starsza Pani:")
say("Przykro mi, ale ja udzielam tylko ślubów")
say("heteroseksualnych.")
say("")
say_reward("Nie możesz wziąć ślubu z osobą o tej samej płci!")
say("")
npc.unlock()
return
end
if u_married then
say_title("Starsza Pani:")
say("Niestety ale ta osoba już wzięła ślub.")
say("To nie jest możliwe.")
say("")
say_reward(string.format("Postać %s ma ślub.", sname))
say("")
npc.unlock()
return
end
if u_level < 25 then
say_title("Starsza Pani:")
say("Niestety, ale ta osoba nie ma poziomu")
say("większego niż 25 i nie sądzę, aby było")
say("stać tą osobę na stały związek!")
say("")
say_reward("Ta osoba musi mieć Poziom większy niż 25")
say("")
npc.unlock()
return
end
if m_level - u_level > 15 or u_level - m_level > 15 then
say_title("Starsza Pani:")
say("Niestety różnica poziomów między wami jest")
say("zbyt duża. To zbyt ogromna rozbieżność poziomu")
say("Nie mogę zezwolić na ten ślub.")
say("")
say_reward("Nie możecie się różnić więcej niż 15 poziomami.")
say("")
npc.unlock()
return
end
if not u_has_ring then
if m_ring_num >= 2 then
say_title("Starsza Pani:")
say("Aby wziąć ślub potrzebujesz 2 Pierścionki")
say("Zaręczynowe! Wróć kiedy je zdobędziesz.")
else
say_title("Starsza Pani:")
say("Nie możesz brać ślubu bez 2 Pierścionków")
say("Zaręczynowych.")
say("")
end
say_item("Pierścionek Zaręczynowy", 70301, "")
say_reward("Druga osoba też musi mieć Pierścionek")
say_reward("Zaręczynowy.")
say("")
npc.unlock()
return
end
if not u_wear then
say_title("Starsza Pani:")
say("Chcecie zawrzeć związek małżeński a nawet nie")
say("macie odpowiedniego stroju? Na co wy liczycie?")
say("Nie możecie się pobrać gdy nie macie odpowiedniego")
say("ubioru!")
say("")
if u_sex==0 then
say_item("Smoking", marriage_manage.get_wedding_dress(u_job), "")
say_reward("Aby wziąść ślub trzeba mieć założony strój!")
else
say_item("Suknia Ślubna", marriage_manage.get_wedding_dress(u_job), "")
say_reward("Aby wziąść ślub trzeba mieć założony strój!")
end
say("")
npc.unlock()
return
end
local ok_sign = confirm( u_vid, "Chcesz wziąć ślub z"..pc.get_name().."?", 30)
if ok_sign == CONFIRM_OK then
local m_name = pc.get_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("Starsza Pani:")
say("Jesteśmy gotowi do zorganizowania ślubu!")
say("Miejmy nadzieje, że druga połówka również ")
say("Cię kocha! Pobłogosławię was teraz, lecz sam")
say("ślub obejdzie się na wyspie Miłości!")
say_reward("Błogosławię was imieniem Boga Smoków!")
say("")
wait()
setskin(NOWINDOW)
marriage.engage_to(u_vid)
end
else
say_title("Starsza Pani:")
say("Osoba z którą chciałbyś wziąć ślub odmówiła")
say(" wzięcia go!Porozmawiaj z nią na ten temat...")
say("Powinno pomóc!")
say("")
say_reward("Niech Partner zaakceptuje ślub. Inaczej się nie odbędzie.")
end
say("")
npc.unlock()
end
when oldwoman.chat."Wejdź na twój Ślub!" with pc.is_engaged() begin
say("Zostaniesz przeniesiony.")
wait()
setskin(NOWINDOW)
marriage.warp_to_my_marriage_map()
end
when 9011.chat."Rozpocznij ślub" with pc.is_engaged() and marriage.in_my_wedding() begin
if not npc.lock() then
say("Twój partner nie jest na tej mapie!")
say("")
return
end
say("Jeśli partner")
say("jest z innego królestwa,")
say("może teraz")
say("wypić olejek wygnania.")
say(" Ślub może rozwiązać były partner.")
local sname = input()
local u_vid = find_pc_by_name(sname)
local m_vid = pc.get_vid()
if u_vid == 0 then
say("Nie znaleziono partnera.")
say("")
say_reward(string.format("Nie znaleziono gracza %s ", sname))
say("")
npc.unlock()
return
end
if not npc.is_near_vid(u_vid, 10) then
say("Nie jesteście koło siebie! Nie możecie się ")
say("pobrać! Stańcie koło siebie...")
say("")
say("")
say_reward(string.format("%s musi stanąć koło siebie", sname))
say("")
npc.unlock()
return
end
if u_vid == m_vid then
say("Nie możesz wziąć ślubu sam ze sobą!")
say("")
say_reward("Musisz ją zmienić.")
say("")
npc.unlock()
return
end
if u_vid != marriage.find_married_vid() then
say("Twój małżonek nie znajduje sie blisko siebie.")
say("")
npc.unlock()
return
end
local ok_sign = confirm(u_vid, "Czy chcesz wziąć ślub z"..pc.get_name().. "?", 30)
if ok_sign != CONFIRM_OK then
say("Druga osoba nie zaakceptowała ślubu!")
say("")
npc.unlock()
return
end
say("")
marriage.set_to_marriage()
say("")
say_reward("Obrączki zostały przypisane.")
say_reward(" Ślub został zawarty.")
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."Wystartuj Muzykę " 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." Zatrzymaj Muzykę " 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."Włącz Noc" with pc.is_married() and marriage.in_my_wedding() begin
marriage.wedding_dark(true)
setskin(NOWINDOW)
end
when 9011.chat."Włącz Śnieg" with pc.is_married() and marriage.in_my_wedding() begin
marriage.wedding_snow(true)
setskin(NOWINDOW)
end
when 9011.chat."Zakończ Ślub" with pc.is_married() and marriage.in_my_wedding() begin
if not npc.lock() then
say("Helen:")
say("Czy chcesz przerwać ślub?")
say("")
return
end
say("Helen:")
say("Czy chcesz naprawdę przerwać ceremonię?")
say("")
local s = select("Tak","Nie")
if s == 1 then
local u_vid = marriage.find_married_vid()
if u_vid == 0 then
say("Przerwać cenemonie osoba musi być na")
say("tym ślubie. Musi to potwierdzić.")
say("")
npc.unlock()
return
end
say("Helen:")
say("Aby wziąść ślub")
say("twój partner musi podjąć decyzję.")
say("Czekam na odpowiedź...")
say("")
local ok_sign = confirm(u_vid, "Czy chcesz zakończyć wesele?", 30)
if ok_sign == CONFIRM_OK then
marriage.end_wedding()
else
say("Wesele nie zostało przerwane.")
say("Druga osoba nie zgodziła się na ślub.")
say("")
end
end
npc.unlock()
end
when 11000.chat."Rozwód Dwustronny" or 11002.chat."Rozwód Dwustronny" or 11004.chat."Rozwód Dwustronny" 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("Strażnik Wsi:")
say("Rozwód to bardzo odpowiedzialna decyzja!")
say("Jeśli chcesz się rozwieść,")
say("twój partner musi być zalogowany.")
say("")
return
end
say_title("Strażnik Wsi:")
say("Rozwód będzie kosztował 500.000 Yang.")
say("Dodadkowo druga osoba musi się zgodzić.")
say("Czy na pewno chcesz wziąć ślub?")
say("")
local MONEY_NEED_FOR_ONE = 500000
local s = select("Tak", "Nie")
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("Musisz przynieść obrączkę.")
return
end
if not u_have_ring then
say("Druga osoba musi przynieść obrączkę.")
return
end
if not m_enough_money then
say("Strażnik Wsi:")
say("Nie masz wystarczającej ilości Yang, aby wziąść rozwód.")
say("")
say_reward(string.format("Potrzebujesz %s aby wziąść rozwód", MONEY_NEED_FOR_ONE/10000))
say("")
return
end
if not u_enough_money then
say_title("Strażnik Wsi:")
say("Druga osoba nie ma wystarczającej ilości Yang.")
say("")
say_reward("Aby wziąść rozwód oboje musicie mieć 500.00 Yang")
say("")
return
end
say("Rozwód jest bardzo bolesną rzeczą,")
say("czy na pewno chcesz się rozwieść?")
say("")
local c=select("Tak", "Nie")
if 2 == c then
say_pc_name()
say("Chcę rozwodu.")
say("Taka jest moja decyzja.")
say("")
wait()
say_title("Strażnik Wsi:")
say("Niech tak będzie...")
say("Nie jesteście już parą ")
say("Możecie dalej cieszyć się życiem.")
say("")
say_reward("Rozwód zakończył się powodzeniem.")
say("")
return
end
local ok_sign = confirm(u_vid, pc.get_name().." chce wziąć rozwód?", 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("Strażnik Wsi:")
say("Rozwód zakończony powodzeniem.")
say("Jesteście różnymi osobami,")
say("nie można was zmienić.")
say("")
say_reward("Rozwód zakończony pomyślnie!")
say("")
marriage.remove()
else
say_title("Strażnik Wsi:")
say("Wystąpił błąd")
say("Nie możecie się rozwieść.")
say("Spróbujcie potem.")
say("")
say_reward("Nie można się teraz rozwieść.")
say("")
end
else
say_title("Strażnik Wsi:")
say("Druga osoba się nie godzi na rozwód.")
say("Jeśli ją przekonasz")
say("daj mi znać.")
say("")
say_reward("Rozwód odwołany.")
say("")
end
end
end
when 11000.chat."Usuń Obrączkę " or 11002.chat."Usuń Obrączkę " or 11004.chat."Usuń Obrączkę " with not pc.is_married() and pc.count_item(70302)>0 begin
say_title("Strażnik Wsi:")
say("Masz złę wspomnienia...")
say("Wszystko rozumiem.")
say("")
say_reward("Obrączki zostały zniszczone.")
pc.remove_item(70302)
end
when 11000.chat." Rozwód Jednostronny" or 11002.chat." Rozwód Jednostronny" or 11004.chat." Rozwód Jednostronny" with pc.is_married() begin
if not marriage_manage.check_divorce_time() then
return
end
say_title("Strażnik Wsi:")
say("Jednostronny rozwód kosztuje aż 1 Milion.")
say("Chcesz zapłacić?")
say("")
local s = select("Płacę ", "Nie zapłacę ")
local NEED_MONEY = 1000000
if s == 2 then
return
end
if pc.money < NEED_MONEY then
say_title("Strażnik Wsi:")
say("Nie masz wystarczającej ilości Yang.")
say("To za drogie?")
say("Przyjdź jak zdobędziesz pieniądze.")
say("")
return
end
say_title("Strażnik Wsi:")
say("Czy na pewno chcesz wziąć rozwód?")
say("")
local c = select("Chcę rozwodu!", "Nie chcę rozwodu!")
if c == 2 then
say_title("Strażnik Wsi:")
say("Dobra decyzja, ciesz się...")
say("Może miłość się narodzi ponownie...")
say("Dwie osoby mają różne poglądy.")
say("")
say_reward("Rozwód odwołany")
say("")
return
end
pc.removeitem(70302, 1)
pc.change_gold(-NEED_MONEY)
marriage.remove()
say_title("Strażnik Wsi:")
say("Oby to była dobra decyzja")
say("Jesteś teraz rozwiedzony.")
say("Mam nadzieję, że jesteś szczęśliwy.")
say("")
say_reward("Jednostronny rozwód powiódł się.")
say("")
end
when oldwoman.chat." Lista ślubów " with not pc.is_engaged() begin
local t = marriage.get_wedding_list()
if table.getn(t) == 0 then
say("W tej chwili nie odbywa się żaden ślub.")
say("")
else
local wedding_names = {}
table.foreachi(t, function(n, p) wedding_names[n] = p[3].." z "..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[1], t[2])
end
end
end
when 9011.click with not pc.is_engaged() and not pc.is_married() begin
say("Wszyscy przyszliśmy tutaj aby świętować!")
say("Wesele się rozpoczęło! Para została ")
say("pobłogosławiona!")
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("Nie możesz jeszcze wziąć ślubu.")
say("")
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

 

Wiem kto jest swój, a kto zwykły pedał
Intel Xeon E5 1650 v2 16GB Ram 1 TB SSD 2x D500 3GB

 

Opublikowano

Naprawiony

 

Zamiast wszystkich pc.name zmieniamy na pc.get_name

 

 

Temat zamykam

Wiem kto jest swój, a kto zwykły pedał
Intel Xeon E5 1650 v2 16GB Ram 1 TB SSD 2x D500 3GB

 

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...