Jump to content

TMP4

Contributor
  • Posts

    1112
  • Joined

  • Last visited

  • Days Won

    20
  • Feedback

    100%

Posts posted by TMP4

  1. "uiPickMoney.py(line:70) PickMoneyDialog

    networkModule.SetSelectCharacterPhase - <type 'exceptions.NameError'>:name 'app' is not defined"

     

    I help you to understand your problem. In your uiPickMoney.py(line:70) there is an 'app' what is not exist in that scope. Since app is a module, place "import app" to that py top section.

  2. M2 Download Center

    This is the hidden content, please
    ( Internal )

    Story:

    This map was used in the first ever Metin2 Closed Beta Test (Korea) in 2004.

    They probably didn't have the kingdoms created yet at the time, every player was in this map.

    Luckily they kept this map in the released client in Outdoor.eix-epk named as "metin2_map".

     

    Work done:

    -Misplaced objects corrected (especially a lot of fences)

    -Trees placed (All the trees were missing for some reason)

    -Some object placed where i felt empty

    -Made serverside with npcs and regens like map1

     

    Installation:

    Spoiler

    Serverside:
    1. Upload metin2_map to locale/xy/map
    2. Add locale/xy/map/index: 140[TAB]metin2_map
    3. Add 140 in your channel's CONFIG file map_allow section
    Optional: Use metin2_map.quest

     

    Clientside:
    1. Unpack outdoor.eix-epk and overwrite metin2_map folder
    2. Add root/atlasinfo.txt: metin2_map[TAB]3270400[TAB]1271200[TAB]4[TAB]5
    PS: If you have atlasinfo in your locale_xy then add there too!

     

    Video:

     

    Download1: 

    This is the hidden content, please

    Download2: 

    This is the hidden content, please

    Download3: 

    This is the hidden content, please

    Download4: https://data.hu/get/12464269/Metin2_2004_Beta_Map_Rework_By_TMP4.zip

    • Metin2 Dev 38
    • Dislove 5
    • Sad 1
    • Think 2
    • Confused 3
    • Scream 1
    • Lmao 1
    • Good 19
    • Love 5
    • Love 55
  3. "NOW the bugg was fixed and work but only if i create a new CHARACTER   when i ask to a old user with this Bugg they said me that the still have that bugg"

     

    I just can't beleive in it :D It's not how programming work, especially not serverside. Can you proof it showing an old char and a new char next to each other with same class and same weapon?

     

  4. EDIT: Found your error, you have this:

    #define ENABLE_NEWEXP_CALCULATION
    #ifdef ENABLE_NEWEXP_CALCULATION

    Please edit this ifdef's code too and it will working.

    (Line 2634 for you)

        {
            to->PointChange(POINT_EXP, iExp, true);
            from->CreateFly(FLY_EXP, to);
        }

    Modify:

        {
            if ((to->GetNextExp() / 10) > iExp)
                iExp = to->GetNextExp() / 10;
            
            to->PointChange(POINT_EXP, iExp, true);
            from->CreateFly(FLY_EXP, to);
        }

     

    @creedy Tag you because idk if you see i edited this.

  5. I think you misunderstand it.

    GetNextExp() does not calculates the needed amount, but it calculates the whole exp from 60 to 61 if the player is level 60.

    See: 

    DWORD CHARACTER::GetNextExp() const
    {
    	if (PLAYER_EXP_TABLE_MAX < GetLevel())
    		return 2500000000;
    	else
    		return exp_table[GetLevel()];
    }

    So if the exp is 500.000 in your exp table for lv61, then a mob can't give you more then 50.000 with my code what is 10 percent as you asked.

    That's what you want, isn't it?

  6. Let me translate his bad english to good english for you @xP3NG3Rx xD

    Quote

    Hello xP3NG3Rx , i don't have that it in special_item_group.

    Maybe i'm wrong, but special_item_group is not for mobs?

    Because if we add add the "10025" that is for a mob's drop, isn't it?

    I know it is unique_item but because of that we need to add it to special_item_group?

    Or how special_item_group works?

     

     

    @nazox The special_item_group.txt is not related with mob's drop. You confuse it with the mob_drop_item.txt.

    special_item_group is for boxes mainly, and some costum thing like this 10025 group for language rings.

    So open your special_item_group.txt and add this if you don't have:

    Group    ľđľîąÝÁö                
    {                    
        Vnum    10025            
        1    70006    1    1    
        2    70047    1    1    
        3    71005    1    1    
        4    71006    1    1    
        5    71007    1    1    
    }

     

    • Love 1
  7. The first one is not happening for me, i tried in my Ryzen pc, my Intel laptop, with more server.

    I remember people with updated dirctx (dx9) had a harder issue with the textures in some machines, mostly in AMD FXs.

    It caused by the same thing, the UAC.

    See:

    Spoiler

     

     

    Are you using an updated directx?

     

    ---------------------------------

     

    7.: Some mobs can run away on death instead of playing the death animation.

  8. Thanks i solved with that! :)

    The channel is not running every time, that's why i don't use a gameflag (/e something)

    Anyway it can be good for channel changer too if someone want to use the GF one.

     

    questlua_global (cpp)

        int _is_channel_online(lua_State * L)
        {        
            if (true == DESC_MANAGER::instance().IsP2PDescExistNew(g_szPublicIP, (BYTE)lua_tonumber(L, 1)))
            {
                lua_pushboolean(L, true);
                return 1;
            }
            
            lua_pushboolean(L, false);
            return 1;
        }
    {	"is_channel_online",			_is_channel_online				},

    desc_manager (cpp+h)

    bool DESC_MANAGER::IsP2PDescExistNew(const char * szHost, BYTE bChannel)
    {
        CLIENT_DESC_SET::iterator it = m_set_pkClientDesc.begin();
        
        while (it != m_set_pkClientDesc.end())
        {
            LPCLIENT_DESC d = *(it++);
    
            if (!strcmp(d->GetP2PHost(), szHost) && d->GetP2PChannel() == bChannel)
                return true;
        }
    
        return false;
    }
    bool            IsP2PDescExistNew(const char * szHost, BYTE bChannel);
  9. No problem :D

     

    So i think  the best way is to check for open ports.

    Anyone have a clue how to do it in source questlua?

     

    --------------------------------

     

    10 minutes ago, ridetpro said:

    You can just set a fake unique map, on each channel core1 btw

     

    It will still not work because it only checks the map in that core where the character is.

    So example the char is in channel1 core1, i put an index250 map in channel2 core1, and i try 

    pc.is_map_alive(250)

    it will look the map 250 in channel1 core1, not in channel2 core1, because the character is in channel1.

  10. The problem is your map checking solution is not working at all.

    You don't understand how cores working.

     

    Example:

    41 is defined in all ch core1 (except ch99 of course)

     

    If we want to check channel2 core1 (or channel 98 core 1 in my case, does not matter) when the character is in channel1 core1.

     

    It will always return true because channel1 contains 41 too.

  11. The base situation: i have an event channel (channel98) and i want to check in a quest if the event channel is running or not.

    I know there is no such quest function, so i need a c++ code for questlua_global or questlua_game.cpp.

    Spoiler

     

    I want something like this

    
    if ChannelRunning(98) then
        chat("channel is running!")
    else
        chat("channel is offline!")
    end

     

     

    Anyone have a clue how can i check if a channel is running? :D 

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