Jump to content

Crowlai

Member
  • Posts

    14
  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by Crowlai

  1. 			else
    			{
    				p.dwHp = m_pkChrTarget->GetHP();
    				p.dwHpMax = m_pkChrTarget->GetMaxHP();
    			}

     

    			else
    			{
    				if (m_pkChrTarget->GetMaxHP() <= 0)
    				{
    					p.dwHp = 0;
    					p.dwHpMax = 0;
    				}
    				else
    				{
    					p.dwHp = m_pkChrTarget->GetHP();
    					p.dwHpMax = m_pkChrTarget->GetMaxHP();
    				}
    			}

     

    • Metin2 Dev 1
    • Not Good 1
  2. Hello to all developers,

    I am forced to buy a guild system because my ideas about this system exceeded my skills.

     

    The concept of the system is as follows:

    • Experience per level is added to the elixir which has a limit, guilds are leveled with this elisir
    • The number of people that can be added to the guild depends on its level
    • Do not lose your guild blacksmith after an unsuccessful upgrade
    • Guildsmiths level up, the higher the level, the chance to upgrade the item
    • Passive guild skills, e.g. strong against monsters (min. +x% max. +x%)
    • Only the guild leader can level the guild skills
    • Passive guild skills affect every character in the guild
    • Only from level 20 of the guild can buildings / blacksmiths be placed
    • Guild wars - after 3/4 wins (not with the same guild) the guild chooses a bonus for x time
    • New gui

     

    Requirements: gcc 4.2.1

  3. 2 hours ago, Johnny69 said:

    Well, maybe the value is ok but you print it with the wrong format (%d maybe).

    Long long variables need to printed with %lld format.

     

     

    
    Apr 07 19:42:09 :: [LOG] Request received to send data info 100000000000 yang, 1 won to client.
    Apr 07 19:42:09 :: [LOG] 1000000000 yang, 0 won paid out successfully
    
    

     

    I cant believe i spent so much time trying to do something that worked well only the problem was displaying in sys_log.. I feel stupid.

    • Love 1
  4. 1 hour ago, Johnny69 said:

    Well, maybe the value is ok but you print it with the wrong format (%d maybe).

    Long long variables need to printed with %lld format.

     

     

    Good observation, check how i will have some time.

     

    1 hour ago, Moț said:

    https://metin2.download/picture/XtHh63bkn57vats5gHV8j0f1dL5095Ap/.png BIGINT, maybe there in your code is mistakes

     

     

    I did not think about it, i will also check how i will have some time.

     

    I'll let you know what and how probably in the evening;)

     

  5. 2 hours ago, Johnny69 said:

    How do you convert data from MYSQL_ROW to long long in your code ?

     

    For example:
     

    
        char* playerOffYang;
        char* playerOffWon;
    
        long long playerOfflineYang;
        long long playerOfflineWon;
    
        SQLMsg * pkMsg(DBManager::instance().DirectQuery("SELECT collected_yang, collected_won .............."));
        SQLResult * pRes = pkMsg->Get();
    
        if (pRes->uiNumRows > 0){
            MYSQL_ROW row;
            while ((row = mysql_fetch_row(pRes->pSQLResult)) != NULL){
                playerOfflineYang = row[0];
                playerOfflineWon = row[1];
            }
        }
        
        str_to_number(playerOfflineYang, playerOffYang);
        str_to_number(playerOfflineWon, playerOffWon);
    
    

  6. Hello, im writing own offline shops and i have a problem that i cant deal with.

    I encountered a problem with getting the total number of yang from the currency safebox. The type of data storage in the column is "bigint", the equivalent to "long long" in c++.
    I tried to do it by all means but the number after reading is a minus value. When i set the data type to "int" everything works as it should but this data type is unfortunately too small.

     

    Any ideas anyone has?

  7. Hello,
    For some time I can not deal with a problem, namely: After adding another costume slot, the belt is put in the wrong place and the items in the "ring" slot overlap. In my observations, the items above "ITEM_TYPE_BELT" are in the wrong places after being equip. I have several additional slots and a rune system (written by myself), which works by creating a new slot type (for example: type - ITEM_RUNE, subtype - RUNE_ONE) and there was no problem with putting items on these slots. Before equip ring: https://metin2.download/picture/5yNKD31T95AjP1fllsMz2P5lG1C4lvKB/.png | after equip ring: https://metin2.download/picture/3jOUP309Jtb3Bg1YePtuKq63501FNd81/.png
    The problem arises when trying to add another subtype to the type ITEM_TYPE_COSTUME adds it in the way I created the previous slots, namely:

     

    GameLib/ItemData.h

    enum ECostumeSubTypes
    {
        [...]
        COSTUME_METIN_DEV,
    };
    

    UserInterface/GameType.h

    const DWORD c_New_Equipment_Start = c_Equipment_Start + 24;
    
    21 - Hair & Body
    22 - Hair & Body & Weapon
    23 - Hair & Body & Weapon & Mount
    24 - Hair & Body & Weapon & Mount & New slot
    
    const DWORD    c_Costume_Slot_Metin_Dev = c_Costume_Slot_Start + 4;
    const DWORD c_Costume_Slot_Count    = 5;
    
    0 - Body
    1 - Body & Hair
    2 - Body & Hair & Weapon
    3 - Body & Hair & Weapon & Mount
    4 - Bodt & Hair $ Weapon & Mount & New slot
    

    UserInterface/PythonItemModule.cpp

        PyModule_AddIntConstant(poModule, "COSTUME_TYPE_METIN_DEV", CItemData::COSTUME_METIN_DEV);
        PyModule_AddIntConstant(poModule, "COSTUME_SLOT_METIN_DEV", c_Costume_Slot_Metin_Dev);
    


    I also increased c_Wear_Max & WEAR_MAX_NUM & WEAR_MAX_NUM & WEAR_MAX to 64.
    Does anyone have any idea what to do, how to deal with the problem? Or maybe I just forgot something (although I doubt it).

  8. Dnia 17.07.2016 o 02:23, xP3NG3Rx napisał:

    This and this, oh and brain.exe:

    
    #[...]
    import item
    #[...]
    class SafeboxWindow(ui.ScriptWindow):
    #[...]
    	def GetEmptyItemPos(self, itemHeight):
    		#DaRealFreak is freak :o ;)
    		inventory_size = player.INVENTORY_PAGE_SIZE * player.INVENTORY_PAGE_COUNT 
    		# function to return the blocked slots based on the item size 
    		GetBlockedSlots = lambda slot, size: [slot+(round*5) for round in xrange(size)] 
    		# check if an item in on the slot and get the blocked slots, in the end chain all of our lists together 
    		blocked_slots = [element for sublist in [GetBlockedSlots(slot, item.GetItemSize(item.SelectItem(player.GetItemIndex(slot)))[1]) for slot in xrange(inventory_size) if player.isItem(slot)] for element in sublist] 
    		# check is only necessary if our item size is > 1, else bigger performance loss in list comprehension 
    		if itemHeight > 1: 
    			# add the slots where f.e. size 2 items won't fit because of the 2-page-separated inventory 
    			[[blocked_slots.append(slot) for slot in range(inventory_size/round-(itemHeight-1)*5, inventory_size/round) if not slot in blocked_slots] for round in xrange(1,3)] 
    		# check for every slot if it's not in the blocked_slots list and check also for the size the lower slots  
    		free_slots = [slot for slot in xrange(inventory_size) if not slot in blocked_slots and not True in [e in blocked_slots for e in [slot+(round*5) for round in xrange(itemHeight)]]] 
    		# if our free_slot list is empty return -1 as error code, else return the first possible slot 
    		return [free_slots, -1][len(free_slots) == 0]
    
    	def UseItemSlot(self, slotIndex):
    		if mouseModule.mouseController.isAttached():
    			mouseModule.mouseController.DeattachObject()
    
    		item.SelectItem(safebox.GetItemID(self.__LocalPosToGlobalPos(slotIndex)))
    
    		(w, h) = item.GetItemSize()
    		emptyInvenSlots = self.GetEmptyItemPos(h)
    		if emptyInvenSlots == -1:
    			return
    
    		net.SendSafeboxCheckoutPacket(slotIndex, emptyInvenSlots[0])
    #[...]

     

    Edit: Tested, and works.
    There is a little mistake, when you log into your account, and open safebox than "checkout" some items, those items will new items, I mean the slots will be activated, because of this:

    
    void CInputMain::SafeboxCheckout(LPCHARACTER ch, const char * c_pData, bool bMall)
    {
    //[...]
    		pkSafebox->Remove(p->bSafePos);
    		pkItem->SetLastOwnerPID(ch->GetPlayerID()); #fixme slothighlight
    		pkItem->AddToCharacter(ch, p->ItemPos);
    		ITEM_MANAGER::instance().FlushDelayedSave(pkItem);
    //[...]
    }

    https://www.youtube.com/watch?v=k7oYpzP2tUc
     

    For that you can put items into safebox by clicks you have to check that safebox is opened or not, and rewrite/modify the useslot function in uiInventory.py(InventoryWindow class)

     

    Dnia 5.03.2018 o 00:51, Sherer napisał:

    Other kind of implementation, looking less complicated. Might be useful understanding xP3NG3Rx`s code basing on list`s comprehension: 

    
    	def	GetEmptyGridSlot(self, size):
    		SIZE_X = 5
    		SITE_MAX_NUM = 5
    		RET_SLOT = -1
    
    		## Setting up grid
    		mtrx = {i : False for i in xrange(player.INVENTORY_PAGE_SIZE*SITE_MAX_NUM)}
    		for i in xrange(player.INVENTORY_PAGE_SIZE*SITE_MAX_NUM):
    			if player.GetItemCount(i) != 0 and mtrx[i] == False:
    
    				## Checking grid`s item size if exists
    				item.SelectItem(player.GetItemIndex(i))
    				(trash, size_y) = item.GetItemSize()
    
    				## 'Disabling' grid slot if there is an item
    				for x in xrange(size_y):
    					mtrx[i+(SIZE_X*x)] = True
    
    		## Looking for empty slot considering item`s size
    		for i in xrange(player.INVENTORY_PAGE_SIZE*SITE_MAX_NUM):
    			RET_SLOT = i
    			for a in xrange(size):
    				if mtrx[i+(SIZE_X*a)] != False:
    					RET_SLOT = -1
    					break
    
    			if RET_SLOT != -1:
    				break
    
    		return RET_SLOT

     

    @xP3NG3Rx

    @Sherer

    The problem with your codes is as follows: When a player on e.g. the first page has at least one free slot, an item with the size "2" will not be moved to e.g. the other side until this one free slot on this first page is moved, an item with "2" in this case will be moved to the next page. For everything to work as it should be created an element that will check the actual size of the item that it moves, and then check the number of free slots (x) on one of the pages and when the value of x will be less than the value of x of the item to be transferred it will be transferred on the next page.

    If I'm wrong please correct it.

     

    //At least it was with me when I tested these codes looking for an ideal solution for editing my code.

  9. Hi boys,
    The problem is as follows: when i was running the compilate machine my computer was flooded (by tea - a the long story, fuck my life ??).
    After changing the motherboard (which suffered) and trying to compile the server i get an error i did not understand - i did not understand because before the computer "fell" the game compiled without any problems. I've been working on this src for several months and  i never had a problem with compiling until the motherboard was flooded.

    My compilation log:

     

     

     

     

    root@host:/usr/src/mainline_released/mainline_sg/Srcs/Server/game/src # gmake -j
    compile BattleArena.cpp
    compile MarkManager.cpp
    compile OXEvent.cpp
    compile ani.cpp
    compile arena.cpp
    compile banword.cpp
    compile battle.cpp
    compile building.cpp
    compile castle.cpp
    compile char.cpp
    compile char_affect.cpp
    compile char_battle.cpp
    compile char_change_empire.cpp
    compile char_horse.cpp
    In file included from char.cpp:65:
    PetSystem.h:163:31: warning: no newline at end of file
    char.cpp:7438: warning: this decimal constant is unsigned only in ISO C90
    compile char_item.cpp
    compile char_manager.cpp
    compile char_quickslot.cpp
    In file included from char_item.cpp:47:
    belt_inventory_helper.h:108:42: warning: no newline at end of file
    compile char_resist.cpp
    compile char_skill.cpp
    compile char_state.cpp
    compile PetSystem.cpp
    compile cmd.cpp
    compile cmd_emotion.cpp
    compile cmd_general.cpp
    In file included from PetSystem.cpp:8:
    PetSystem.h:163:31: warning: no newline at end of file
    PetSystem.cpp:685:2: warning: no newline at end of file
    compile cmd_gm.cpp
    char.cpp: In member function 'void CHARACTER::PointChange(BYTE, int, bool, bool)':
    char.cpp:3176: warning: comparison between signed and unsigned integer expressions
    char.cpp: In member function 'void CHARACTER::ClearOfflineMessageBox(DWORD)':
    char.cpp:7506: warning: zero-length printf format string
    char.cpp: In member function 'void CHARACTER::ReadOfflineMessageBox()':
    char.cpp:7524: warning: unused variable 'i'
    compile cmd_oxevent.cpp
    char.cpp: In member function 'void CHARACTER::GivePremioCodigo(CHARACTER*, const char*)':
    char.cpp:7823: warning: comparison between signed and unsigned integer expressions
    char.cpp:7806: warning: unused variable 'categoria_number'
    In file included from cmd_general.cpp:41:
    localization.h:23:7: warning: no newline at end of file
    compile config.cpp
    char_item.cpp: In member function 'bool CHARACTER::IsEmptyItemGrid(TItemPos, BYTE, int) const':
    char_item.cpp:669: warning: comparison is always false due to limited range of data type
    char_item.cpp:695: warning: comparison is always false due to limited range of data type
    char_item.cpp: In member function 'bool CHARACTER::ItemUseCooldown(CItem*)':
    char_item.cpp:1761: warning: comparison between signed and unsigned integer expressions
    char_item.cpp:1763: warning: comparison between signed and unsigned integer expressions
    char_item.cpp: In member function 'bool CHARACTER::UseItemEx(CItem*, TItemPos)':
    char_item.cpp:2549: warning: format '%d' expects type 'int', but argument 6 has type 'long int'
    char_item.cpp:2553: warning: format '%d' expects type 'int', but argument 6 has type 'long int'
    char_item.cpp:2565: warning: format '%d' expects type 'int', but argument 5 has type 'long int'
    char_item.cpp:2569: warning: format '%d' expects type 'int', but argument 5 has type 'long int'
    char_item.cpp:2596: warning: format '%d' expects type 'int', but argument 6 has type 'long int'
    char_item.cpp:2604: warning: format '%d' expects type 'int', but argument 5 has type 'long int'
    char_item.cpp:5341: warning: comparison between signed and unsigned integer expressions
    char_item.cpp: In member function 'bool CHARACTER::UseItem(TItemPos, TItemPos)':
    char_item.cpp:5421: warning: unused variable 'wDestCell'
    char_item.cpp:5422: warning: unused variable 'bDestInven'
    char_item.cpp: In member function 'bool CHARACTER::EquipItem(CItem*, int)':
    char_item.cpp:6608: warning: array subscript has type 'char'
    char_item.cpp: In member function 'void CHARACTER::BuffOnAttr_AddBuffsFromItem(CItem*)':
    char_item.cpp:6701: warning: comparison between signed and unsigned integer expressions
    char_item.cpp: In member function 'void CHARACTER::BuffOnAttr_RemoveBuffsFromItem(CItem*)':
    char_item.cpp:6713: warning: comparison between signed and unsigned integer expressions
    compile constants.cpp
    char_item.cpp: In member function 'bool CHARACTER::CanEquipNow(CItem*, const TItemPos&, const TItemPos&)':
    char_item.cpp:7948: warning: unused variable 'itemType'
    char_item.cpp:7949: warning: unused variable 'itemSubType'
    PetSystem.cpp: In member function 'virtual bool CPetActor::_UpdateFollowAI()':
    PetSystem.cpp:246: warning: unused variable 'bDoMoveAlone'
    PetSystem.cpp: In member function 'CPetActor* CPetSystem::Summon(DWORD, CItem*, const char*, bool, DWORD)':
    PetSystem.cpp:600: warning: unused variable 'petVID'
    char_skill.cpp: In member function 'int CHARACTER::ComputeGyeongGongSkill(DWORD, CHARACTER*, BYTE)':
    char_skill.cpp:2003: warning: unused variable 'k'
    compile cube.cpp
    char_state.cpp: In member function 'virtual void CHARACTER::StateMove()':
    char_state.cpp:901: warning: unused variable 'rider'
    char_item.cpp: In member function 'bool CHARACTER::IsEmptyItemGrid(TItemPos, BYTE, int) const':
    char_item.cpp:708: warning: control reaches end of non-void function
    compile db.cpp
    constants.cpp:428: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:429: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:430: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:431: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:432: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:433: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:434: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:435: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:436: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:437: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:438: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:439: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:440: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:441: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:442: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:443: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:444: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:445: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:446: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:447: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:448: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:450: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:451: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:452: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:453: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:454: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:455: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:456: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:457: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:458: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:459: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:460: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:461: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:462: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:463: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:464: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:465: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:466: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:467: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:468: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:469: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:470: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:471: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:472: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:473: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:474: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:475: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:476: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:477: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:478: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:479: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:480: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:481: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:482: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:483: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:484: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:485: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:486: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:487: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:488: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:489: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:490: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:491: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:492: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:493: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:494: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:495: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:496: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:497: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:498: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:499: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:500: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:501: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:502: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:503: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:504: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:505: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:506: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:507: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:508: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:509: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:510: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:511: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:512: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:513: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:514: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:515: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:516: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:517: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:518: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:519: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:520: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:521: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:522: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:523: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:524: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:525: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:526: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:527: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:528: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:529: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:530: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:531: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:532: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:533: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:534: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:535: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:536: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:537: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:538: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:539: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:540: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:541: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:542: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:543: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:544: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:545: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:546: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:547: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:548: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:549: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:550: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:551: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:552: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:553: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:554: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:555: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:556: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:557: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:558: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:559: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:560: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:561: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:562: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:563: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:564: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:565: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:566: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:567: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:568: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:569: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:570: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:571: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:572: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:573: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:574: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:575: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:576: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:577: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:578: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:579: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:580: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:581: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:582: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:583: warning: this decimal constant is unsigned only in ISO C90
    constants.cpp:584: warning: this decimal constant is unsigned only in ISO C90
    compile desc.cpp
    compile desc_client.cpp
    compile desc_manager.cpp
    config.cpp: In function 'void config_init(const std::string&)':
    config.cpp:493: warning: NULL used in arithmetic
    config.cpp:517: warning: NULL used in arithmetic
    config.cpp:541: warning: NULL used in arithmetic
    config.cpp:563: warning: unused variable 'line'
    compile dungeon.cpp
    cmd_gm.cpp: In function 'void do_set_stat(CHARACTER*, const char*, int, int)':
    cmd_gm.cpp:4026: warning: NULL used in arithmetic
    In file included from desc_manager.cpp:15:
    ClientPackageCryptInfo.h:117:41: warning: no newline at end of file
    cube.cpp: In function 'bool Cube_make(CHARACTER*)':
    cube.cpp:544: warning: comparison between signed and unsigned integer expressions
    cube.cpp: In function 'void Cube_MakeCubeInformationText()':
    cube.cpp:720: warning: unused variable 'npcVNUM'
    cube.cpp: In function 'bool Cube_InformationInitialize()':
    cube.cpp:787: warning: comparison between signed and unsigned integer expressions
    db.cpp: In member function 'void DBManager::Query(const char*, ...)':
    db.cpp:94: warning: comparison between signed and unsigned integer expressions
    db.cpp: In member function 'SQLMsg* DBManager::DirectQuery(const char*, ...)':
    db.cpp:105: warning: comparison between signed and unsigned integer expressions
    char_battle.cpp: In member function 'bool CHARACTER::Attack(CHARACTER*, BYTE)':
    char_battle.cpp:230: warning: 'iRet' is used uninitialized in this function
    cmd_general.cpp: In function 'void do_daily_reward_reload(CHARACTER*, const char*, int, int)':
    cmd_general.cpp:3350: warning: 'rewards' may be used uninitialized in this function
    cmd_general.cpp:3349: warning: 'time' may be used uninitialized in this function
    char_item.cpp: In member function 'void CHARACTER::BuffOnAttr_ValueChange(BYTE, BYTE, BYTE)':
    char_item.cpp:6748: warning: 'pBuff' may be used uninitialized in this function
    cmd_general.cpp: In function 'void do_daily_reward_get_reward(CHARACTER*, const char*, int, int)':
    cmd_general.cpp:3400: warning: 'rewards' may be used uninitialized in this function
    cmd_general.cpp:3396: warning: 'counts' may be used uninitialized in this function
    cmd_general.cpp:3395: warning: 'items' may be used uninitialized in this function
    cmd_general.cpp:3397: warning: 'item' may be used uninitialized in this function
    cmd_general.cpp:3398: warning: 'count' may be used uninitialized in this function
    desc_client.cpp: In member function 'void CLIENT_DESC::UpdateChannelStatus(DWORD, bool)':
    desc_client.cpp:299: warning: comparison between signed and unsigned integer expressions
    cmd_gm.cpp: In function 'void do_mob_ld(CHARACTER*, const char*, int, int)':
    cmd_gm.cpp:887: warning: 'x' may be used uninitialized in this function
    cmd_gm.cpp:887: warning: 'y' may be used uninitialized in this function
    cmd_gm.cpp: In function 'void do_mob_map(CHARACTER*, const char*, int, int)':
    cmd_gm.cpp:680: warning: 'tch' may be used uninitialized in this function
    cmd_gm.cpp: In function 'void do_use_item(CHARACTER*, const char*, int, int)':
    cmd_gm.cpp:4448: warning: 'cell' may be used uninitialized in this function
    cmd_gm.cpp: In function 'void do_set_stat(CHARACTER*, const char*, int, int)':
    cmd_gm.cpp:4068: warning: 'n' may be used uninitialized in this function
    cmd_general.cpp: In function 'void do_change_security_status(CHARACTER*, const char*, int, int)':
    cmd_general.cpp:2885: warning: 'player_security_status' may be used uninitialized in this function
    cmd_general.cpp: In function 'void do_open_security(CHARACTER*, const char*, int, int)':
    cmd_general.cpp:2910: warning: 'check_security' may be used uninitialized in this function
    char.cpp: In member function 'bool CHARACTER::ChannelChange(int)':
    char.cpp:7559: warning: 'wPort' may be used uninitialized in this function
    char.cpp:7558: warning: 'lAddr' may be used uninitialized in this function
    char.cpp: In member function 'bool CHARACTER::CheckActivation(const char*)':
    char.cpp:7895: warning: 'count_activation' may be used uninitialized in this function
    char.cpp: In member function 'void CHARACTER::CountCode(const char*)':
    char.cpp:7934: warning: 'count_code' may be used uninitialized in this function
    char.cpp: In member function 'void CHARACTER::GivePremioCodigo(CHARACTER*, const char*)':
    char.cpp:7804: warning: 'id' may be used uninitialized in this function
    char.cpp:7804: warning: 'count' may be used uninitialized in this function
    char.cpp:7804: warning: 'level' may be used uninitialized in this function
    linking ../game_0_0....
    linking ../test
    OBJDIR/desc.o: In function `DESC::ProcessOutput()':
    /usr/src/mainline_released/mainline_sg/Srcs/Server/game/src/desc.cpp:396: undefined referenOBJDIR/desc.oc:e  Ito `max_bytes_written'
    n function `/usr/src/mainline_released/mainline_sg/Srcs/Server/game/src/desc.cpp:DESC::ProcessOutput()398'::
    und/usr/src/mainline_released/mainline_sg/Srcs/Server/game/src/desc.cpp:396: undefined reference to `max_bytes_written'
    efined reference to `total_bytes_written'
    /usr/src/mainline_released/mainline_sg/Srcs/Server/game/src/desc.cpp:398: undefined reference to `total_bytes_written'
    /usr/src/mainline_released/mainline_sg/Srcs/Server/game/src/desc.cpp:399: undefined reference to `current_bytes_written'
    /usr/src/mainline_released/mainline_sg/Srcs/Server/game/src/desc.cpp:396: undefined reference to `max_bytes_written'
    /usr/src/mainline_released/mainline_sg/Srcs/Server/game/src/desc.cpp:399: undefined reference to `current_bytes_written'
    /usr/src/mainline_released/mainline_sg/Srcs/Server/game/src/desc.cpp:396: undefined reference to `max_bytes_written'
    OBJDIR/event.o: In function `event_process(int)':
    /usr/src/mainline_released/mainline_sg/Srcs/Server/game/src/event.cpp:135: undefined reference to `ContinueOnFatalError()'
    OBJDIR/event.o: In function `event_process(int)':
    /usr/src/mainline_released/mainline_sg/Srcs/Server/game/src/event.cpp:135: undefined reference to `ContinueOnFatalError()'
    OBJDIR/input_db.o: In function `CInputDB::P2P(char const*)':
    /usr/src/mainline_released/mainline_sg/Srcs/Server/game/src/input_db.cpp:1365: undefined reference to `main_fdw'
    OBJDIR/input_db.o: In function `CInputDB::P2P(char const*)':
    /usr/src/mainline_released/mainline_sg/Srcs/Server/game/src/input_db.cpp:1365: undefined reference to `main_fdw'
    OBJDIR/marriage.o: In function `marriage::TMarriage::Logout(unsigned int)':
    /usr/src/mainline_released/mainline_sg/Srcs/Server/game/src/marriage.cpp:299: undefined reference to `g_bShutdown'
    /usr/src/mainline_released/mainline_sg/Srcs/Server/game/src/marriage.cpp:316: undefined reference to `g_bShutdown'
    /usr/src/mainline_released/mainline_sg/Srcs/Server/game/src/marriage.cpp:316: undefined reference to `g_bShutdown'
    OBJDIR/marriage.o: In function `marriage::TMarriage::Logout(unsigned int)':
    /usr/src/mainline_released/mainline_sg/Srcs/Server/game/src/marriage.cpp:299: undefined reference to `g_bShutdown'
    /usr/src/mainline_released/mainline_sg/Srcs/Server/game/src/marriage.cpp:316: undefined reference to `g_bShutdown'
    /usr/src/mainline_released/mainline_sg/Srcs/Server/game/src/marriage.cpp:316: undefined reference to `g_bShutdown'
    gmake: *** [../test] Error 1
    gmake: *** Waiting for unfinished jobs....
    gmake: *** [../game_0_0] Error 1
    root@host:/usr/src/mainline_released/mainline_sg/Srcs/Server/game/src #
    
     

    Error after linking "test" and "game" files (db compiles normally):

     

     

     

     

    linking ../game_0_0....
    linking ../test
    OBJDIR/desc.o: In function `DESC::ProcessOutput()':
    /usr/src/mainline_released/mainline_sg/Srcs/Server/game/src/desc.cpp:396: undefined referenOBJDIR/desc.oc:e  Ito `max_bytes_written'
    n function `/usr/src/mainline_released/mainline_sg/Srcs/Server/game/src/desc.cpp:DESC::ProcessOutput()398'::
    und/usr/src/mainline_released/mainline_sg/Srcs/Server/game/src/desc.cpp:396: undefined reference to `max_bytes_written'
    efined reference to `total_bytes_written'
    /usr/src/mainline_released/mainline_sg/Srcs/Server/game/src/desc.cpp:398: undefined reference to `total_bytes_written'
    /usr/src/mainline_released/mainline_sg/Srcs/Server/game/src/desc.cpp:399: undefined reference to `current_bytes_written'
    /usr/src/mainline_released/mainline_sg/Srcs/Server/game/src/desc.cpp:396: undefined reference to `max_bytes_written'
    /usr/src/mainline_released/mainline_sg/Srcs/Server/game/src/desc.cpp:399: undefined reference to `current_bytes_written'
    /usr/src/mainline_released/mainline_sg/Srcs/Server/game/src/desc.cpp:396: undefined reference to `max_bytes_written'
    OBJDIR/event.o: In function `event_process(int)':
    /usr/src/mainline_released/mainline_sg/Srcs/Server/game/src/event.cpp:135: undefined reference to `ContinueOnFatalError()'
    OBJDIR/event.o: In function `event_process(int)':
    /usr/src/mainline_released/mainline_sg/Srcs/Server/game/src/event.cpp:135: undefined reference to `ContinueOnFatalError()'
    OBJDIR/input_db.o: In function `CInputDB::P2P(char const*)':
    /usr/src/mainline_released/mainline_sg/Srcs/Server/game/src/input_db.cpp:1365: undefined reference to `main_fdw'
    OBJDIR/input_db.o: In function `CInputDB::P2P(char const*)':
    /usr/src/mainline_released/mainline_sg/Srcs/Server/game/src/input_db.cpp:1365: undefined reference to `main_fdw'
    OBJDIR/marriage.o: In function `marriage::TMarriage::Logout(unsigned int)':
    /usr/src/mainline_released/mainline_sg/Srcs/Server/game/src/marriage.cpp:299: undefined reference to `g_bShutdown'
    /usr/src/mainline_released/mainline_sg/Srcs/Server/game/src/marriage.cpp:316: undefined reference to `g_bShutdown'
    /usr/src/mainline_released/mainline_sg/Srcs/Server/game/src/marriage.cpp:316: undefined reference to `g_bShutdown'
    OBJDIR/marriage.o: In function `marriage::TMarriage::Logout(unsigned int)':
    /usr/src/mainline_released/mainline_sg/Srcs/Server/game/src/marriage.cpp:299: undefined reference to `g_bShutdown'
    /usr/src/mainline_released/mainline_sg/Srcs/Server/game/src/marriage.cpp:316: undefined reference to `g_bShutdown'
    /usr/src/mainline_released/mainline_sg/Srcs/Server/game/src/marriage.cpp:316: undefined reference to `g_bShutdown'
    gmake: *** [../test] Error 1
    gmake: *** Waiting for unfinished jobs....
    gmake: *** [../game_0_0] Error 1
    
     

    It is interesting that when i put in clean source code, the game compiles without problems. I would like to remind you that my code was compiled the same day i flooded the motherboard, and after a change errors are suddenly displayed and the compilation is aborted.

    Anticipating the answers about defining the following functions, i have defined them, because as i said, the code compiled for several months without a problem until the "fall" of the computer.

     

     

     

     

    /usr/src/mainline_released/mainline_sg/Srcs/Server/game/src/desc.cpp:398: undefined reference to `total_bytes_written'
    /usr/src/mainline_released/mainline_sg/Srcs/Server/game/src/desc.cpp:399: undefined reference to `current_bytes_written'
    /usr/src/mainline_released/mainline_sg/Srcs/Server/game/src/desc.cpp:396: undefined reference to `max_bytes_written'
    /usr/src/mainline_released/mainline_sg/Srcs/Server/game/src/desc.cpp:399: undefined reference to `current_bytes_written'
    /usr/src/mainline_released/mainline_sg/Srcs/Server/game/src/desc.cpp:396: undefined reference to `max_bytes_written'
    /usr/src/mainline_released/mainline_sg/Srcs/Server/game/src/event.cpp:135: undefined reference to `ContinueOnFatalError()'
    /usr/src/mainline_released/mainline_sg/Srcs/Server/game/src/input_db.cpp:1365: undefined reference to `main_fdw'
    /usr/src/mainline_released/mainline_sg/Srcs/Server/game/src/marriage.cpp:299: undefined reference to `g_bShutdown'
    
     

    Does anyone know the answer to solve this problem?

  10. Hi,

    Recently, browsing one of the servers i came across an add-on that allows you to extend the time of the item (i mean costumes).
    From what i saw, this system is not available on the Internet, and i saw it only on one server (maybe i was looking for it wrong), a question for you - you think that such a system will find a useful among those creating servers and the players themselves, there is a sense of it write?

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