- Katılım
- 7 May 2010
- Konular
- 10,579
- Mesajlar
- 58,614
- Çözüm
- 219
- Online süresi
- 10mo 29d
- Reaksiyon Skoru
- 16,721
- Altın Konu
- 444
- TM Yaşı
- 16 Yıl 1 Ay 2 Gün
- Başarım Puanı
- 691
- MmoLira
- 19,925
- DevLira
- 601
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!
ÖNİZLEME
Merhaba, derece sınırını kaldırmanın yanı sıra tamamen yeni bir derece eklemeyle ilgili küçük bir eğitim.
32k'nin üzerinde yeni bir rank eklemek istiyorsak (Type) değişkenini int olarak ayarlamazsak, bu mümkün olmayacaktır.
İlk yapacağımız şey, bu sınırı kaldıralım,
Packet.h açıyoruz(SRC/GAME)
Kod:
short sAlignment;
Yani değişkenin (Type) değeri :
Kod:
Short
değiştir
Kod:
Int
( Packet.h )
Kod:
typedef struct packet_update_char
İçinde:
Kod:
short sAlignment;
ve şu şekilde değiştirin:
Kod:
int sAlignment;
Ardından bu işlevi arayın:
Kod:
typedef struct packet_char_additional_info
İçinde:
Kod:
short sAlignment;
ve şu şekilde değiştirin:
Kod:
int sAlignment;
Şimdi aynısını düzenlememiz gerekiyor
Source_Client / Client / UserInterface / InstanceBase.cpp
Sonra bu kodu arayın:
Kod:
void CInstanceBase::SetAlignment(short sAlignment)
yukarıdaki ile aynıdır değiştir: ( short yerine int )
Ardından Source_Client / Client / UserInterface / InstanceBase.h Dosyasını arayın
Kod:
WYSZUKAJ - short m_sAlignment;
değiştir ( Short yerine int ) (Bu 2 kez gerçekleşir.)
Kod:
WYSZUKAJ - void SetAlignment(short sAlignment);
değiştir ( Short için int )
Source_Client / Client / UserInterface / NetworkActorManager.h
Bunu arayın:
Kod:
WYSZUKAJ - void SetAlignment(short sAlignment);
ve gelen değişim ( Short yerine int ) (Bu 2 kez gerçekleşir)
Source_Client / Client / UserInterface / Packet.h
Ara:
Kod:
short m_sAlignment;
ve gelen değişim ( Short yerine int ) (Bu 2 kez gerçekleşir)
Source_Client / Client / UserInterface / Packet.h
Ara:
Kod:
short sAlignment;
ve değişim ( Short yerine int ) (Bu 3 kez gerçekleşir)
Şimdi yeni bir Kademe ekleyeceğiz
/ Src / Game / ve File Char_Battle.cpp'yi aç
Şimdi arıyoruz:
Kod:
int iAlignIndex;
Burada buna benzer bir şey görüyoruz:
Kod:
if (GetRealAlignment() >= 120000) // Kahraman
iAlignIndex = 0;
else if (GetRealAlignment() >= 80000) // Soylu
iAlignIndex = 1;
else if (GetRealAlignment() >= 40000) // İyi
iAlignIndex = 2;
else if (GetRealAlignment() >= 10000) // Arkadaşca
iAlignIndex = 3;
else if (GetRealAlignment() >= 0) // Tarafsız Sıra (Yani 0'da)
iAlignIndex = 4;
else if (GetRealAlignment() > -40000) //
iAlignIndex = 5;
else if (GetRealAlignment() > -80000) //
iAlignIndex = 6;
iAlignIndex = 8; // (bu durumda 20k olan sınırı kapatır 20k)
Ve kendimiz için düzenleriz. Örneğimde şu şekilde düzenliyorum:
Kod:
if (GetRealAlignment() >= 1000000) // Turkmmo (Yeni Sıralamam)
iAlignIndex = 0;
else if (GetRealAlignment() >= 500000) // Replicant (Yeni Sıralamam)
iAlignIndex = 1;
else if (GetRealAlignment() >= 120000) // Kahraman
iAlignIndex = 2;
else if (GetRealAlignment() >= 80000) // Soylu
iAlignIndex = 3;
else if (GetRealAlignment() >= 40000) // iyi
iAlignIndex = 4;
else if (GetRealAlignment() >= 10000) // Arkadaşça
iAlignIndex = 5;
else if (GetRealAlignment() >= 0)
iAlignIndex = 6;
else if (GetRealAlignment() > -40000)
iAlignIndex = 7;
else if (GetRealAlignment() > -80000)
iAlignIndex = 8;
else if (GetRealAlignment() > -120000)
iAlignIndex = 9;
else if (GetRealAlignment() > -820000) // Replicant (Yeni Negatif Sıram )
iAlignIndex = 10;
else
iAlignIndex = 11;
Zaten kendiniz için düzenleme yaptıysanız, devam edelim (aynı dosyada, Char_Battle.cpp)
Aşağıdaki kodu arıyoruz:
Kod:
if (g_iUseLocale && pkKiller->GetParty())
{
FPartyAlignmentCompute f(-20000, pkKiller->GetX(), pkKiller->GetY());
pkKiller->GetParty()->ForEachOnlineMember(f);
if (f.m_iCount == 0)
pkKiller->UpdateAlignment(-20000);
else
{
sys_log(0, "ALIGNMENT PARTY count %d amount %d", f.m_iCount, f.m_iAmount);
f.m_iStep = 1;
pkKiller->GetParty()->ForEachOnlineMember(f);
}
else
pkKiller->UpdateAlignment(-20000);
}
}
burada sınırımızın olduğu yerde durumumuza giriyoruz:
Kod:
if (g_iUseLocale && pkKiller->GetParty())
{
FPartyAlignmentCompute f(-85000, pkKiller->GetX(), pkKiller->GetY());
pkKiller->GetParty()->ForEachOnlineMember(f);
if (f.m_iCount == 0)
pkKiller->UpdateAlignment(-85000);
else
{
}
else
pkKiller->UpdateAlignment(-850000);
}
}
Sonra ara:
Kod:
m_iRealAlignment = MINMAX(-200000, m_iRealAlignment + iAmount, 200000);
Ve kendimiz için düzenleriz, benim durumumda - 85.000 ve + 100.000
Kod:
m_iRealAlignment = MINMAX(-850000, m_iRealAlignment + iAmount, 1000000);
Zaten yaptıysanız, oyununuzu derleyin
Source_Client / Client / InstanceBase.h'yi açıyoruz ve bunu arıyoruz:
Kod:
TITLE_NUM = 9,
TITLE_NONE = 4,
- TITLE_NUM - Toplam Sıralar.
TITLE_NONE - Tarafsız Sıra Numarası.
Ve kendimize göre değiştiriyoruz
Kod:
TITLE_NUM = 12,
TITLE_NONE = 6,
Şimdi Source_Client / Client / InstanceBase.cpp'ye gidiyoruz ve arıyoruz:
Kod:
UINT CInstanceBase::GetAlignmentGrade()
{
if (m_sAlignment >= 12000)
return 0;
else if (m_sAlignment >= 8000)
return 1;
else if (m_sAlignment >= 4000)
return 2;
else if (m_sAlignment >= 1000)
return 3;
else if (m_sAlignment >= 0)
return 4;
else if (m_sAlignment > -4000)
return 5;
else if (m_sAlignment > -8000)
return 6;
else if (m_sAlignment > -12000)
return 7;
return 8;
}
InstanceBase.cpp
Kod:
int CInstanceBase::GetAlignmentType()
{
switch (GetAlignmentGrade())
{
case 0: ------> Ranga Pozytywna // Kahraman
case 1: ------> Ranga Pozytywna // Soylu
case 2: ------> Ranga Pozytywna // İyi
case 3: ------> Ranga Pozytywna // Arkadaşça
{
return ALIGNMENT_TYPE_WHITE;
break;
case 8: ------> Ranga Negatywna // Zalim
{
return ALIGNMENT_TYPE_DARK;
break;
}
}
return ALIGNMENT_TYPE_NORMAL;
}
Eklendikten sonra şöyle görünecek:
Kod:
int CInstanceBase::GetAlignmentType()
{
switch (GetAlignmentGrade())
{
case 0: ------> Ranga Pozytywna // Turkmmo (Yeni derece 2)
case 1: ------> Ranga Pozytywna // Replicant (Yeni derece)
case 2: ------> Ranga Pozytywna // Kahraman
case 3: ------> Ranga Pozytywna // Soylu
case 4: ------> Ranga Pozytywna // İyi
case 5: ------> Ranga Pozytywna // Arkadaşça
{
return ALIGNMENT_TYPE_WHITE;
break;
}
case 7: ------> Ranga Negatywna // Agresif
case 8: ------> Ranga Negatywna // Hileli
case 9: ------> Ranga Negatywna // Kötü Niyetli
case 10: ------> Ranga Negatywna // Zalim
case 11: ------> Ranga Negatywna // Turkmmo (Yeni Negatif Derece)
{
return ALIGNMENT_TYPE_DARK;
break;
}
}
Düzenlemeyi bitirdiyseniz, derleyebilirsiniz
şimdi Client / Root'a gidin ve LocaleInfo.py ve Open'ı arayın
Şimdi bunu arıyoruz:
Kod:
TITLE_NAME_LIST = ( PVP_LEVEL0, PVP_LEVEL1, PVP_LEVEL2, PVP_LEVEL3, PVP_LEVEL4, PVP_LEVEL5, PVP_LEVEL6, PVP_LEVEL7, PVP_LEVEL8, )
burada 3 yeni Rütbemizi eklemeliyiz Benim durumumda:
Kod:
(
PVP_LEVEL0,
PVP_LEVEL1,
PVP_LEVEL2,
PVP_LEVEL3,
PVP_LEVEL4,
PVP_LEVEL5,
PVP_LEVEL6,
PVP_LEVEL7,
PVP_LEVEL8,
PVP_LEVEL9,
PVP_LEVEL10,
PVP_LEVEL11,
)
Kaydedin ve sonraki Dosyaya gidin, yani IntroLoading.py (Client / Root)
Bunu arıyoruz:
Kod:
## Title
TITLE_COLOR_DICT = ( colorInfo.TITLE_RGB_GOOD_4,
colorInfo.TITLE_RGB_GOOD_3,
colorInfo.TITLE_RGB_GOOD_2,
colorInfo.TITLE_RGB_GOOD_1,
colorInfo.TITLE_RGB_NORMAL,
colorInfo.TITLE_RGB_EVIL_1,
colorInfo.TITLE_RGB_EVIL_2,
colorInfo.TITLE_RGB_EVIL_3,
colorInfo.TITLE_RGB_EVIL_4, )
Kendimiz için düzenleriz
Benim durumumda:
Kod:
## Title
TITLE_COLOR_DICT = ( colorInfo.TITLE_RGB_GOOD_6,
colorInfo.TITLE_RGB_GOOD_5,
colorInfo.TITLE_RGB_GOOD_4,
colorInfo.TITLE_RGB_GOOD_3,
colorInfo.TITLE_RGB_GOOD_2,
colorInfo.TITLE_RGB_GOOD_1,
colorInfo.TITLE_RGB_NORMAL,
colorInfo.TITLE_RGB_EVIL_1,
colorInfo.TITLE_RGB_EVIL_2,
colorInfo.TITLE_RGB_EVIL_3,
colorInfo.TITLE_RGB_EVIL_5, )
Kaydedin ve UiCharacter.py'ye gidin (Client / Root)
bunu arıyoruz:
Kod:
COLOR_DICT = { 0 : colorInfo.TITLE_RGB_GOOD_4,
1 : colorInfo.TITLE_RGB_GOOD_3,
2 : colorInfo.TITLE_RGB_GOOD_2,
3 : colorInfo.TITLE_RGB_GOOD_1,
4 : colorInfo.TITLE_RGB_NORMAL,
5 : colorInfo.TITLE_RGB_EVIL_1,
6 : colorInfo.TITLE_RGB_EVIL_2,
7 : colorInfo.TITLE_RGB_EVIL_3,
8 : colorInfo.TITLE_RGB_EVIL_4, }
kendimiz için düzenleriz
Benim durumumda:
Kod:
COLOR_DICT = { 0 : colorInfo.TITLE_RGB_GOOD_6,
1 : colorInfo.TITLE_RGB_GOOD_5,
2 : colorInfo.TITLE_RGB_GOOD_4,
3 : colorInfo.TITLE_RGB_GOOD_3,
4 : colorInfo.TITLE_RGB_GOOD_2,
5 : colorInfo.TITLE_RGB_GOOD_1,
6 : colorInfo.TITLE_RGB_NORMAL,
7 : colorInfo.TITLE_RGB_EVIL_1,
8 : colorInfo.TITLE_RGB_EVIL_2,
9 : colorInfo.TITLE_RGB_EVIL_3,
10 : colorInfo.TITLE_RGB_EVIL_4,
11 : colorInfo.TITLE_RGB_EVIL_5, }
Kaydedin ve ardından şu adrese gidin: Client / Root / Locale / pl / Locale_Game.txt
ve içinde dereceleri ararız, yani:
Kod:
PVP_LEVEL0 Kahraman
PVP_LEVEL1 Soylu
PVP_LEVEL2 İyi
PVP_LEVEL3 Arkadaşça
PVP_LEVEL4 Tarafsız
PVP_LEVEL5 Agresif
PVP_LEVEL6 Hileli
PVP_LEVEL7 Kötü Niyetli
PVP_LEVEL8 Zalim
kendimiz için düzenleriz, benim durumumda:
Kod:
PVP_LEVEL0 Turkmmo (Yeni Derece)
PVP_LEVEL1 Replicant (Yeni Derece)
PVP_LEVEL2 Kahraman
PVP_LEVEL3 Soylu
PVP_LEVEL4 İyi
PVP_LEVEL5 Arkadaşça
PVP_LEVEL6 Tarafsız
PVP_LEVEL7 Agresif
PVP_LEVEL8 Hileli
PVP_LEVEL9 Kötü Niyetli
PVP_LEVEL10 Zalim
PVP_LEVEL11 Turkmmo (Yeni Negatif Derece)
Derece renklerini düzenleme:
Client / Root ve ColorInfo.py açılır
ve böyle bir şey var:
Kod:
TITLE_RGB_GOOD_4 = ( 0, 204, 255)
TITLE_RGB_GOOD_3 = ( 0, 144, 255)
TITLE_RGB_GOOD_2 = ( 92, 110, 255)
TITLE_RGB_GOOD_1 = (155, 155, 255)
TITLE_RGB_NORMAL = (255, 255, 255)
TITLE_RGB_EVIL_1 = (207, 117, 0)
TITLE_RGB_EVIL_2 = (235, 83, 0)
TITLE_RGB_EVIL_3 = (227, 0, 0)
TITLE_RGB_EVIL_4 = (255, 0, 0)
Kendimiz için düzenleriz, benim durumumda:
Kod:
TITLE_RGB_GOOD_6 = ( 0, 204, 255) // Yeni Sıra 2
TITLE_RGB_GOOD_5 = ( 0, 204, 255) // Yeni Sıra 1
TITLE_RGB_GOOD_4 = ( 0, 204, 255) // Kahraman
TITLE_RGB_GOOD_3 = ( 0, 144, 255) // Soylu
TITLE_RGB_GOOD_2 = ( 92, 110, 255) // İyi
TITLE_RGB_GOOD_1 = (155, 155, 255) // Arkadaşça
TITLE_RGB_NORMAL = (255, 255, 255) // Tarafsız
TITLE_RGB_EVIL_1 = (207, 117, 0) // Agresif
TITLE_RGB_EVIL_2 = (235, 83, 0) // Hileli
TITLE_RGB_EVIL_3 = (227, 0, 0) // Kötü Niyetli
TITLE_RGB_EVIL_4 = (255, 0, 0) // Zalim
TITLE_RGB_EVIL_5 = (255, 0, 0) // Turkmmo (Yeni Negatif Derece)
Ekli dosyalar
Son düzenleme:
En Çok Reaksiyon Alan Mesajlar
Seni yine mi üzdüler kıyamam xd
@Replicant tskler hocam
- Katılım
- 3 Eki 2017
- Konular
- 1,673
- Mesajlar
- 18,445
- Çözüm
- 48
- Online süresi
- 9mo 24d
- Reaksiyon Skoru
- 8,721
- Altın Konu
- 297
- Başarım Puanı
- 374
- MmoLira
- 41,550
- DevLira
- 753
Paylaşım için teşekkürler.
- Katılım
- 3 Tem 2018
- Konular
- 327
- Mesajlar
- 2,606
- Çözüm
- 31
- Online süresi
- 7mo 2d
- Reaksiyon Skoru
- 1,140
- Altın Konu
- 21
- Başarım Puanı
- 302
- MmoLira
- 7,289
- DevLira
- 7
Paylaşım için teşekkürler.
Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 8
- Görüntüleme
- 846
- Kilitli
- Cevaplar
- 7
- Görüntüleme
- 1K
- Kilitli
- Cevaplar
- 1
- Görüntüleme
- 341
- Cevaplar
- 7
- Görüntüleme
- 2K




