-
Posts
14 -
Joined
-
Last visited
-
Feedback
0%
Content Type
Forums
Store
Third Party - Providers Directory
Feature Plan
Release Notes
Docs
Events
Posts posted by Kyouko
-
-
The Problem still exists...
-
Hello as the title say i have a problem with the quest i use the de quest and everytime i click on the npc it just say
here is the quest
quest ride_ticket_change begin state start begin when 20349.chat.gameforge.ride_ticket_change._010_npcChat begin say_title(mob_name (20349)) say(gameforge.ride_ticket_change._020_say) wait() local items = {pc.get_sig_items(10032)} local ticket = nil if table.getn (items) > 1 then for i, v in ipairs (items) do item.select (v) say_title(mob_name(20349)) say (gameforge.ride_ticket_change._030_say) say_item_vnum (item.vnum) say (gameforge.ride_ticket_change._040_say) local s = select (locale.yes, locale.no, locale.cancel) if s == 3 then return end if s == 1 then ticket = v break end end else ticket = items [1] end if ticket == nil then say_title (mob_name (20349)) say (gameforge.ride_ticket_change._050_say) return end say_title (mob_name (20349)) say(gameforge.ride_ticket_change._060_say) item.select (ticket) local s = select (gameforge.ride_ticket_change._070_say, gameforge.ride_ticket_change._080_say,gameforge.ride_ticket_change._090_say, gameforge.ride_ticket_change._100_say, gameforge.ride_ticket_change._110_say, gameforge.ride_ticket_change._120_say) if s == 6 then say_title (mob_name (20349)) say (gameforge.ride_ticket_change._130_say) return end local summon_item = item.get_value (s-1) say_title (mob_name (20349)) say(gameforge.ride_ticket_change._140_say) if pc.give_item2 (summon_item) == 0 then say_title (mob_name (20349)) say (gameforge.ride_ticket_change._150_say) return end item.remove() end end end --52701 Àü°©»çÀÚ ±³È¯±Ç ¸¶±¸°£°æºñº´¿¡°Ô °¡Á®°¡¸é Àü°©»çÀÚ·Î ±³È¯ÇÏ¿© ÁÝ´Ï´Ù. --52702 Àü°©È£ ±³È¯±Ç ¸¶±¸°£°æºñº´¿¡°Ô °¡Á®°¡¸é Àü°©È£·Î ±³È¯ÇÏ¿© ÁÝ´Ï´Ù. --52703 Àü°©¿ø ±³È¯±Ç ¸¶±¸°£°æºñº´¿¡°Ô °¡Á®°¡¸é Àü°©¿øÀ¸·Î ±³È¯ÇÏ¿© ÁÝ´Ï´Ù. --52704 Àü°©¶û ±³È¯±Ç ¸¶±¸°£°æºñº´¿¡°Ô °¡Á®°¡¸é Àü°©¶ûÀ¸·Î ±³È¯ÇÏ¿© ÁÝ´Ï´Ù.
Greetz
Namikaze
-
Are you using vanilla 2.1?
#ldd vanilla_2_1
vanilla_2_1:
libstdc++.so.6 => /usr/local/lib32/metin2/libstdc++.so.6 (0x2857b000)
libm.so.5 => /usr/lib32/libm.so.5 (0x28678000)
libmd.so.5 => /usr/local/lib32/compat/libmd.so.5 (0x2869d000)
libz.so.6 => /usr/lib32/libz.so.6 (0x286b5000)
libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0x286c9000)
libthr.so.3 => /usr/lib32/libthr.so.3 (0x286d4000)
libc.so.7 => /usr/lib32/libc.so.7 (0x286f6000)
This is my output.
You may check if the directory /usr/local/lib32/metin2 exists and upload the libs to this directory.
yes im using vanilla 2.1
and this says the game
-
As I said, I will never add pm logging functions. Maybe I can allow logging pm's with suspicous contents, but who defines what's suspicious or not? Unless I have some clear ideas how to deal with this problem, I won't add such things. Allowing admins to create filters by themselves would lead into filters like "a" (so every message with an a would be logged)..
My idea is to create a strike-system working with the banlist. If a chat message restricts against the items added in banlist, the message will be censored like you already know and the uncensored message is stored into the database. The user will receive a warning and after 3 warnings, automatic chatblock could be triggered (depending on how many warnings the user received). But I guess this system needs some improvement and a feature to remove old warnings so people won't get punished if they made small mistakes, typo's or got punished by a false warning.
It's just an idea. Nothing I'll give my word to.
@Mehti: I'm investigating the error now and tell you more about it.
@Namikaze: There is a library error.
/usr/local/lib32/libstdc++.so.6 is used by your server, but it'd be /usr/local/lib32/metin2/
Please use ldd as tim suggested on page 5 and report your results.
this comes when i type ldd libstdc++.so.6
-
-
im getting this error after i try to start the server
/libexec/ld-elf.so.1: /usr/lib32/libstdc++.so.6: Undefined symbol "_ThreadRuneLocale"
i use at the moment Freebsd 8.3 64 bit
-
You would need to change the game or db source for that to work.
Actually, in 2007 or so, Ymir had this system working, they removed it for some reason.
hm okay but atm i use the 34083 game because the new game has a callback function as i know ^^
-
That's not going to work. Guild table cannot be updated while game is running.
hm okay...
Please use the code BBCODE and select "Quest" when you post quests, it looks much neater.
Moved to Programming.
sry now i know it for the next time
-
Hey guys i have a problem with this quest
quest gildenkonto begin state start begin function get_money() return tonumber(mysql_query("select gold from player.guild where name = '".. guild.get_name() .."';")[1][1]) or 0 end when 11000.chat."Gildenkonto" or 11002.chat."Gildenkonto" or 11004.chat."Gildenkonto" with pc.has_guild() begin say_title("Gildenkonto") if not pc.is_guild_master() then say_reward("Nur der Gildenleader kann auf das[ENTER]Konto zugreifen") say() return else say_reward("Guthaben: ".. gildenkonto.get_money()) say() local s = select("Geld abheben","Geld einzahlen","Abbrechen") if s == 3 then return elseif s == 1 then say_title("Gildenkonto") say("Wieviel Geld möchtest du abheben?") say() local m = tonumber(input()) if m < 1 or m == nil then return end if m > gildenkonto.get_money() then return syschat("Es ist nicht genügend Yang vorhanden") end if pc.get_money()+m > 1999999999 then return syschat("Du hast zu viel Yang bei dir") end pc.change_money(m) mysql_query("update player.guild set gold = gold - ".. m .." where name = '".. guild.get_name() .."';") else say_title("Gildenkonto") say("Wieviel Geld möchtest du einzahlen?") say() local m = tonumber(input()) if m < 1 or m == nil then return end if m > pc.get_money() then return syschat("Du hast nicht genügend Yang") end pc.change_money(-m) mysql_query("update player.guild set gold = gold - ".. m .. " where name = '".. guild.get_name() .."';") end end end end end
if i click on Gildenkonto nothing happens and it just say Gildenkonto and Ok
my syserr says only this
SYSERR: Feb 9 17:40:37 :: RunState: LUA_ERROR: locale/germany/quest/object/state/gildenkonto:1: attempt to index field `?' (a nil value)
SYSERR: Feb 9 17:40:37 :: WriteRunningStateToSyserr: LUA_ERROR: quest gildenkonto.start enter
-
I posted my test table for you.
Now it works thanks
-
is that right?
-
i dont get the items with my test character and the notice "Name is now Emperor" something like that dosent work
-
Hey guys i got a problem with the Monarch quest
-- World of Metin2 Monarch Election quest
-- by Musicinstructor and Shogun
quest monarch_election begin
state start begin
when login or enter begin
if oh.ismonarch() > 0 and pc.count_item(70021) == 0 then
set_state(newking)
elseif oh.ismonarch() == 0 then
if pc.count_item(70021) > 0 then
pc.remove_item(70021)
syschat("Dein Segen des Engel's wurde entfernt da du kein Kaiser mehr bist.")
end
if pc.count_item(11971) > 0 or pc.count_item(11972) > 0 or pc.count_item(11973) > 0 or pc.count_item(11974) > 0 then
if pc.get_part(PART_MAIN) > 11970 and pc.get_part(PART_MAIN) < 11975 then
syschat("Bitte ziehe deine Kaiser Rüstung aus und logge dich neu ein.")
syschat("Dir ist es nicht mehr erlaubt das zu nutzen.")
else
local armor = 11971 + pc.get_job()
pc.removeitem(armor)
syschat("Deine Kaiser Rüstung wurde entfernt.")
end
end
end
if game.get_event_flag("monarch_elect") > 0 and pc.get_level() >= 40 then
send_letter("Kaiser Wahl")
end
end
when button or info begin
----"123456789012345678901234567890123456789012345678901234567890"|
say("")
say("")
say("")
say("")
if game.get_event_flag("monarch_elect") == 1 then
say_title("Kaiser Kandidatur")
say("")
----"123456789012345678901234567890123456789012345678901234567890"|
say("Willst du dich Bewerben um der neue Herscher von dem"..locale.empire_names[pc.get_empire()].."zu werden?")
say("Bitte sprich mit dem Schlachtenverwalter in jeder Stadt vergiss nicht")
say("Du brauchst 1.000.000 Yang und musst Level 65 sein um teilzunehmen.")
say("")
say("Wenn der Kandidatur Prozess endet, werden Sie in der Lage sein zu wählen..")
elseif game.get_event_flag("monarch_electionid") == pc.getqf("electionid") then
say_title("Kaiser Wahl")
say("")
say("Du hast bereits gewählt. Das resultat wird")
say("Angekündigt nachdem die Wahl beendet wurde.")
else
say_title("Kaiser Wahl")
say("")
say("Gehe zu dem Schlachtenverwalter in deiner Stadt um dein")
say("vote abzugeben. Und zeige deinem Reich das du Loyal bist, du brauchst folgendes item:")
say("")
say_item_vnum(60004)
say("Dieses item erhälst du von Monstern gegen die du Kämpfst.")
end
say("")
end
when kill with game.get_event_flag("monarch_elect") > 0 and pc.level >= 45 begin
if game.get_event_flag("monarch_electionid") != pc.getqf("electionid") then
if not npc.is_pc() then
local limit = get_mob_level[npc.get_race()]
if limit == nil then
return
else
if pc.get_level() > limit+10 then
return
end
end
end
if number(1, 500) == 1 then
if pc.count_item(60004) == 0 and pc.enough_inventory(60004) then
pc.give_item2(60004, 1)
syschat("Du bist nun Qualifiziert um für deinen Kaiser zu wählen.")
end
end
end
end
when electionman1.chat."GM: Kaiser Wahl Anpassen" or electionman2.chat."GM: Kaiser Wahl Anpassen" or electionman3.chat."GM: Kaiser Wahl Anpassen" with pc.is_gm() begin
if game.get_event_flag("monarch_elect") == 1 then
say_title("Kaiser Wahl:")
say("")
----"123456789012345678901234567890123456789012345678901234567890"|
say("Momentan sind die Kaiser wahlen Offen.")
say("")
say("Sollen sie nun geschlossen werden?")
say("")
local s = select("Schließen", "Fortsetzen" )
if s == 1 then
notice_all("Die Kaiser Wahl startet nun!")
notice_all("Zeige dein Zertifikat dem Schlachtenverwalter um voten zu können.")
game.set_event_flag("monarch_elect", 2)
game.set_event_flag("monarch_electionid", get_global_time())
say_title("Kaiser Wahl:")
say("")
say("Die bewerbungen sind geschlossen und spieler können")
say("nun für ihren Kaiser voten.")
say("")
end
elseif game.get_event_flag("monarch_elect") == 2 then
say_title("Kaiser Wahl:")
say("")
say("Momentan läuft bereits eine Wahl für den neuen Kaiser.")
say("Soll sie jetzt beendet werden?")
say("")
say_reward("Momentaner Kaiser:")
say_reward("Rotes Reich: "..monarch_election.getcurrentwinner(1)[1])
say_reward("Gelbes Reich: "..monarch_election.getcurrentwinner(2)[1])
say_reward("Blaues Reich: "..monarch_election.getcurrentwinner(3)[1])
say("")
local s = select("Beenden", "Fortsetzen")
if s == 1 then
notice_all("Die Kaiser Wahl wurde beendet.")
game.set_event_flag("monarch_elect", 0)
if monarch_election.getcurrentwinner(1)[2] != 0 then mgmt.monarch_change_lord(1, monarch_election.getcurrentwinner(1)[2]) end
if monarch_election.getcurrentwinner(2)[2] != 0 then mgmt.monarch_change_lord(2, monarch_election.getcurrentwinner(2)[2]) end
if monarch_election.getcurrentwinner(3)[2] != 0 then mgmt.monarch_change_lord(3, monarch_election.getcurrentwinner(3)[2]) end
end
elseif game.get_event_flag("monarch_elect") == 0 then
say_title("Kaiser Wahl:")
say("")
say("Hier kannst du die Kaiser Wahl Starten.")
say("")
say("Willst du sie nun starten?")
say("")
local s = select("Starten", "Nicht starten")
if s == 1 then
notice_all("Die Kaiser Kandidatur Zeit beginnt jetzt!")
notice_all("Gehe zum Schaltenverwalter um teil zunehmen.")
game.set_event_flag("monarch_elect", 1)
game.set_event_flag("monarch_electionid", get_global_time())
monarch_election.clearcandidacy()
end
end
end
when electionman1.chat."Kaiser Wahl" or electionman2.chat."Kaiser Wahl" or electionman3.chat."Kaiser Wahl" with game.get_event_flag("monarch_elect") == 2 begin
say_title("Kaiser Wahl:")
say("")
if pc.get_level() < 45 then
say("Du musst Level 45 sein um voten zu können. komm wieder,")
say("wenn du Level 45 erreicht hast.")
say("")
return
end
if game.get_event_flag("monarch_electionid") == pc.getqf("electionid") then
say("Du hast bereits gevotet. Und kannst nicht nochmal Voten!")
say("")
return
end
if pc.count_item(60004) < 1 then
say("Du brauchst dieses Dokument, um zu beweisen, das du wirklich ein")
say("ein Bürger von "..locale.empire_names[pc.get_empire()].." bist.")
say("")
say_item_vnum(60004)
say("Du kannst es von jedem monster bekommen. Komm")
say("wieder wenn du eins hast.")
say("")
return
end
local gname_table = monarch_election.candidacy_list(pc.get_empire())
if table.getn(gname_table) == 0 then
-- no currently war
say("Es gibt keine Kandidaten!")
say("")
else
table.insert(gname_table, "Abbrechen")
----"123456789012345678901234567890123456789012345678901234567890"|
say("Du bist Qualifiziert um teilzunehmen. Bitte vote vorsichtig;")
say("du kannst es nur einmal.")
say("")
wait()
local s = select_table(gname_table)
if s == table.getn(gname_table) then
return;
else
monarch_election.election(s)
pc.setqf("electionid", game.get_event_flag("monarch_electionid"))
pc.remove_item(60004, 1)
say_title("Kaiser Wahl:")
say("")
say("Vielen Dank für deine Teilnahme!")
say("")
say_reward("Du hast: "..gname_table" gewählt")
say("")
end
end
end
when electionman1.chat."Bewerben für die Kaiser Wahl" or electionman2.chat."Bewerben für die Kaiser Wahl" or electionman3.chat."Bewerben für die Kaiser Wahl" with game.get_event_flag("monarch_elect") == 1 begin
local NEED_MONEY = 1000000
local NEED_LEVEL = 65
say_title("Kaiser Wahl:")
say("")
say("Die folgenden Anforderungen sind notwendig für einen Kaiser:")
say("")
say_reward("1. Eine Kandidatur Gebühr von "..NEED_MONEY.." Yang.")
say_reward("2. Level "..NEED_LEVEL.." musst du erreicht haben.")
say("")
if game.get_event_flag("monarch_elect") == 0 then
say("Die Wahlperiode hat noch nicht begonnen.")
say("Komm wieder wenn sie begonnen hat.")
say("")
return
end
if game.get_event_flag("monarch_electionid") == pc.getqf("electionid") then
say("Du hast dich bereits beworben für die Wahl")
say("")
return
end
say("Möchtest du an der Wahl teilnehmen?")
say("")
local s = select("Ja, Ich möchte teilnehmen.", "Nein, Danke.")
if s == 1 then
say_title("Kaiser Wahl:")
say("")
if monarch_election.candidacycount(pc.get_empire()) >= 8 then
say("Es tut uns leid, aber wir haben schon genug Kandidaten.")
say("")
say("Du kannst es in der nächsten Wahl wieder versuchen..")
elseif pc.get_gold() >= NEED_MONEY and pc.get_level() >= NEED_LEVEL then
say("Du bist nun Registriert für die Wahl.")
say("")
say("Viel Glück!")
pc.change_gold(-NEED_MONEY);
monarch_election.candidacy();
pc.setqf("electionid", game.get_event_flag("monarch_electionid"))
else
say("Sorry, du erfüllst die bedingungen nicht.")
end
say("")
end
end
function candidacy()
local f = io.open("data/monarch_election", "a+")
f:write(pc.get_player_id().."t"..pc.get_empire().."t0t"..pc.get_name().."tn")
f:close()
end
function clearcandidacy()
local f = io.open("data/monarch_election", "w+")
f:close()
end
function candidacycount(empire)
local count = 0
local f = io.open("data/monarch_election", "r")
for line in f:lines() do
local e = string.split(line, "t")
if e != nil and tonumber(e[2]) == empire then
count = count + 1
end
end
f:close()
return count
end
function candidacy_list(empire)
local res = {}
local f = io.open("data/monarch_election", "r")
for line in f:lines() do
cinfo = string.split(line, "t")
if tonumber(cinfo[2]) == empire then
table.insert(res, cinfo[4])
end
end
f:close()
return res
end
function election(id)
local c_list = {}
local c_count = 0
local f = io.open("data/monarch_election", "r")
for line in f:lines() do
table.insert(c_list, string.split(line, "t"))
c_count = c_count + 1
end
f:close()
f = io.open("data/monarch_election", "w+")
local e_i = 1
for i = 1, c_count, 1 do
if e_i == id then
c_list[3] = tonumber(c_list[3]) + 1
end
if tonumber(c_list[2]) == pc.get_empire() then
e_i = e_i + 1
end
f:write(c_list[1].."t"..c_list[2].."t"..c_list[3].."t"..c_list[4].."tn")
end
f:close()
end
function getcurrentwinner(empire)
local res = {"Keiner", 0}
local f = io.open("data/monarch_election", "r")
local maxvotes = -1
for line in f:lines() do
local exploded = string.split(line, "t")
if tonumber(exploded[2]) == empire and tonumber(exploded[3]) > maxvotes then
maxvotes = tonumber(exploded[3])
res = {exploded[4], tonumber(exploded[1])}
end
end
f:close()
return res
end
end
state newking begin
when login or enter begin
send_letter("Gratulation!")
end
when button or info begin
local treatment = {
[0] = "Kaiser",
[1] = "Kaiserin",
}
local armor = 11971 + pc.get_job()
----"123456789012345678901234567890123456789012345678901234567890"|
say_title("Gratulation!")
say("")
say("Du wurdest gewählt als "..treatment[pc.get_sex()].." von "..locale.empire_names[pc.get_empire()].."!")
say("")
say("Als ein "..treatment[pc.get_sex()]..", bekommst du eine Kaiser Rüstung und Segen des")
say("Engel's für die Dauer deiner Herrschaft.")
say("")
say("Das Juwel aktiviert dir die Kaiser Kraft, aber")
say("Beachte bei der Nutzung dieses items wird Yang gebraucht aus")
say("Deinem Reich, also wähle weise")
say("")
say("Möge deine Herrschaft gedeihen!")
say("")
clear_letter()
set_state(start)
if pc.count_item(armor) == 0 then
pc.give_item2(armor)
end
if pc.count_item(70021) == 0 then
pc.give_item2(70021)
end
notice_all("Der/Die "..treatment[pc.get_sex()].." "..pc.getname().." von "..locale.empire_names[pc.get_empire()].." wurde gekrönt! begrüßt der/die "..treatment[pc.get_sex()].."!")
end
end
endand this says my syserr
SYSERR: Feb 8 16:56:31 :: RunState: LUA_ERROR: [string "monarch_election"]:45: attempt to call field `?' (a string value)
SYSERR: Feb 8 16:56:31 :: WriteRunningStateToSyserr: LUA_ERROR: quest monarch_election.start click
SYSERR: Feb 8 16:56:38 :: RunState: LUA_ERROR: [string "monarch_election"]:45: attempt to call field `?' (a string value)
SYSERR: Feb 8 16:56:38 :: WriteRunningStateToSyserr: LUA_ERROR: quest monarch_election.start click
Official Party Member On Minimap [REVERSED]
in Features & Metin2 Systems
Posted
I got the exact same problem and i've checked it multiple times and couldn't find out why it happens.