Yardım Lycan karekterini kaldıramıyorum...

  • Konuyu açan Konuyu açan al1h4nkvlc2
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 10
  • Gösterim Gösterim 1K
Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.

al1h4nkvlc2

Üye
Üye
Mesaj
252
Çözümler
9
Beğeni
38
Puan
454
Ticaret Puanı
0
Başka bir filese geçtim bu fileste constinfo.py kısmından WOLF_MAN kısmını DISABLED yapmama rağmen karekteri seçebiliyorum.İstiyorum ki karekter seçim ekranında gözükmesin lycan
 
Root açınız consinfo.py içerisinde :

consinfo.py:
Genişlet Daralt Kopyala
WOLF_MAN = "ENABLED"    # ENABLED/DISABLED
WOLF_WOMEN = "ENABLED" # ENABLED/DISABLED

Kısımlarını DISABLED yapın.

Soru devam ederse belirtiniz, lütfen.
 
En son bir moderatör tarafından düzenlenmiş:
1. input_main.cpp açın.
input_main.cpp:
Genişlet Daralt Kopyala
if (ch->GetJob() == JOB_WOLFMAN && bArg >= 16 && bArg <= 20)
Bunu aratın.
input_main.cpp:
Genişlet Daralt Kopyala
if (ch->GetJob() == JOB_WOLFMAN && bArg >= 16 && bArg <= 20)
{
return false;
}
Bu satırı komple source içerisinden silin.
input_main.cpp:
Genişlet Daralt Kopyala
if 0 && ComboInterval < 0 - COMBO_HACK_ALLOWABLE_MS)
buu satırı aratın.
input_main.cpp:
Genişlet Daralt Kopyala
if (ch->GetJob() == JOB_WOLFMAN && Calc - ComboInterval < 400)

{
return false;
}
Komple kaldırın bu kısmı.
2. input_login.cpp açın.
input_main.cpp:
Genişlet Daralt Kopyala
case MAIN_RACE_WOLFMAN_M:

*ret_job = JOB_WOLFMAN;

break;
Şu kısmı bulup kaldırın.
input_login.cpp:
Genişlet Daralt Kopyala
if (g_bEnableNewKingdomForWolfman && race == 8)
bunu aratın tekrardan.
input_login.cpp:
Genişlet Daralt Kopyala
//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 bir kodla karşılaşacaksınız büyük ihtimal sourcelerde farklılık gösterebilir, ama kısaca kaldırmanız gereken yerleri görmüş olsanızda aynı yerlerde aramalar yaparak kaldırabilirsiniz ama farklılık göstermiyeceğini düşünüyorum herkes kopyala yapıştır yapmış zaten. Aşağıdakiekilde değiştirin o kod bloğunu.
input_login.cpp:
Genişlet Daralt Kopyala
table->x        = CREATE_START_X(bEmpire) + number(-300, 300);

table->y = CREATE_START_Y(bEmpire) + number(-300, 300);
3. item.cpp açın.
item.cpp:
Genişlet Daralt Kopyala
case JOB_WOLFMAN:
bu satırı aratın ve aşağıdaki kodu komple silin.
item.cpp:
Genişlet Daralt Kopyala
case JOB_WOLFMAN:

if (GetAntiFlag() & ITEM_ANTIFLAG_WOLFMAN)
return false;
break;
4. item_manager.cpp açın.
item_manager.cpp:
Genişlet Daralt Kopyala
if (LC_IsKorea() || LC_IsYMIR())
şu satırı aratın, ve aşağıdaki kodları kaldırın.
item_manager.cpp:
Genişlet Daralt Kopyala
DWORD dwSkillVnumWolfman;
item_manager.cpp:
Genişlet Daralt Kopyala
              dwSkillVnumWolfman = number(170, 175);



CSkillProto * pkSki = CSkillManager::instance().Get(dwSkillVnumWolfman);

if (!pkSki)

continue;
item_manager.cpp:
Genişlet Daralt Kopyala
__WOLFMAN_CHARACTER__
bu satırı aratın ve aşağıdaki şekilde değiştirin.
item_manager.cpp:
Genişlet Daralt Kopyala
#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.
item_manager.cpp:
Genişlet Daralt Kopyala
                if (number(1, 100) >= 70)
{

item->SetSocket(0, dwSkillVnum);
}
5. ani.cpp açın ve aşağıdaki kod bloklarını kaldırın.
ani.cpp:
Genişlet Daralt Kopyala
FN_NAME(WEAPON_CLAW);
ani.cpp:
Genişlet Daralt Kopyala
case WEAPON_CLAW:
strlcpy(format, "%s/%sclaw/combo_%02d.msa", sizeof(format));
break;
ani.cpp:
Genişlet Daralt Kopyala
case WEAPON_CLAW:
ani.cpp:
Genişlet Daralt Kopyala
        case WEAPON_CLAW:

return "CLAW";
ani.cpp:
Genişlet Daralt Kopyala
    FN_NAME(MAIN_RACE_WOLFMAN_M);
ani.cpp:
Genişlet Daralt Kopyala
      case MAIN_RACE_WOLFMAN_M:

ani.cpp:
Genişlet Daralt Kopyala
      case MAIN_RACE_WOLFMAN_M:

return "WOLFMAN_M";
6. battle.cpp açın ve aşağıdaki kod bloklarını kaldırın.
battle.cpp:
Genişlet Daralt Kopyala
          case JOB_WOLFMAN:

iAtk += (iAtk * pkAttacker->GetPoint(POINT_ATTBONUS_WOLFMAN)) / 100;
break;
battle.cpp:
Genişlet Daralt Kopyala
          case JOB_WOLFMAN:

iAtk -= (iAtk * pkVictim->GetPoint(POINT_RESIST_WOLFMAN)) / 100;
break;
battle.cpp:
Genişlet Daralt Kopyala
            case WEAPON_CLAW:

break;
battle.cpp:
Genişlet Daralt Kopyala
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;
battle.cpp:
Genişlet Daralt Kopyala
else if (item && item->GetSubType() == WEAPON_CLAW)
real_speed /= 2;

battle.cpp:
Genişlet Daralt Kopyala
 // 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);
}
7. char.cpp açın ve aşağıdaki kod bloklarını kaldırın.
char.cpp:
Genişlet Daralt Kopyala
case POINT_BLEEDING_REDUCE:
char.cpp:
Genişlet Daralt Kopyala
            case WEAPON_CLAW:

dwMode = MOTION_MODE_CLAW;
break;
char.cpp:
Genişlet Daralt Kopyala
if (GetJob() == JOB_WOLFMAN && m_iComboHackCount <= 20)

{
return;
}
char.cpp:
Genişlet Daralt Kopyala
           case JOB_WOLFMAN:

iStatAtk = (2 * GetPoint(POINT_ST));
break;
aşağıdaki sütunu şu şekilde değiştirin.
char.cpp:
Genişlet Daralt Kopyala
      case MAIN_RACE_WOLFMAN_M:

return SEX_MALE;
char.cpp:
Genişlet Daralt Kopyala
return SEX_MALE;
char.cpp:
Genişlet Daralt Kopyala
        case MAIN_RACE_WOLFMAN_M:

m_points.job = MAIN_RACE_WOLFMAN_M;
break;
char.cpp:
Genişlet Daralt Kopyala
        case POINT_ATTBONUS_WOLFMAN:
char.cpp:
Genişlet Daralt Kopyala
      case POINT_BLEEDING_PCT:
8. char_item.cpp açın ve aşağıdaki kod bloklarını değiştirin.
char_item.cpp:
Genişlet Daralt Kopyala
case JOB_WOLFMAN:
if (item->GetAntiFlag() & ITEM_ANTIFLAG_WOLFMAN)
return false;
break;
9. char_manager.cpp açın ve aşağıdaki kod bloklarını kaldırın.
char_manager.cpp:
Genişlet Daralt Kopyala
#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)
10. char_resist.cpp açın ve aşağıdakileri kaldırın.
char_resist.cpp:
Genişlet Daralt Kopyala
    iRate = MAX(0, iRate - ch->GetPoint(POINT_BLEEDING_REDUCE));

return iRate;
11. char_skill.cpp açın ve aşağıdakileri kaldırın.
char_skill.cpp:
Genişlet Daralt Kopyala
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);
}
char_skill.cpp:
Genişlet Daralt Kopyala
                            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;
12. config.cpp açın ve şunu kaldırın.
config.cpp:
Genişlet Daralt Kopyala
bool g_bEnableNewKingdomForWolfman = true;
config.cpp:
Genişlet Daralt Kopyala
   TOKEN("enable_new_kingdom_for_wolfman")

{
str_to_number(g_bEnableNewKingdomForWolfman, value_string);
continue;
}
Sourceden tamamiyle kaldırdık. hayırlı uğurlu olsun eklemek isteyenler, tam tersini yapabilirler.
13. root.epk & root.eix açın.
consinfo.py:
Genişlet Daralt Kopyala
WOLF_MAN = "ENABLED"    # ENABLED/DISABLED
WOLF_WOMEN = "ENABLED" # ENABLED/DISABLED
Bu kısımlarını DISABLED yapın.
 
Source kodlarda hatayla karşılaşıyorsanız yada yapamadıysanız ; createcharacterwindow.py üzerinden lycan kodlarını silin.Bununla birlikte oyuna başlangıçta lycan seçimi yapılamaz ama oyunda lycan olmaya devam eder. Örneğin daha önce açılmış olan lycan hesapları yine oynanabilir sadece bu işlemden sonra lycan seçimi yapılamaz. Bu işlemden sonra oyundaki lycan itemlerini, lycan hocasını tek tek elle kaldırmanız gerekir.
 
Son düzenleme:
Source kodlarda hatayla karşılaşıyorsanız yada yapamadıysanız ; createcharacterwindow.py üzerinden lycan kodlarını silin.Bununla birlikte oyuna başlangıçta lycan seçimi yapılamaz ama oyunda lycan olmaya devam eder. Örneğin daha önce açılmış olan lycan hesapları yine oynanabilir sadece bu işlemden sonra lycan seçimi yapılamaz. Bu işlemden sonra oyundaki lycan itemlerini, lycan hocasını tek tek elle kaldırmanız gerekir.
Önemli bir konu şahsen araştırdım yabancı ve türk forumlarında. Tam anlamıyla verim alabilen birisini göremedim... denedikten sonra dönüş sağlayacağım.

@Quaftar aslında kaldırmanın bir yoluda karakter seçim ekranı ve oyun içerisindeki lycan itemlerini ve bklarını kaldırırsak sorun ortadan çözülüp oyuncular için deaktif bir hale gelecektir seçilemediği için. Şöyleki tek yapılması gereken hiç src taraflarına girmeyip sadece karakter seçim ekranından bir şekilde lycanı silmek
 
En son bir moderatör tarafından düzenlenmiş:
Üst