Добро пожаловать на форум, Гость, это ваша панель
  • Страница 1 из 1
  • 1
Форум Perfect Soft » Моды и AMX Скриптинг CS 1.6 » CSSB War3FT MOD » Вместо опыта,показывает уровень(war3ft) как это сделать?
Вместо опыта,показывает уровень(war3ft) как это сделать?
KinD
Дата: Понедельник, 20.02.2012, 21:19 | Сообщение # 1
офлайн

  • Сообщения: 1148
  • Награды: 22
  • Замечания:
 
Здравствуйте! Я хочу поставить место Опыта(см ниже)

Поставить чтоб показывался LVL игрока.



Возможно ли это?
Прикрепления: 5732382.jpg (18.5 Kb)


Skype:daywerok
 
SMaster
Дата: Вторник, 21.02.2012, 07:02 | Сообщение # 2
офлайн

  • Сообщения: 2189
  • Награды: 46
  • Замечания:
 
Шаг 1.
Открываешь файл war3ft.inl
Находишь WC3_ChangeRaceShowMenu( idUser, iRaceXP[MAX_RACES] = {0} )
Пишешь код,который ниже
Code
// Function will show the "select a race" menu to the user
WC3_ChangeRaceShowMenu( idUser, iRaceXP[MAX_RACES] = {0} )
{
     // We don't want to replace the player's current XP with whats in the database now do we ?
     if ( p_data[idUser][P_RACE] )
     {
      //iRaceXP[p_data[idUser][P_RACE]-1] = p_data[idUser][P_XP];
          
      iRaceXP[p_data[idUser][P_RACE]-1] = p_data[idUser][P_LEVEL];
     }
          
     // Need to call this here
     MENU_ChangeRace( idUser, iRaceXP );
}


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


Шаг 2.
В XP.inl добавляешь новую функцию.

Code
XP_GetLevelByXP( iXP )
{
     if ( iXP < 0 || iXP == 0 )
      return 0;

     new Float:fXPMult = get_pcvar_float( CVAR_wc3_xp_multiplier );

     new iResultLevel = 0;
     for (new iLevel = 0; iLevel <= MAX_LEVELS; iLevel++ )
     {
      if ( get_pcvar_num( CVAR_wc3_save_xp ) == 1 )
      {
       if(iXP >= floatround(iXPLevelSaved[iLevel] * fXPMult ))
        iResultLevel = iLevel;
      }

      if ( get_pcvar_num( CVAR_wc3_save_xp ) == 0 )
      {
       if(iXP >= floatround(iXPLevelShortTerm[iLevel] * fXPMult ))
        iResultLevel = iLevel;
      }

     }

     return iResultLevel;
}


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


Шаг 3.
В db_common.h добавляешь новую переменную

Code
new arrPlayerLevelsInfo[33][MAX_RACES];


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


Шаг 4.
Открываешь db_sqlite.inl и находишь фунцию SQLITE_GetAllXP( idUser )
Опускаешься ниже и изменяешь как показано на скрине ниже.

Добавляешь две строчки(одну из них комментируя)
Code
arrPlayerLevelsInfo[idUser][iRace-1] = XP_GetLevelByXP( iXP );
и
WC3_ChangeRaceShowMenu( idUser, arrPlayerLevelsInfo[idUser] );


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


Шаг 5.
Открываешь db_mysqlx.inl и находишь фунцию MYSQLX_GetAllXP( idUser )
Опускаешься ниже и изменяешь как показано на скрине ниже.

Добавляешь две строчки(одну из них комментируя)
Code
arrPlayerLevelsInfo[idUser][iRace-1] = XP_GetLevelByXP( iXP );
и
WC3_ChangeRaceShowMenu( idUser, arrPlayerLevelsInfo[idUser] );


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


Шаг 6.
Открываешь словарь мода cssbWar3ftMod.txt
Находишь ключ MENU_WORD_EXPERIENCE и заменяешь слово "Опыт" на "Уровень"

Результат который должен получиться!
Прикрепления: 0179195.png (11.1 Kb) · 2724000.png (14.2 Kb) · 9527012.png (5.6 Kb) · 9599252.png (17.1 Kb) · 5352113.png (371.3 Kb)


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

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

 
SMaster
Дата: Вторник, 21.02.2012, 07:08 | Сообщение # 3
офлайн

  • Сообщения: 2189
  • Награды: 46
  • Замечания:
 
Если делать в обычном моде war3ft.amxx, то там вместо idUser используется просто id
Словарик так же по другому называется war3FT.txt


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

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

 
KinD
Дата: Вторник, 21.02.2012, 09:45 | Сообщение # 4
офлайн

  • Сообщения: 1148
  • Награды: 22
  • Замечания:
 
Спасибо большое

Skype:daywerok
 
nymbus2000
Дата: Пятница, 20.04.2012, 01:04 | Сообщение # 5
офлайн

  • Сообщения: 130
  • Награды: 0
  • Замечания:
 
А можно сделать так что-бы и количество опыта и уровень поочередно показывались ?

CS: -=*{Vitaliy}*=-
Skype: opa_nao_O
 
SMaster
Дата: Пятница, 20.04.2012, 01:07 | Сообщение # 6
офлайн

  • Сообщения: 2189
  • Награды: 46
  • Замечания:
 
nymbus2000, Цель не ясна такой заморочки.Смысла нет.

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

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

 
nymbus2000
Дата: Пятница, 20.04.2012, 02:02 | Сообщение # 7
офлайн

  • Сообщения: 130
  • Награды: 0
  • Замечания:
 
Я себе установил, прикольно вот только я накачал админкой себя 31 лвл, потом поменял ник но у меня все равно показывается 31 лвл, но если выбрать рассу то будет 0 уровень. надеюсь Вы меня поймете :)

CS: -=*{Vitaliy}*=-
Skype: opa_nao_O
 
SMaster
Дата: Пятница, 20.04.2012, 11:42 | Сообщение # 8
офлайн

  • Сообщения: 2189
  • Награды: 46
  • Замечания:
 
nymbus2000, Когда меняешь ник и показывает то же самое число XP или уровень это нормально.
Следовательно нет смысла, как я и писал, делать то, что ты хочешь.


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

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

 
MaJIou
Дата: Понедельник, 29.09.2014, 10:30 | Сообщение # 9
офлайн

  • Сообщения: 43
  • Награды: 0
  • Замечания:
 
Спасибо  applause

Добавлено (29.09.2014, 10:30)
---------------------------------------------


Skype - dimasomon

Сообщение отредактировал MaJIou - Понедельник, 29.09.2014, 11:08
 
aelrond
Дата: Суббота, 07.11.2015, 16:54 | Сообщение # 10
офлайн

  • Сообщения: 29
  • Награды: 0
  • Замечания:
 
понимаю, что тема старая.. но вот что у меня получилось и я доволен)
 
NaSok
Дата: Воскресенье, 08.11.2015, 20:13 | Сообщение # 11
офлайн

  • Сообщения: 80
  • Награды: 1
  • Замечания:
 
У десятой расы (Вергилий) не видно уровня!

 
aelrond
Дата: Понедельник, 09.11.2015, 01:51 | Сообщение # 12
офлайн

  • Сообщения: 29
  • Награды: 0
  • Замечания:
 
Цитата NaSok ()
У десятой расы (Вергилий) не видно уровня!

Как видишь, я решил эту проблему, и решил еще одну проблему - "как добавить более чем 10 рас?"



 
pwalkerfnf
Дата: Понедельник, 09.11.2015, 21:57 | Сообщение # 13
офлайн

  • Сообщения: 11
  • Награды: 0
  • Замечания:
 
Как видишь, это не сложно

 
aelrond
Дата: Среда, 11.11.2015, 00:21 | Сообщение # 14
офлайн

  • Сообщения: 29
  • Награды: 0
  • Замечания:
 
Как видишь, я пошёл дальше)


 
pwalkerfnf
Дата: Среда, 11.11.2015, 12:35 | Сообщение # 15
офлайн

  • Сообщения: 11
  • Награды: 0
  • Замечания:
 
Цитата aelrond ()
Дата: Среда, 11.11.2015, 00:21 | Сообщение # 14Сообщения: 26
Награды: 0
Замечания: 0%
0
 
Как видишь, я пошёл дальше)
я до этого на старой системе так же сделал, но вместо уопыта передовались непонятные числа, и сейчас так же
 
aelrond
Дата: Среда, 11.11.2015, 13:19 | Сообщение # 16
офлайн

  • Сообщения: 29
  • Награды: 0
  • Замечания:
 
Цитата pwalkerfnf ()
я до этого на старой системе так же сделал, но вместо опыта передАвались непонятные числа, и сейчас так же
Значит что то неверно сделал.

Код
iRaceXP[MAX_RACES], iRaceLVL[MAX_RACES]

formatex(szMenuMulti,511," %s   [%d]   [%d]", szRaceName, iRaceXP[id_race], iRaceLVL[id_race]);

Проверь что бы соответствовало:
%s - текст
%d - цифры
%L - словарик


Сообщение отредактировал aelrond - Среда, 11.11.2015, 13:21
 
pwalkerfnf
Дата: Среда, 11.11.2015, 13:42 | Сообщение # 17
офлайн

  • Сообщения: 11
  • Награды: 0
  • Замечания:
 
Цитата aelrond ()
Значит что то неверно сделал.?
1
2
3
iRaceXP[MAX_RACES], iRaceLVL[MAX_RACES]
 
formatex(szMenuMulti,511," %s   [%d]   [%d]", szRaceName, iRaceXP[id_race], iRaceLVL[id_race]);

Проверь что бы соответствовало:
%s - текст
%d - цифры
%L - словарик
 спасибо, написал бы чуть чуть раньше, исправил уже, переменная по пути к меню терялась, сделал глобальной и туда кинул опыт, все как часики работает)




 
Форум Perfect Soft » Моды и AMX Скриптинг CS 1.6 » CSSB War3FT MOD » Вместо опыта,показывает уровень(war3ft) как это сделать?
  • Страница 1 из 1
  • 1
Поиск: