Sziasztok.
Egy óriási bugot fedeztem fel a szerverem a petekel és az öv rendszerrel.
Ez a két quest egy bizonyos idő után megadja magát chanel1-en, nem tudom biztosra hogy a quest áll le vagy valami más, de egy bizonyos idő után használhatatlan az öv és a pet ch1-en.
Game99-en tökéletes megy semmi hiba.
Ch1-en megjavul egy időre, ha kliensben beírom reload q.
Valaki tudna nekem segíteni?
Nagyon megköszönném.
ch2 is összeomlik ilyenkor?
esetleg nézz egy ch1 syssert, ir e valamit.
csak ez a 2 quest omlik össze más működik runok pl vagy bármi más.
esetleg navicatban keresd ki a quest táblát mikor fennáll a hiba és nézd meg megnyitja e azt a táblázatot vagy meghalt.
IdézSYSERR: Feb 21 09:08:25 :: RunState: LUA_ERROR: [string "belt_system"]:1: attempt to index global `item' (a number value)
SYSERR: Feb 21 09:08:25 :: WriteRunningStateToSyserr: LUA_ERROR: quest belt_system.start letter
SYSERR: Feb 21 09:08:26 :: RunState: LUA_ERROR: [string "pet_system"]:1: attempt to index global `item' (a number value)
SYSERR: Feb 21 09:08:26 :: WriteRunningStateToSyserr: LUA_ERROR: quest pet_system.start letter
SYSERR: Feb 21 09:08:27 :: RunState: LUA_ERROR: [string "pet_system"]:1: attempt to index global `item' (a number value)
SYSERR: Feb 21 09:08:27 :: WriteRunningStateToSyserr: LUA_ERROR: quest pet_system.start letter
SYSERR: Feb 21 09:08:27 :: RunState: LUA_ERROR: [string "pet_system"]:1: attempt to index global `item' (a number value)
SYSERR: Feb 21 09:08:27 :: WriteRunningStateToSyserr: LUA_ERROR: quest pet_system.start letter
SYSERR: Feb 21 09:08:27 :: RunState: LUA_ERROR: [string "pet_system"]:1: attempt to index global `item' (a number value)
SYSERR: Feb 21 09:08:27 :: WriteRunningStateToSyserr: LUA_ERROR: quest pet_system.start letter
Ezt írja syser mikor leakarok hívni egy petet vagy az övet feltenni.
Lehet valahol felülíródik az item modul.
Keress valami ilyet a questfájljaidban:
item=
item =
Nem találtam ilyen kifejezést a két questben sajnos.
Pet quest:
Idézquest pet_system begin
state start begin
function get_pet_info(itemVnum)
pet_info_map = {
-- [ITEM VNUM] MOB_VNUM, DEFAULT NAME, buff_idx, spawn_effect_idx
[53001] = { 34001, " Tűzfőnixe ", 0, "buff8"},
[53002] = { 34002, " Gidája ", 0, "buff9"},
[53003] = { 34003, " Jégfőnixe ", 0, "buff10"},
[53004] = { 34017, " Jádefőnixe ", 0, "buff10"},
[53005] = { 34004, " Baby Azraelje ", 0, "buff11"},
[53006] = { 34009, " Baby Azraelje ", 0, "buff16"},
[53007] = { 34010, " Bambija ", 0, "buff17"},
[53008] = { 34011, " Knuudja ", 0, "buff19"},
[53009] = { 34012, " Bao Baoja ", 0, "buff18"},
[53010] = { 34008, " Leonidásza ", 0, "buff13"},
[53011] = { 34007, " Kánja ", 0, "buff15"},
[53012] = { 34005, " Porkija ", 0, "buff14"},
[53013] = { 34006, " Rufusza ", 0, "buff12"},
[53014] = { 34014, " Csontkutyája ", 0, "buff20"},
[53015] = { 34015, " Hóhéra ", 0, "buff21"},
[53016] = { 34016, " Hóhéra ", 0, "buff22"},
[53017] = { 34018, " Sheldonja ", 0, "buff23"},
[53018] = { 34019, " Cooperje ", 0, "buff24"},
}
itemVnum = tonumber(itemVnum)
return pet_info_map[itemVnum]
end
function get_spawn_effect_file(idx)
effect_table = {
[0] = nil,
[1] = "d:\\\\ymir work\\\\effect\\\\etc\\\\appear_die\\\\npc2_appear.mse",
}
return effect_table [idx]
end
when 53001.use or 53002.use or 53003.use or 53004.use or 53005.use or 53006.use or 53007.use or 53008.use or 53009.use or 53010.use or 53011.use or 53012.use or 53013.use or 53014.use or 53015.use or 53016.use
or 53017.use or 53018.use begin
local pet_info = pet_system.get_pet_info(item.vnum)
if null != pet_info then
local mobVnum = pet_info[1]
local petName = pet_info[2]
local spawn_effect_file_name = pet_system.get_spawn_effect_file(pet_info[3])
local buffx = pet_info[4]
if true == pet.is_summon(mobVnum) then
if spawn_effect_file_name != nil then
pet.spawn_effect (mobVnum, spawn_effect_file_name)
end
pet.unsummon(mobVnum)
else
if pet.count_summoned() < 1 then
cmdchat(buffx)
pet.summon(mobVnum, petName, false)
else
syschat("Előbb küld el az előző petet. ")
end
if spawn_effect_file_name != nil then
pet.spawn_effect(mobVnum, spawn_effect_file_name)
end
end -- if pet.is_summon
end -- if null != pet_info
end -- when
end -- state
end -- quest
Öv quest:
Idézquest belt_system begin
state start begin
function is_belt()
return item.vnum >= 18000 and item.vnum <= 18089
end
function equip_belt()
item2.equip(11)
pc.setqf('belt', item.vnum)
end
when 18000.use or 18001.use or 18002.use or 18003.use or 18004.use or 18005.use or 18006.use or 18007.use or
18008.use or 18009.use or 18010.use or 18011.use or 18012.use or 18013.use or 18014.use or 18015.use or 18016.use or
18017.use or 18018.use or 18019.use or 18020.use or 18021.use or 18022.use or 18023.use or 18024.use or 18025.use or
18026.use or 18027.use or 18028.use or 18029.use or 18030.use or 18031.use or 18032.use or 18033.use or 18034.use or
18035.use or 18036.use or 18037.use or 18038.use or 18039.use or 18040.use or 18041.use or 18042.use or 18043.use or
18044.use or 18045.use or 18046.use or 18047.use or 18048.use or 18049.use or 18050.use or 18051.use or 18052.use or
18053.use or 18054.use or 18055.use or 18056.use or 18057.use or 18058.use or 18059.use or 18060.use or 18061.use or
18062.use or 18063.use or 18064.use or 18065.use or 18066.use or 18067.use or 18068.use or 18069.use or 18070.use or
18071.use or 18072.use or 18073.use or 18074.use or 18075.use or 18076.use or 18077.use or 18078.use or 18079.use or
18080.use or 18081.use or 18082.use or 18083.use or 18084.use or 18085.use or 18086.use or 18087.use or 18088.use or 18089.use begin
local v = item.vnum
local bonus = {{item2.get_attr(0)}, {item2.get_attr(1)}, {item2.get_attr(2)}, {item2.get_attr(3)}, {item2.get_attr(4)}, {item2.get_attr(5)}, {item2.get_attr(6)}}
if belt_system.is_belt() and v ~= pc.getqf('belt') then
belt_system.equip_belt()
elseif item.select_cell(101) then
item.remove()
pc2.give_or_drop_item_and_select(v)
for i = 1, table.getn(bonus) do
if tonumber(bonus[1]) > 0 then
item2.set_attr(i-1, bonus[1], bonus[2])
end
end
else
belt_system.equip_belt()
end
end
when 20090.take with belt_system.is_belt() begin
local maintab = {
[0] = {
{18000, 1, 50},
{18010, 2, 20},
{18020, 44, 1},
{18030, 44, 1},
{18040, 78, 1},
{18050, 79, 1},
{18060, 80, 1},
{18070, 81, 1},
{18080, 63, 1}
},
[1] = {
{18000, 1, 50},
{18010, 2, 20},
{18020, 44, 1},
{18030, 44, 1},
{18040, 78, 1},
{18050, 79, 1},
{18060, 80, 1},
{18070, 81, 1},
{18080, 63, 1}
},
[2] = {
{18000, 1, 100},
{18010, 2, 40},
{18020, 44, 1},
{18030, 44, 1},
{18040, 78, 1},
{18050, 79, 1},
{18060, 80, 1},
{18070, 81, 1},
{18080, 63, 1}
}
}
if pc.count_item(18900) < 1 then
syschat("Nincs nálad "..item_name(18900)..".")
return
end
for i = 0, 2 do
for k = 1, table.getn(maintab) do
if item.vnum >= maintab[k][1] and item.vnum <= maintab[k][1]+9 and item2.get_attr(i) == 0 then
if number(1,3) == 1 then
item2.set_attr(i, maintab[k][2], maintab[k][3])
syschat('Az öv Bónusz adása sikeres.')
else
syschat('Az öv bónusz adása nem sikerült.')
end
end
end
pc.remove_item(18900, 1)
end
end
end
Más questben is lehet, ha tippelnem kellene akkor give_basic_weapon.questben lesz :)
Mondtam én olyat, hogy csak abban a két questben keresd?:D
Lottóznod kellene. :)
Mivel tudom helyetesíteni?
Bocs amúgy penger én voltam a hülye. :)
Idézquest give_basic_weapon begin
state start begin
when login begin
if pc.getqf("basic_weapon") == 0 then
pc.setqf("basic_weapon", 1)
send_letter("HopeWorld")
end
end
when button or info begin
say_title("HopeWorld")
say("Üdvözlünk a HopeWorld világában.")
say("Köszönjük, hogy meglátogattad a szerverünket..")
say("Kellemes időtöltést, jó játékot kivánunk!")
say_reward("HopeWorld team")
wait()
say_title("HopeWorld")
say_reward("Most megkapod a szükséges kezdő felszerelésedet.")
wait()
if pc.job == 0 then
item = 50341
item2 = 31491
item3 = 12209
elseif pc.job == 1 then
item = 50343
item2 = 31492
item3 = 12349
elseif pc.job == 2 then
item = 50346
item2 = 31493
item3 = 12489
elseif pc.job == 3 then
item = 50344
item2 = 31494
item3 = 12629
end
if pc.countitem(item) == 0 and pc.countitem(item2) == 0 and pc.countitem(item3) == 0 and pc.weapon != item then
pc.give_item2(item)--Kasztnak megfelelő fegyver
pc.give_item2(item2)--Kasztnak megfelelő vért
pc.give_item2(item3)--Kasztnak megfelelő sisak
pc.give_item2(15007,1) --Fa cipő
pc.give_item2(27002,200) --Vörös ital(Közepes)
pc.give_item2(27004,200) --Kék ital(Kicsi)
pc.give_item2(27110,10) --Kicsi zöld ital
pc.give_item2(27113,10) --Kicsi lila ital
pc.give_item2(50052) --Felfegyverzet ló könyv
pc.give_item2(70038,200) --Bátorság köpeny 200[DB)
pc.give_item2(72018,1) --Harmadik kéz
pc.give_item2(72702,1) --Szél cipő
pc.give_item2(39002,1) --Tapasztalat gyűrű
pc.give_item2(14009,1) --Fa karkötő
pc.give_item2(16009,1) --Fa nyaklánc
pc.give_item2(13009,1) --Csatapajzs
pc.give_item2(17009,1) --Fa fülbevaló
horse.set_level(11) --11 lvl Ló
set_state(__COMPLETE__)
end
end
end
state __COMPLETE__ begin
end
end
quest give_basic_weapon begin
state start begin
when login begin
if pc.getqf("basic_weapon") == 0 then
pc.setqf("basic_weapon", 1)
send_letter("HopeWorld")
end
end
when button or info begin
say_title("HopeWorld")
say("Üdvözlünk a HopeWorld világában.")
say("Köszönjük, hogy meglátogattad a szerverünket..")
say("Kellemes időtöltést, jó játékot kivánunk!")
say_reward("HopeWorld team")
wait()
say_title("HopeWorld")
say_reward("Most megkapod a szükséges kezdő felszerelésedet.")
wait()
local item1, item2, item3
if pc.job == 0 then
item1 = 50341
item2 = 31491
item3 = 12209
elseif pc.job == 1 then
item1 = 50343
item2 = 31492
item3 = 12349
elseif pc.job == 2 then
item1 = 50346
item2 = 31493
item3 = 12489
elseif pc.job == 3 then
item1 = 50344
item2 = 31494
item3 = 12629
end
if pc.countitem(item1) == 0 and pc.countitem(item2) == 0 and pc.countitem(item3) == 0 and pc.weapon != item1 then
pc.give_item2(item1)--Kasztnak megfelelő fegyver
pc.give_item2(item2)--Kasztnak megfelelő vért
pc.give_item2(item3)--Kasztnak megfelelő sisak
pc.give_item2(15007,1) --Fa cipő
pc.give_item2(27002,200) --Vörös ital(Közepes)
pc.give_item2(27004,200) --Kék ital(Kicsi)
pc.give_item2(27110,10) --Kicsi zöld ital
pc.give_item2(27113,10) --Kicsi lila ital
pc.give_item2(50052) --Felfegyverzet ló könyv
pc.give_item2(70038,200) --Bátorság köpeny 200[DB)
pc.give_item2(72018,1) --Harmadik kéz
pc.give_item2(72702,1) --Szél cipő
pc.give_item2(39002,1) --Tapasztalat gyűrű
pc.give_item2(14009,1) --Fa karkötő
pc.give_item2(16009,1) --Fa nyaklánc
pc.give_item2(13009,1) --Csatapajzs
pc.give_item2(17009,1) --Fa fülbevaló
horse.set_level(11) --11 lvl Ló
set_state(__COMPLETE__)
end
end
end
state __COMPLETE__ begin
end
end
http://metin2hungary.net/index.php/topic,59373.msg967683.html#msg967683
Köszönöm a segítségeteket.
Én még nem 40k-s szerverfilet használok lehet azért nem olvastam el. Nem bírom átkonvertálni az item_protomat 40k-ra sajnos