-
Posts
1384 -
Joined
-
Last visited
-
Days Won
14 -
Feedback
0%
Content Type
Forums
Store
Third Party - Providers Directory
Feature Plan
Release Notes
Docs
Events
Posts posted by Galet
-
-
Nice, thanks ! Containing effect for wolfman ?
-
Specular is bugged on launcheur I think
-
For me the skill isn't usable...
If you use the old ogngdag from ellie, it's normal, otherwise I don't know. :x
-
Tell us how do you solve this bug please.
fixed ... tks anyway
-
I don't have the name, but this is the effect of the 96th skill.
-
I just corrected a bit the code and now it works perfectly, thanks !
say("Your pet level: "..pc.getqf("pet_"..pc.getqf("pet_item").."_level")-1)
-
Your welcome, I love you too
-
1
-
-
Someone know how to display the pet level in a "say" for example ?
I tried to put : "say("Your pet is level" ..pet_level)" but it doesn't work.
-
sema / newja, did your quest are release or not ? Or how to put the pet level before his name please ?
-
I have it, and a friend had the same before.
I think we have to remove the affect at each login, in char.cpp or input_login. ^^
-
"m_iMobItemRate" This is the flag, settable in game.
you can use priv_empire if you want, or use some mathematics in your mob_proto in order to increase gold_min gold_max and exp.
-
If you have :
SKILL_FLAG_PARTY = (1 << 27),
In skill.h then put it in 27th pos.
In your table the flag is in the first position, so it won't work.
-
1
-
-
Thanks !
-
Yeah, but I think it's better to use this post, in case if others peoples need the same help.
-
2
-
-
Try with the position you put at the beginning, then check your code, it's work for me.
-
Me I have this bug too (i think), but the horse level is only 40, even if I have "50" in my gamecore.
-
Ah indeed, I'll try, thanks sema
-
Perfect ! I love it !
-
-
2
-
-
It's all good, I don't know, upload your whole file in pastebin, i'll correct for you.
-
Check your end braces "}" "{"
-
I corrected, there's an include missing, I edited my tutorial, but this is missing in the original too.
Your welcome
-
1
-
-
Corrected tabulation, code, include and english How-To
[HowTo]Search in petsystem.h "void unmount();" and add this under :bool Attack(LPCHARACTER pkVictim = NULL);
It's look like this :
Then search "CPetActor* GetByVnum(DWORD vnum) const;"and add this under :void LaunchAttack(LPCHARACTER pkVictim = NULL);
It's look like this :
-> Save and then open PetSystem.cpp:Search the "bool CPetActor::Update(DWORD deltaTime)" functionAnd replace it with this :
bool CPetActor::Update(DWORD deltaTime) { bool bResult = false; 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; }
Search the "void CPetActor::ClearBuff()" functionAnd add this function under :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; }
It will look like this:
Search "bool CPetSystem::Update(DWORD deltaTime)"And add this above: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); } }
It will look like this:Save and open "char_battle.cpp" :Add a the begining :#include "PetSystem.h"
Then search this function :"bool CHARACTER::Attack(LPCHARACTER pkVictim, BYTE bType)"And especially this part:// only pc sets victim null. For npc, state machine will reset this. if (BATTLE_DEAD == iRet && IsPC()) SetVictim(NULL);
Add this under:if (BATTLE_DEAD != iRet && IsPC()) { if (m_petSystem && m_petSystem->CountSummoned() > 0) m_petSystem->LaunchAttack(pkVictim); }
It will look like this:Save and open "pvp.cpp"Then search this function : "bool CPVPManager::CanAttack(LPCHARACTER pkChr, LPCHARACTER pkVictim)"
And add this under :if (pkChr->IsPet() && pkVictim->IsMonster()) { return true; } if (pkChr->IsMonster() && pkVictim->IsPet()) { return true; }
Like this:Recompile, and done
-
1
-
6
-
-
We trying to solve your problem but you still criticize, really ? '-'
Metin2 STR Bug
in Community Support - Questions & Answers
Posted
Is your game is an official revision ?
Db : 43360 (16.02.2015)