- Katılım
- 4 Ağu 2010
- Konular
- 356
- Mesajlar
- 4,122
- Çözüm
- 74
- Online süresi
- 3mo 14d
- Reaksiyon Skoru
- 2,235
- Altın Konu
- 82
- Başarım Puanı
- 292
- Yaş
- 32
- MmoLira
- 3,067
- DevLira
- 138
ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!
Öncelikle Okçular Dibimde Sistemini Paylaşan Değerli Üyemiz @A99 Arkadaşımıza Teşekkür Ediyorum.
Onun Paylaşmız Olduğu İşleyiş'te Eğer 72000 Kodlu İtem'i Kullanırsanız AttackRanger(); Fonksiyonun Çalışmasını Sağlarsınız.
Öncelikle Cesaret Pelerini Kullanıp Ardından Canavarlar Yanınıza Geldikten Sonra Bu Sefer 7200 Kodlu İtem'e Tıklayıp Size Uzaktan Vuran Canavarları Dibinize Çağırmış Olacaksınız.
Bu Konuda Şimdi Affect Üzerinden Kullanılmasını Yapacağız.
GameSource/Affect.h Açalım ve Aratın:
AFFECT_QUEST_START_IDX = 1000
Üstüne Ekleyin:
Şimdi Genel İşleyişi Yapalım
GameSource/Char_İtem.cpp Açın ve Aratın:
Üstüne Ekleyin:
Burada Ne Yapmış Bulunduk, 72000 Kodlu İtem'ı Kullandığımızda Eğer Karakterimiz de Bu Affect Var İse "Zaten Bu Efekt Sende Var" Gibi Oyuna Bir Mesaj Göndermesini Sağladık ve İşlemi Anlayacağınız Şekilde Söylemem Gerekirse Sonlandırdık ki; Altındaki Kodların Çalışmasını Engelledik.
Tamam Peki Eğer Karakterde Bu Efekt Yok İse O Zaman AddAffect İle Affect.h'deki Sabit Sayımızı Veriyoruz ve Bu Efektin Karakterde Kalacağı Süreyi İtemin(Protodaki) Value0 Kısmından Almasını İstiyoruz.
Sonra İtemi, Kişinin Var Olan İtem Sayısından 1 Adet Silmesini İstiyoruz.
Buraya Kadar Herşey İyi ve Bu Sayede Efekti Vermiş Olduk.
Şimdi Oyuncu Cesaret Pelerini'ni Kullandığında Eğer Bu Efekt Var İse Ona Uzaktan Vuran Canavarlarıda Dibine Çağırmasını Sağlayalım.
GameSource/Char_İtem.cpp Açın ve Aratın:
Ve Şu Şekilde Değiştirin (Yada Kendinize Göre Düzenleyin)
Sınırsız Cesaret Pelerini Kullanıyorsanız ENABLE_GETCOUNT ve Altındaki endif'e Kadar Silin veya Bu Tanım Sizin CommonDefine'nizde veya Service.h'nizde Varsa ENABLE_GETCOUNT İsmini Değiştirin.
Eğer Cesaret Pelerinin Her Kullandığınızda -1 Adet Silinmesini İstiyorsanız ENABLE_GETCOUNT ve Altındaki endi'i Silin. veya Bu Tanımı CommonDefines'e veya Service.h'ye Ekleyin.
CommonDefines.h veya Service.h Ekleyin:
#define ENABLE_ATTRACT_RANGER
Kusura Bakmayın Her Kesim İçin Açıklayıcı Şekilde Yazıyorum.
Şimdi GameSource Derleyebilirsiniz.
* CLIENT SOURCE *
InstanceBase.h#defineAratalım:
Üstüne Ekleyelim:
PythonCharacterModule.cpp Açalım ve En Alta Ekleyelim:
PythonApplicationModule.cpp Açalım ve En Alta Ekleyelim:
Locale_inc.h Açın ve Ekleyin:
#define ENABLE_ATTRACT_RANGER
ClientSource Derleyebilirsiniz.
Root/uiAffectShower.py Açın ve Aratın:
Altına Ekleyelim:[/COLOR#define]
Lütfen Buradaki "d:/ymir work/ui/skill/common/affect/call_archer.sub" Sub İsmini Değiştirin
Locale_Game.txt Ekleyin:
Locale_Game -> Bağları Çöz İsmini Dilediğiniz Gibi Değiştirebilirsiniz. Sol Yukarıya Gelen Efektin Üstüne Geldiğinizde Çıkacak Yazı.
Örnek: Bağları Çöz (Kalan Süre: 15 gün)
locale ve root Paketleyip Oyuna Girebilirsiniz.
İtem_Names ve Proto'ya İtemi Eklemeyi Unutmayın. Efektin Karakterde Ne Kadar Sürede Kalacağını İtem'in Value0 Kısmına Eklemeyi Unutmayın.
Saniye Cinsinden Örnek 100 Saniye Kalmasını İstiyorsanız Value0 -> 100
KANIT:
VİDEO:
1: Efekt Karakter'de Varken
2. Efekt Karakterde Yokken
Onun Paylaşmız Olduğu İşleyiş'te Eğer 72000 Kodlu İtem'i Kullanırsanız AttackRanger(); Fonksiyonun Çalışmasını Sağlarsınız.
Öncelikle Cesaret Pelerini Kullanıp Ardından Canavarlar Yanınıza Geldikten Sonra Bu Sefer 7200 Kodlu İtem'e Tıklayıp Size Uzaktan Vuran Canavarları Dibinize Çağırmış Olacaksınız.
Bu Konuda Şimdi Affect Üzerinden Kullanılmasını Yapacağız.
GameSource/Affect.h Açalım ve Aratın:
AFFECT_QUEST_START_IDX = 1000
Üstüne Ekleyin:
Kod:
#if defined(ENABLE_ATTRACT_RANGER)
AFFECT_CALL_ARCHER = 757,
#endif
Şimdi Genel İşleyişi Yapalım
GameSource/Char_İtem.cpp Açın ve Aratın:
Kod:
case UNIQUE_ITEM_CAPE_OF_COURAGE:
case UNIQUE_ITEM_CAPE_OF_COURAGE_ORIGINAL:
case REWARD_BOX_UNIQUE_ITEM_CAPE_OF_COURAGE:
Üstüne Ekleyin:
Kod:
#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
Burada Ne Yapmış Bulunduk, 72000 Kodlu İtem'ı Kullandığımızda Eğer Karakterimiz de Bu Affect Var İse "Zaten Bu Efekt Sende Var" Gibi Oyuna Bir Mesaj Göndermesini Sağladık ve İşlemi Anlayacağınız Şekilde Söylemem Gerekirse Sonlandırdık ki; Altındaki Kodların Çalışmasını Engelledik.
Tamam Peki Eğer Karakterde Bu Efekt Yok İse O Zaman AddAffect İle Affect.h'deki Sabit Sayımızı Veriyoruz ve Bu Efektin Karakterde Kalacağı Süreyi İtemin(Protodaki) Value0 Kısmından Almasını İstiyoruz.
Sonra İtemi, Kişinin Var Olan İtem Sayısından 1 Adet Silmesini İstiyoruz.
Buraya Kadar Herşey İyi ve Bu Sayede Efekti Vermiş Olduk.
Şimdi Oyuncu Cesaret Pelerini'ni Kullandığında Eğer Bu Efekt Var İse Ona Uzaktan Vuran Canavarlarıda Dibine Çağırmasını Sağlayalım.
GameSource/Char_İtem.cpp Açın ve Aratın:
Kod:
case UNIQUE_ITEM_CAPE_OF_COURAGE:
case UNIQUE_ITEM_CAPE_OF_COURAGE_ORIGINAL:
case REWARD_BOX_UNIQUE_ITEM_CAPE_OF_COURAGE:
{
AggregateMonster();
Ve Şu Şekilde Değiştirin (Yada Kendinize Göre Düzenleyin)
Kod:
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
#ifdef ENABLE_GETCOUNT
item->SetCount(item->GetCount() - 1);
#endif
}
break;
Sınırsız Cesaret Pelerini Kullanıyorsanız ENABLE_GETCOUNT ve Altındaki endif'e Kadar Silin veya Bu Tanım Sizin CommonDefine'nizde veya Service.h'nizde Varsa ENABLE_GETCOUNT İsmini Değiştirin.
Eğer Cesaret Pelerinin Her Kullandığınızda -1 Adet Silinmesini İstiyorsanız ENABLE_GETCOUNT ve Altındaki endi'i Silin. veya Bu Tanımı CommonDefines'e veya Service.h'ye Ekleyin.
CommonDefines.h veya Service.h Ekleyin:
#define ENABLE_ATTRACT_RANGER
Kusura Bakmayın Her Kesim İçin Açıklayıcı Şekilde Yazıyorum.
Şimdi GameSource Derleyebilirsiniz.
* CLIENT SOURCE *
InstanceBase.h#defineAratalım:
Kod:
NEW_AFFECT_QUEST_START_IDX = 1000,
Üstüne Ekleyelim:
Kod:
#if defined(ENABLE_ATTRACT_RANGER)
AFFECT_CALL_ARCHER = 757,
#endif
PythonCharacterModule.cpp Açalım ve En Alta Ekleyelim:
Kod:
#if defined(ENABLE_ATTRACT_RANGER)
PyModule_AddIntConstant(poModule, "AFFECT_CALL_ARCHER", CInstanceBase::AFFECT_CALL_ARCHER);
#endif
PythonApplicationModule.cpp Açalım ve En Alta Ekleyelim:
Kod:
#ifdef ENABLE_ATTRACT_RANGER
PyModule_AddIntConstant(poModule, "ENABLE_ATTRACT_RANGER", true);
#else
PyModule_AddIntConstant(poModule, "ENABLE_ATTRACT_RANGER", false);
#endif
Locale_inc.h Açın ve Ekleyin:
#define ENABLE_ATTRACT_RANGER
ClientSource Derleyebilirsiniz.
Root/uiAffectShower.py Açın ve Aratın:
Kod:
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 Ekleyelim:[/COLOR#define]
Kod:
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")
Lütfen Buradaki "d:/ymir work/ui/skill/common/affect/call_archer.sub" Sub İsmini Değiştirin
Locale_Game.txt Ekleyin:
Kod:
TOOLTIP_AFFECT_CALL_ARCHER Bağları Çöz SNA
Locale_Game -> Bağları Çöz İsmini Dilediğiniz Gibi Değiştirebilirsiniz. Sol Yukarıya Gelen Efektin Üstüne Geldiğinizde Çıkacak Yazı.
Örnek: Bağları Çöz (Kalan Süre: 15 gün)
locale ve root Paketleyip Oyuna Girebilirsiniz.
İtem_Names ve Proto'ya İtemi Eklemeyi Unutmayın. Efektin Karakterde Ne Kadar Sürede Kalacağını İtem'in Value0 Kısmına Eklemeyi Unutmayın.
Saniye Cinsinden Örnek 100 Saniye Kalmasını İstiyorsanız Value0 -> 100
KANIT:
VİDEO:
1: Efekt Karakter'de Varken
2. Efekt Karakterde Yokken
Son düzenleme:
En Çok Reaksiyon Alan Mesajlar
Paylaşım için teşekkürler
- Katılım
- 5 Eyl 2010
- Konular
- 197
- Mesajlar
- 1,854
- Çözüm
- 26
- Online süresi
- 3mo 15d
- Reaksiyon Skoru
- 1,006
- Altın Konu
- 1
- TM Yaşı
- 15 Yıl 9 Ay 6 Gün
- Başarım Puanı
- 266
- MmoLira
- 11,432
- DevLira
- 39
Paylaşım için teşekkürler 

- Katılım
- 11 Mar 2017
- Konular
- 146
- Mesajlar
- 2,117
- Çözüm
- 20
- Online süresi
- 6mo 15d
- Reaksiyon Skoru
- 1,776
- Altın Konu
- 2
- Başarım Puanı
- 284
- MmoLira
- 3,241
- DevLira
- 16
Paylaşım için teşekkürler
- Katılım
- 19 Nis 2013
- Konular
- 170
- Mesajlar
- 1,209
- Çözüm
- 3
- Online süresi
- 1mo 25d
- Reaksiyon Skoru
- 146
- Altın Konu
- 0
- TM Yaşı
- 13 Yıl 1 Ay 19 Gün
- Başarım Puanı
- 194
- MmoLira
- 4,012
- DevLira
- 12
yavaş kardeşim ciğerimizi söktünÖncelikle Okçular Dibimde Sistemini Paylaşan Değerli Üyemiz @A99 Arkadaşımıza Teşekkür Ediyorum.
Onun Paylaşmız Olduğu İşleyiş'te Eğer 72000 Kodlu İtem'i Kullanırsanız AttackRanger(); Fonksiyonun Çalışmasını Sağlarsınız.
Öncelikle Cesaret Pelerini Kullanıp Ardından Canavarlar Yanınıza Geldikten Sonra Bu Sefer 7200 Kodlu İtem'e Tıklayıp Size Uzaktan Vuran Canavarları Dibinize Çağırmış Olacaksınız.
Bu Konuda Şimdi Affect Üzerinden Kullanılmasını Yapacağız.
GameSource/Affect.h Açalım ve Aratın:
AFFECT_QUEST_START_IDX = 1000
Üstüne Ekleyin:
Kod:#if defined(ENABLE_ATTRACT_RANGER) AFFECT_CALL_ARCHER = 757, #endif
Şimdi Genel İşleyişi Yapalım
GameSource/Char_İtem.cpp Açın ve Aratın:
Kod:case UNIQUE_ITEM_CAPE_OF_COURAGE: case UNIQUE_ITEM_CAPE_OF_COURAGE_ORIGINAL: case REWARD_BOX_UNIQUE_ITEM_CAPE_OF_COURAGE:
Üstüne Ekleyin:
Kod:#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
Burada Ne Yapmış Bulunduk, 72000 Kodlu İtem'ı Kullandığımızda Eğer Karakterimiz de Bu Affect Var İse "Zaten Bu Efekt Sende Var" Gibi Oyuna Bir Mesaj Göndermesini Sağladık ve İşlemi Anlayacağınız Şekilde Söylemem Gerekirse Sonlandırdık ki; Altındaki Kodların Çalışmasını Engelledik.
Tamam Peki Eğer Karakterde Bu Efekt Yok İse O Zaman AddAffect İle Affect.h'deki Sabit Sayımızı Veriyoruz ve Bu Efektin Karakterde Kalacağı Süreyi İtemin(Protodaki) Value0 Kısmından Almasını İstiyoruz.
Sonra İtemi, Kişinin Var Olan İtem Sayısından 1 Adet Silmesini İstiyoruz.
Buraya Kadar Herşey İyi ve Bu Sayede Efekti Vermiş Olduk.
Şimdi Oyuncu Cesaret Pelerini'ni Kullandığında Eğer Bu Efekt Var İse Ona Uzaktan Vuran Canavarlarıda Dibine Çağırmasını Sağlayalım.
GameSource/Char_İtem.cpp Açın ve Aratın:
Kod:case UNIQUE_ITEM_CAPE_OF_COURAGE: case UNIQUE_ITEM_CAPE_OF_COURAGE_ORIGINAL: case REWARD_BOX_UNIQUE_ITEM_CAPE_OF_COURAGE: { AggregateMonster();
Ve Şu Şekilde Değiştirin (Yada Kendinize Göre Düzenleyin)
Kod: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 #ifdef ENABLE_GETCOUNT item->SetCount(item->GetCount() - 1); #endif } break;
Sınırsız Cesaret Pelerini Kullanıyorsanız ENABLE_GETCOUNT ve Altındaki endif'e Kadar Silin veya Bu Tanım Sizin CommonDefine'nizde veya Service.h'nizde Varsa ENABLE_GETCOUNT İsmini Değiştirin.
Eğer Cesaret Pelerinin Her Kullandığınızda -1 Adet Silinmesini İstiyorsanız ENABLE_GETCOUNT ve Altındaki endi'i Silin. veya Bu Tanımı CommonDefines'e veya Service.h'ye Ekleyin.
CommonDefines.h veya Service.h Ekleyin:
#define ENABLE_ATTRACT_RANGER
Kusura Bakmayın Her Kesim İçin Açıklayıcı Şekilde Yazıyorum.
Şimdi GameSource Derleyebilirsiniz.
* CLIENT SOURCE *
InstanceBase.h#define ve Aratalım:
Kod:NEW_AFFECT_QUEST_START_IDX = 1000,
Üstüne Ekleyelim:
Kod:#if defined(ENABLE_ATTRACT_RANGER) AFFECT_CALL_ARCHER = 757, #endif
PythonCharacterModule.cpp Açalım ve En Alta Ekleyelim:
Kod:#if defined(ENABLE_ATTRACT_RANGER) PyModule_AddIntConstant(poModule, "AFFECT_CALL_ARCHER", CInstanceBase::AFFECT_CALL_ARCHER); #endif
PythonApplicationModule.cpp Açalım ve En Alta Ekleyelim:
Kod:#ifdef ENABLE_ATTRACT_RANGER PyModule_AddIntConstant(poModule, "ENABLE_ATTRACT_RANGER", true); #else PyModule_AddIntConstant(poModule, "ENABLE_ATTRACT_RANGER", false); #endif
Locale_inc.h Açın ve Ekleyin:
#define ENABLE_ATTRACT_RANGER
ClientSource Derleyebilirsiniz.
Root/uiAffectShower.py Açın ve Aratın:
Kod: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 Ekleyelim:
#defineSIZE]
Lütfen Buradaki "d:/ymir work/ui/skill/common/affect/call_archer.sub" Sub İsmini Değiştirin
Locale_Game.txt Ekleyin:
Kod:TOOLTIP_AFFECT_CALL_ARCHER Bağları Çöz SNA
Locale_Game -> Bağları Çöz İsmini Dilediğiniz Gibi Değiştirebilirsiniz. Sol Yukarıya Gelen Efektin Üstüne Geldiğinizde Çıkacak Yazı.
Örnek: Bağları Çöz (Kalan Süre: 15 gün)
locale ve root Paketleyip Oyuna Girebilirsiniz.
İtem_Names ve Proto'ya İtemi Eklemeyi Unutmayın. Efektin Karakterde Ne Kadar Sürede Kalacağını İtem'in Value0 Kısmına Eklemeyi Unutmayın.
Saniye Cinsinden Örnek 100 Saniye Kalmasını İstiyorsanız Value0 -> 100
KANIT:
Ekli dosyayı görüntüle 94017
VİDEO:
1: Efekt Karakter'de Varken
![]()
2. Efekt Karakterde Yokken
![]()
Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 1
- Görüntüleme
- 48
- Cevaplar
- 14
- Görüntüleme
- 822
- Cevaplar
- 8
- Görüntüleme
- 847
- Cevaplar
- 22
- Görüntüleme
- 3K
- Cevaplar
- 18
- Görüntüleme
- 5K




