Jump to content

Dyshaxo

Member
  • Posts

    20
  • Joined

  • Last visited

  • Days Won

    2

Dyshaxo last won the day on February 27 2015

Dyshaxo had the most liked content!

About Dyshaxo

Informations

  • Gender
    Male

Recent Profile Visitors

590 profile views

Dyshaxo's Achievements

Explorer

Explorer (4/14)

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

Recent Badges

22

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. Well, I could offer 2012 - is it possible with 2012?
  10. 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?
  11. 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?
  12. 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?
  13. 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.