- Mesaj
- 503
- Çözümler
- 31
- Beğeni
- 219
- Puan
- 609
- Ticaret Puanı
- 0
merhabalar
kuşağa emdirilmiş bonusları temizlemek için dönüşüm belgesi itemini kuşağa sürüklediğimde herhangi bir tepki yok
CLEAN_ATTR_VALUE0 fonksiyonunun çalışması için gerekli itemin '90000' value0'ın CLEAN_ATTR_VALUE0 a atanan değer olası gerekiyor galiba
burda 7 olarak tanımlı
itemin proto kodu
client tarafı
kuşağa emdirilmiş bonusları temizlemek için dönüşüm belgesi itemini kuşağa sürüklediğimde herhangi bir tepki yok
uiinventory.py:
def DetachMetinFromItem(self, scrollSlotPos, targetSlotPos):
scrollIndex = player.GetItemIndex(scrollSlotPos)
targetIndex = player.GetItemIndex(targetSlotPos)
if not player.CanDetach(scrollIndex, targetSlotPos):
if app.ENABLE_ACCE_SYSTEM:
item.SelectItem(scrollIndex)
if item.GetValue(0) == acce.CLEAN_ATTR_VALUE0:
chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.ACCE_FAILURE_CLEAN)
else:
chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.REFINE_FAILURE_METIN_INSEPARABLE_ITEM)
else:
chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.REFINE_FAILURE_METIN_INSEPARABLE_ITEM)
return
self.questionDialog = uiCommon.QuestionDialog()
self.questionDialog.SetText(localeInfo.REFINE_DO_YOU_SEPARATE_METIN)
if app.ENABLE_ACCE_SYSTEM:
item.SelectItem(targetIndex)
if item.GetItemType() == item.ITEM_TYPE_COSTUME and item.GetItemSubType() == item.COSTUME_TYPE_ACCE:
item.SelectItem(scrollIndex)
if item.GetValue(0) == acce.CLEAN_ATTR_VALUE0:
self.questionDialog.SetText(localeInfo.ACCE_DO_YOU_CLEAN)
self.questionDialog.SetAcceptEvent(ui.__mem_func__(self.OnDetachMetinFromItem))
self.questionDialog.SetCancelEvent(ui.__mem_func__(self.OnCloseQuestionDialog))
self.questionDialog.Open()
self.questionDialog.sourcePos = scrollSlotPos
self.questionDialog.targetPos = targetSlotPos
CLEAN_ATTR_VALUE0 fonksiyonunun çalışması için gerekli itemin '90000' value0'ın CLEAN_ATTR_VALUE0 a atanan değer olası gerekiyor galiba
item_length.h:
#ifdef ENABLE_ACCE_SYSTEM
enum EAcceInfo
{
ACCE_GRADE_VALUE_FIELD = 0,
ACCE_ABSORPTION_SOCKET = 0,
ACCE_ABSORBED_SOCKET = 1,
ACCE_GRADE_1_ABS = 1,
ACCE_GRADE_2_ABS = 5,
ACCE_GRADE_3_ABS = 10,
ACCE_GRADE_4_ABS_MIN = 11,
ACCE_GRADE_4_ABS_MAX = 25,
ACCE_GRADE_4_ABS_MAX_COMB = 19,
ACCE_GRADE_4_ABS_RANGE = 5,
ACCE_EFFECT_FROM_ABS = 19,
ACCE_CLEAN_ATTR_VALUE0 = 7,
ACCE_WINDOW_MAX_MATERIALS = 2,
ACCE_GRADE_1_PRICE = 100000,
ACCE_GRADE_2_PRICE = 200000,
ACCE_GRADE_3_PRICE = 300000,
ACCE_GRADE_4_PRICE = 500000,
ACCE_COMBINE_GRADE_1 = 80,
ACCE_COMBINE_GRADE_2 = 70,
ACCE_COMBINE_GRADE_3 = 50,
ACCE_COMBINE_GRADE_4 = 30,
};
#endif
burda 7 olarak tanımlı
itemin proto kodu
Kod:
90000 ¿©È´Ü ºñ¼ú¼ ITEM_USE USE_SPECIAL 1 ANTI_DROP | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP ITEM_STACKABLE | LOG NONE NONE 1200000 12000 0 0 0 LIMIT_NONE 0 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 7 0 0 0 0 0 0 0 0
client tarafı
PythonPlayerModule.cpp:
#ifdef ENABLE_ACCE_SYSTEM
if (pScrollItemData->GetValue(0) == ACCE_CLEAN_ATTR_VALUE0)
{
if ((pTargetItemData->GetType() != CItemData::ITEM_TYPE_COSTUME) || (pTargetItemData->GetSubType() != CItemData::COSTUME_ACCE))
return Py_BuildValue("i", DETACH_METIN_CANT);
const TItemData * pPlayerItem = CPythonPlayer::Instance().GetItemData(TargetSlotIndex);
if (pPlayerItem)
{
if (pPlayerItem->alSockets[ACCE_ABSORBED_SOCKET] > 0)
return Py_BuildValue("i", DETACH_METIN_OK);
else
return Py_BuildValue("i", DETACH_METIN_CANT);
}
else
return Py_BuildValue("i", DETACH_METIN_CANT);
}
#endif