-
Activity
-
5
-
0
Looking for Someone to create the queries etc for armors and weapons
Hello I am looking for someone who will create the queries from the ground up and item proto etc everything required to implement a few armor and weapon sets for my server such as these - https://imgur.com/a/sUwencb Paid service obviously Contact me on discord for more info - whait#7061 -
13
Official Private Shop Search
From where get this Cheque-System that are used in this system -
944
[40250] Reference Serverfile + Client + Src [15 Available Languages]
Hi tmp4, I was trying to increase the pull range by editing FuncAggregateMonster. But it seems that there is something other than the DISTANCE_APPROX check limiting the max range. struct FuncAggregateMonster { LPCHARACTER m_ch; FuncAggregateMonster(LPCHARACTER ch) { m_ch = ch; } void operator()(LPENTITY ent) { if (ent->IsType(ENTITY_CHARACTER)) { LPCHARACTER ch = (LPCHARACTER) ent; if (ch->IsPC()) return; if (!ch->IsMonster()) return; if (ch->GetVictim()) return; if (DISTANCE_APPROX(ch->GetX() - m_ch->GetX(), ch->GetY() - m_ch->GetY()) < 20000) if (ch->CanBeginFight()) { ch->AddAffect(AFFECT_MOV_SPEED, POINT_MOV_SPEED, 700, AFF_MOV_SPEED_POTION, 500, 0, true); ch->BeginFight(m_ch); } } } }; I added a movementspeed Affect and got very weird behaviour. The movementspeed bonus is applied to mobs way further than the "standard" pull range, yet no mobs outside of the standard pull range get aggressive towards my character. Do you know what's causing this? EDIT: Oh and I am posting this here, because the same code snipped works on other serverfiles. -
79
GUI Teleport System
Working With press button, but how can i add under indevtory button? -
0
inventory slot marking system cant compile
Hey guys! As i have mentioned in the title i have problems with compiling client src for inventory slot marking system. Server src is fine but in client src i get errorr that arg4 is not member of class exchange_packet... where can i add the member ? -
8
Inventory Bug
syserr is empty.. refreshbagslot I have it like this def SetInventoryPage(self, page): self.inventoryTab[self.inventoryPageIndex].SetUp() self.inventoryPageIndex = page self.inventoryTab[self.inventoryPageIndex].Down() self.RefreshBagSlotWindow() and def RefreshBagSlotWindow(self): getItemVNum=player.GetItemIndex getItemCount=player.GetItemCount setItemVNum=self.wndItem.SetItemSlot for i in xrange(self.wndItem.GetSlotCount()): self.wndItem.DeactivateSlot(i) for i in xrange(player.INVENTORY_PAGE_SIZE): slotNumber = self.__InventoryLocalSlotPosToGlobalSlotPos(i) itemCount = getItemCount(slotNumber) # itemCount == 0이면 소켓을 비운다. if 0 == itemCount: self.wndItem.ClearSlot(i) continue elif 1 == itemCount: itemCount = 0 itemVnum = getItemVNum(slotNumber) setItemVNum(i, itemVnum, itemCount) ## 자동물약 (HP: #72723 ~ #72726, SP: #72727 ~ #72730) 특수처리 - 아이템인데도 슬롯에 활성화/비활성화 표시를 위한 작업임 - [hyo] if constInfo.IS_AUTO_POTION(itemVnum): # metinSocket - [0] : 활성화 여부, [1] : 사용한 양, [2] : 최대 용량 metinSocket = [player.GetItemMetinSocket(slotNumber, j) for j in xrange(player.METIN_SOCKET_MAX_NUM)] if slotNumber >= player.INVENTORY_PAGE_SIZE*self.inventoryPageIndex: slotNumber -= player.INVENTORY_PAGE_SIZE*self.inventoryPageIndex isActivated = 0 != metinSocket[0] if isActivated: self.wndItem.ActivateSlot(slotNumber) potionType = 0; if constInfo.IS_AUTO_POTION_HP(itemVnum): potionType = player.AUTO_POTION_TYPE_HP elif constInfo.IS_AUTO_POTION_SP(itemVnum): potionType = player.AUTO_POTION_TYPE_SP usedAmount = int(metinSocket[1]) totalAmount = int(metinSocket[2]) player.SetAutoPotionInfo(potionType, isActivated, (totalAmount - usedAmount), totalAmount, self.__InventoryLocalSlotPosToGlobalSlotPos(i)) else: self.wndItem.DeactivateSlot(slotNumber) if app.WJ_ENABLE_TRADABLE_ICON: self.RefreshMarkSlots(i) self.__HighlightSlot_Refresh() self.wndItem.RefreshSlot() if self.wndBelt: self.wndBelt.RefreshSlot() if app.WJ_ENABLE_TRADABLE_ICON: map(lambda wnd:wnd.RefreshLockedSlot(), self.bindWnds) def RefreshEquipSlotWindow(self): getItemVNum=player.GetItemIndex getItemCount=player.GetItemCount setItemVNum=self.wndEquip.SetItemSlot for i in xrange(player.EQUIPMENT_PAGE_COUNT): slotNumber = player.EQUIPMENT_SLOT_START + i itemCount = getItemCount(slotNumber) if itemCount <= 1: itemCount = 0 setItemVNum(slotNumber, getItemVNum(slotNumber), itemCount) if app.ENABLE_NEW_EQUIPMENT_SYSTEM: for i in xrange(player.NEW_EQUIPMENT_SLOT_COUNT): slotNumber = player.NEW_EQUIPMENT_SLOT_START + i itemCount = getItemCount(slotNumber) if itemCount <= 1: itemCount = 0 setItemVNum(slotNumber, getItemVNum(slotNumber), itemCount) print "ENABLE_NEW_EQUIPMENT_SYSTEM", slotNumber, itemCount, getItemVNum(slotNumber) self.wndEquip.RefreshSlot() if self.wndCostume: self.wndCostume.RefreshCostumeSlot() def RefreshItemSlot(self): self.RefreshBagSlotWindow() self.RefreshEquipSlotWindow() -
63
Metin2 Dev - Changelogs
Duplicate posts (warns, topics, PM's...) are resolved 2FA re-enabled IP Board Upgrade IPS 4.7.0 Beta 10 (Dev Build)- 2
-
-
-
9
-
-
Recently Browsing
- No registered users viewing this page.
Question
Atlasz 0
Hello there Mr. /Mrs. devs.
I am kinda new to this board, I don't know if I chose the right 'flag' but I think it's the closest to fit my problem.
Backstory (skippable)┌ : A friend of mine told me to play some good old metin, where the drops are the same and everything is as hard as it used to be just like in the original metin2 server. I told him I found a way to host server, so the 2 of us could play peacefully on it, whenever we would like to do it.
End of backstory┘
I had an idea back in the days where the item upgrading would take too much time (pulling the item from inventory to blacksmith, accepting it, accepting he broke it or did a succesful job, repeat... / picking up the scroll, pulling it to the item, the process may end in a failure-> accepting it, failure or success, accepting it, repeat) and I found the code on this forum to skip this process with a kind of "repeater", where the window has a checkbox, and you can check it to skip the pulling part of this job, and you only need to accept it and do it until it has it's highest value or it breaks ( I can link the source if needed). I put like 20 hours to look through the python codes I could find in the client side and I added the parts which were needed in order to achieve the usable state, but it needs to have a new metin2.exe file ( I don't know why, I am new for this kind of structures) where the file contains some extra coding too, otherwise the client would break after character select. I was using Visual Studio to run the exe creator, but it kept on running on errors and I don't know what to do to continue ( maybe I am missing only 1 step until the goal).
TL;DR : I don't know how to create a custom "metin2.exe" with extra coding in it because I don't know what I am missing.
I would be so happy if this little extra could be added to our game.
Thanks a lot in advance.
Have a succesful day,
Atlasz
Atlasz
Link to comment
Share on other sites
Top Posters For This Question
1
1
1
Popular Days
Feb 17
3
Top Posters For This Question
Gurgarath 1 post
MrQuin 1 post
Atlasz 1 post
Popular Days
Feb 17 2021
3 posts
Popular Posts
MrQuin
2 answers to this question
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now