Krekon
-
Posts
17 -
Joined
-
Last visited
-
Feedback
0%
Content Type
Forums
Store
Third Party - Providers Directory
Feature Plan
Release Notes
Docs
Events
Posts posted by Krekon
-
-
for i = 1, 6 do
test_chat(positions[i][1], positions[i][2])
d.set_unique("fake" .. i , d.spawn_mob(8017, positions[i][1], positions[i][2]))
end
-
I've tried 3 different quests allready for Demon Tower but i always get stucked at level 4 after destroying the first stone , the others don't spawn .
Any ideeas ?
One of the quests i've used and the one i have now :
Spoilerquest deviltower_zone begin
state start begin
when login begin
if pc.get_map_index() == 66 then
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 logout begin
if pc.count_item(30300) >= 1 then
pc.remove_item(30300, pc.count_item(30300))
end
-- not used in the game
-- pc.remove_item(30301, pc.count_item(30301))
if pc.count_item(30302) >= 1 then
pc.remove_item(30302, pc.count_item(30302))
end
end
when deviltower_man.chat.gameforge.deviltower_zone._10_npcChat begin
if pc.get_level() < 40 then
say_title(gameforge.deviltower_zone._20_sayTitle)
say(gameforge.deviltower_zone._30_say)
else
say_title(gameforge.deviltower_zone._20_sayTitle)
say(gameforge.deviltower_zone._40_say)
local s = select(gameforge.locale.monkey_dungeon.enter, gameforge.locale.monkey_dungeon.no_enter)
if s == 1 then
pc.warp(216500,727000)
end
end
end
when kill with npc.get_race() == 8015 begin
timer("devil_stone1_1", 6)
end
when devil_stone1_1.timer begin
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 kill with npc.get_race() == 1091 and pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 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;
positions = positions[j];
positions[j] = t;
end
end
return positions
end
when kill with npc.get_race() == 8016 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
test_chat(positions[1], positions[2])
d.set_unique("fake" .. i , d.spawn_mob(8017, positions[1], positions[2]))
end
test_chat(positions[7][1], positions[7][2])
local vid = d.spawn_mob(8017, positions[7][1], positions[7][2])
test_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())
notice_multiline(gameforge.deviltower_zone._50_dNotice,d.notice)
end
when devil_stone4_fail1.server_timer begin
if d.select(get_server_timer_arg()) then
notice_multiline(gameforge.deviltower_zone._60_dNotice,d.notice)
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
notice_multiline(gameforge.deviltower_zone._70_dNotice,d.notice)
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
notice_multiline(gameforge.deviltower_zone._80_dNotice,d.notice)
d.clear_regen()
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)
notice_multiline(gameforge.deviltower_zone._90_dNotice,d.notice)
end
end
end
else
server_timer("devil_stone4_end", 5, get_server_timer_arg())
--d.kill_all()
d.purge()
notice_multiline(gameforge.deviltower_zone._100_dNotice,d.notice)
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
clear_server_timer('devil_stone4_update', get_server_timer_arg())
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())
-- clear regen from memory when exit
d.clear_regen()
d.setf("level", 5)
d.setf("stone_count", 5)
notice_multiline(gameforge.deviltower_zone._110_dNotice,d.notice)
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
notice_multiline(gameforge.deviltower_zone._120_dNotice,d.notice)
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
notice_multiline(gameforge.deviltower_zone._60_dNotice,d.notice)
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
notice_multiline(gameforge.deviltower_zone._70_dNotice,d.notice)
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
notice_multiline(gameforge.deviltower_zone._80_dNotice,d.notice)
d.exit_all()
end
end
when kill with npc.get_race() == 1062 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")
notice_multiline(gameforge.deviltower_zone._130_dNotice,d.notice)
d.jump_all(special.devil_tower[5][1], special.devil_tower[5][2])
local server_arg = d.get_map_index()
clear_server_timer('devil_stone5_fail1', server_arg)
clear_server_timer('devil_stone5_fail2', server_arg)
clear_server_timer('devil_stone5_fail3', server_arg)
clear_server_timer('devil_stone5_fail', server_arg)
else
d.notice(string.format(gameforge.deviltower_zone._140_dNotice, d.getf("stone_count")))
end
end
when kill with npc.get_race() == 1092 and pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and d.getf("level") == 6 begin
d.kill_all()
notice_multiline(gameforge.deviltower_zone._150_dNotice,d.notice)
d.check_eliminated()
notice_multiline(gameforge.deviltower_zone._160_dNotice,d.notice)
local reward_alchemist = {20074, 20075, 20076}
d.spawn_mob(reward_alchemist[number(1,3)], 425, 216);
d.setqf2("deviltower_zone","can_refine", 1)
end
when 20074.chat.gameforge.deviltower_zone._170_npcChat with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and npc.lock() begin
say_title(mob_name(20074))
say(gameforge.deviltower_zone._190_say)
wait()
if pc.level >=75 then
say_title(mob_name(20074))
say(gameforge.deviltower_zone._200_say)
local s= select(gameforge.deviltower_zone._210_select, gameforge.locale.cancel, gameforge.deviltower_zone._220_select)
if s==3 then
pc.warp(590500, 110900)
return
end
if s==2 then
return
end
timer("devil_jump_7", 6)
npc.unlock()
d.purge()
return
end
say_title(mob_name(20074))
say(gameforge.deviltower_zone._230_say)
wait()
pc.warp(590500, 110500)
return
end
when 20075.chat.gameforge.deviltower_zone._170_npcChat with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and npc.lock() begin
say_title(mob_name(20075))
say(gameforge.deviltower_zone._190_say)
wait()
if pc.level >=75 then
say_title(mob_name(20075))
say(gameforge.deviltower_zone._200_say)
local s= select(gameforge.deviltower_zone._210_select, gameforge.deviltower_zone._220_select)
if s==3 then
pc.warp(590500, 110900)
return
end
if s==2 then
return
end
timer("devil_jump_7", 6)
npc.unlock()
d.purge()
return
end
say_title(mob_name(20075))
say(gameforge.deviltower_zone._230_say)
wait()
pc.warp(590500, 110500)
return
end
when 20076.chat.gameforge.deviltower_zone._170_npcChat with pc.in_dungeon() and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 and npc.lock() begin
say_title(mob_name(20076))
say(gameforge.deviltower_zone._190_say)
wait()
if pc.level >=75 then
say_title(mob_name(20076))
say(gameforge.deviltower_zone._200_say)
local s= select(gameforge.deviltower_zone._210_select, gameforge.deviltower_zone._220_select)
if s==3 then
pc.warp(590500, 110900)
return
end
if s==2 then
return
end
timer("devil_jump_7", 6)
npc.unlock()
d.purge()
return
end
say_title(mob_name(20076))
say(gameforge.deviltower_zone._230_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)
notice_multiline(gameforge.deviltower_zone._240_dNotice,d.notice)
d.jump_all(2048+590, 6656+638)
end
when kill with npc.get_race() == 8018 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 kill with npc.get_race() == 8019 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
-- nothing happens cause the items isnt used in the game
-- 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
if d.getf( "level" ) != 7 then
pc.remove_item( "30302", 1)
return
end
say_title(gameforge.blacksmith._40_sayTitle)
say(gameforge.deviltower_zone._250_say)
pc.remove_item("30302", 1)
timer("devil_jump_8", 6)
d.clear_regen()
end
when devil_jump_8.timer begin
d.setf("level",
notice_multiline(gameforge.deviltower_zone._260_dNotice,d.notice)
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 kill with npc.get_race() == 1040 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()
timer("devil_jump_9", 6)
end
when devil_jump_9.timer begin
d.setf("level", 9)
notice_multiline(gameforge.deviltower_zone._270_dNotice,d.notice)
d.jump_all(2048+590, 6656+155)
d.regen_file("data/dungeon/deviltower9_regen.txt")
end
when kill with npc.get_race() == 1093 and pc.get_map_index() >= 660000 and pc.get_map_index() < 670000 begin
d.kill_all()
d.setqf2("deviltower_zone","9_done", 1)
notice_multiline(gameforge.deviltower_zone._280_dNotice,d.notice)
notice_multiline(gameforge.deviltower_zone._290_dNotice,d.notice)
server_timer("devil_end_jump", 60, d.get_map_index())
end
when devil_end_jump.server_timer begin
if d.select (get_server_timer_arg()) then
d.clear_regen()
d.exit_all()
end
end
end
end
Syslog :
SpoilerFeb 7 18:00:17 :: GLOBAL_TIME: Feb 7 18:00:17 time_gap 0
Feb 7 18:01:17 :: GLOBAL_TIME: Feb 7 18:01:17 time_gap 0
Feb 7 18:02:17 :: GLOBAL_TIME: Feb 7 18:02:17 time_gap 0
Feb 7 18:03:17 :: GLOBAL_TIME: Feb 7 18:03:17 time_gap 0
Feb 7 18:04:17 :: GLOBAL_TIME: Feb 7 18:04:17 time_gap 0
Feb 7 18:05:17 :: GLOBAL_TIME: Feb 7 18:05:17 time_gap 0
Feb 7 18:06:17 :: GLOBAL_TIME: Feb 7 18:06:17 time_gap 0
Feb 7 18:07:17 :: GLOBAL_TIME: Feb 7 18:07:17 time_gap 0
Feb 7 18:08:17 :: GLOBAL_TIME: Feb 7 18:08:17 time_gap 0
Feb 7 18:09:17 :: GLOBAL_TIME: Feb 7 18:09:17 time_gap 0
Feb 7 18:10:17 :: GLOBAL_TIME: Feb 7 18:10:17 time_gap 0
Feb 7 18:11:17 :: GLOBAL_TIME: Feb 7 18:11:17 time_gap 0
-
I'm looking for someone that knows a little bit of everything game related and that is able to help me with the problems I encounter along the way .
Source compiling/editing , game implementing .
One of the requirements is to be already trustworthy in this community and being able to prove some of his knowledge .
Message me for more info .
-
Fixed by rebuilding initial db , player/player_index were corrupt for some reason i guess .
-
I can't create new char , tried to repair tables.
Error when trying to create new char : __QUERY_PLAYER_CREATE: QUERY_ERROR: UPDATE player_index SET pid2=0 WHERE id=1
-
Solved
Edit only the first syntaxes with x/y and check not to edit another one because apparently i had one more from a system and editing it causes my client to crash .
-
Check the line 2207 the syntax it's not good search for tab or spaces .
-
That was the tutorial for making them + with blessing scroll but instead of blessing code i put pearls for an example , it wasn't for making them at blacksmit .
-
If you say you edited everywhere then it's strange .
Check one more time everything , especially locale_game.txt
And if you are crypting with syserr console post it here,
-
2 minutes ago, Croparox said:
0212 19:31:00608 :: ui:3405: RuntimeWarning: tp_compare didn't return -1 or -2 for exception 0212 19:31:00609 :: introLogin.py(line:532) __LoadScript ui.py(line:3061) LoadScriptFile ui.py(line:3127) LoadChildren ui.py(line:3405) LoadElementExpandedImage LoginWindow.__LoadScript.LoadObject - <type 'exceptions.RuntimeError'>:Failed to load image (filename: locale/tr/ui/serverlist.sub) 0212 19:31:00609 :: ============================================================================================================ 0212 19:31:00609 :: Abort!!!! 0212 19:31:00623 :: ============================================================================================================ 0212 19:31:00624 :: Abort!!!!
I had that settings. Look:)
You changed the name for the folder but you didn't changed it in files where the lines ask for specific things .
Go in locale/and change tr with en .
See if that works .
-
Go to the stone line in navicat
For example dodge stone +4 you search it in item_proto and look for refine_set number
Then you go to refine_proto and search for that number
Now let's say that you want to set it for asking pearls for +5.
vnum0 - 27992(here you put the code that you want) / count0 2 = This means that will take 2 white pearls for the upgrade.
You can go on for asking more items on vnum1 count1 / vnum2 count2 , and so on .
-
Make sure that you didn't edited too much while translating , i mean other lines then text .
And see if you have some error in syserr and post it here.
-
-
15 minutes ago, Galet said:
Give us your syserr and we'll see what's the problem.
Just kidding
Have you ever messed up something related to the syserr ? It seems to always be there, also it depends of your error (try to purposedly corrupt one of your .py files - TypeError... - and see if the syserr is displaying something)
Also try to compile in debug mode, to have additional backtraces and so on... Also check the last thing you modified in sources
Have a nice day
You really got me there with the first line
I didn't messed nothing related to syserr as i said i saw this problem long time ago so it seems that the client is like that .
I tried purposedly corrupt files but if the corruption is too small nothing happend but that client dosen't work .
I saw now that if the problem is too severe a log display when i try to launch the .exe but it's not helping too much because there it's showing the final reason like _pack_ could not be load due to bad files or some similar things , not like that syserr which would show you the file and the lines .
It's not a big deal i mean it's just a lot to work not knowing where the problem is exactly and i loose more time .
I thought that somebody have some information about this problem .
PS : I'm working on it without source since i was out of this line for years and i try to remember and learn all the new things step by step .
-
On 09/02/2017 at 10:22 PM, TonisBoss said:
FreeBSD i've downloaded freebsd 9.2 with source from here but i got error 1 when i gmake...
In order to find the solution it would be wiser to post the error that you get .
-
I am working right now on improving a random basic client and working a lot on it .
It has the syserr.txt file but inside even if the client has an error dosen't display anything , until now i didn't need it that much because i could figure what i have done wrong and fix it but right now i really need to see the errors .
Does anyone knows why the syserr it's not working ?
Thank you anticipated .
Item_proto Problem
in Community Support - Questions & Answers
Posted · Edited by Krekon
At a closer look , the item_proto actually does not decrypts correctly