Smokie 3 Report post Posted May 14, 2021 Hello. Is there a way to remove auto attacks for magic classes? Something like tweak, I don't want to do it on server side Quote Share this post Link to post Share on other sites
mkhzaleh 131 Report post Posted May 14, 2021 yes in client side source code Quote Share this post Link to post Share on other sites
AlGhoul 66 Report post Posted May 15, 2021 On 5/14/2021 at 7:25 PM, mkhzaleh said: yes in client side source code very informative answer, I think everybody is going to benefit from it, even I was inspired by it... If he had access to the client source "or" had the knowledge why would he bother asking to get such an answer? any ways cause you just inspired me, I'm posting this. On 5/14/2021 at 3:27 PM, Smokie said: Hello. Is there a way to remove auto attacks for magic classes? Something like tweak, I don't want to do it on server side Hey fella, open up "MouseDown.cpp" file and find the following functions CMouseDown::_AttackCha CMouseDown::_AttackArea add this on top of their body short nJob = pMain->getGameAttr()->get(ATTR_JOB); enum class rJob { Explorer = 4, Herbalist = 5, Cleric = 13, Sealmaster = 14, Voyager = 16, }; for _AttackCha replace the following: if(pSkill->IsAutoAttack() && g_pGameApp->IsShiftPress()) { if (_pAutoAttack->AttackStart(pMain, pSkill, pTarget)) return true; } with this: if( pSkill->IsAutoAttack() && g_pGameApp->IsShiftPress() ) { switch (nJob) { case rJob::Explorer: // if you're using modern c++, you can add [[fallthrough]] for the rest of the cases case rJob::Herbalist: case rJob::Cleric: case rJob::Sealmaster: case rJob::Voyager: g_pGameApp->SysInfo("Autoattack is disabled for magic classes!"); break; default: if (_pAutoAttack->AttackStart(pMain, pSkill, pTarget)) return true; } } for _AttackArea replace the following: if(pSkill->IsAutoAttack() && g_pGameApp->IsShiftPress()) { if(_pAutoAttack->AttackStart(pMain, pSkill, nScrX, nScrY)) return true; } if(pSkill->IsAutoAttack() && g_pGameApp->IsShiftPress()) { switch (nJob) { case rJob::Explorer: case rJob::Herbalist: case rJob::Cleric: case rJob::Sealmaster: case rJob::Voyager: g_pGameApp->SysInfo("Autoattack is disabled for magic classes!"); break; default: if(_pAutoAttack->AttackStart(pMain, pSkill, nScrX, nScrY)) return true; } } 4 1 Quote Kind regards, AG. Share this post Link to post Share on other sites
Lua 35 Report post Posted May 16, 2021 3 hours ago, J0k3r said: very informative answer, I think everybody is going to benefit from it, even I was inspired by it... If he had access to the client source "or" had the knowledge why would he bother asking to get such an answer? any ways cause you just inspired me, I'm posting this. Hey fella, open up "MouseDown.cpp" file and find the following functions CMouseDown::_AttackCha CMouseDown::_AttackArea add this on top of their body short nJob = pMain->getGameAttr()->get(ATTR_JOB); enum class rJob { Explorer = 4, Herbalist = 5, Cleric = 13, Sealmaster = 14, Voyager = 16, }; for _AttackCha replace the following: if(pSkill->IsAutoAttack() && g_pGameApp->IsShiftPress()) { if (_pAutoAttack->AttackStart(pMain, pSkill, pTarget)) return true; } with this: if( pSkill->IsAutoAttack() && g_pGameApp->IsShiftPress() ) { switch (nJob) { case rJob::Explorer: // if you're using modern c++, you can add [[fallthrough]] for the rest of the cases case rJob::Herbalist: case rJob::Cleric: case rJob::Sealmaster: case rJob::Voyager: g_pGameApp->SysInfo("Autoattack is disabled for magic classes!"); break; default: if (_pAutoAttack->AttackStart(pMain, pSkill, pTarget)) return true; } } for _AttackArea replace the following: if(pSkill->IsAutoAttack() && g_pGameApp->IsShiftPress()) { if(_pAutoAttack->AttackStart(pMain, pSkill, nScrX, nScrY)) return true; } if(pSkill->IsAutoAttack() && g_pGameApp->IsShiftPress()) { switch (nJob) { case rJob::Explorer: case rJob::Herbalist: case rJob::Cleric: case rJob::Sealmaster: case rJob::Voyager: g_pGameApp->SysInfo("Autoattack is disabled for magic classes!"); break; default: if(_pAutoAttack->AttackStart(pMain, pSkill, nScrX, nScrY)) return true; } } Nice job It seems that some people still care about the community. What we see today are people who know "what to do and how to do it" and appears only to say that they know how. Anyway, I'm not saying that you should do a job for free. But I think we've gone over the point as a dead game community. Quote Share this post Link to post Share on other sites
mkhzaleh 131 Report post Posted May 16, 2021 12 hours ago, J0k3r said: very informative answer, I think everybody is going to benefit from it, even I was inspired by it... If he had access to the client source "or" had the knowledge why would he bother asking to get such an answer? any ways cause you just inspired me, I'm posting this. Hey fella, open up "MouseDown.cpp" file and find the following functions CMouseDown::_AttackCha CMouseDown::_AttackArea add this on top of their body short nJob = pMain->getGameAttr()->get(ATTR_JOB); enum class rJob { Explorer = 4, Herbalist = 5, Cleric = 13, Sealmaster = 14, Voyager = 16, }; for _AttackCha replace the following: if(pSkill->IsAutoAttack() && g_pGameApp->IsShiftPress()) { if (_pAutoAttack->AttackStart(pMain, pSkill, pTarget)) return true; } with this: if( pSkill->IsAutoAttack() && g_pGameApp->IsShiftPress() ) { switch (nJob) { case rJob::Explorer: // if you're using modern c++, you can add [[fallthrough]] for the rest of the cases case rJob::Herbalist: case rJob::Cleric: case rJob::Sealmaster: case rJob::Voyager: g_pGameApp->SysInfo("Autoattack is disabled for magic classes!"); break; default: if (_pAutoAttack->AttackStart(pMain, pSkill, pTarget)) return true; } } for _AttackArea replace the following: if(pSkill->IsAutoAttack() && g_pGameApp->IsShiftPress()) { if(_pAutoAttack->AttackStart(pMain, pSkill, nScrX, nScrY)) return true; } if(pSkill->IsAutoAttack() && g_pGameApp->IsShiftPress()) { switch (nJob) { case rJob::Explorer: case rJob::Herbalist: case rJob::Cleric: case rJob::Sealmaster: case rJob::Voyager: g_pGameApp->SysInfo("Autoattack is disabled for magic classes!"); break; default: if(_pAutoAttack->AttackStart(pMain, pSkill, nScrX, nScrY)) return true; } } his question if can do it without server side , so its simple answer, and wonder why all these lines if can done the code in 2 lines lol Quote Share this post Link to post Share on other sites
mkhzaleh 131 Report post Posted May 16, 2021 another good point so people stop show off with ideas we made for our own anyway mele attack/auto attack / item filter all made for ultimate pirate online and Eternal Abaddon so just stop copying it Quote Share this post Link to post Share on other sites
AlGhoul 66 Report post Posted May 16, 2021 1 hour ago, mkhzaleh said: his question if can do it without server side , so its simple answer, and wonder why all these lines if can done the code in 2 lines lol Well to be honest I don't give a fuck about code optimization right there, also if they were really 2 lines why didn't u just write them? Or you're so desperate to show off about a game that's already dead with a community as good as you, if you know what i mean? Also i guess you don't understand english, On 5/14/2021 at 3:27 PM, Smokie said: Is there a way to remove auto attacks for magic classes? I don't if i'm blind or making things up but i can't the "Is there a way" part, or is it a two word(s) question? 1 hour ago, mkhzaleh said: another good point so people stop show off with ideas we made for our own anyway mele attack/auto attack / item filter all made for ultimate pirate online and Eternal Abaddon so just stop copying it Ohh, you just showed me how pathetic you really are, crying about you two lines? Don't want them shared? Are they gonna change the universe? Complaining about a leaked game? Alright, you can have copyrights for your brilliant code/ideas, here's a medal 🎖, & people wonder why the community is so toxic... Anyways I'm not bringing anymore drama with such a person, so it's the end of coversation. @MOD, just turn off further comments for already answered questions, we've had enough drama, i myself had enough fun today Quote Kind regards, AG. Share this post Link to post Share on other sites
mkhzaleh 131 Report post Posted May 16, 2021 (edited) we leave understanding english for you and why i should share them? if you want something just study it? Quote I don't give a fuck about code optimization right there that's normal newbies never worry about that? Quote Ohh, you just showed me how pathetic you really are, crying about you two lines? Don't want them shared? Are they gonna change the universe? Complaining about a leaked game? i see you are crying out there? its so simple we won't share x things we made ,for someone will use for his benefit & already there is few servers like that kingdom which is stole ea clients to use it even without permission well enough drama from such newbies people like you as well so stop acting as"pro " Edited May 16, 2021 by mkhzaleh Quote Share this post Link to post Share on other sites
Дракан 39 Report post Posted May 16, 2021 (edited) Your dispute consists of 2 lines. It is clear that someone can do more, someone can do less, isn't it better to spend this time on your development? Edited May 16, 2021 by Дракан Quote Share this post Link to post Share on other sites
AlGhoul 66 Report post Posted May 16, 2021 (edited) 4 hours ago, Дракан said: Your dispute consists of 2 lines. It is clear that someone can do more, someone can do less, isn't it better to spend this time on your development? Sure, but returning false from there would cancel the attack, not just the auto attack which isn't the point, also for herbalists they learn the bolt skill before they get to 2nd adv classes. Note: i prefer switch statemens/enum classes, more control, more readable/reasonable code. Edited May 16, 2021 by J0k3r Quote Kind regards, AG. Share this post Link to post Share on other sites