• Content Count

  • Joined

  • Last visited

  • Days Won


Sonitex last won the day on December 26 2018

Sonitex had the most liked content!

Community Reputation

152 Rampage


About Sonitex

  • Rank
  • Birthday April 19

Profile Information

  • Gender
    Something else
  • Location

Contact Methods

  • Skype

Recent Profile Visitors

2,335 profile views
  1. Sonitex

    open regulate the "damage pakets"

    bool IS_SPEED_HACK(LPCHARACTER ch, LPCHARACTER victim, DWORD current_time) -> battle.cpp This kind of protection already exists, just not sure how accurate it actually is.
  2. If you would pay attention to what Python is trying to message you, you would love it even more At line 178 you have OPTION_FOG_ON variable which should be in locale_interface.txt but clearly you are missing it.
  3. Sonitex

    solved [Help] Join dungeon alone

    Amm my bad, you actually have to multiply coordinates by 100... I modified source to avoid this so I thought it is like that originally. Your function should look like this: d.new_jump (MAP_INDEX, 4411 * 100, 12282 * 100)
  4. Sonitex

    solved [Help] Join dungeon alone

    Post full quest
  5. Sonitex

    Search dev for - Screen Freezing while loading players

    Thanks for the answers, I guess it did make sense back in 2004.
  6. Sonitex

    Search dev for - Screen Freezing while loading players

    Question: why would we even want motions to be deleted? What kind of benefits do we get with that? Just asking myself why would they make it work like that
  7. Sonitex

    solved [Help] Join dungeon alone

    d.new_jump(map_index, (map_base_x + x_coordinate) * 100, (map_base_y + y_coordinate) * 100) Map base coordinates without 00 at the end.
  8. Great constructive criticism
  9. Sonitex

    open Dungeon timer

    --Init loop timer on dungeon entrance & dungeon limit timer server_loop_timer("timenotice",300,d.get_map_index()) --Timer will be triggered each 300 seconds in this exact dungeon map, changing map will destroy timer d.setf("time", get_global_time()+60*60*1) --This dungeon has a limit of 60 minutes --When timer is triggered, inform players about time when purgatorytimenotice.server_timer begin if then local secondsLeft = (d.getf("time") - get_global_time()) local minutesLeft = math.ceil(secondsLeft / 60) d.notice("Time Left: "..minutesLeft.." minutes!") end end
  10. Sonitex

    solved dungeon call function d.notice, notice

    You should't use d.new_jump_party and d.notice in the same timer. Rather move d.notice to login state because it might happen you will not see it since you are still in client's login phase.
  11. Sonitex

    open I can't add to ticket for Orc Maze

    Here are some functions that can help you out. I have some global variables for dungeon types so you might wanna adapt that to your own needs. function CheckMembersItem() if (is_test_server()) then syschat("Skipping group item check due to debugging mode being enabled.") return true end local not_allowed_users = {} local pids = {party.get_member_pids()} local item_vnum = ITEM_VNUM_HERE for i = 1, table.getn(pids) do q.begin_other_pc_block(pids[i]) if (pc.count_item(item_vnum) < 1) then --and not pc.is_gm() then table.insert(not_allowed_users, pc.get_name()) end q.end_other_pc_block() end if table.getn(not_allowed_users) == 0 then return true end if table.getn(not_allowed_users) > 0 then say_npc() say("The following players do not meet the item") say("requirements.") say("") say("") say_item_vnum(item_vnum) say("") say("") for x = 1, table.getn(not_allowed_users), 1 do say(color(1,1,0), " " .. not_allowed_users[x]) end return false end -- Should never happen return false end function remove_entrance_item(dungeon_type) local item_vnum = ITEM_VNUM_HERE if dungeon_type != DUNGEON_TYPE_SOLO then local pids = {party.get_member_pids()} for i = 1, table.getn(pids) do q.begin_other_pc_block(pids[i]) if not pc.is_gm() then pc.remove_item(item_vnum, 1) end q.end_other_pc_block() end else pc.remove_item(item_vnum, 1) end end
  12. Sonitex

    [FIX]Target Info System (free release one)

    I am just curious but this would purge the items from memory, right? If added at the end of the function at input_main.cpp? for (auto const& item : s_vec_item) { M2_DESTROY_ITEM(item); }
  13. int percentage = 31; int iDamageSPPart = (dam / 100) * percentage; Is this what you are asking for?
  14. Sonitex

    open MonsterRank & MonsterType functions

    After four years you should be reading(at least) Metin2 code easily, this is not an excuse. Problem is, you do nothing on your own and always ask others to do it for you, literally. Not to brag or anything but I've started this p-server thing at the same year as you did and right now I am able to read, modify, add or remove code without any issues. That is because I wanted to learn and I eventually did. You should do the same. This is the truth, take it or leave it.
  15. Sonitex

    open Come back to dungeon after crash

    If I remember correctly, snow dungeon quest had this feature, you should check it out.