Добро пожаловать на форум, Гость, это ваша панель
  • Страница 1 из 1
  • 1
Как сделать ultimate для ViP с 10 уровня?
Own=Pwnz
Дата: Суббота, 21.04.2012, 07:42 | Сообщение # 1
офлайн

  • Сообщения: 76
  • Награды: 2
  • Замечания:
 
Здравствуйте. у меня на сервер стоит ульта для всех с 20 лвл ,а Как сделать ultimate для ViP с 10 уровня?
 
SMaster
Дата: Пятница, 27.04.2012, 00:39 | Сообщение # 2
офлайн

  • Сообщения: 2189
  • Награды: 46
  • Замечания:
 
Шаг 1.
Открываешь файл constants.inl
Добавляешь новую переменную
Code
#define MIN_ULT_LEVEL_VIP 10    //Минимальный уровень доступа к "Супер навыку" для V.I.P.


Скрин как должно быть:


Шаг 2.
Открываешь файл menus.inl
Находишь public MENU_SelectSkill( idUser )
Опускаешься ниже и заменяешь полностью условие if (iSkillLevel < MAX_ULTIMATE_LEVEL)
на код приведенный ниже:
Code
if (iSkillLevel < MAX_ULTIMATE_LEVEL)
{
if(!(get_user_flags(idUser) & ADMIN_LEVEL_H))
{
// User can't choose ultimate yet :/
if (p_data[idUser][P_LEVEL] <= (MIN_ULT_LEVEL - 1) )
pos += formatex( szMsg[pos], charsmax(szMsg)-pos, "\d" );
// Then the user is level 6 or above and can select their ultimate!
else
iKeys |= (1<<iSkillCounter);
}
else
{
// VIP может выбирать ультимейт в меню если набил MIN_ULT_LEVEL_VIP уровней
if (p_data[idUser][P_LEVEL] <= (MIN_ULT_LEVEL_VIP - 1) )
pos += formatex( szMsg[pos], charsmax(szMsg)-pos, "\d" );
else
iKeys |= (1<<iSkillCounter);

}
pos += formatex( szMsg[pos], charsmax(szMsg)-pos, "^n%d. %L: %s\w", iSkillCounter+1, LANG_PLAYER,
  "WORD_ULTIMATE", szSkillName );
}


Скрин как должно быть:


Шаг 3.
Открываешь файл skill_manager.inl
Находишь SM_GiveRandomSkillPoint( idUser )
Полностью заменяешь условие if ( p_data[idUser][P_LEVEL] >= MIN_ULT_LEVEL )
на код приведенный ниже:
Code
if(!(get_user_flags(idUser) & ADMIN_LEVEL_H))
{
    // Give them their ultimate if we can
    if ( p_data[idUser][P_LEVEL] >= MIN_ULT_LEVEL )
    {
     new iUltSkill = SM_GetRandomSkillByType( idUser, SKILL_TYPE_ULTIMATE );

     if ( iUltSkill != -1 && SM_GetSkillLevel( idUser, iUltSkill, 11 ) == 0 )
     {
      // Set up the skill...
      SM_SetSkill( idUser, iUltSkill );

      //client_print( idUser, print_chat, "[DEBUG] Ultimate given: %d", iUltSkill );

      return true;
     }
    }
}
else
{
    // Give them their ultimate if we can
    if ( p_data[idUser][P_LEVEL] >= MIN_ULT_LEVEL_VIP )
    {
     new iUltSkill = SM_GetRandomSkillByType( idUser, SKILL_TYPE_ULTIMATE );

     if ( iUltSkill != -1 && SM_GetSkillLevel( idUser, iUltSkill, 11 ) == 0 )
     {
      // Set up the skill...
      SM_SetSkill( idUser, iUltSkill );

      //client_print( idUser, print_chat, "[DEBUG] Ultimate given: %d", iUltSkill );

      return true;
     }
    }
}


Скрин как должно быть:


Шаг 4.
Открываешь файл ultimates.inl
Находишь ULT_Icon( idUser, flag )
Заменяешь полностью условиеif ( p_data[idUser][P_LEVEL] < MIN_ULT_LEVEL && flag != ICON_HIDE )
на код ниже:
Code
if(!(get_user_flags(idUser) & ADMIN_LEVEL_H))
{
    if(p_data[idUser][P_LEVEL] < MIN_ULT_LEVEL && flag != ICON_HIDE)
     flag = ICON_HIDE;
}
else
{
    if(p_data[idUser][P_LEVEL] < MIN_ULT_LEVEL_VIP && flag != ICON_HIDE)
     flag = ICON_HIDE;
}


Скрин как должно быть:


Шаг 5.
Открываешь файл XP.inl
Находишь XP_Check( idUser, bShowGained = true )
Заменяешь полностью условие if ( p_data[idUser][P_LEVEL] < MIN_ULT_LEVEL )
на код ниже:
Code
if(!(get_user_flags(idUser) & ADMIN_LEVEL_H))
{
    // We might need to remove the ult first!
    if(p_data[idUser][P_LEVEL] < MIN_ULT_LEVEL)
    {
     new iUltimateID = SM_GetSkillOfType( idUser, SKILL_TYPE_ULTIMATE );
     // Then we need to remove this!
     if ( SM_GetSkillLevel( idUser, iUltimateID, 0 ) == 1 )
     {
      // Remove the ult
      SM_SetSkillLevel( idUser, iUltimateID, 0, 0 );
      bSkillRemoved = true;
      // Clear ult icon!
      ULT_ClearIcons( idUser );
      // Get our current skills used
      iSkillsUsed = SM_TotalSkillPointsUsed( idUser );
      // Restart the loop!
      continue;
     }
    }
}
else
{
    // We might need to remove the ult first!
    if(p_data[idUser][P_LEVEL] < MIN_ULT_LEVEL_VIP)
    {
     new iUltimateID = SM_GetSkillOfType( idUser, SKILL_TYPE_ULTIMATE );
     // Then we need to remove this!
     if ( SM_GetSkillLevel( idUser, iUltimateID, 0 ) == 1 )
     {
      // Remove the ult
      SM_SetSkillLevel( idUser, iUltimateID, 0, 0 );
      bSkillRemoved = true;
      // Clear ult icon!
      ULT_ClearIcons( idUser );
      // Get our current skills used
      iSkillsUsed = SM_TotalSkillPointsUsed( idUser );
      // Restart the loop!
      continue;
     }
    }
}


Скрин как должно быть:
Прикрепления: 7021335.png (4.8 Kb) · 7192307.png (26.4 Kb) · 4438957.png (25.6 Kb) · 7679936.png (13.4 Kb) · 0482618.png (32.9 Kb)


Наша группа вконтакте http://vk.com/nano_world_cs

Контакты:
ICQ 607786179
Skype xonahead

 
dancerek
Дата: Суббота, 19.05.2012, 13:37 | Сообщение # 3
офлайн

  • Сообщения: 65
  • Награды: 0
  • Замечания:
 
I made ultimate for VIP available on 6 lvl nad for normal players on 10 lvl.
Works perfectly, but there is no ultimate icon on 6 lvl. Icon appears on 10 lvl. It is possible to fix it that ultimate icon would appear on 6 lvl for VIP?


Сообщение отредактировал dancerek - Суббота, 19.05.2012, 13:46
 
SMaster
Дата: Суббота, 19.05.2012, 14:33 | Сообщение # 4
офлайн

  • Сообщения: 2189
  • Награды: 46
  • Замечания:
 
Problem in CSDM

Наша группа вконтакте http://vk.com/nano_world_cs

Контакты:
ICQ 607786179
Skype xonahead

 
Sasuke_Uchiha
Дата: Понедельник, 25.09.2017, 17:12 | Сообщение # 5
офлайн

  • Сообщения: 2
  • Награды: 0
  • Замечания:
 
Сделал как написано, но все равно что-то не выходит. Может кто-нибудь уже готовые файлы скинуть? Тоже с 10 лвл. Буду очень признателен.
Версия CSSB War3FT MOD + Shopmenu3 (Версия 2.2.3)


Сообщение отредактировал Sasuke_Uchiha - Понедельник, 25.09.2017, 17:17
 
  • Страница 1 из 1
  • 1
Поиск: