- 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 3 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!
Yorumlarınız için teşekkür ederimBilmeyen arkadaşlar için çok açıklayıcı konu olmuş emeğine sağlık
- Katılım
- 8 Eyl 2017
- Konular
- 49
- Mesajlar
- 679
- Çözüm
- 10
- Online süresi
- 1mo 22d
- Reaksiyon Skoru
- 293
- Altın Konu
- 0
- Başarım Puanı
- 161
- MmoLira
- 22,612
- DevLira
- 0
Eline sağlık onurÖ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 ve (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,
açıyoruz Packet.h (SRC/GAME) Sonra birkaç yerde, tam olarak 2 kez, bir kod olacak aşağıdaki içerik:
Kod:short sAlignment;
Yani değişkenin (Type) değeri :
Kod:Short
değiştir
Kod:Int
Bu işlevi arayın: ( Packet.h )
- Belki birisi bununla ilgileniyor, bu yüzden nedenini açıklayacağım.
32,768 den 32,767 kadar Int bir değere sahiptir: -2,147,483,648 için 2,147,483,647- Yani int ayarlarsanız yukarıda gösterildiği gibi, sunucu üzerinde birçok Sıra olarak ayarlayabilirsiniz.
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 _____________________________________________________________________________________________________________________________
Şimdi şu adrese gidin: Source_Client / Client / UserInterface / ve File InstanceBase.cpp'yi
arayın Sonra bu kodu arayın:
Kod:void CInstanceBase::SetAlignment(short sAlignment)
Ve yukarıdaki ile aynıdır, değiştirme: ( short için int )
Ardından Source_Client / Client / UserInterface / 'e basın ve InstanceBase.h Dosyasını arayın
Kod:WYSZUKAJ - short m_sAlignment;
değiştir ( Short için int ) (Bu 2 kez gerçekleşir.)
Kod:WYSZUKAJ - void SetAlignment(short sAlignment);
değiştir ( Short için int )
Şimdi şu adrese gidin: Source_Client / Client / UserInterface / NetworkActorManager.h Bunu
arayın:
Kod:WYSZUKAJ - void SetAlignment(short sAlignment);
ve gelen değişim ( Short için int ) ---- 2 Kez!
Çevirin: Source_Client / Client / UserInterface / Packet.h
Ara:
Kod:short m_sAlignment;
ve gelen değişim ( Short için int ) ---- 2 Kez!
Çevirin: Source_Client / Client / UserInterface / Packet.h
Ara:
Kod:short sAlignment;
ve değişim ( Short için int ) (3 kez meydana gelir)
- Şimdi yeni bir Kademe ekleyeceğiz, yani:
Kaynak kodumuza gidiyoruz / Src / Game / ve File Char_Battle.cpp'yi açıyoruz
Ş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) // Nötr 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! (Tabii ki, aynı dosyada, yani ( 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); } }
Ve burada sınırımızın olduğu yerde - bizim durumumuza giriyoruz, benim durumumda:
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 ararız:
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);
- Tamam, zaten yaptıysanız, oyununuzu derleyin!
Kodumuzu düzenlemeye başlamanın zamanı geldi
_____________________________________________________________________________________________________________________________
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 - Nötr Sıra Numarası.
Ve kendimiz için değişiyoruz, ki benim durumumda:
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; }
- Burada nasıl düzenleme yapacağınızı gerçekten göstermeme gerek yok, çünkü biz de aynısını yaptık, ancak Char_Battle.cpp'deki sunucu durumunda
BU KILAVUZU DÜZENLEYİN VE DEVAM EDİN!
__________________________________________________________________________________________________________________________________
Tamam, yukarıda zaten yaptıysanız, başlatıyoruz, yani:
Arıyoruz : ( InstanceBase.cpp'de daha fazla ) Bu: (ve ekleyin )
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; }
Şimdi, 3 yeni Kademe eklediğimiz için (2'ye + 1'e - ) 3 durum eklemeliyiz .
Benim durumumda şöyle görünecek:
Kod:int CInstanceBase::GetAlignmentType() { switch (GetAlignmentGrade()) { case 0: ------> Ranga Pozytywna // Turkmmo (Moja Nowa Ranga Druga) case 1: ------> Ranga Pozytywna // Replicant (Moja Nowa Ranga Pierwsza) 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; } }
- Tamam, düzenlemeyi bitirdiyseniz, derleyebilirsiniz
_____________________________________________________________________________________________________________________________
Peki, şimdi
Nasz_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, )
Ve 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) Aynısı
, 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 saflarımızı ararız, yani:
Kod:PVP_LEVEL0 Kahraman PVP_LEVEL1 Soylu PVP_LEVEL2 İyi PVP_LEVEL3 Arkadaşça PVP_LEVEL4 Nötr PVP_LEVEL5 Agresif PVP_LEVEL6 Hileli PVP_LEVEL7 Kötü Niyetli PVP_LEVEL8 Zalim
Ve kendimiz için düzenleriz, ki 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 Nötr PVP_LEVEL7 Agresif PVP_LEVEL8 Hileli PVP_LEVEL9 Kötü Niyetli PVP_LEVEL10 Zalim PVP_LEVEL11 Turkmmo (Yeni Negatif Derece)
Muhtemelen Rütbelerimizin renklerini nasıl düzenleyeceğinizi merak ediyorsunuz!
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)
Ve kendimiz için düzenleriz, ki 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) // Nötr 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)
- 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 3 Gün
- Başarım Puanı
- 691
- MmoLira
- 19,925
- DevLira
- 601
Rica ederimEline sağlık onur
Ş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
- 342
- Cevaplar
- 7
- Görüntüleme
- 2K


