Jump to content

Dyshaxo

Inactive Member
  • Posts

    20
  • Joined

  • Last visited

  • Days Won

    2
  • Feedback

    0%

Dyshaxo last won the day on February 27 2015

Dyshaxo had the most liked content!

About Dyshaxo

Informations

  • Gender
    Male

Recent Profile Visitors

3445 profile views

Dyshaxo's Achievements

Contributor

Contributor (5/16)

  • Dedicated
  • Reacting Well
  • First Post
  • Collaborator
  • Conversation Starter

Recent Badges

47

Reputation

  1. Pet does have life, monsters do attack the pet, pet can die, and if you re-use your pet-seal it will revive. Maybe you should implement it and take a look by yourself before creating statements. The video was made in a pre-stadium of the release.
  2. char_battle.cpp add to Includes: #include "PetSystem.h", should work =)
  3. It IS Savant Nice to hear that there are actually people listening to his songs =) He's an awesome artist and started with the toy-keyboard of his little sister, awesome guy =)
  4. Thanks =) I actually had the Intention to translate it, but no time and stuff, really nice from you ^-^ All in all - this is a Bitchmove-Release. The Guy selling this annoyed me hard. And 250€ is definetly too much for 2 Functions and a call.
  5. M2 Download Center Download Here ( Internal ) I'm releasing self-tipped Source-Code extension for attacking Pets Preview: In Scope Square - the hottest P-Server project that will ever start - the whole thing is of course 1000x better, fixed with possible bugs, and a gui, with which the pet can then essentially control where the target of the Can choose pets himself, and can also launch skills of the pet you open "PetSystem.h" and insert under "void unmount();" bool Attack(LPCHARACTER pkVictim = NULL); Should then look like this: Same file, looks for: CPetActor * GetByVnum(DWORD vnum) const; and inserts below: void LaunchAttack(LPCHARACTER pkVictim = NULL); Should then look like this: you open "PetSystem.cpp" and: searches for bool CPetActor::Update(DWORD deltaTime) Replace complete function with: bool CPetActor::Update(DWORD deltaTime) { bool bResult = false; // Æê ÁÖÀÎÀÌ Á×¾ú°Å³ª, ¼ÒȯµÈ ÆêÀÇ »óÅ°¡ ÀÌ»óÇÏ´Ù¸é ÆêÀ» ¾ø¾Ú. (NOTE: °¡²û°¡´Ù ÀÌ·± Àú·± ÀÌÀ¯·Î ¼ÒȯµÈ ÆêÀÌ DEAD »óÅ¿¡ ºüÁö´Â °æ¿ì°¡ ÀÖÀ½ // ÆêÀ» ¼ÒȯÇÑ ¾ÆÀÌÅÛÀÌ ¾ø°Å³ª, ³»°¡ °¡Áø »óÅ°¡ ¾Æ´Ï¶ó¸é ÆêÀ» ¾ø¾Ú. if (m_pkOwner->IsDead() || (IsSummoned() && m_pkChar->IsDead()) || NULL == ITEM_MANAGER::instance().FindByVID(this->GetSummonItemVID()) || ITEM_MANAGER::instance().FindByVID(this->GetSummonItemVID())->GetOwner() != this->GetOwner() ) { this->Unsummon(); return true; } if (this->GetCharacter()->GetVictim()) { bResult = this->Attack(); } if (!bResult) { if (this->IsSummoned() && HasOption(EPetOption_Followable)) bResult = this->_UpdateFollowAI(); } return bResult; } Same file, looks for the function: void CPetActor::ClearBuff() Adds the following func AFTER this function (not IN the function): bool CPetActor::Attack(LPCHARACTER pkVictim) { if (pkVictim) { if (!pkVictim->IsMonster() || pkVictim->IsDead()) return false; if (m_pkChar->GetVictim()) return false; } else { pkVictim = m_pkChar->GetVictim(); if (!pkVictim) return false; } m_pkChar->SetVictim(pkVictim); const PIXEL_POSITION& rkPetPos = m_pkChar->GetXYZ(); const PIXEL_POSITION& rkVictimPos = pkVictim->GetXYZ(); int iDistance = DISTANCE_APPROX(rkPetPos.x - rkVictimPos.x, rkPetPos.y - rkVictimPos.y); if (iDistance >= m_pkChar->GetMobAttackRange()) { m_pkChar->Follow(pkVictim, m_pkChar->GetMobAttackRange()); } else { if (get_dword_time() - m_pkChar->GetLastAttackTime() >= 3000) { if (m_pkChar->Attack(pkVictim)) { m_pkChar->SendMovePacket(FUNC_ATTACK, 0, rkPetPos.x, rkPetPos.y, 0, get_dword_time()); m_pkChar->SetLastAttacked(get_dword_time()); } } } return true; } should then look like this: You are looking for the function: bool CPetSystem::Update(DWORD deltaTime) and ABOVE inserts the following function: void CPetSystem::LaunchAttack(LPCHARACTER pkVictim) { if (!pkVictim) return; for (itertype(m_petActorMap) it = m_petActorMap.begin(); it != m_petActorMap.end(); ++it) { CPetActor* pkPetActor = it->second; if (pkPetActor->IsSummoned()) pkPetActor->Attack(pkVictim); } } should then look like this: and last but not least - open the file: "char_battle.cpp", looks for the function: bool CHARACTER::Attack(LPCHARACTER pkVictim, BYTE bType) and adds under the following content: // only pc sets victim null. For npc, state machine will reset this. if (BATTLE_DEAD == iRet && IsPC()) SetVictim(NULL); This one: if (BATTLE_DEAD != iRet && IsPC()) { if (m_petSystem && m_petSystem->CountSummoned() > 0) m_petSystem->LaunchAttack(pkVictim); } Should then look like this: So that would increase the biceps buttock opening by - for my part - 2 meters. #Edt: So that the pets can also die: Opens the pvp.cpp, searches for bool CPVPManager::CanAttack(LPCHARACTER pkChr, LPCHARACTER pkVictim) and inserts: if (pkChr->IsPet() && pkVictim->IsMonster()) { return true; } if (pkChr->IsMonster() && pkVictim->IsPet()) { return true; } Like this: Enjoy!
  6. Hi there, I tried to make my own based on the Pasha37-Serverfiles, but they were so buggy from the start, and for some reason my skills and query's do not work on them. I guess that's some database stuff, but oh god >_< I replaced so much stuff and restored and replaced again and ahhh... This is - a Request for working Windows-Serverfiles, except someone got a solution for that "No working skills and Questquery's"-Problem, to explain it -> Skilling them up has no effect, you loose points but can't use the skill. They stay on "Unskilled". Game/DB-Files are not the problem -> replaced, still error. Client -> Tried with Clean 40250, error still occurs, Database -> used the one that was already installed on them, and - used my own, error still occured, Mysql-Version -> Tried with 5.6 and 5.5.16, Error occured on both, blah blah blah, and tomorrow I "wanted" to start the Test-Phase of my Server.
  7. Anyone else got the Skills-Problem? When I skill up for example sura-skills - the Skillpoints are used, but the skill is not usable. I actually want to create serverfiles based on this files, but even replacing stuff with my old FreeBSD-Files - bugs still stay. Somehow I got rid of the Invisible Inventory-Equipment bug, but the Skills still don't work, not even with my own gamecore/dbcore.
  8. #Edt: Well, the compiler of VS2012 does not support initializer_lists, I guess - all I need are the Linker-Options of someone using VS2008, that would help me a lot
  9. Hi there, I got some really annoying problems: I downloaded VS 2008, VS 2008 SP1-Extension, Windows Development Kit 7.7.1 (for ATL-Stuffs), then I added atl71-includes and libs, Extern-folder-includes and libs, ATL-Stuffs Includes and Libs, and the Problem: At Linking around a million error's like this: should be in english something like: "unresolved external symbol "symbol"" Can someone tell me how you put your linker-settings so this error does not appear?
  10. Hi there, since I couldn't get rid of that "tcp_bind: can't assign requested address"-Error, I made some research, and someone posted that the different socket-header /sys/sys/socket.h at FreeBSD 9.2 is responsible for the Error. Means -> Compiling a Gamecore on FreeBSD9.2 will put out that error, Theoretical Solution: Compiling with FreeBSD 8.2 So I've put my Source on my old 8.2-VM, gmake clean gmake -j20 -> Source compiled without any error, but at the end it doesn't build a gamefile. #Compiled without any error, but no "linking game..."/"linking test..." I guess the problem is a missing port-package, but which one? Anyone got any Idea?
  11. Hi there, for several Dungeon-Projects and to include the Map into Boss-Fights, I need a Quest-Function for the Source that gives out the X and Y-Coordinates of a Unique-Monster. Is anyone able to write that?
  12. same error Found a fix for that: Put the class "FCompareVnum" above the Function "InitializeMobTableSQL()":
×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.