Reklam
Peki crossbow ile ok atabiliyormusun hocam magicinstance de de sorun olabilir sanırımMerhaba ,
Ko-yardim üzerinden paylaşılan 2383 Nxwile source'nin hatalarını fixlemekteyim.
Bugünkü fixlemeniz gereken önemli bir kaynak dosyası paylaşacağım.
Aşağıda resimde paylaştığım gibi croshbow itemlerini bu source'de elimize takamıyorduk size bunu fixlemeyi göstereceğim.
Ekli dosyayı görüntüle 6569
Gamedefine.cpp'ye giriyoruz ve ctrl+f ile isCrossBow yazarak aratıyoruz ve karşımıza çıkan INLINE bool isBow ve INLINE bool isCrossBow yazan satırlara aşağıdaki kodu yapıştırıyoruz.
INLINE bool isBow() { return GetKind() == WEAPON_KIND_BOW; } // sadece yay - xahta the fix
INLINE bool isCrossBow() { return GetKind() == WEAPON_KIND_CROSSBOW; } // sadece crossbow - xahta the fix
Bu kodlarla croshbow ve yayı ayırmış oluyoruz.
Sonrasında İtemhandler.cpp'ye giriyoruz ve ctrl+f ile isCrossBow yazarak aratıyoruz ve aşağıdaki satırda hem isbow hedme isCrossBow olan güncellemeyi göreceksiniz. Orayada aşağıda verdiğim kodları yazıp yer değiştriyorsunuz.
// Yay (bow) sadece sol ele takılmalı - xahta the fix
if (bDstPos != LEFTHAND && pTable.isBow()) // sadece yay - xahta the fix
{
printf("Slot Fail->isBow User: %s\n", GetName().c_str());
goto fail_return;
}
// Crossbow sadece sağ ele takılmalı - - xahta the fix
if (bDstPos != RIGHTHAND && pTable.isCrossBow()) // sadece crossbow
{
Derleyip sorunumuzu çözüyoruz hayırlı olsun.
Güzel yere değildin Akşam kontrol ederim. Bowu baz alarak ilerleriz. Test ettin mi sen?Peki crossbow ile ok atabiliyormusun hocam magicinstance de de sorun olabilir sanırım
tamamen magicInstance.cpp düzeltilecek aranacak yerler orasıGüzel yere değildin Akşam kontrol ederim. Bowu baz alarak ilerleriz. Test ettin mi sen?
pTable = TO_USER(pSkillCaster)->GetItemPrototype(RIGHTHAND);
if (pTable.isnull() || !pTable.isCrossBow())
return false;
if (pCaster->isRogue() && pSkill.iUseItem != 370007000 && pCaster->GetZoneID() != ZONE_CHAOS_DUNGEON)
if (pCaster->isRogue() && pSkill.iUseItem != 370007000 && pCaster->GetZoneID() != ZONE_CHAOS_DUNGEON)
{
if (pSkill.bType[0] == 2 || (pSkill.bType[0] == 1 && !isEskrimaSkills()))
{
_ITEM_TABLE pLeftHand = TO_USER(pSkillCaster)->GetItemPrototype(LEFTHAND);
_ITEM_TABLE pRightHand = TO_USER(pSkillCaster)->GetItemPrototype(RIGHTHAND);
if (pSkill.bType[0] == 2)
{
if ((pLeftHand.isnull() && pRightHand.isnull()) || ((!pLeftHand.isnull() && !pLeftHand.isBow()) || (!pRightHand.isnull() && !pRightHand.isCrossBow())))
return SkillUseResult::SkillUseFail;
}
else if (pSkill.bType[0] == 1 && !isEskrimaSkills())
{
if (isBlowArrowSkills())
{
if ((pLeftHand.isnull() && pRightHand.isnull()) || ((!pLeftHand.isnull() && !pLeftHand.isBow()) || (!pRightHand.isnull() && !pRightHand.isCrossBow())))
return SkillUseResult::SkillUseFail;
}
else if ((pLeftHand.isnull() && pRightHand.isnull()) || ((!pLeftHand.isnull() && pLeftHand.isBow()) || (!pRightHand.isnull() && pRightHand.isCrossBow())))
return SkillUseResult::SkillUseFail;
}
if (!pLeftHand.isnull())
{
if (pLeftHand.isDagger() && pSkill.bType[0] == 2)
return SkillUseResult::SkillUseFail;
if (!isBlowArrowSkills() && pLeftHand.isBow() && (pSkill.bType[0] == 1 || pSkill.bType[1] == 1) && pSkill.bCastTime == 0)
return SkillUseResult::SkillUseFail;
}
if (!pRightHand.isnull())
{
if (pRightHand.isDagger() && pSkill.bType[0] == 2)
return SkillUseResult::SkillUseFail;
if (pRightHand.isCrossBow() && (pSkill.bType[0] == 1 || pSkill.bType[1] == 1) && pSkill.bCastTime == 0)
return SkillUseResult::SkillUseFail;
}
}
if (bOpcode == (uint8)MagicOpcode::MAGIC_EFFECTING && pSkill.bType[0] == 2)
return SkillUseResult::SkillUseOK;
}
Haha bide o var dimi ücretli yapabilirim inadına ücretsiz paylaşımlar devam ?tamamen magicInstance.cpp düzeltilecek aranacak yerler orası
bool MagicInstance::ExecuteType2() giriyorsun dostum
sendeolacak onun altınıKod:pTable = TO_USER(pSkillCaster)->GetItemPrototype(RIGHTHAND);
düzeltiyorsunKod:if (pTable.isnull() || !pTable.isCrossBow()) return false;
sonra aratKod:if (pCaster->isRogue() && pSkill.iUseItem != 370007000 && pCaster->GetZoneID() != ZONE_CHAOS_DUNGEON)
alt tarafı yapıştır devam et
Kod:if (pCaster->isRogue() && pSkill.iUseItem != 370007000 && pCaster->GetZoneID() != ZONE_CHAOS_DUNGEON) { if (pSkill.bType[0] == 2 || (pSkill.bType[0] == 1 && !isEskrimaSkills())) { _ITEM_TABLE pLeftHand = TO_USER(pSkillCaster)->GetItemPrototype(LEFTHAND); _ITEM_TABLE pRightHand = TO_USER(pSkillCaster)->GetItemPrototype(RIGHTHAND); if (pSkill.bType[0] == 2) { if ((pLeftHand.isnull() && pRightHand.isnull()) || ((!pLeftHand.isnull() && !pLeftHand.isBow()) || (!pRightHand.isnull() && !pRightHand.isCrossBow()))) return SkillUseResult::SkillUseFail; } else if (pSkill.bType[0] == 1 && !isEskrimaSkills()) { if (isBlowArrowSkills()) { if ((pLeftHand.isnull() && pRightHand.isnull()) || ((!pLeftHand.isnull() && !pLeftHand.isBow()) || (!pRightHand.isnull() && !pRightHand.isCrossBow()))) return SkillUseResult::SkillUseFail; } else if ((pLeftHand.isnull() && pRightHand.isnull()) || ((!pLeftHand.isnull() && pLeftHand.isBow()) || (!pRightHand.isnull() && pRightHand.isCrossBow()))) return SkillUseResult::SkillUseFail; } if (!pLeftHand.isnull()) { if (pLeftHand.isDagger() && pSkill.bType[0] == 2) return SkillUseResult::SkillUseFail; if (!isBlowArrowSkills() && pLeftHand.isBow() && (pSkill.bType[0] == 1 || pSkill.bType[1] == 1) && pSkill.bCastTime == 0) return SkillUseResult::SkillUseFail; } if (!pRightHand.isnull()) { if (pRightHand.isDagger() && pSkill.bType[0] == 2) return SkillUseResult::SkillUseFail; if (pRightHand.isCrossBow() && (pSkill.bType[0] == 1 || pSkill.bType[1] == 1) && pSkill.bCastTime == 0) return SkillUseResult::SkillUseFail; } } if (bOpcode == (uint8)MagicOpcode::MAGIC_EFFECTING && pSkill.bType[0] == 2) return SkillUseResult::SkillUseOK; }
ücret 1000.tl :XXXXXXXXXXXXXXXXD
ücretli yaparım xxxxxxxxxxxxd
discord ekle xxxxxxxxxxxxxxxd
selametle
tamamen magicInstance.cpp düzeltilecek aranacak yerler orası
bool MagicInstance::ExecuteType2() giriyorsun dostum
sendeolacak onun altınıKod:pTable = TO_USER(pSkillCaster)->GetItemPrototype(RIGHTHAND);
düzeltiyorsunKod:if (pTable.isnull() || !pTable.isCrossBow()) return false;
sonra aratKod:if (pCaster->isRogue() && pSkill.iUseItem != 370007000 && pCaster->GetZoneID() != ZONE_CHAOS_DUNGEON)
alt tarafı yapıştır devam et
Kod:if (pCaster->isRogue() && pSkill.iUseItem != 370007000 && pCaster->GetZoneID() != ZONE_CHAOS_DUNGEON) { if (pSkill.bType[0] == 2 || (pSkill.bType[0] == 1 && !isEskrimaSkills())) { _ITEM_TABLE pLeftHand = TO_USER(pSkillCaster)->GetItemPrototype(LEFTHAND); _ITEM_TABLE pRightHand = TO_USER(pSkillCaster)->GetItemPrototype(RIGHTHAND); if (pSkill.bType[0] == 2) { if ((pLeftHand.isnull() && pRightHand.isnull()) || ((!pLeftHand.isnull() && !pLeftHand.isBow()) || (!pRightHand.isnull() && !pRightHand.isCrossBow()))) return SkillUseResult::SkillUseFail; } else if (pSkill.bType[0] == 1 && !isEskrimaSkills()) { if (isBlowArrowSkills()) { if ((pLeftHand.isnull() && pRightHand.isnull()) || ((!pLeftHand.isnull() && !pLeftHand.isBow()) || (!pRightHand.isnull() && !pRightHand.isCrossBow()))) return SkillUseResult::SkillUseFail; } else if ((pLeftHand.isnull() && pRightHand.isnull()) || ((!pLeftHand.isnull() && pLeftHand.isBow()) || (!pRightHand.isnull() && pRightHand.isCrossBow()))) return SkillUseResult::SkillUseFail; } if (!pLeftHand.isnull()) { if (pLeftHand.isDagger() && pSkill.bType[0] == 2) return SkillUseResult::SkillUseFail; if (!isBlowArrowSkills() && pLeftHand.isBow() && (pSkill.bType[0] == 1 || pSkill.bType[1] == 1) && pSkill.bCastTime == 0) return SkillUseResult::SkillUseFail; } if (!pRightHand.isnull()) { if (pRightHand.isDagger() && pSkill.bType[0] == 2) return SkillUseResult::SkillUseFail; if (pRightHand.isCrossBow() && (pSkill.bType[0] == 1 || pSkill.bType[1] == 1) && pSkill.bCastTime == 0) return SkillUseResult::SkillUseFail; } } if (bOpcode == (uint8)MagicOpcode::MAGIC_EFFECTING && pSkill.bType[0] == 2) return SkillUseResult::SkillUseOK; }
ücret 1000.tl :XXXXXXXXXXXXXXXXD
ücretli yaparım xxxxxxxxxxxxd
discord ekle xxxxxxxxxxxxxxxd
selametle
hocam ben zaten düzelttim ve buraya attım madem bu kadar bilgilisin düzelttiklerini atta insanlar faydalansın kurusıkıya gerek yok =)Kanka eski biraz güncellen, whatsap da qel yaz, yeni güncellen vereyim sağ, sol sistemi düzelttim
![]()
=) haha eyv. reis. sizdende bekleriz bu incelikleriücretli yaparım .d
dc: zeplin59
1 yıl önce tamamen fixlediğim sorunlar so easy .d
şakası bir yana emeğine sağlık kardeş güzel şeyler bunlar