- Katılım
- 17 Mar 2015
- Konular
- 75
- Mesajlar
- 1,326
- Reaksiyon Skoru
- 215
- Altın Konu
- 0
- Başarım Puanı
- 92
- Yaş
- 32
- TM Yaşı
- 11 Yıl 1 Ay 6 Gün
- MmoLira
- 0
- DevLira
- 0
Metin2 EP, Valorant VP dahil tüm oyun ürünlerini en uygun fiyatlarla bulabilir, Item ve Karakterlerinizi hızlıca satabilirsiniz. HEMEN TIKLA!
Yabancı Forumdan Alıntıdır
Kostüm Efsunlama ve Değiştirmedir.
Kostümü efsunla
Köstümü dönüştür
char_item.cpp açılır ve aratılır;
Kostüm Efsunlama ve Değiştirmedir.
Kostümü efsunla
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
Köstümü dönüştür
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
char_item.cpp açılır ve aratılır;
Kod:
if (ITEM_COSTUME == item2->GetType()
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
;
Kod:
if (ITEM_COSTUME == item2->GetType() && item->GetVnum() != 70063 && item->GetVnum() != 70064) //Kostumu Donustur ve Kostumu efsunla
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Ogenin ozelligi degistirilemez."));
return false;
}
tekrar aratılır;
Kod:
case USE_CHANGE_ATTRIBUTE :
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
Kod:
case USE_CHANGE_ATTRIBUTE :
if (item->GetVnum() == 70063)
{
if (item2->GetType() != ITEM_COSTUME)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ITEM_ISNT_COSTUME"));
return false;
}
if (item2->GetAttributeCount() < 3 && item2->GetAttributeCount() > 0)
{
if (number(1, 100) < 30)
{
while(item2->GetAttributeCount() < number(2, 3))
item2->AddAttribute();
}
}
}
// Enchant costume
if (item->GetVnum() == 70064)
{
if (item2->GetType() != ITEM_COSTUME)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ITEM_ISNT_COSTUME"));
return false;
}
}
if (item2->GetAttributeSetIndex() == -1)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ì†ì‱ì†ë³â‚¬ê²½í• ìˆËÅ“ ìâ€â€â€ ëІì•â€ì´í…œì…니다."));
return false;
}
if (item2->GetAttributeCount() == 0)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ë³â‚¬ê²½í• ì†ìâ€±ì´ ìâ€â€â€ ìÅ µë‹ˆë‹¤."));
return false;
}
if (GM_PLAYER == GetGMLevel() && false == test_server)
{
//
// Event Flag 를 통해 ì´ì â€ìâ۠ì•â€ì´í…œ ì†ì‱ ë³â‚¬ê²½ì†í•œ 시ê°â€ìÅ“¼ë¡Å“ ë¶â‚¬í‰ ì¶©ë¶â€í•œ 시ê°ââ‚¬ì´ íËÅ“ë €ëÅ â€ì§â‚¬ ê²â‚¬ì‚¬í•ËÅ“ê³
// 시ê°ââ‚¬ì´ ì¶©ë¶â€íˆíËÅ“ë €ë‹¤ë©´ íËÅ“ââ‚¬ì¬ ì†ì‱ë³â‚¬ê²½ìâ۠ëÅâ€â•€í•œ 시ê°â€ì†ì․ì •í•´ ì¤â‚¬ë‹¤.
//
DWORD dwChangeItemAttrCycle = quest::CQuestManager::instance().GetEventFlag(msc_szChangeItemAttrCycleFlag);
if (dwChangeItemAttrCycle < msc_dwDefaultChangeItemAttrCycle)
dwChangeItemAttrCycle = msc_dwDefaultChangeItemAttrCycle;
quest::PC* pPC = quest::CQuestManager::instance().GetPC(GetPlayerID());
if (pPC)
{
DWORD dwNowMin = get_global_time() / 60;
//Comment for 0 switch players start
//DWORD dwLastChangeItemAttrMin = pPC->GetFlag(msc_szLastChangeItemAttrFlag);
//if (dwLastChangeItemAttrMin + dwChangeItemAttrCycle > dwNowMin)
//{
//ChatPacket(CHAT_TYPE_INFO, LC_TEXT("LOL?R≫ aU¸UAo %d?D REl≫z^´A ´U¨A ?Z°cCN Lo lr¨R´D´U.(%d ?D l¸R¨)"),
//dwChangeItemAttrCycle, dwChangeItemAttrCycle - (dwNowMin - dwLastChangeItemAttrMin));
//return false;
//}
//Comment for 0 switch players end
pPC->SetFlag(msc_szLastChangeItemAttrFlag, dwNowMin);
}
}
if (item->GetSubType() == USE_CHANGE_ATTRIBUTE2)
{
int aiChangeProb[ITEM_ATTRIBUTE_MAX_LEVEL] =
{
0, 0, 30, 40, 3
};
item2->ChangeAttribute(aiChangeProb);
}
else if (item->GetVnum() == 76014)
{
int aiChangeProb[ITEM_ATTRIBUTE_MAX_LEVEL] =
{
0, 10, 50, 39, 1
};
item2->ChangeAttribute(aiChangeProb);
}
else
{
// ì ì¬ê²½ íÅ ¹ìˆËÅ“ì²ËÅ“리
// ì ˆëÅâ€â•€ë¡Å“ ì ì¬ê°â‚¬ ì¶â€ê°â‚¬ 안ë ê±°ë¼ í•ËÅ“ìâ€‬ í•Ëœ드 ì½â€ë
함.
if (item->GetVnum() == 71151 || item->GetVnum() == 76023)
{
if ((item2->GetType() == ITEM_WEAPON)
|| (item2->GetType() == ITEM_ARMOR && item2->GetSubType() == ARMOR_BODY))
{
bool bCanUse = true;
for (int i = 0; i < ITEM_LIMIT_MAX_NUM; ++i)
{
if (item2->GetLimitType(i) == LIMIT_LEVEL && item2->GetLimitValue(i) > 40)
{
bCanUse = false;
break;
}
}
if (false == bCanUse)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ì ìÅ¡© ë ˆ벨보다 ë†â€â•앆사ìÅ¡©ì´ ë¶Ë†ê°â‚¬ëÅ ¥í•©ë‹ˆë‹¤."));
break;
}
}
else
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("무기ìâ•€ ê°â€ËÅ“ìËÅ“·ìâ€â€ë§Åâ€╠사ìÅ¡© ê°â‚¬ëÅ ¥í•©ë‹ˆë‹¤."));
break;
}
}
item2->ChangeAttribute();
}
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ì†ì‱ì†ë³â‚¬ê²½í•ËÅ“ìËœ€ìÅ µë‹ˆë‹¤."));
{
char buf[21];
snprintf(buf, sizeof(buf), "%u", item2->GetID());
LogManager::instance().ItemLog(this, item, "CHANGE_ATTRIBUTE", buf);
}
item->SetCount(item->GetCount() - 1);
break;
case USE_ADD_ATTRIBUTE :
if (item2->GetAttributeSetIndex() == -1)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ì†ì‱ì†ë³â‚¬ê²½í• ìˆËÅ“ ìâ€â€â€ ëІì•â€ì´í…œì…니다."));
return false;
}
if (item2->GetAttributeCount() < 4)
{
// ì ì¬ê°â‚¬ íÅ ¹ìˆËÅ“ì²ËÅ“리
// ì ˆëÅâ€â•€ë¡Å“ ì ì¬ê°â‚¬ ì¶â€ê°â‚¬ 안ë ê±°ë¼ í•ËÅ“ìâ€‬ í•Ëœ드 ì½â€ë
함.
if (item->GetVnum() == 71152 || item->GetVnum() == 76024)
{
if ((item2->GetType() == ITEM_WEAPON)
|| (item2->GetType() == ITEM_ARMOR && item2->GetSubType() == ARMOR_BODY))
{
bool bCanUse = true;
for (int i = 0; i < ITEM_LIMIT_MAX_NUM; ++i)
{
if (item2->GetLimitType(i) == LIMIT_LEVEL && item2->GetLimitValue(i) > 40)
{
bCanUse = false;
break;
}
}
if (false == bCanUse)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ì ìÅ¡© ë ˆ벨보다 ë†â€â•앆사ìÅ¡©ì´ ë¶Ë†ê°â‚¬ëÅ ¥í•©ë‹ˆë‹¤."));
break;
}
}
else
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("무기ìâ•€ ê°â€ËÅ“ìËÅ“·ìâ€â€ë§Åâ€╠사ìÅ¡© ê°â‚¬ëÅ ¥í•©ë‹ˆë‹¤."));
break;
}
}
char buf[21];
snprintf(buf, sizeof(buf), "%u", item2->GetID());
if (number(1, 100) <= aiItemAttributeAddPercent[item2->GetAttributeCount()])
{
item2->AddAttribute();
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ì†ì‱ ì¶â€ê°â‚¬ìâ۠ì‱공í•ËÅ“ìËœ€ìÅ µë‹ˆë‹¤."));
int iAddedIdx = item2->GetAttributeCount() - 1;
LogManager::instance().ItemLog(
GetPlayerID(),
item2->GetAttributeType(iAddedIdx),
item2->GetAttributeValue(iAddedIdx),
item->GetID(),
"ADD_ATTRIBUTE_SUCCESS",
buf,
GetDesc()->GetHostName(),
item->GetOriginalVnum());
}
else
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ì†ì‱ ì¶â€ê°â‚¬ìâ۠실íÅâ€╨í•ËÅ“ìËœ€ìÅ µë‹ˆë‹¤."));
LogManager::instance().ItemLog(this, item, "ADD_ATTRIBUTE_FAIL", buf);
}
item->SetCount(item->GetCount() - 1);
}
else
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ëâ€ì´ìÆââ‚¬â• ì´ ì•â€ì´í…œì†ì´ìÅ¡©í•ËÅ“ìâ€‬ ì†ì‱ì†ì¶â€ê°â‚¬í• ìˆËÅ“ ìâ€â€â€ ìÅ µë‹ˆë‹¤."));
}
break;
uiinventory.py açılır ve aratılır;
Kod:
elif "USE_CHANGE_ATTRIBUTE" == useType:
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
;
Kod:
elif "USE_CHANGE_ATTRIBUTE" == useType:
if srcItemVNum == 70063 or srcItemVNum == 70064:
if self.__CanChangeCostumeAttrList(dstSlotPos):
return True
else:
if self.__CanChangeItemAttrList(dstSlotPos):
return True
tekrar aratılır;
Kod:
if item.ITEM_TYPE_BELT == item.GetItemType():
return True
return False
Kod:
def __CanChangeCostumeAttrList(self, dstSlotPos):
dstItemVNum = player.GetItemIndex(dstSlotPos)
if dstItemVNum == 0:
return False
item.SelectItem(dstItemVNum)
if item.ITEM_TYPE_COSTUME != item.GetItemType() and not item.GetItemSubType() in (item.COSTUME_TYPE_BODY, item.COSTUME_TYPE_HAIR):
return False
for i in xrange(player.COSTUME_ATTRIBUTE_MAX_NUM):
if player.GetItemAttribute(dstSlotPos, i)[0] != 0:
return True
return False
def __CanResetCostumeAttr(self, dstSlotPos):
dstItemVNum = player.GetItemIndex(dstSlotPos)
if dstItemVNum == 0:
return False
item.SelectItem(dstItemVNum)
if item.ITEM_TYPE_COSTUME != item.GetItemType() and not item.GetItemSubType() in (item.COSTUME_TYPE_BODY, item.COSTUME_TYPE_HAIR):
return False
return True
item_proto.txt eklenecekler;
Kod:
70063 transform_costume ITEM_USE USE_CHANGE_ATTRIBUTE 1 ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_MYSHOP ITEM_STACKABLE | LOG NONE NONE 0 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 0 0 0 0 0 0 0 0 0
70064 enchant_costume ITEM_USE USE_CHANGE_ATTRIBUTE 1 ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_MYSHOP ITEM_STACKABLE | LOG NONE NONE 0 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 0 0 0 0 0 0 0 0 0
item_names.txt eklenecekler;
Kod:
70063 Köstümü dönüştür
70064 Kostümü efsunla
itemdesc.txt eklenecekler;
Kod:
70063 Köstümü dönüştür Kostümlerinden birinin bonuslarını kaldırır ve yenilerini ekler. Şansın yaver giderse bu arada bonuslarının sayısı değişir. (en fazla 3 olacak kadar)
70064 Kostümü efsunla Kostümlerinden birinin bonuslarını kaldırır ve yenilerini ekler.
item_list.txt eklenecekler;
Kod:
70063 ETC icon/item/70063.tga
70064 ETC icon/item/70064.tga
Moderatör tarafında düzenlendi:
- Katılım
- 22 Tem 2014
- Konular
- 163
- Mesajlar
- 1,890
- Online süresi
- 12g 58373s
- Reaksiyon Skoru
- 219
- Altın Konu
- 0
- Başarım Puanı
- 170
- Yaş
- 26
- TM Yaşı
- 11 Yıl 9 Ay 4 Gün
- MmoLira
- 1,006
- DevLira
- 0
Teşekkürler
- Katılım
- 17 Mar 2015
- Konular
- 75
- Mesajlar
- 1,326
- Reaksiyon Skoru
- 215
- Altın Konu
- 0
- Başarım Puanı
- 92
- Yaş
- 32
- TM Yaşı
- 11 Yıl 1 Ay 6 Gün
- MmoLira
- 0
- DevLira
- 0
biraz karışık oldu hemen düzenlicem.Teşekkürler
yorum için teşekkürler
- Katılım
- 2 Şub 2010
- Konular
- 226
- Mesajlar
- 2,606
- Online süresi
- 7g 14267s
- Reaksiyon Skoru
- 533
- Altın Konu
- 0
- Başarım Puanı
- 231
- TM Yaşı
- 16 Yıl 2 Ay 20 Gün
- MmoLira
- 2,776
- DevLira
- 3
Yabancı Forumdan Alıntıdır
Kostüm Efsunlama ve Değiştirmedir.
Kostümü efsunlaLinkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
Köstümü dönüştürLinkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
- Open "char_item.cpp" (Server-Source, game)
- Search for:Code:
if (ITEM_COSTUME == item2->GetType()
inCode:
case USE_PUT_INTO_BELT_SOCKET:
case USE_PUT_INTO_RING_SOCKET:
case USE_PUT_INTO_ACCESSORY_SOCKET:
case USE_ADD_ACCESSORY_SOCKET:
case USE_CLEAN_SOCKET:
case USE_CHANGE_ATTRIBUTE:
case USE_CHANGE_ATTRIBUTE2 :
case USE_ADD_ATTRIBUTE:
case USE_ADD_ATTRIBUTE2:- Replace the if-statement with following:Code:
if (ITEM_COSTUME == item2->GetType() && item->GetVnum() != 70063 && item->GetVnum() != 70064)- Search for:Code:
if (item2->GetAttributeSetIndex() == -1)
inCode:
case USE_CHANGE_ATTRIBUTE :- Paste this under itCode:
// Transform costume
if (item->GetVnum() == 70063)
{
if (item2->GetType() != ITEM_COSTUME)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ITEM_ISNT_COSTUME"));
return false;
}
if (item2->GetAttributeCount() == 0)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ITEM_HASNT_ATTRIBUTE"));
return false;
}
if (item2->GetAttributeCount() < 3)
{
if (number(1, 100) < 30)
{
while(item2->GetAttributeCount() < number(2, 3))
item2->AddAttribute();
}
}
}
// Enchant costume
if (item->GetVnum() == 70064)
{
if (item2->GetType() != ITEM_COSTUME)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ITEM_ISNT_COSTUME"));
return false;
}
if (item2->GetAttributeCount() == 0)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ITEM_HASNT_ATTRIBUTE"));
return false;
}
}
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
Clientside:
- Open "uiinventory.py" (Client, root)
- Search forCode:
elif "USE_CHANGE_ATTRIBUTE" == useType:- Replace the elif-statement withCode:
elif "USE_CHANGE_ATTRIBUTE" == useType:
if srcItemVNum == 70063 or srcItemVNum == 70064:
if self.__CanChangeCostumeAttrList(dstSlotPos):
return True
else:
if self.__CanChangeItemAttrList(dstSlotPos):
return True- Search forCode:
def __CanPutAccessorySocket(self, dstSlotPos, mtrlVnum):- And paste this above it:Code:
def __CanChangeCostumeAttrList(self, dstSlotPos):
dstItemVNum = player.GetItemIndex(dstSlotPos)
if dstItemVNum == 0:
return False
item.SelectItem(dstItemVNum)
if item.GetItemType() == item.ITEM_TYPE_COSTUME:
return True
return False
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
item_proto.txt, serverside
Code:
70063 transform_costume ITEM_USE USE_CHANGE_ATTRIBUTE 1 ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_MYSHOP ITEM_STACKABLE | LOG NONE NONE 0 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 0 0 0 0 0 0 0 0 0
70064 enchant_costume ITEM_USE USE_CHANGE_ATTRIBUTE 1 ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_MYSHOP ITEM_STACKABLE | LOG NONE NONE 0 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 0 0 0 0 0 0 0 0 0
item_names.txt, serverside
Code:
70063 Transform Costume
70064 Enchant Costume
itemdesc.txt, clientside
Code:
70063 Transform Costume Removes the bonuses from one of your costumes and replaces them with new ones. With a bit of luck, the number of bonuses might also change (up to max. 3).
70064 Enchant Costume Removes the bonuses from one of your costumes and replaces them with new ones.
item_list.txt, clientside
Code:
70063 ETC icon/item/70063.tga
70064 ETC icon/item/70064.tga
You can download the icons in the attachment.
İTEM DESC EKLİYEBİLİRSİNİZ.
- 70063 Köstümü dönüştür Kostümlerinden birinin bonuslarını kaldırır ve yenilerini ekler. Şansın yaver giderse bu arada bonuslarının sayısı değişir. (en fazla 3 olacak kadar)
- 70064 Kostümü efsunla Kostümlerinden birinin bonuslarını kaldırır ve yenilerini ekler.
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
türkcelestirip kodları duzenleyıp anlatımı kolaylastırsan ve calıstıgına dair kanıt eklesen kullanacak arkadaslar ıcın cok daha iyi olacaktır.
- Katılım
- 17 Ağu 2014
- Konular
- 4,839
- Mesajlar
- 14,733
- Online süresi
- 1370s
- Reaksiyon Skoru
- 2,557
- Altın Konu
- 0
- Başarım Puanı
- 402
- Yaş
- 29
- TM Yaşı
- 11 Yıl 8 Ay 8 Gün
- MmoLira
- -120
- DevLira
- 0
türkcelestirip kodları duzenleyıp anlatımı kolaylastırsan ve calıstıgına dair kanıt eklesen kullanacak arkadaslar ıcın cok daha iyi olacaktır.
Code içerisine alınıp tab ayarlı kodlar paste2'ye yüklendi,itemdesc.txt Türkçe karşılıkları eklendi.Düzenlemeye çalışmış ama olmamış benden düzeltmemi rica etti düzelttim
Şu an konuyu görüntüleyenler (Toplam : 1, Üye: 0, Misafir: 1)
Benzer konular
- Cevaplar
- 12
- Görüntüleme
- 717
- Cevaplar
- 11
- Görüntüleme
- 2K
- Cevaplar
- 5
- Görüntüleme
- 1K



