-
Posts
839 -
Joined
-
Days Won
393 -
Feedback
100%
Content Type
Forums
Store
Third Party - Providers Directory
Feature Plan
Release Notes
Docs
Events
Posts posted by xP3NG3Rx
-
-
case SHOP_SUBHEADER_GC_UPDATE_PRICE: PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "SetShopSellingPrice", Py_BuildValue("(i)", *(int *)&vecBuffer[0])); break;
This is not compatible with long long, but you should do this way:
case SHOP_SUBHEADER_GC_UPDATE_PRICE: PyObject *args = PyTuple_New(1); PyTuple_SetItem(args, 0, PyLong_FromLongLong(*(long long *)&vecBuffer[0])); PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "SetShopSellingPrice", args);
As here, this is not useful with long long:
PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "OnPickMoney", Py_BuildValue("(i)", (int)PointChange.amount));
Replace with:
PyObject *args = PyTuple_New(1); PyTuple_SetItem(args, 0, PyLong_FromLongLong(PointChange.amount)); PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "OnPickMoney", args);
- 1
-
And already released it. I think on e'pvp by Teacher.
-
-
Maybe if I'm implemented it, now I've done the switchable monster informations marking (lv+aiflag)
The quiver system is complex a little bit, and I'm not a fan of quiver . Anyway there is on my TODO list.- 2
-
I really love this music, I sleep & wake with this.
- 1
-
-
effect.RegisterIndexedFlyData(effect.FLY_SKILL_MUYEONG, effect.INDEX_FLY_TYPE_AUTO_FIRE, "d:/ymir work/pc/sura/effect/muyeong_fly.msf") ## ą«żµÁř if app.ENABLE_QUIVER_SYSTEM: effect.RegisterIndexedFlyData(effect.FLY_QUIVER_ATTACK_NORMAL, effect.INDEX_FLY_TYPE_NORMAL, "d:/ymir work/pc/assassin/effect/arrow_02.msf")
You can find in metin2_patch_etc.
- 3
-
If you do not want to see that "seems hacker" message in the syslog, yes.
- 1
-
Server\game\src\shop.cpp > "int CShop::Buy(LPCHARACTER ch, BYTE pos)"
Search and replace this:
if (IsPCShop()) { if (!pkSelectedItem) { sys_log(0, "Shop::Buy : Critical: This user seems to be a hacker : invalid pcshop item : BuyerPID:%d SellerPID:%d", ch->GetPlayerID(), m_pkPC->GetPlayerID()); return false; } if ((pkSelectedItem->GetOwner() != m_pkPC)) { sys_log(0, "Shop::Buy : Critical: This user seems to be a hacker : invalid pcshop item : BuyerPID:%d SellerPID:%d", ch->GetPlayerID(), m_pkPC->GetPlayerID()); return false; } }
With this:
if (IsPCShop()) { if (!pkSelectedItem) { sys_log(0, "Shop::Buy1 : Critical: This user seems to be a hacker : invalid pcshop item : BuyerPID:%d SellerPID:%d", ch->GetPlayerID(), m_pkPC->GetPlayerID()); return SHOP_SUBHEADER_GC_SOLDOUT; } if ((pkSelectedItem->GetOwner() != m_pkPC)) { sys_log(0, "Shop::Buy2 : Critical: This user seems to be a hacker : invalid pcshop item : BuyerPID:%d SellerPID:%d", ch->GetPlayerID(), m_pkPC->GetPlayerID()); return SHOP_SUBHEADER_GC_SOLDOUT; } }
You could remove the sys_log about hacker thing because it not necessary.
if (IsPCShop() && (!pkSelectedItem || pkSelectedItem->GetOwner() != m_pkPC)) return SHOP_SUBHEADER_GC_SOLDOUT;
- 1
-
Paste your item proto, only the two costume scrolls.
-
There is the right place, but the client part is wrong, it does not send the packet to use item on item because ignore it. As you can see on the picture it cannot handle the scroll as usable item on another item.
-
Here is a diff, check with your uiInventory.py file.
https://www.diffchecker.com/2rjp5kad
-
With this will work properly.
function say_title_center(msg,r,g,b) local _color if (r and g and b) == nil then _color = color256(255, 230, 186) else _color = color256(r, g, b) end raw_script(string.format("[TEXT_HORIZONTAL_ALIGN_CENTER]%s%s%s[/TEXT_HORIZONTAL_ALIGN_CENTER][ENTER]", _color, msg, color256(196, 196, 196))) end
- 3
-
Hmm, yes, I forgot the GameLib> ItemData.cpp, sorry and I'll edit the download with this:
const char* CItemData::GetUseTypeString() const { if (GetType() != CItemData::ITEM_TYPE_USE) return "NOT_USE_TYPE"; switch (GetSubType()) { case USE_TUNING: return DEF_STR(USE_TUNING); case USE_DETACHMENT: return DEF_STR(USE_DETACHMENT); case USE_CLEAN_SOCKET: return DEF_STR(USE_CLEAN_SOCKET); case USE_CHANGE_ATTRIBUTE: return DEF_STR(USE_CHANGE_ATTRIBUTE); case USE_ADD_ATTRIBUTE: return DEF_STR(USE_ADD_ATTRIBUTE); case USE_ADD_ATTRIBUTE2: return DEF_STR(USE_ADD_ATTRIBUTE2); case USE_ADD_ACCESSORY_SOCKET: return DEF_STR(USE_ADD_ACCESSORY_SOCKET); case USE_PUT_INTO_ACCESSORY_SOCKET: return DEF_STR(USE_PUT_INTO_ACCESSORY_SOCKET); case USE_PUT_INTO_BELT_SOCKET: return DEF_STR(USE_PUT_INTO_BELT_SOCKET); case USE_PUT_INTO_RING_SOCKET: return DEF_STR(USE_PUT_INTO_RING_SOCKET); case USE_CHANGE_COSTUME_ATTR: return DEF_STR(USE_CHANGE_COSTUME_ATTR); case USE_RESET_COSTUME_ATTR: return DEF_STR(USE_RESET_COSTUME_ATTR); } return "USE_UNKNOWN_TYPE"; }
- 1
-
@alin2894: What do you mean under "not work"?
Could you explani it, please?
What happens when you put the reset to an item? - Just because me works properly. -
You can align the lines to center with this script from 2008(bin_r23166 I have no prior bin :3):
raw_script("[TEXT_HORIZONTAL_ALIGN_CENTER]")
Just the reset function is unimplemented in the original src.
I'm thinking for this:raw_script("[/TEXT_HORIZONTAL_ALIGN_CENTER]")
UserInterface/PythonEventManger.cpp > void CPythonEventManager::ProcessEventSet(TEventSet * pEventSet)
case EVENT_TYPE_TEXT_HORIZONTAL_ALIGN_CENTER: { if (EVENT_POSITION_START == pEventPosition) { pEventSet->isTextCenterMode = true; if (pEventSet->pCurrentTextLine) pEventSet->pCurrentTextLine->SetHorizonalAlign(CGraphicTextInstance::HORIZONTAL_ALIGN_CENTER); } else pEventSet->isTextCenterMode = false; break;
- 2
-
-
#nosupport #noreply #nopm #doityourself
Here is mine with new use subtypes, Official like:
#Edit: I will not edit the download but here is a little fix, about ymir's fail:
Search these lines in uiInventory.py:
if player.GetItemAttribute(dstSlotPos, i) != 0:
And replace with:
if player.GetItemAttribute(dstSlotPos, i)[0] != 0:
Why?
Easy, because the player.GetItemAttribute give back 2 values as always in standard case (0, 0) which is a tuple, the comparison is return true every times.- 13
- 1
- 5
- 11
-
Forget the release mode, use DEBUG or DISTRIBUTE only.
The source was written for these modes, I mean:#if(n)def _DEBUG
#if(n)def _DISTRIBUTE- 2
-
-
Where is it
"Sura leg position/animation during ride fixed and reanimated"
?
Those wrong animations are removed from the client, but those were in the patch_easter1 pack.
- d:\ymir work\pc2\sura\horse\wait.gr2
- d:\ymir work\pc2\sura\horse\wait_1.gr2
- d:\ymir work\pc2\sura\horse\wait_2.gr2
- 1
- 1
-
I patched the files manual with 4-5KB/s(32kbps) download speed, so...
All in one the last update is 49,9MB, this was not 1-2 minutes- 1
-
Here is an unpacked patch from official client.
There are the new pets by name: Eweriel and Ramblue (lamb_pet)
- 4
-
That is a good idea against the public "python pickup-bot"
[Old][Archive] - [Official] Unpacked Updates Metin2.de
in Guides & HowTo
Posted
Yes, the models and texture released already on elitepvpers.com but the thread already deleted..
http://www.elitepvpers.com/forum/metin2-pserver-guides-strategies/3871440-release-metin2_patch_new_halloween_weapon-beta-update-22-09-2015-a.html
Anyway, when I downloaded it, I imported to my account too, here is the link: