Jump to content

metrix2020

Member
  • Posts

    18
  • Joined

  • Last visited

  • Feedback

    0%

Everything posted by metrix2020

  1. Doesen't work with special storage, can somebody help?
  2. can u upload your translate.lua?
  3. levelup.quest and other quests that use the makequestbutton function dont show up, is there a way to fix it without using send_letter insted of makequestbutton?
  4. i installed the system without errors but when i want to switch from day to night nothing happend nvm solved
  5. How can is solve those warnings? ShipDefense.cpp: In member function 'void CShipDefense::Notice(LPCHARACTER, bool, const char*, ...)': ShipDefense.cpp:629:7: warning: unused variable 'iLen' [-Wunused-variable] int iLen = vsnprintf(szBuf, sizeof(szBuf), c_pszLocaleText, pszArgs); ^~~~
  6. i manage to solve the problem(wrong mob proto structure), but now i dont know why hydra doesent use skill and mobs never attack me
  7. i have a problem with the mast, in the first wave its fine,in the middle, but in the next waves it spawn random on the ship
  8. Hey, i use dragon lair quest but i got a problem, when i start the room on ch1 it starts on all ch's, why its happening that and how can i make it start only on the ch i want? quest dragon_lair_access begin state start begin function get_settings() local settings = {} settings.cooldown_time = 1200 -- when can the dragon be killed again? settings.group_time = 300 -- how long can players enter after the first one is in the dragon's lair? settings.access_item = 30179 -- "Dragon God Symbols" settings.dragon_vnum = 2493 settings.spawn = {} settings.spawn.x = 181 settings.spawn.y = 173 settings.warp_in = {} settings.warp_in.first = {} settings.warp_in.last = {} settings.warp_in.first.x = 843677 settings.warp_in.first.y = 1066206 settings.warp_in.last.x = 844027 settings.warp_in.last.y = 1067599 settings.warp_out = {} settings.warp_out.first = {} settings.warp_out.last = {} settings.warp_out.first.x = 9200 settings.warp_out.first.y = 1206400 settings.warp_out.last.x = 10900 settings.warp_out.last.y = 1209100 settings.room_area = {} settings.room_area.first = {} settings.room_area.last = {} settings.room_area.first.x = 833000 settings.room_area.first.y = 1062500 settings.room_area.last.x = 844100 settings.room_area.last.y = 1071500 settings.access_item_amount = game.get_event_flag("dragon_lair_amount") if (settings.access_item_amount == 0) then settings.access_item_amount = 3 -- default value when event flag is not set elseif (settings.access_item_amount == -1) then settings.access_item_amount = 0 -- no dragon marks needed when event flag -1 (special case) end return settings end function get_random_point(area_coordinates) return math.random(area_coordinates.first.x, area_coordinates.last.x), math.random(area_coordinates.first.y, area_coordinates.last.y) end function warp_to_lair() local settings = dragon_lair_access.get_settings() local x, y = dragon_lair_access.get_random_point(settings.warp_in) char_log(pc.get_player_id(), 'LAIR', pc.get_channel_id() ..' WARPTOLAIR: x:'.. x ..', y:' .. y) pc.warp(x,y) end function warp_from_lair() local settings = dragon_lair_access.get_settings() local x, y = dragon_lair_access.get_random_point(settings.warp_out) char_log(pc.get_player_id(), 'LAIR', pc.get_channel_id() ..' WARPFROMLAIR: x:'.. x ..', y:' .. y) pc.warp(x,y) end function warp_all_from_lair() local settings = dragon_lair_access.get_settings() warp_all_in_area_to_area(settings.room_area.first.x, settings.room_area.first.y, settings.room_area.last.x, settings.room_area.last.y, settings.warp_out.first.x, settings.warp_out.first.y, settings.warp_out.last.x, settings.warp_out.last.y) game.set_event_flag("dragon_lair_alive", 0) -- dragon is dead char_log(0, 'LAIR', 'WARP ALL') end function get_time_remaining() local settings = dragon_lair_access.get_settings() return (game.get_event_flag("dragon_lair_time") + settings.cooldown_time - get_global_time()) end function give_item_to_ghost() local settings = dragon_lair_access.get_settings() say_title(gameforge.ghost_story._010_sayTitle) say(gameforge.dragon_lair_access._130_say) say(settings.access_item_amount.."x: ") say_item_vnum(settings.access_item) local give_item = select(gameforge.dragon_lair_access._140_select, gameforge.locale.cancel) if give_item == 1 then pc.remove_item(settings.access_item, settings.access_item_amount) char_log(pc.get_player_id(), 'LAIR', pc.get_channel_id() ..' GIVE ITEM') return true else return false end end function show_time_remaining(time_remaining) q.set_title(gameforge.dragon_lair_access._165_sendLetter) send_letter(gameforge.dragon_lair_access._165_sendLetter) q.set_clock(gameforge.locale.monkey_dungeon.quest_rest_time, time_remaining) timer("dragon_lair_timer", time_remaining) notice_multiline(string.format(gameforge.dragon_lair_access._175_notice, time_remaining / 60), notice) q.start() end when enter or login begin pc.setqf("is_leader", 0) q.done() --if pc.get_map_index() == 208 and not pc.is_gm() then if pc.get_map_index() == 208 then dragon_lair_access.warp_from_lair() end end when blue_dragon_timer.server_timer begin game.set_event_flag("dragon_lair_timer_used", 0) if game.get_event_flag("dragon_lair_alive") == 1 then notice_multiline(gameforge.dragon_lair_access._150_notice, notice_all) else notice_multiline(gameforge.dragon_lair_access._160_notice, notice_all) end dragon_lair_access.warp_all_from_lair() end when 30121.chat.gameforge.dragon_lair_access._010_npcChat with pc.get_map_index() != 208 begin local starttime = game.get_event_flag("dragon_lair_time") local current_time = get_global_time() local settings = dragon_lair_access.get_settings() local time_remaining = dragon_lair_access.get_time_remaining() if pc.count_item(settings.access_item) >= settings.access_item_amount then if starttime + settings.group_time >= current_time then local password_input; repeat say_title(gameforge.ghost_story._010_sayTitle) say(gameforge.dragon_lair_access._020_say) password_input = tonumber(input()) if password_input != game.get_event_flag("dragon_lair_password") then say_title(gameforge.ghost_story._010_sayTitle) say(gameforge.dragon_lair_access._030_say) local again = select(gameforge.dragon_lair_access._040_select, gameforge.locale.cancel) if again == 2 then return end end until password_input == game.get_event_flag("dragon_lair_password") if not dragon_lair_access.give_item_to_ghost() then return end -- right password pc.setqf("time", starttime) dragon_lair_access.warp_to_lair() set_state(kill_dragon) elseif time_remaining < 0 and npc.lock() then -- it is the first player talking with the ghost say_title(gameforge.ghost_story._010_sayTitle) say(gameforge.dragon_lair_access._050_say) local abort = select(gameforge.dragon_lair_access._060_select, gameforge.locale.cancel) if abort == 2 then npc.unlock() return end local password_number; repeat say_title(gameforge.ghost_story._010_sayTitle) say(gameforge.dragon_lair_access._070_say) password_number = tonumber(input()) local again; if type(password_number) != 'number' then say_title(gameforge.ghost_story._010_sayTitle) say(gameforge.dragon_lair_access._080_say) again = select(gameforge.dragon_lair_access._040_select, gameforge.locale.cancel) if again == 2 then npc.unlock() return end end until type(password_number) == 'number' if not dragon_lair_access.give_item_to_ghost() then npc.unlock() return end if dragon_lair_access.get_time_remaining() > 0 then pc.give_item2(settings.access_item, settings.access_item_amount) npc.unlock() say_title(gameforge.ghost_story._010_sayTitle) say(gameforge.dragon_lair_access._120_say) return end pc.setqf("password", password_number) timer("dragon_lair_warptimer", pc.get_channel_id()*2) npc.unlock() else say_title(gameforge.ghost_story._010_sayTitle) say(gameforge.dragon_lair_access._120_say) return end else say_title(gameforge.ghost_story._010_sayTitle) say(gameforge.dragon_lair_access._100_say) say(gameforge.dragon_lair_access._105_say) say(settings.access_item_amount.."x: ") say_item_vnum(settings.access_item) return end end when 30121.chat.gameforge.dragon_lair_access._110_npcChat with pc.get_map_index() == 208 begin say_title(gameforge.ghost_story._010_sayTitle) say(gameforge.dragon_lair_access._115_say) local warp = select(gameforge.dragon_lair_access._116_select, gameforge.dragon_lair_access._117_select) if warp == 1 then dragon_lair_access.warp_from_lair() -- so that GMs get ported out, too set_state(start) end end when dragon_lair_warptimer.timer begin local settings = dragon_lair_access.get_settings() if dragon_lair_access.get_time_remaining() < 0 then local starttime = get_global_time() game.set_event_flag("dragon_lair_time", starttime) -- set start time char_log(pc.get_player_id(), 'LAIR', pc.get_channel_id() ..' SET STARTTIME: ' .. starttime) pc.setqf("time", starttime) pc.setqf("is_leader", 1) game.set_event_flag("dragon_lair_password", pc.getqf("password")) -- set password char_log(pc.get_player_id(), 'LAIR', pc.get_channel_id() ..' SET PASSWORD: '.. pc.getqf("password")) server_timer("blue_dragon_timer", settings.cooldown_time) dragon_lair_access.warp_to_lair() set_state(spawn_dragon) else pc.give_item2(settings.access_item, settings.access_item_amount) say_title(gameforge.ghost_story._010_sayTitle) say(gameforge.dragon_lair_access._120_say) end pc.setqf("password", 0) end end state spawn_dragon begin when login begin local settings = dragon_lair_access.get_settings() purge_area(settings.room_area.first.x, settings.room_area.first.y, settings.room_area.last.x, settings.room_area.last.y) notice_multiline(string.format(gameforge.dragon_lair_access._090_notice, pc.name), notice_all) -- spawn all mobs needed regen_in_map(208, "data/dungeon/dragon_lair/regen.txt") -- mob.spawn_group(settings.dragon_vnum, settings.spawn.x, settings.spawn.y, 1, 1, 1) -- spawn the dragon game.set_event_flag("dragon_lair_alive", 1) -- dragon is alive char_log(pc.get_player_id(), 'LAIR', pc.get_channel_id() ..' SPAWN DRAGON') notice_multiline(string.format(gameforge.dragon_lair_access._145_notice, game.get_event_flag("dragon_lair_password")), notice) dragon_lair_access.show_time_remaining(settings.cooldown_time) set_state(kill_dragon) end when 30121.chat.gameforge.dragon_lair_access._110_npcChat with pc.get_map_index() == 208 begin say_title(gameforge.ghost_story._010_sayTitle) say(gameforge.dragon_lair_access._115_say) local warp = select(gameforge.dragon_lair_access._116_select, gameforge.dragon_lair_access._117_select) if warp == 1 then dragon_lair_access.warp_from_lair() set_state(start) end end end state kill_dragon begin when dragon_lair_timer.timer begin set_state(start) end when login begin if pc.getqf("time") != game.get_event_flag("dragon_lair_time") or dragon_lair_access.get_time_remaining() <= 0 then set_state(start) else dragon_lair_access.show_time_remaining(dragon_lair_access.get_time_remaining()) end end when button or info begin notice_multiline(string.format(gameforge.dragon_lair_access._175_notice, dragon_lair_access.get_time_remaining() / 60), notice) -- local settings = dragon_lair_access.get_settings() -- if (pc.getqf("is_leader") == 1 and settings.cooldown_time-dragon_lair_access.get_time_remaining() < settings.group_time) then -- notice_multiline(string.format(gameforge.dragon_lair_access._145_notice, game.get_event_flag("dragon_lair_password")), notice) -- end end when 30121.chat.gameforge.dragon_lair_access._110_npcChat with pc.get_map_index() == 208 begin say_title(gameforge.ghost_story._010_sayTitle) say(gameforge.dragon_lair_access._115_say) local warp = select(gameforge.dragon_lair_access._116_select, gameforge.dragon_lair_access._117_select) if warp == 1 then dragon_lair_access.warp_from_lair() set_state(start) end end when 2493.kill with pc.get_map_index() == 208 begin char_log(pc.get_player_id(), 'LAIR', pc.get_channel_id() ..' DRAGON KILLED') game.set_event_flag("dragon_lair_alive", 0) game.drop_item_with_ownership(71123, 1) game.drop_item_with_ownership(71129, 1) notice_multiline(string.format(gameforge.dragon_lair_access._180_notice, pc.name), notice_all) local settings = dragon_lair_access.get_settings() purge_area(settings.room_area.first.x, settings.room_area.first.y, settings.room_area.last.x, settings.room_area.last.y) local out_room_time = 60; -- seconds timer("dragon_lair_out_room", out_room_time); notice_in_map(string.format("Vei fii teleportat in %d secunde.", out_room_time)) end when dragon_lair_out_room.timer begin --warp_all_to_village(); dragon_lair_access.warp_all_from_lair() end -- when end end
  9. sorry for double-post, i fix the packet error but i still cant see the missions [Hidden Content]
  10. i got a problem, i compiled sources without errors but in game it doesent show the missions and i get this in syserr client what could it be the problem? i use martysama
  11. Hey, i tryed to install razador dungeon but i got a problem with the quest, i miss some functions, can someone help me?
  12. i got a problem, the add bonus window doesen't open, its invisible i guess because when ai click on the npc again it tells me that "you have to close other windows"
  13. T/C the problem was from item_proto, the size was on 0
  14. My dragonsoul.py: Maybe somebody can see what i did wrong
  15. Hey, i installed and reinstalled this system dozens of times and i still can't find what i did wrong. The problem is that the inventory from mythic class have only the first 8 slots available. What could be the problem? [Hidden Content] Edit: I used this system: ds-mythic-class
  16. Can someone give me their chat_item.cpp soo i can compare them?
×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.