Добро пожаловать на форум, Гость, это ваша панель
  • Страница 1 из 1
  • 1
Выдача XP при нахождение на сервере определенное время
TWENchik
Дата: Среда, 13.03.2013, 13:51 | Сообщение # 1
офлайн

  • Сообщения: 172
  • Награды: 2
  • Замечания:
 
cssbWar3ftMod.sma
в public client_putinserver( id )
Код
set_task(3600.0, "small_present", id)

*через 3600 сек. дается опыт

в public client_disconnect( id )
Код
if(task_exists(id))
       remove_task(id)

XP.h
Код
#define SMALL_BONUS            2000
*2000 - сколько дается опыта

XP.inl
Код
public small_present( idUser )
{
    new players[32], numberofplayers, i, idUser;
    get_players( players, numberofplayers );

    for ( i = 0; i < numberofplayers; i++ )
    {
       idUser = players[i];

       new iBonusXP = XP_Give( idUser, SMALL_BONUS );

       if ( get_pcvar_num( CVAR_wc3_show_objectives ) )
       {             
          format(szMessage, sizeof(szMessage) - 1, "^x01%L^x03%L^x01%L ^x04%L",
             LANG_PLAYER,"WC3_BRACKET_LEFT",LANG_PLAYER,"WC3_MODCLIENT",LANG_PLAYER,"WC3_BRACKET_RIGHT",
             LANG_PLAYER,"AWARD_TIME_BONUS_XP",
             iBonusXP);
              
          cssbColoredPrint(idUser, szMessage);
       }
    }
}

cssbWar3ftMod.txt
Код
AWARD_TIME_BONUS_XP = Вы награждены %d XP за время проведение на сервере.
 
Cy4OHAK
Дата: Суббота, 16.03.2013, 17:45 | Сообщение # 2
офлайн

  • Сообщения: 28
  • Награды: 0
  • Замечания:
 
А как добавить CVAR что бы можно было регулировать период временени выдачи XP и количество в файле war3FT.cfg ?

 
Contra63
Дата: Суббота, 16.03.2013, 17:50 | Сообщение # 3
офлайн

  • Сообщения: 830
  • Награды: 7
  • Замечания:
 
Код
new 123

123 = register_cvar( "456", "1" );

if(get_pcvar_num (123)){ код }


 
straj
Дата: Суббота, 16.03.2013, 19:18 | Сообщение # 4
офлайн

  • Сообщения: 424
  • Награды: 3
  • Замечания:
 
В коде идет удвоение выдачи.
Считает количество выдачи ХР в два раза. Не 2000 ХР, а дает 4000ХР, счетчик вроде так же в два раза считает.


Набор разработчиков в команду Alfa-Strike
Направления: CS1.6; L4d2; COD4; BF2; TF2.

http://forum.alfa-strike.net//index.php?showtopic=10920&pid=72247&st=0&#entry72247
 
TWENchik
Дата: Суббота, 16.03.2013, 19:31 | Сообщение # 5
офлайн

  • Сообщения: 172
  • Награды: 2
  • Замечания:
 
straj, ты проверил?
У меня все нормально работает, если 2000 то и дает 2000, если сделано удвоение опыта для админа/вип то 4000
 
straj
Дата: Суббота, 16.03.2013, 19:49 | Сообщение # 6
офлайн

  • Сообщения: 424
  • Награды: 3
  • Замечания:
 
Возможно и так, не обратил внимания на флаги )) Сори

Набор разработчиков в команду Alfa-Strike
Направления: CS1.6; L4d2; COD4; BF2; TF2.

http://forum.alfa-strike.net//index.php?showtopic=10920&pid=72247&st=0&#entry72247
 
cs-contra
Дата: Воскресенье, 17.03.2013, 11:28 | Сообщение # 7
офлайн

  • Сообщения: 28
  • Награды: 0
  • Замечания:
 
А это разве не дает 2000хп за 36000секунд или просто удваивает но так я не понял!
 
TWENchik
Дата: Воскресенье, 17.03.2013, 12:08 | Сообщение # 8
офлайн

  • Сообщения: 172
  • Награды: 2
  • Замечания:
 
cs-contra, спустя 3600 сек, тоесть 1 час будет даваться опыт написаный в SMALL_BONUS в этом случае 2000, если стоит удвоение опыта для админов то админам будет даваться 4000
 
cs-contra
Дата: Понедельник, 18.03.2013, 06:19 | Сообщение # 9
офлайн

  • Сообщения: 28
  • Награды: 0
  • Замечания:
 
TWENchik, А опыт 2000хп все время будет давать пока карта не сменится? или даже если сменится дальше будет давать опыт да?
 
TWENchik
Дата: Понедельник, 18.03.2013, 15:19 | Сообщение # 10
офлайн

  • Сообщения: 172
  • Награды: 2
  • Замечания:
 
cs-contra, не понимаю о чем ты говоришь) в смысле все время?
в XP.inl есть подобные функции, пример если сделал headshot то дается опыт, а тут если время нахождение на сервере достигло 3600 сек дается опыт
всё просто, лучше просто поставь себе и проверь как это работает)))


Сообщение отредактировал TWENchik - Понедельник, 18.03.2013, 15:25
 
cs-contra
Дата: Вторник, 19.03.2013, 09:15 | Сообщение # 11
офлайн

  • Сообщения: 28
  • Награды: 0
  • Замечания:
 
TWENchik, Ну в смысле будет давать опыт через 3600 сек по истечению времени да! потом еще когда 3600 сек пройдет то опять опыт даст да?
 
TWENchik
Дата: Вторник, 19.03.2013, 13:02 | Сообщение # 12
офлайн

  • Сообщения: 172
  • Награды: 2
  • Замечания:
 
cs-contra, дается один раз, игрок может перезайти и получить еще раз)))
P.S не плохая идея чтобы давалось каждый час или каждый второй час)
 
cs-contra
Дата: Среда, 20.03.2013, 10:02 | Сообщение # 13
офлайн

  • Сообщения: 28
  • Награды: 0
  • Замечания:
 
TWENchik, Да  wink
 
Ewer
Дата: Вторник, 03.10.2017, 17:58 | Сообщение # 14
офлайн

  • Сообщения: 87
  • Награды: 0
  • Замечания:
 
Спасиб, работает
 
admin@cs-eburgga
Дата: Среда, 22.08.2018, 13:41 | Сообщение # 15
офлайн

  • Сообщения: 4
  • Награды: 0
  • Замечания:
 
чет не работает
 
  • Страница 1 из 1
  • 1
Поиск: