Crowlai
-
Posts
14 -
Joined
-
Last visited
-
Feedback
0%
Content Type
Forums
Store
Third Party - Providers Directory
Feature Plan
Release Notes
Docs
Events
Posts posted by Crowlai
-
-
I took a look at this system, it is a bit nonsensical because after throwing and collecting an item (the same), the effect of receiving in the inventory reappears. An interesting solution with blinking, although it requires a bit of refinement.
-
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
-
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.
- 1
-
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;)
-
I tried, as i said, i tried to do it by all means and when i lacked ideas, i applied for help.
Output:
[LOG] Request received to send data info -1474836480 yang to client.
Database yang value:
20000000000
-
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);
-
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?
-
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). -
Hi,
I am looking for a mission table that is on global servers, i saw it once in one of the forums and i cant find out where it was.
Preview:https://metin2.download/picture/Ds3X9LAETAYGpqDn04b86a1jQ94r98rJ/.png
-
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
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.
-
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?
-
56 minut temu, Anix napisał:
Omg that’s on official servers for awhile. I think lennt had something like that included into costume transformation.
Very possible, i do not follow the official server, if you say that there is such a thing, it does not matter, the topic to close.
-
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?
Monster health
in Features & Metin2 Systems
Posted · Edited by Crowlai
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(); } }