Jump to content

Sonitex

Member
  • Content Count

    421
  • Joined

  • Last visited

  • Days Won

    6
  • Yangs

    51 [ Donate ]

Sonitex last won the day on December 26 2018

Sonitex had the most liked content!

Community Reputation

159 Rampage

5 Followers

About Sonitex

  • Rank
    Noble
  • Birthday April 19

Contact Methods

  • Skype
    sonitexo

Profile Information

  • Gender
    Something else
  • Location
    Home
  • About Me

    <p>
     
    </p>

    <p style="text-align:center;">
     
    </p>

Recent Profile Visitors

2,565 profile views
  1. Sonitex

    If someone has the same issues as me with elements sometimes being shown wrong replace this part of function in char.cpp: for (int i = RACE_FLAG_ATT_ELEC; i <= RACE_FLAG_ATT_DARK; i *= 2) { int diff = raceFlag - i; if (abs(diff) <= 1024) break; } to this: for (int i = RACE_FLAG_ATT_ELEC; i <= RACE_FLAG_ATT_DARK; i *= 2) { curElementBase++; if (raceFlag & i) break; }
  2. Sonitex

    open

    I get this part and it is actually very easy to do. What I am stuck with is sending the arguments from server to client. I don't know how to store them actually, this is the biggest issue for me.
  3. void CHARACTER::AutoRecoveryItemProcess(const EAffectTypes type) char_item.cpp
  4. Sonitex

    open

    Thanks for the tips
  5. Heya everyone! I got stuck at sending arguments from server to client. Could anyone give me a hint on how to do this or enlighten me how official servers did it? Thank you in advance!
  6. Sonitex

    #Bump
  7. Sonitex

    #Bump
  8. Sonitex

    Bring Up My Post
  9. Sonitex

    Dear Community, I would like to start by introducing myself. I have been in the Metin2 scene under this nickname for quite a long time now. In the early days, I have started a project of mine where the goal was to rebuild Metin2 but that ended quite quickly due to low interest from others. Then I moved on and opened my very first private server which gave me a lot of insight and valuable experience on private servers in general. Server, under the name of WarRage2, received mostly positive critiques so I decided I would not abandon this project but instead improve what caused it to disappear in the private server competition. Here I am today, with a polished project and dare to say, with the potential to become one of the best. But one of the reasons I failed at my 1st try is lack of team members and it taught me quite well how important those are. Therefore I am seeking competent individuals who would like to be part of a new journey. More specifically we are looking for people in the fields of promotion, community management, in-game support & 2d art. The only restriction we have is being able to write and speak fluent English language. Inside the team, we like to maintain a professional and fun atmosphere. As of now, there are two of us, both in charge of developing and designing the game. If you are interested, please add me to my Discord(sonitexo#1880) where we will discuss this in detail. Kind Regards, Sonitex
  10. Sonitex

    c++

    Woah, thank you so much! If someone experiences compile errors regarding std::shared_ptr, include <memory> inside Thing.h & ModelInstance.h!
  11. Sonitex

    c++

    Did not know that, never mind then hah
  12. Sonitex

    c++

    And what happens when you have two chars with names Mali61 & mali61 online at the same time? Rare case, but there is a reason it should be case sensitive.
  13. Sonitex

    open

    You have defined a variable pointing to <Owner_Cheque_Icon> at uiExchange.py at line 43 in the LoadDialog function. It should be loaded from exchangedialog.py or from exchangedialog_new.py as I can see from the tutorial files, but your problem probably lays at exchangedialog.py which was not updated in the tutorial. This is the official code, you will need to change some names but should work just fine import uiScriptLocale import localeInfo import app ROOT = "d:/ymir work/ui/game/" if app.ENABLE_CHEQUE_SYSTEM : BOARD_WIDTH = 290 BOARD_HEIGHT = 189 window = { "name" : "ExchangeDialog", "x" : 0, "y" : 0, "style" : ("movable", "float",), "width" : BOARD_WIDTH, "height" : BOARD_HEIGHT, "children" : ( { "name" : "board", "type" : "board", "style" : ("attach",), "x" : 0, "y" : 0, "width" : BOARD_WIDTH, "height" : BOARD_HEIGHT, "children" : ( ## Title { "name" : "TitleBar", "type" : "titlebar", "style" : ("attach",), "x" : 8, "y" : 8, "width" : 276, "color" : "gray", "children" : ( { "name":"TitleName", "type":"text", "x":133, "y":3, "text":uiScriptLocale.EXCHANGE_TITLE, "text_horizontal_align":"center" }, ), }, ## MiddleBar { "name" : "Middle_Bar", "type" : "expanded_image", "x" : (BOARD_WIDTH / 2) - 3, "y" : 31, "x_scale" : 1.0, "y_scale" : 1.16, "image" : ROOT + "windows/middlebar.sub", }, ## Owner { "name" : "Owner", "type" : "window", "x" : 150, "y" : 33, "width" : 130, "height" : 146, "children" : ( { "name" : "Owner_Slot", "type" : "grid_table", "start_index" : 0, "x" : 0, "y" : 0, "x_count" : 4, "y_count" : 3, "x_step" : 32, "y_step" : 32, "x_blank" : 0, "y_blank" : 0, "image" : "d:/ymir work/ui/public/slot_base.sub", }, { "name" : "Owner_Cheque", "type" : "button", "x" : 0, "y" : 102, #"image" : "d:/ymir work/ui/public/parameter_slot_02.sub", "default_image" : "d:/ymir work/ui/public/parameter_slot_02.sub", "over_image" : "d:/ymir work/ui/public/parameter_slot_02.sub", "down_image" : "d:/ymir work/ui/public/parameter_slot_02.sub", "children" : ( { "name" : "Owner_Cheque_Value", "type" : "text", "x" : 59, "y" : 2, "text" : "1234567", "text_horizontal_align" : "right", }, ), }, { "name" : "Owner_Money", "type" : "button", "x" : 0, "y" : 124, #"image" : "d:/ymir work/ui/public/parameter_slot_02.sub", "default_image" : "d:/ymir work/ui/public/parameter_slot_02.sub", "over_image" : "d:/ymir work/ui/public/parameter_slot_02.sub", "down_image" : "d:/ymir work/ui/public/parameter_slot_02.sub", "children" : ( { "name" : "Owner_Money_Value", "type" : "text", "x" : 59, "y" : 2, "text" : "1234567", "text_horizontal_align" : "right", }, ), }, { "name" : "Owner_Accept_Light", "type" : "button", "x" : 95, "y" : 102, "default_image" : "d:/ymir work/ui/game/windows/accept_button_off.sub", "over_image" : "d:/ymir work/ui/game/windows/accept_button_off.sub", "down_image" : "d:/ymir work/ui/game/windows/accept_button_on.sub", }, { "name" : "Owner_Accept_Button", "type" : "toggle_button", "x" : 85, "y" : 124, "text" : uiScriptLocale.EXCHANGE_ACCEPT, "default_image" : "d:/ymir work/ui/public/small_button_01.sub", "over_image" : "d:/ymir work/ui/public/small_button_02.sub", "down_image" : "d:/ymir work/ui/public/small_button_03.sub", }, { "name" : "strOwner_Cheque", "type" : "text", "x" : 67, "y" : 104, "text" : localeInfo.CHEQUE_SYSTEM_UNIT_WON, }, { "name" : "strOwner_Yang", "type" : "text", "x" : 67, "y" : 126, "text" : localeInfo.CHEQUE_SYSTEM_UNIT_YANG, }, ), }, ## Target { "name" : "Target", "type" : "window", "x" : 10, "y" : 33, "width" : 130, "height" : 130, "children" : ( { "name" : "Target_Slot", "type" : "grid_table", "start_index" : 0, "x" : 0, "y" : 0, "x_count" : 4, "y_count" : 3, "x_step" : 32, "y_step" : 32, "x_blank" : 0, "y_blank" : 0, "image" : "d:/ymir work/ui/public/slot_base.sub", }, { "name" : "Target_Cheque", "type" : "image", "x" : 0, "y" : 102, "image" : "d:/ymir work/ui/public/parameter_slot_02.sub", "children" : ( { "name" : "Target_Cheque_Value", "type" : "text", "x" : 59, "y" : 2, "text" : "1234567", "text_horizontal_align" : "right", }, ), }, { "name" : "Target_Money", "type" : "image", "x" : 0, "y" : 124, "image" : "d:/ymir work/ui/public/parameter_slot_02.sub", "children" : ( { "name" : "Target_Money_Value", "type" : "text", "x" : 59, "y" : 2, "text" : "1234567", "text_horizontal_align" : "right", }, ), }, { "name" : "Target_Accept_Light", "type" : "button", "x" : 95, "y" : 102, "default_image" : "d:/ymir work/ui/game/windows/accept_button_off.sub", "over_image" : "d:/ymir work/ui/game/windows/accept_button_off.sub", "down_image" : "d:/ymir work/ui/game/windows/accept_button_on.sub", }, { "name" : "strTarget_Cheque", "type" : "text", "x" : 67, "y" : 104, "text" : localeInfo.CHEQUE_SYSTEM_UNIT_WON, }, { "name" : "strTarget_Yang", "type" : "text", "x" : 67, "y" : 126, "text" : localeInfo.CHEQUE_SYSTEM_UNIT_YANG, }, ), }, ), }, ), } else : window = { "name" : "ExchangeDialog", "x" : 0, "y" : 0, "style" : ("movable", "float",), "width" : 282, "height" : 167, "children" : ( { "name" : "board", "type" : "board", "style" : ("attach",), "x" : 0, "y" : 0, "width" : 282, "height" : 167, "children" : ( ## Title { "name" : "TitleBar", "type" : "titlebar", "style" : ("attach",), "x" : 8, "y" : 8, "width" : 266, "color" : "gray", "children" : ( { "name":"TitleName", "type":"text", "x":133, "y":3, "text":uiScriptLocale.EXCHANGE_TITLE, "text_horizontal_align":"center" }, ), }, ## MiddleBar { "name" : "Middle_Bar", "type" : "image", "x" : 139, "y" : 31, "image" : ROOT + "windows/middlebar.sub", }, ## Owner { "name" : "Owner", "type" : "window", "x" : 144, "y" : 33, "width" : 130, "height" : 130, "children" : ( { "name" : "Owner_Slot", "type" : "grid_table", "start_index" : 0, "x" : 0, "y" : 0, "x_count" : 4, "y_count" : 3, "x_step" : 32, "y_step" : 32, "x_blank" : 0, "y_blank" : 0, "image" : "d:/ymir work/ui/public/slot_base.sub", }, { "name" : "Owner_Money", "type" : "button", "x" : 0, "y" : 102, #"image" : "d:/ymir work/ui/public/parameter_slot_02.sub", "default_image" : "d:/ymir work/ui/public/parameter_slot_02.sub", "over_image" : "d:/ymir work/ui/public/parameter_slot_02.sub", "down_image" : "d:/ymir work/ui/public/parameter_slot_02.sub", "children" : ( { "name" : "Owner_Money_Value", "type" : "text", "x" : 59, "y" : 2, "text" : "1234567", "text_horizontal_align" : "right", }, ), }, { "name" : "Owner_Accept_Light", "type" : "button", "x" : 62, "y" : 101, "default_image" : "d:/ymir work/ui/game/windows/accept_button_off.sub", "over_image" : "d:/ymir work/ui/game/windows/accept_button_off.sub", "down_image" : "d:/ymir work/ui/game/windows/accept_button_on.sub", }, { "name" : "Owner_Accept_Button", "type" : "toggle_button", "x" : 85, "y" : 101, "text" : uiScriptLocale.EXCHANGE_ACCEPT, "default_image" : "d:/ymir work/ui/public/small_button_01.sub", "over_image" : "d:/ymir work/ui/public/small_button_02.sub", "down_image" : "d:/ymir work/ui/public/small_button_03.sub", }, ), }, ## Target { "name" : "Target", "type" : "window", "x" : 10, "y" : 33, "width" : 130, "height" : 130, "children" : ( { "name" : "Target_Slot", "type" : "grid_table", "start_index" : 0, "x" : 0, "y" : 0, "x_count" : 4, "y_count" : 3, "x_step" : 32, "y_step" : 32, "x_blank" : 0, "y_blank" : 0, "image" : "d:/ymir work/ui/public/slot_base.sub", }, { "name" : "Target_Money", "type" : "image", "x" : 0, "y" : 102, "image" : "d:/ymir work/ui/public/parameter_slot_02.sub", "children" : ( { "name" : "Target_Money_Value", "type" : "text", "x" : 59, "y" : 2, "text" : "1234567", "text_horizontal_align" : "right", }, ), }, { "name" : "Target_Accept_Light", "type" : "button", "x" : 62, "y" : 101, "default_image" : "d:/ymir work/ui/game/windows/accept_button_off.sub", "over_image" : "d:/ymir work/ui/game/windows/accept_button_off.sub", "down_image" : "d:/ymir work/ui/game/windows/accept_button_on.sub", }, ), }, ), }, ), }
  14. Sonitex

    open

    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.
  15. 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.
×
×
  • 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.