- Mesaj
- 4.674
- Çözümler
- 195
- Beğeni
- 4.462
- Puan
- 1.850
- Ticaret Puanı
- 6
Bir arkadaşımızın forumda bunu aradığını gördüm. Bizim forumda yokmuş. Bende dedim ki bizim forumda nasıl olamaz hemen açıyorum konusunu. Sistemin mantığı okçuları dibinize çekmektir. Ayrıca sadece okçular dibinde ile kalmıyor ve itemi kullandıktan sonra eğer karakterinizde okçular dibimde efekti varsa cesaret pelerini ile uyumlu olarak çalışıyor. Yapımında emeği geçen kişilere teşekkür eder konunun alıntı olduğunu dipnot olarak geçerim. Herkese iyi forumlar.
char_item.cpp:
/// Aratılır
case UNIQUE_ITEM_CAPE_OF_COURAGE:
/// Altına Eklenir
case 72000:
AttractRanger();
break;
/// Aratılır
case UNIQUE_ITEM_CAPE_OF_COURAGE:
case UNIQUE_ITEM_CAPE_OF_COURAGE_ORIGINAL:
case REWARD_BOX_UNIQUE_ITEM_CAPE_OF_COURAGE:
/// Üstüne Eklenir
#if defined(ENABLE_ATTRACT_RANGER)
case 72000:
{
if (FindAffect(AFFECT_CALL_ARCHER))
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("BU_ETKI_DEVAM_EDIYOR"));
return false;
}
AddAffect(AFFECT_CALL_ARCHER, POINT_NONE, 0, AFF_NONE, item->GetValue(0), 0, true);
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Archers can now come to you."));
item->SetCount(item->GetCount() - 1);
}
break;
#endif
///tekrardan aratılır
case UNIQUE_ITEM_CAPE_OF_COURAGE:
case UNIQUE_ITEM_CAPE_OF_COURAGE_ORIGINAL:
case REWARD_BOX_UNIQUE_ITEM_CAPE_OF_COURAGE:
{
AggregateMonster();
///şu şekilde düzenlenir
case UNIQUE_ITEM_CAPE_OF_COURAGE:
case UNIQUE_ITEM_CAPE_OF_COURAGE_ORIGINAL:
case REWARD_BOX_UNIQUE_ITEM_CAPE_OF_COURAGE:
{
AggregateMonster();
#if defined(ENABLE_ATTRACT_RANGER)
if (FindAffect(AFFECT_CALL_ARCHER))
AttractRanger();
#endif
affect.h:
///Aratılır
AFFECT_QUEST_START_IDX = 1000
///Üstüne Eklenir
#if defined(ENABLE_ATTRACT_RANGER)
AFFECT_CALL_ARCHER = 757,
#endif
commondefines.h veya service.h:
///Eklenir
#define ENABLE_ATTRACT_RANGER
InstanceBase.h:
///Aratılır
NEW_AFFECT_QUEST_START_IDX = 1000,
///Üstüne Eklenir
#if defined(ENABLE_ATTRACT_RANGER)
AFFECT_CALL_ARCHER = 757,
#endif
PythonCharacterModule.cpp:
///En alta Eklenir
#if defined(ENABLE_ATTRACT_RANGER)
PyModule_AddIntConstant(poModule, "AFFECT_CALL_ARCHER", CInstanceBase::AFFECT_CALL_ARCHER);
#endif
PythonApplicationModule.cpp:
///En alta eklenir
#ifdef ENABLE_ATTRACT_RANGER
PyModule_AddIntConstant(poModule, "ENABLE_ATTRACT_RANGER", true);
#else
PyModule_AddIntConstant(poModule, "ENABLE_ATTRACT_RANGER", false);
#endif
Locale_inc.h:
///eklenir
#define ENABLE_ATTRACT_RANGER
root/uiaffectshower.py:
#arat
if app.ENABLE_DRAGON_SOUL_SYSTEM:
AFFECT_DATA_DICT[chr.NEW_AFFECT_DRAGON_SOUL_DECK1] = (localeInfo.TOOLTIP_DRAGON_SOUL_DECK1, "d:/ymir work/ui/dragonsoul/buff_ds_sky1.tga")
AFFECT_DATA_DICT[chr.NEW_AFFECT_DRAGON_SOUL_DECK2] = (localeInfo.TOOLTIP_DRAGON_SOUL_DECK2, "d:/ymir work/ui/dragonsoul/buff_ds_land1.tga")
#altına ekle
if app.ENABLE_ATTRACT_RANGER:
AFFECT_DATA_DICT[chr.AFFECT_CALL_ARCHER] = (localeInfo.TOOLTIP_AFFECT_CALL_ARCHER, "d:/ymir work/ui/skill/common/affect/call_archer.sub")
#buradaki call_archer.sub ismini değiştirin çünkü bu adda bir dosya yok bu yüzden hata verecektir. örnek teşkil etmesi için o şekilde verilmiştir.
locale_game.txt:
///eklenir
TOOLTIP_AFFECT_CALL_ARCHER Okçular Dibimde SNA
item_proto:
aşağıdaki kodda eşyanın value0 değerine verdiğiniz süre oyunun içinde bu efektin kaç saniye kalacağını belirler.
1 gün 86400 saniyedir
1 hafta 604800 saniyedir.
İtem Proto txt
72000 ¿ë±âÀÇ ¸ÁÅä ITEM_USE USE_SPECIAL 1 ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP ITEM_STACKABLE | ITEM_IRREMOVABLE NONE NONE 0 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 60 20 0 0 0 0 0 0 0
İtem Names
72000 Okçular Dibimde