King vért kövezés probléma

Indította Rodriguez, 2018-09-05, 17:10:55

2018-09-05, 17:10:55 Utolsó szerkesztés: 2018-09-05, 17:39:21 Szerző: Rodriguez
Sziasztok!

1.Olyan problémám lenne hogy a kingvérteket csak GM karakterrel tudom kövezni, sima player karival nem lehet kövezni.

Ugye a socket 3 tehát 3 követ lehetne bele tenni elvileg.

Ez mitől lehet hogy csak GM karival engedi?


2.
Az itemshopban ha veszek egy Napelixirt pl, megjön az IS raktárba, kiveszem benyomom, de amikor elkezdek pl mobokat ütni, eltűnik.
Ezt mi okozhatja?

3.
A démontoronyba mikor belépnék az egész bugos egy fekete képet ad ki, és mozog a kép stb.

Itt a dt. quest:
quest deviltower_zone begin
    state start begin
when login begin
if pc.get_map_index() == 66 then
if pc.get_level() < 40 then
syschat("Nem vagy te meg idevalo.")
pc.warp(590500, 110500)
end
if pc.get_x() < 2048+88 or pc.get_y() < 6656+577 or pc.get_x() > 2048+236 or pc.get_y() > 6656+737 then
pc.warp((5376+532)*100, (512+596+4)*100, 65)
end
pc.set_warp_location(65, 5376+532, 512+596+4)
elseif pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 then
pc.set_warp_location(65, 5376+532, 512+596+4)
end
end

when deviltower_man.click begin
say_title("Demontorony ?r")
say("Mit szeretnel?")
local s=select("Belepni a toronyba","Haza menni","Semmit")
if s==1 then
say_title("Demontorony ?r:")
say("Udvozlegy bator kalandor.")
say("Ezen torony falai kozott mar szamtalan bator")
say("lovag elbukott. Rengeted demon lakozik e elatkozott")
say("falakon tul...")
say("")
say("A toronyba csak kiveteles emberek lephetnek.")
say("Te kivetelesnek erzed magad?")
local s = select("Igen","Nem")
if s == 1 then
if pc.get_level() < 40 then
say_title("Demontorony ?r:")
say("Te meg a kivetelesseg[DELAY value;700]. . .[/DELAY]")
say("Meg magadat sem tudod megvedeni! Most menj")
say("amig legalabb a 40-es szintet el nem ered!")
else
say_title("Demontorony ?r:")
say("Latom te eleg kiveteles es er?s vagy hogy bemehess.")
say("Vigyazz magadra odabent!")
say("")
pc.warp(216500,727000)
end
elseif s == 2 then
say_title("Demontorony ?r:")
say("Gondoltam, hogy megfutamodsz.")
say("Gyere vissza, ha eleg bator leszel.")
return
end
elseif s==2 then
say_title("Demontorony ?r")
say("Hamarosan otthon talalod magad.")
local empire=pc.get_empire()
if empire==1 then
pc.warp(473600,952000)
elseif empire==2 then
pc.warp(64000,162900)
elseif empire==3 then
pc.warp(964600,268800)
end
elseif s==3 then
return
end
end
when devil_stone1.kill begin
syschat("Elpusztitottad a Metinkovet.")
d.notice("Elpusztult a Metink?, mindenki fel lesz portalva a masodik emeletre.")
timer("devil_stone1_1", 6)
end
when devil_stone1_1.timer begin
local mapto7= pc.count_item(30302)  --Elveszi a Zin barlang terkepet ha beleutsz a metinbe
pc.remove_item(30302,mapto7)
local boxto7= pc.count_item(30300)  --Elveszi az Ismeretlen oreg ladat ha beleutsz a metinbe
pc.remove_item(30300,boxto7)
d.new_jump_all(66, special.devil_tower[1][1], special.devil_tower[1][2])
d.regen_file("data/dungeon/deviltower2_regen.txt")
d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[2][1], special.devil_tower[2][2], "data/dungeon/deviltower3_regen.txt")
end
--when devil_stone2.kill begin
--d.jump_all_local(special.devil_tower[2][1], special.devil_tower[2][2])
--end
when devil_stone3.kill begin
d.set_warp_at_eliminate(4, d.get_map_index(), special.devil_tower[3][1], special.devil_tower[3][2], "data/dungeon/deviltower4_regen.txt")
d.check_eliminated()
end
function get_4floor_stone_pos()
local positions = {
{368, 629},
{419, 630},
{428, 653},
{422, 679},
{395, 689},
{369, 679},
{361, 658},
}
for i = 1, 6 do
local j = number(i, 7)
if i != j then
local t = positions[i];
positions[i] = positions[j];
positions[j] = t;
end
end
return positions
end
when 8016.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
d.setf("level", 4)
local positions = deviltower_zone.get_4floor_stone_pos()
for i = 1, 6 do
chat(positions[i][1], positions[i][2])
d.set_unique("fake" .. i , d.spawn_mob(8017, positions[i][1], positions[i][2]))
end
chat(positions[7][1], positions[7][2])
local vid = d.spawn_mob(8017, positions[7][1], positions[7][2])
chat(vid)
d.set_unique("real", vid)
server_loop_timer('devil_stone4_update', 10, pc.get_map_index())
server_timer('devil_stone4_fail1', 5*60, pc.get_map_index())

d.notice("Ez a negyedik emelet!")
d.notice("Keressetek meg a helyes metint es pusztitsatok el.")
d.notice("A hibas metinkovek eltunnek!")
d.notice("Mindossze 15 Percetek van a tovabbjutasra!")

end

when devil_stone4_fail1.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Hatralev? id?: 10 perc")
server_timer('devil_stone4_fail2', 5*60, get_server_timer_arg())
end
end

when devil_stone4_fail2.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Hatralev? id?: 5 perc")
server_timer('devil_stone4_fail', 5*60, get_server_timer_arg())
end
end

when devil_stone4_fail.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Az id? lejart")
d.notice("Mindenki ki lesz teleportalva.")
d.exit_all()
clear_server_timer('devil_stone4_update', get_server_timer_arg())
end
end

when devil_stone4_update.server_timer begin
if d.select(get_server_timer_arg()) then
if not d.is_unique_dead("real") then
for i = 1, 6 do
if d.getf("fakedead" .. i) == 0 then
if d.unique_get_hp_perc("fake" .. i) < 50 then
d.purge_unique("fake" .. i)
d.setf("fakedead" .. i, 1)
d.notice("A hamis metinkovek eltunnek..")
end
end
end
else
server_timer("devil_stone4_end", 5, get_server_timer_arg())
d.notice("Gratulalok, megtalaltatok a megfelel? metinkovet.")
d.notice("Most mindenki teleportalodik a kovetkez? emeltre.")
clear_server_timer('devil_stone4_fail1', get_server_timer_arg())
clear_server_timer('devil_stone4_fail2', get_server_timer_arg())
clear_server_timer('devil_stone4_fail', get_server_timer_arg())
end
else
server_timer('devil_stone4_stop_timer', 1, get_server_timer_arg())
end
end

when devil_stone4_stop_timer.server_timer begin
clear_server_timer('devil_stone4_update', get_server_timer_arg())
end

when devil_stone4_end.server_timer begin
if d.select(get_server_timer_arg()) then
d.setf("level", 5)
d.setf("stone_count", 5)
d.notice("Legyetek udvozolve az 5.ik emeleten!")
d.notice("A szornyekben vannak elrejtve a tovabbjutashoz valo kulcskovek.")
d.notice("Nyissatok ki az osszes Oreg Pecsetet.")
d.notice("Osszesen 20 Percetek van ra!")
d.jump_all(special.devil_tower[4][1], special.devil_tower[4][2])
server_timer('devil_stone5_fail1', 5*60, get_server_timer_arg())
clear_server_timer('devil_stone4_update', get_server_timer_arg())
d.set_regen_file("data/dungeon/deviltower5_regen.txt")
d.spawn_mob(20073, 421, 452)
d.spawn_mob(20073, 380, 460)
d.spawn_mob(20073, 428, 414)
d.spawn_mob(20073, 398, 392)
d.spawn_mob(20073, 359, 426)
end
end

when devil_stone5_fail1.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Hatralev? id?: 15 Perc")
server_timer('devil_stone5_fail2', 5*60, get_server_timer_arg())
end
end

when devil_stone5_fail2.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Hatralev? id?: 10 Perc")
server_timer('devil_stone5_fail3', 5*60, get_server_timer_arg())
end
end

when devil_stone5_fail3.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Hatralev? id?: 5 Perc")
server_timer('devil_stone5_fail', 5*60, get_server_timer_arg())
end
end

when devil_stone5_fail.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Az id? lejart")
d.notice("Mindenki ki lesz teleportalva.")
d.exit_all()
end
end

when 1062.kill with pc.in_dungeon() and d.getf("level") == 5 begin
local KILL_COUNT_FOR_DROP_KEY = 50
local n =d.getf("count") + 1
d.setf("count", n)
if n == KILL_COUNT_FOR_DROP_KEY then
game.drop_item(50084, 1)
d.setf("count", 0)
end
end
when devil_stone5.take with item.vnum == 50084 begin
npc.purge()
item.remove()
d.setf("stone_count", d.getf("stone_count") - 1)
if d.getf("stone_count") <= 0 then
d.setf("level", 6)
d.clear_regen()
d.regen_file("data/dungeon/deviltower6_regen.txt")

d.notice("Eltavolitottatok az osszes pecsetet.")
d.notice("Most kovetkezik a 6. emelet.")
d.jump_all(special.devil_tower[5][1], special.devil_tower[5][2])
clear_server_timer('devil_stone5_fail1', get_server_timer_arg())
clear_server_timer('devil_stone5_fail2', get_server_timer_arg())
clear_server_timer('devil_stone5_fail3', get_server_timer_arg())
clear_server_timer('devil_stone5_fail', get_server_timer_arg())
else
d.notice("Maradek pecsetek szama: "..d.getf("stone_count").."")
end
end

when devil_stone6.kill begin
d.kill_all()
d.check_eliminated()
local reward_alchemist = {20074, 20075, 20076}
d.spawn_mob(reward_alchemist[number(1,3)], 425, 216)
d.setqf("can_refine", 1)
end

when 20074.chat."A magasabb szinteken..." or 20075.chat."A magasabb szinteken..." or 20076.chat."A magasabb szinteken..." with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
say_title("Magasabb szinteken...")
say("Gratulalok, hogy idaig eljutottatok!")
say("De itt sajnos veget er szamotokra az ut, ha!")
say("Nem vagy eleg er?s a kovetkez? szinthez.")
say("Bizonyitekra van szuksegem, hogy valoban eleg")
say("er?s vagye.")
say("Lassuk csak...")
wait()
if pc.level >=75 then
say_title("Magasabb szinteken...")
say("Rendben van, ahogy latom te eleg er?s vagy")
say("hogy tovabb mehessetek!")
say("Sok szerencset!")
d.notice("Mindenki portalodik a kovetkez? emeletre.")
timer("devil_jump_7", 6)
return
end
say_title("Magasabb szinteken...")
say("")
say("Ahogy latom meg gyenge vagy te oda..")
say("Minimum 75-os szint kell, hogy felengedjelek.")
say("Remelem megertetted!")
say("Gyere vissza ha elerted a szintet.")
say("")
wait()
pc.warp(590500, 110500)
return
end

   when devil_jump_7.timer begin
d.clear_regen()
d.spawn_mob(8018, 639, 658)
d.spawn_mob(8018, 611, 637)
d.spawn_mob(8018, 596, 674)
d.spawn_mob(8018, 629, 670)
d.setf("level", 7)
d.jump_all(2048+590, 6656+638)
end

when 8018.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
local cont = d.getf("7_stone_kill") + 1
d.setf("7_stone_kill", cont)
if cont >= 4 then
d.setf("7_stone_kill", 0)
d.set_regen_file("data/dungeon/deviltower7_regen.txt")
end
end

when 8019.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
game.drop_item(30300, 1)
end

when 30300.use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
pc.remove_item("30300", 1)
local pct = number(1,10)
if pct == 1 then
game.drop_item(30302, 1)
d.clear_regen()
else
game.drop_item(30301, 1)
end
end

when 30302.use with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
say("Ez a terkep elvezet minket a kovetkez? emeletre!")
say("Szerencsere hamar meglett..")
d.notice("Mindenki portalodik a kovetkez? emeletre.")
pc.remove_item("30302", 1)
timer("devil_jump_8", 6)
d.clear_regen()
end

when devil_jump_8.timer begin
d.setf("level", 8)
d.jump_all(2048+590, 6656+403)
d.set_regen_file("data/dungeon/deviltower8_regen.txt")
d.spawn_mob(20366, 640, 460)
local _count= pc.count_item(30302)
pc.remove_item(30302,_count)
end

when 1040.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
local pct1 = number(1, 5)
if pct1 == 1 then
local pct2 = number(1, 10)
if pct2 == 1 then
game.drop_item(30304, 1)
else
game.drop_item(30303, 1)
end
else
return
end
end

when 20366.take with item.vnum == 30304 begin
npc.purge()
item.remove()
d.notice("Mindenki portalodik a kovetkez? emeletre.")
timer("devil_jump_9", 6)
end

when devil_jump_9.timer begin
d.setf("level", 9)
d.jump_all(2048+590, 6656+155)
d.regen_file("data/dungeon/deviltower9_regen.txt")
end

when 1093.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
d.kill_all()
d.kill_all()
d.notice(pc.get_name().." Megolte a kaszast!")
-- d.notice("Most azonban felebredt egy sokkal er?sebb hatalom!")
timer("devil_end_jump", 30)
end

-- when devil_jump_10.timer begin
-- d.setf("level", 10)
-- d.spawn_mob(1095, 607, 218)
-- end

-- when 1095.kill with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
-- d.kill_all()
-- d.kill_all()
-- notice_all("Graulalunk! "..pc.get_name().." megolte a Kekhalalt")
-- d.notice("Egy perc mulva ki lesz teleportalva mindenki.")
-- timer("devil_jump_10_finish", 5)
-- end

-- when devil_jump_10_finish.timer begin
-- d.spawn_mob(9012, 607, 210)
-- timer("devil_end_jump", 50)
-- end

when devil_end_jump.timer begin
d.exit_all()
end
end
end

2. Nem kezeli az időt az itemshop (?)

3. Hibás gondolom a kliens oldal, vagy nem éri el, csatolj kliens syssert.

2.
Elvileg kezeli, és mondom az itemshopos rakiba beadja onnan kiveszem a leltárba, és mikor használni szeretném, engedi is elkezd körülötte forogni, és mikor elkezdem a mobokat ütni egyszercsak köddé válik.

3.
A syserr csak a pet-es dologra krahácsol amit még ki kell javitanom, dt-re utaló nyomot nem fedeztem fel benne egyáltalán, csak pettel kapcsolatos.

2.

is_items (vagy ahogy hívják) táblában add meg a socket2-nél az értékeket.
Különleges Nap Elixírnél pl 10000000, holdnál 1000000.
(Többire fejből nem emlékszem, item_proto-ból kitudod nézni mi mennyi hp/mp-t ad, de talán még az itemdesc is írja)

Ha nem kezeli a socketeket az itemshop akkor a táblában add hozzá az oszlopot, meg a buy.php-ban szintén.
(tuti kezeli amúgy)

DT-nél a kliens oldal rossz. Onnan dobj egy syserr-t, nálam is ez volt csak nem DT-nél. 1 sort ír csak bele keresd ki ott kell lennie :D

2. Vagy még egyszerűbb ha id alapján kéri le item_protoból az értékeket o.O

DT-re vonatkozhat ez?

Syserr:
0906 17:03:17226 ::   File "game.py", line 617, in OnChangePKMode

0906 17:03:17252 ::   File "interfaceModule.py", line 801, in OnChangePKMode

0906 17:03:17253 ::   File "uiCharacter.py", line 563, in RefreshAlignment

0906 17:03:17254 :: TypeError
0906 17:03:17266 :: :
0906 17:03:17266 :: __pack_import() takes at most 4 arguments (5 given)
0906 17:03:17266 ::

UP!

DT-ben valaki tudna segiteni maybe?

Szerver oldalon ez a koordináta volt settingsbe:
204800   665600

Kliensbe pedig:
128000   793600

Egyeztettem, át irtam a kliens oldalit arra ami szerver oldalt volt ugyan az a probléma volt még mindig.
Meg próbáltam átirni szerver oldalt arra ami kliensbe volt, igy sem jó, ugyan az a hiba.

Valakinek valami ötlet esetleg?

Syserr nem ir semmit ezzel kapcsolatban.


Nem, nem Spectra kliens.

Egybe volt egy SF-el illetve forrással, mindjárt linkelem hogy melyikre gondolok.

Szerk:
De igen Spectra kliens félre néztem.

Idézetet írta: Rodriguez Dátum 2018-09-06, 17:28:13
DT-re vonatkozhat ez?

Syserr:
0906 17:03:17226 ::   File "game.py", line 617, in OnChangePKMode

0906 17:03:17252 ::   File "interfaceModule.py", line 801, in OnChangePKMode

0906 17:03:17253 ::   File "uiCharacter.py", line 563, in RefreshAlignment

0906 17:03:17254 :: TypeError
0906 17:03:17266 :: :
0906 17:03:17266 :: __pack_import() takes at most 4 arguments (5 given)
0906 17:03:17266 ::




https://metin2dev.org/board/index.php?/topic/5945-any-help-for-this-error-__pack_import-takes-at-most-4-arguments-5-given/

Idézetet írta: Rodriguez Dátum 2018-09-10, 18:45:49
Nem, nem Spectra kliens.

Egybe volt egy SF-el illetve forrással, mindjárt linkelem hogy melyikre gondolok.

Szerk:
De igen Spectra kliens félre néztem.

Egész map törlése és visszaraksz egy működőt