HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!
.
Merhaba forumda geliştirici arkadaşlar varmış global chat için bile 2 satır kod için bile full src full packpaylaşan neyse konuyu saptırmayacağım.
1. input_main.cpp açın.
Kod:if (ch->GetJob() == JOB_WOLFMAN && bArg >= 16 && bArg <= 20)
Bunu aratın.
Kod:if (ch->GetJob() == JOB_WOLFMAN && bArg >= 16 && bArg <= 20) { return false; }
Bu satırı komple source içerisinden silin.
Kod:if (CheckSpeedHack && ComboInterval < ch->GetValidComboInterval() - COMBO_HACK_ALLOWABLE_MS)
bu satırı aratın.
Kod:if (ch->GetJob() == JOB_WOLFMAN && Calc - ComboInterval < 400) { return false; }
Komple kaldırın bu kısmı. Buradaki işimiz bitti.
2. input_login.cpp açın.
Kod:case MAIN_RACE_WOLFMAN_M: *ret_job = JOB_WOLFMAN; break;
Şu kısmı bulup kaldırın.
Kod:if (g_bEnableNewKingdomForWolfman && race == 8)
bunu aratın tekrardan.
Kod://table->x = CREATE_START_X(bEmpire) + number(-300, 300); // table->y = CREATE_START_Y(bEmpire) + number(-300, 300); if (g_bEnableNewKingdomForWolfman && race == 8) { table->x = 808274 + number(-300, 300); table->y = 935090 + number(-300, 300); } else { table->x = CREATE_START_X(bEmpire) + number(-300, 300); table->y = CREATE_START_Y(bEmpire) + number(-300, 300); }
şöyle birr kodla karşılaşacaksınız büyük ihtimal sourcelerde farklılık gösterebilir ama ısaca kaldırmanız gereken yerleri görmüş olsanızda aynı yerlerde aramalar yaparak kaldırabilirsiniz ama farklılık göstermiyceğini düşünüyorum herkes kopyala yapıştır yapmış zaten .
aşağıdaki şekilde değiştirin o kod bloğunu.
Kod:table->x = CREATE_START_X(bEmpire) + number(-300, 300); table->y = CREATE_START_Y(bEmpire) + number(-300, 300);
buradaki işimizde bitti.
3. item.cpp açın.
Kod:case JOB_WOLFMAN:
bu satırı aratın ve aşağıdaki kodu komple silin.
Kod:case JOB_WOLFMAN: if (GetAntiFlag() & ITEM_ANTIFLAG_WOLFMAN) return false; break;
buradaki işimizde bitti.
4. item_manager.cpp gülme krizine girdim burdaki eklemeyi gördüğümde
Kod:if (LC_IsKorea() || LC_IsYMIR())
şu satırı aratın. ve aşağıdaki kodları kaldırın.
Kod:DWORD dwSkillVnumWolfman;
Kod:dwSkillVnumWolfman = number(170, 175); CSkillProto * pkSki = CSkillManager::instance().Get(dwSkillVnumWolfman); if (!pkSki) continue;
Buradan bu lycan sistemini eklyeen arkadaşı tebrik ediyorum bu kadar uğraşmak yerine skiller için üstteki ymirin orjinal ekli koduna zaten 1, 111 yerine 1,175 yapsaydı olurdu çünkü zaten officalinde olan bir şey lycan karakteri neyse konumuza dönelim.
Kod:__WOLFMAN_CHARACTER__
bu satırı aratın ve aşağıdaki şekilde değiştirin.
Kod:#ifdef __WOLFMAN_CHARACTER__ dwSkillVnum = number(221, 229); #else dwSkillVnum = number(221, 228); #endif } else { #ifdef __WOLFMAN_CHARACTER__ dwSkillVnum = number(236, 244); #else dwSkillVnum = number(236, 243); #endif
son hali aşağıdaki gibi olcak ordaki satırın.
Kod:if (number(1, 100) >= 70) { item->SetSocket(0, dwSkillVnum); }
Burda bir aksaklık çıkabilir sorun yaşanırsa belirtin bir daha kontrol ederim benim kontrol etme fırsatım yok bu kısmı. Sorun çıkarsa eğer buildlenirken veya oyun içerisinde skill atarken ch düşebilir veya syserr verebilir verdiğinde büyük ihtimal if sorgusu boş döndüğündendir konuyla ilgili oyun hakında bilgisi olan bir geliştirmeci haberdar ederse ne olduğunu o satırda tam olarak düzenlerim oyunla çok alakam yok çünkü. tahminimce skill targetleri wolfman skilleriyle ilgili birşey.
buradaki işimizde bitti arkadaşlar. Game kısmından tamamiyle lycan'ı kaldırdık zaten paylaşılan dosyalarda lycan sorunsuz ve eksiksiz değilmiş bugluymuş.
EK OLARAK DEVAMI
ani.cpp açın. Ve aşağıdaki kod bloklarını kaldırın.
Kod:FN_NAME(WEAPON_CLAW);
Kod:case WEAPON_CLAW: strlcpy(format, "%s/%sclaw/combo_%02d.msa", sizeof(format)); break;
Kod:case WEAPON_CLAW:
Kod:case WEAPON_CLAW: return "CLAW";
Kod:FN_NAME(MAIN_RACE_WOLFMAN_M);
Kod:case MAIN_RACE_WOLFMAN_M:
Kod:case MAIN_RACE_WOLFMAN_M: return "WOLFMAN_M";
ani.cpp ile işimiz bitti.
battle.cpp açın ve aşağıdaki kod bloklarını kaldırın.
Kod:case JOB_WOLFMAN: iAtk += (iAtk * pkAttacker->GetPoint(POINT_ATTBONUS_WOLFMAN)) / 100; break;
Kod:case JOB_WOLFMAN: iAtk -= (iAtk * pkVictim->GetPoint(POINT_RESIST_WOLFMAN)) / 100; break;
Kod:case WEAPON_CLAW: break;
Kod:case WEAPON_CLAW: // iDam = iDam * (100 - pkVictim->GetPoint(POINT_RESIST_CLAW)) / 100;//orjinal pence sav iDam = iDam * (100 - pkVictim->GetPoint(POINT_RESIST_DAGGER)) / 100;//býcak sav oldu boyle break;
Kod:else if (item && item->GetSubType() == WEAPON_CLAW) real_speed /= 2;
Kod:// BLEED if (pkAttacker->GetPoint(POINT_BLEEDING_PCT) && !pkVictim->IsAffectFlag(AFF_BLEEDING) && !pkVictim->IsAffectFlag(AFF_POISON)) { if (number(1, 100) <= pkAttacker->GetPoint(POINT_BLEEDING_PCT)) pkVictim->AttackedByBleeding(pkAttacker); }
battle.cpp ile işimiz bitti.
char.cpp açın ve aşağıdaki kod bloklarını kaldırın.
Kod:case POINT_BLEEDING_REDUCE:
Kod:case WEAPON_CLAW: dwMode = MOTION_MODE_CLAW; break;
Kod:if (GetJob() == JOB_WOLFMAN && m_iComboHackCount <= 20) { return; }
Kod:case JOB_WOLFMAN: iStatAtk = (2 * GetPoint(POINT_ST)); break;
aşağıdaki sutunu şu şekilde değiştirin.
Kod:case MAIN_RACE_WOLFMAN_M: return SEX_MALE;
Kod:return SEX_MALE;
Kod:case MAIN_RACE_WOLFMAN_M: m_points.job = MAIN_RACE_WOLFMAN_M; break;
Kod:case POINT_ATTBONUS_WOLFMAN:
Kod:case POINT_BLEEDING_PCT:
char.cpp de işimiz bitti.
char_item.cpp açın ve aşağıdaki kod bloklarını değiştirin.
Kod:case JOB_WOLFMAN: if (item->GetAntiFlag() & ITEM_ANTIFLAG_WOLFMAN) return false; break;
char_item.cpp ile işimiz bitti.
char_manager.cpp açın ve aşağıdaki kod bloklarını kaldırın.
Kod:#define FIND_JOB_WOLFMAN_0 (1 << 15) #define FIND_JOB_WOLFMAN_1 (1 << 16) #define FIND_JOB_WOLFMAN (FIND_JOB_WOLFMAN_0 | FIND_JOB_WOLFMAN_1)
char_manager.cpp ile işimiz bitti.
char_resist.cpp açın ve aşağıdakileri kaldırın.
Kod:iRate = MAX(0, iRate - ch->GetPoint(POINT_BLEEDING_REDUCE)); return iRate;
char_resist.cpp ile işimiz bitti.
char_skill.cpp açın ve aşağıdakileri kaldırın.
Kod:else if (m_pkSk->dwVnum == SKILL_GONGDAB) { float adjust = 1.0; if (m_pkChr->GetWear(WEAR_WEAPON) && m_pkChr->GetWear(WEAR_WEAPON)->GetSubType() == WEAPON_CLAW) { adjust = 1.35f; } iAmount = (int)(iAmount * adjust); }
Kod:case WEAPON_CLAW: // iDam = iDam * (100 - pkChrVictim->GetPoint(POINT_RESIST_CLAW)) / 100;//orjinal pence sav iDam = iDam * (100 - pkChrVictim->GetPoint(POINT_RESIST_DAGGER)) / 100;//Býcak sav oldu boyle break;
char_skill.cpp ile işimiz bitti.
config.cpp açın ve şunu kaldırın.
Kod:bool g_bEnableNewKingdomForWolfman = true;
Kod:TOKEN("enable_new_kingdom_for_wolfman") { str_to_number(g_bEnableNewKingdomForWolfman, value_string); continue; }
config.cpp ile işimiz bitti.
ve sourceden tamamiyle kaldırdık. hayırlı uğurlu olsun eklemek isteyenler tam tersini yapabilirler.
Python olarak, kaldırmayıda ekleyecektim fakat elemiyorum çünkü config kodları mevcut en sağlıklısı o olacaktır.
root.epk & root.eix açın.
consinfo.py içerisinde:
Kod:WOLF_MAN = "ENABLED" # ENABLED/DISABLED WOLF_WOMEN = "ENABLED" # ENABLED/DISABLED
Kısımlarını DISABLED yapın.
sadece lycan bk kaldırmak ıstıyorm yazılanları yaptım fakat kalkmadı yardım ,
https://forum.turkmmo.com/konu/3618583-lycan-bk-lari-kaldirma/
Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 20
- Görüntüleme
- 829
- Cevaplar
- 14
- Görüntüleme
- 730
- Cevaplar
- 5
- Görüntüleme
- 1K
- Cevaplar
- 37
- Görüntüleme
- 2K
- Cevaplar
- 4
- Görüntüleme
- 334

paylaşan neyse konuyu saptırmayacağım.