Former Staff Shisui 490 Posted June 27, 2015 Former Staff Share Posted June 27, 2015 Here's the correct guide on how2 pickup motion. Spoiler Firstly go to UserInterface/PythonCharacterModule.cpp and search for: PyModule_AddIntConstant(poModule, "NEW_AFFECT_DRAGON_SOUL_QUALIFIED", CInstanceBase::NEW_AFFECT_DRAGON_SOUL_QUALIFIED); add this function under it: PyModule_AddIntConstant(poModule, "MOTION_PICK_UP", CRaceMotionData::NAME_PICK_UP); Secondly go to UserInterface/PythonPlayerInput.cpp and search for: void CPythonPlayer::PickCloseItem() add this function: pkInstMain->GetGraphicThingInstancePtr()->InterceptOnceMotion(CRaceMotionData::NAME_PICK_UP); Thirdly go to GameLib/ActorInstanceMotion.cpp and search for: case CRaceMotionData::NAME_SLAP_HURT_WITH_SHAMAN: add this function under it: case CRaceMotionData::NAME_PICK_UP: Fourthly go to GameLib/RaceManager.cpp and search for: s_kMap_stType_dwIndex.insert(std::map<std::string, DWORD>::value_type("SKILL5", CRaceMotionData::NAME_SKILL+125)); add this function under it: s_kMap_stType_dwIndex.insert(std::map<std::string, DWORD>::value_type("PICK_UP", CRaceMotionData::NAME_PICK_UP)); Fifthly go to GameLib/RaceMotionData.cpp and search for: case NAME_DIG: add this function under it: case NAME_PICK_UP: Sixthly go to GameLib/RaceMotionData.h and search for: NAME_JOY, add this function under it: NAME_PICK_UP, Compile it and you're good to go. Now to finish this tutorial, go to root/playersettingmodule.py and search for: def SetGeneralMotions(mode, folder): add this function: chrmgr.RegisterCacheMotionData(mode, chr.MOTION_PICK_UP, "pick_up.msa") Tutorial finished, have fun. 10 Link to comment Share on other sites More sharing options...
Premium MrLibya 554 Posted June 27, 2015 Premium Share Posted June 27, 2015 the problem is , this not really good for metin2 becous there too many items drops by mobs - stone ... so every time when u want pick up the item it will take time , so this is very borring If you're going to do something, then do it right. Link to comment Share on other sites More sharing options...
Former Staff Shisui 490 Posted June 27, 2015 Author Former Staff Share Posted June 27, 2015 (edited) the problem is , this not really good for metin2 becous there too many items drops by mobs - stone ... so every time when u want pick up the item it will take time , so this is very borring Yeah... That's why they don't use this, probably. But if you click z many times, for example, the speed is the same as if you haven't this, but he looks like having an epileptic seizure. Edited June 27, 2015 by Shisui 2 Link to comment Share on other sites More sharing options...
Aerrow 41 Posted June 28, 2015 Share Posted June 28, 2015 That's all? No need to add the gr2 animation? Link to comment Share on other sites More sharing options...
Premium Necro 78 Posted June 28, 2015 Premium Share Posted June 28, 2015 That's all? No need to add the gr2 animation? GR2 Animation was made by Ymir long time ago 1 Link to comment Share on other sites More sharing options...
Former Staff flygun 304 Posted June 28, 2015 Former Staff Share Posted June 28, 2015 i did this long time ago ... and i talked to Denis about it ... then we came out with the same idea no need for all this waste of time of picking up items from ground ... but anyway good TUT Link to comment Share on other sites More sharing options...
Premium Galet 510 Posted June 29, 2015 Premium Share Posted June 29, 2015 Great ! However it's sad that we can use it because of the amount of items on the ground Link to comment Share on other sites More sharing options...
Former Staff Shisui 490 Posted June 29, 2015 Author Former Staff Share Posted June 29, 2015 no need for all this waste of time of picking up items from ground The time of picking up is the same. Link to comment Share on other sites More sharing options...
Mentez 0 Posted June 30, 2015 Share Posted June 30, 2015 It isn't good for pickup items, because there are few other motions - skills, sword etc. Pickup motion is good for flowers system. Link to comment Share on other sites More sharing options...
Sr.Agente 24 Posted August 8, 2015 Share Posted August 8, 2015 (edited) very good tutorial, but i have a problem, when i use "z" i cant pick a item but i char make animation.somebody can help me whit this error?sorry for my bad inglês Edited August 8, 2015 by Sr.Agente Link to comment Share on other sites More sharing options...
Sr.Agente 24 Posted August 8, 2015 Share Posted August 8, 2015 very good tutorial, but i have a problem, when i use "z" i cant pick a item but i char make animation.somebody can help me whit this error?sorry for my bad inglês [BUMP] Link to comment Share on other sites More sharing options...
Sr.Agente 24 Posted August 11, 2015 Share Posted August 11, 2015 very good tutorial, but i have a problem, when i use "z" i cant pick a item but i char make animation.somebody can help me whit this error?sorry for my bad inglês [BUMP] Link to comment Share on other sites More sharing options...
Roxas07 216 Posted December 6, 2015 Share Posted December 6, 2015 I prefer add that if (pkInstMain->IsAttacking()){ // if the player attack } else{ // if the player don't attack pkInstMain->GetGraphicThingInstancePtr()->InterceptOnceMotion(CRaceMotionData::NAME_PICK_UP); } Because use SPACE and Z at the same time, it's a very good usebug for speed attack x) Link to comment Share on other sites More sharing options...
Premium Galet 510 Posted December 6, 2015 Premium Share Posted December 6, 2015 if (!__IsPlayerAttacking()) pkInstMain->GetGraphicThingInstancePtr()->InterceptOnceMotion(CRaceMotionData::NAME_PICK_UP); 22 minutes ago, Roxas07 said: I prefer add that if (pkInstMain->IsAttacking()){ // if the player attack } else{ // if the player don't attack pkInstMain->GetGraphicThingInstancePtr()->InterceptOnceMotion(CRaceMotionData::NAME_PICK_UP); } Because use SPACE and Z at the same time, it's a very good usebug for speed attack x) It's completely untested but I think that the following code is maybe better if (!__IsPlayerAttacking()) pkInstMain->GetGraphicThingInstancePtr()->InterceptOnceMotion(CRaceMotionData::NAME_PICK_UP); Or maybe this one : if (!pkInstMain->IsAttacking()) pkInstMain->GetGraphicThingInstancePtr()->InterceptOnceMotion(CRaceMotionData::NAME_PICK_UP); But it's untested and it'll probably won't work as I don't know if "__IsPlayerAttacking" is declared or if the "!" must be placed before "pkInstMain" or before "IsAttacking()" 1 Link to comment Share on other sites More sharing options...
Roxas07 216 Posted December 6, 2015 Share Posted December 6, 2015 Yes you can do that also, the method return a boolean. I made that like this because I add a chat log for say something to the player or something other Link to comment Share on other sites More sharing options...
Eigenartig 7 Posted December 7, 2015 Share Posted December 7, 2015 thanks for release :B Link to comment Share on other sites More sharing options...
Pisti95 134 Posted February 19, 2016 Share Posted February 19, 2016 Thanks, i will try this Link to comment Share on other sites More sharing options...
Draktharon 32 Posted May 10, 2016 Share Posted May 10, 2016 Nice release but if u have to pick up 20, 30 items it's so slow Ahaha Link to comment Share on other sites More sharing options...
Premium EnKor 42 Posted April 3, 2019 Premium Share Posted April 3, 2019 how to add command only to make animation? if pc.get_sex() == true and npc.get_sex() == false then npc.purge() end Link to comment Share on other sites More sharing options...
Active Member ReFresh 2340 Posted April 4, 2019 Active Member Share Posted April 4, 2019 @EnKor It's a simple thing, you have to add the command to server source, then you simply call it by type this command in a chat. You can try to search on another forums, just type in google search somehing like: metin 2 add new emotion, animation. I believe you'll find some tutorial which you can follow to make a new command that you can call. 1 I'll be always helpful! Link to comment Share on other sites More sharing options...
Premium EnKor 42 Posted April 4, 2019 Premium Share Posted April 4, 2019 6 hours ago, ReFresh said: @EnKor It's a simple thing, you have to add the command to server source, then you simply call it by type this command in a chat. You can try to search on another forums, just type in google search somehing like: metin 2 add new emotion, animation. I believe you'll find some tutorial which you can follow to make a new command that you can call. thankyou. i make it if pc.get_sex() == true and npc.get_sex() == false then npc.purge() end Link to comment Share on other sites More sharing options...
KolenMG 5 Posted February 5 Share Posted February 5 Hello, just to confirm that the above change is working. I've just tested it. the other two things provided are failing the build tho. But yea, with the below change (provided above in comments) you can avoid the Atack speed animation glitch / bug / exploit. if (!pkInstMain->IsAttacking()) pkInstMain->GetGraphicThingInstancePtr()->InterceptOnceMotion(CRaceMotionData::NAME_PICK_UP); Link to comment Share on other sites More sharing options...
Recommended Posts