Jump to content

AlexxD

Inactive Member
  • Posts

    161
  • Joined

  • Last visited

  • Days Won

    1
  • Feedback

    0%

Posts posted by AlexxD

  1. Hi metin2dev, I have a problem by quests, and the problem is that, when in quest I have for example some functions:

    Spoiler

    say("Example")

    and after that I have

    Spoiler

    end


    In client, for 'OK' word, or 'Cancel' or 'Continue' I have this:
    https://metin2.download/picture/r3F9504x09DVmF8K988YXgTtGTP6KMUj/.gif/

    And the problem is:
    https://metin2.download/picture/r3F9504x09DVmF8K988YXgTtGTP6KMUj/.gif/

    There needs to be 'OK', not empty grey space..
    If someone know how to fix, let me know that. :D 

  2. 8 hours ago, Veneno said:

    Thanks :D you just saved me... Do you have any tips about making the remaining time visible at the ITEM_RING like the ITEM_UNIQUE?

    EDIT: Talked too soon :P Your function blocks 2 items of the same type not the same vnum. Can you give a function that works for 2 same vnums please?

    I'll edit this function, first I saw that people need to block 2 items for the same type, and after I saw in client that 2 same vnums doesn't works. 

  3. 16 minutes ago, Necro said:

    I am not sure but most of people have a new released COSTUME_WEAPON from elite and that is not have declared COSTUME_WEAPON so probably won´t work

    Try to like this

    isCostumeWeapon = item.COSTUME_TYPE_WEAPON_SWORD == itemSubType or item.COSTUME_TYPE_WEAPON_DAGGER == itemSubType or item.COSTUME_TYPE_WEAPON_BOW == itemSubType or item.COSTUME_TYPE_WEAPON_TWOHAND == itemSubType or item.COSTUME_TYPE_WEAPON_BELL == itemSubType or item.COSTUME_TYPE_WEAPON_FAN == itemSubType

     

    Yeah, and if you have wolfman too, add this:
    isCostumeWeapon = item.COSTUME_TYPE_WEAPON_SWORD == itemSubType or item.COSTUME_TYPE_WEAPON_DAGGER == itemSubType or item.COSTUME_TYPE_WEAPON_BOW == itemSubType or item.COSTUME_TYPE_WEAPON_TWOHAND == itemSubType or item.COSTUME_TYPE_WEAPON_BELL == itemSubType or item.COSTUME_TYPE_WEAPON_FAN == itemSubType or item.COSTUME_TYPE_WEAPON_CLAW == itemSubType

    • Love 1
  4. On 11/29/2015 at 4:11 PM, Smack'Yin said:

    1129 16:03:35230 :: AttributeError
    1129 16:03:35230 :: : 
    1129 16:03:35230 :: 'module' object has no attribute 'COSTUME_TYPE_WEAPON'
    1129 16:03:35230 ::

     https://metin2.download/picture/85l6wc6PHVCp8TE7OKrtSyuYcahZudmS/.png

    I added uitooltip.py with:

    isCostumeWeapon = 0  

    isCostumeWeapon = item.COSTUME_TYPE_WEAPON == itemSubType  

    Search:
    PyModule_AddIntConstant(poModule, "COSTUME_TYPE_HAIR", CItemData::COSTUME_HAIR);

    in PythonItemModule.cpp from UserInterface and add after it:
    PyModule_AddIntConstant(poModule, "COSTUME_TYPE_WEAPON", CItemData::COSTUME_WEAPON);

  5. 1 minute ago, Kamylek said:

    I had:

     

       def __OnValueUpdate(self):
            ui.EditLine.OnIMEUpdate(self.inputValue)

            text = self.inputValue.GetText()

            money = 0
            if text and text.isdigit():
                try:
                    money = long(text)
                except ValueError:
                    money = 999999999999

            self.moneyText.SetText(self.moneyHeaderText + localeInfo.NumberToMoneyString(money))

    def __OnValueUpdate(self):
            ui.EditLine.OnIMEUpdate(self.inputValue)

            text = self.inputValue.GetText()

            money = 0
            if text and text.isdigit():
                try:
                    money = long(text)
                except ValueError:
                    money = 1000000000000

            self.moneyText.SetText(self.moneyHeaderText + localeInfo.NumberToMoneyString(money))

    replace with this, and if doesn't works, then I don't know, maybe you forgot something in source/binary.

  6. 22 minutes ago, Kamylek said:

    ill try it.

    How to put K instead PyLong_FromLongLong in binary?

    Non edited files from binary, have this:
     

    Spoiler

    PyObject * playerGetElk(PyObject* poSelf, PyObject* poArgs)
    {
        return Py_BuildValue("i", CPythonPlayer::Instance().GetStatus(POINT_GOLD));
    }

    make it like this:

    Spoiler

    PyObject * playerGetElk(PyObject* poSelf, PyObject* poArgs)
    {
        return Py_BuildValue("K", CPythonPlayer::Instance().GetStatus(POINT_GOLD));
    }

     

  7. 1 hour ago, Cyxer said:

    SYSERR: Jul  1 17:29:24 :: Process: FDWATCH: peer null in event: ident 21
    SYSERR: Jul  1 17:29:29 :: Process: FDWATCH: peer null in event: ident 21

    This is the code from source with this 'syserr problem':

    Spoiler

    for (idx = 0; idx < num_events; ++idx) // 인풋
        {
            peer = (CPeer *) fdwatch_get_client_data(m_fdWatcher, idx);

            if (!peer)
            {
                if (fdwatch_check_event(m_fdWatcher, m_fdAccept, idx) == FDW_READ)
                {
                    AddPeer(m_fdAccept);
                    fdwatch_clear_event(m_fdWatcher, m_fdAccept, idx);
                }
                else
                {
                    sys_err("FDWATCH: peer null in event: ident %d", fdwatch_get_ident(m_fdWatcher, idx));
                }

                continue;
            }

    Good, if you saw there 'sys_err("FDWATCH: peer null in event: ident %d", fdwatch_get_ident(m_fdWatcher, idx));' then you'll see that the whole function is int CClientManager::Process().

    Good, now take a look on item_proto if there's a problem and solve it. There are lines with mistakes(item_proto server)

  8. 1 hour ago, Kamylek said:

    I change every fcking int to long long/arg1/ELK/GOLD and I STILL  GOT 0 FCKING YANG above 2.1kkk

    Points, value, amounts? You did it for ELK/GOLD/ARGUMENTS for exchange and shop, but you still need to chance GetStatus, SetStatus functions from client/userinterface, you need to change virtual void from AbstractPlayer.h from virtual int to virtual long long(or your *fcking* value)

  9. If you changed skill_proto once, it will be useless to change it again with mine, or your friends though. Verify your last modified files and check with your backups one(if you have this backup) and if you don't have backup then download a source from the Internet and check those files with your files. Maybe you forgot/commented/added a line that doesn't need to be there.

  10. 7 hours ago, ReFresh said:

    Hi guys,

    where I can resize this table?

    Thanks for your answers!

    Kind Regards ReFresh

    madfa.png

    If you want to resize the image, with 'bar' and also that slots, you need to find .sub file, and if you want to change the number of slots you need to change in .py file from uiscript number of x_slot and y_slot if I'm right, and in source part though, in each file for each system. Example: if you change max slots in exchance, open exchance.cpp and find m2 grid function, and replace 3, 4 with your x and y slots.

  11. BUMP

     

    I tryed long long and unsigned long long as return type.

    Both dont work when my yang increase over 2kkk it changes to 0 yang, and in navicate and after relog the yang have the real value. I edited all what is nacessary for max yang.

    I hope anyone can tell me what the problem is.

    Best regards :)

    If you have python27 you can try "K" value, not "ULL" or "LL", or PyLong_AsLongLong or etc. Or you don't chance PointChange function.

    • Love 1
  12. 1107 05:01:06525 :: 
    networkModule.py(line:208) SetSelectCharacterPhase
    system.py(line:130) __pack_import
    system.py(line:110) _process_result
    introSelect.py(line:15) <module>
    system.py(line:130) __pack_import
    system.py(line:110) _process_result
    uiToolTip.py(line:338) <module>
    uiToolTip.py(line:1073) ItemToolTip

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

    1107 05:01:06525 :: ============================================================================================================
    1107 05:01:06525 :: Abort!!!!

     

    :/

    If your shoulders have different codes, change my codes here:
     

    if itemVnum >= 85001 and itemVnum <= 85008:

    with your codes
     

    if itemVnum >= FIRST_SHOULDER_IN_ITEM_PROTO and itemVnum <= LAST_SHOULDER_IN_ITEM_PROTO:

     

    • Love 1
  13. Hi devs, today I'll share you the fix for Absorbation Rate that doesn't show, if it doesn't.

    In uitooltip.py from root search:

     

        if isCostumeAcce != 0:
    		if metinSlot != 0:
    			absChance = int(metinSlot[1])
    				if absChance > 0:
    					self.AppendSpace(5)
    					self.AppendTextLine(localeInfo.ACCE_ABSORB_CHANCE % (absChance), self.CONDITION_COLOR)

    replace with:
     

        if itemVnum >= 85001 and itemVnum <= 85008:	
            if metinSlot != 0:
    			absChance = int(metinSlot[1])
    				if absChance > 0:
    					self.AppendSpace(5)
    					self.AppendTextLine(localeInfo.ACCE_ABSORB_CHANCE % (absChance), self.CONDITION_COLOR)

    !!!! Keep an eye on TABULATORS.
    Image: 
    https://metin2.download/picture/r3F9504x09DVmF8K988YXgTtGTP6KMUj/.gif/

    Rata de absortie: Absorbation Rate :D 
    You need to combine two shoulders to show the Absorbation Rate. ;) 

    If your shoulders have different CODES in item_proto, put the right codes here:

    if itemVnum >= 85001 and itemVnum <= 85008:


     

    • Metin2 Dev 1
    • Love 6
  14. You not Change the Strings from Change gold in the Game Source this is not a Client SRC or Phyton Part error when Phyton Elk show  the Numbers over 2.147.000 Gold is the Packet for show the input Money Slot right and the Client part is right i looking. for Fails String to musst be edit .

     

    Ven

     

    Sorry for my Bad English^^

     

    Edit.

     

     

    Open Char.cpp

     

    Search for " case POINT_GOLD "

     

    and edit "int" to long long long

     

    case POINT_GOLD:
    		{
    			long long newGold = MINMAXLL(0, static_cast<long long>(GetGold()) + static_cast<long long>(amount), g_llMaxGold);
    			SetGold(newGold);
    			val = GetGold();
    		}

    Search " int64_t nTotalMoney = 0;" or long long nTotalMoney = 0;

     

    and replace all " int " to long long and not change "for (int n = 0; n < bItemCount; ++n) "

     

    soo more have i not found by that time .

    Ven.

    Thanks for reply but i have the same thing in my source :) 

    I don't think there's from source.. You have in char.cpp this:
     

    inet_ntoa(GetDesc()->GetAddr().sin_addr), GetGold(), g_bChannel, GetMapIndex(), GetAlignment());

    I think you edited like that:
     

    snprintf(buf, sizeof(buf), "%s %lld %d %ld %d", 
    		inet_ntoa(GetDesc()->GetAddr().sin_addr), GetGold(), g_bChannel, GetMapIndex(), GetAlignment());

    Right? Then, the python part is not compatible with long long version, or in your binary something's missing..

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