Добро пожаловать на форум, Гость, это ваша панель
  • Страница 1 из 1
  • 1
Форум Perfect Soft » Моды и AMX Скриптинг CS 1.6 » CSSB War3FT MOD » Как сделать,чтобы scroll можно купить только 1-3 раза?
Как сделать,чтобы scroll можно купить только 1-3 раза?
PATRUL
Дата: Понедельник, 11.06.2012, 00:29 | Сообщение # 1
офлайн

  • Сообщения: 718
  • Награды: 5
  • Замечания:
 
Как сделать/что изменить/дописать,чтобы "scroll" можно было купить,только 1-2 раза за раунд!?


 
SMaster
Дата: Понедельник, 11.06.2012, 19:14 | Сообщение # 2
офлайн

  • Сообщения: 2189
  • Награды: 46
  • Замечания:
 
Шаг 1.
Добавить в словарик cssbWar3ftMod.txt новый ключ
Code
CLIENT_PRINT_LIMIT_BUY_ONE_ROUND = За раунд предмет можно покупать %d раз(а)


Шаг 2.

В файл items.h добавляешь новые переменные
Code
new arrScroolBuyRound[33];   // Ограничение покупки предмета Scroll of Respawning
#define BUY_ITEM_ONE_ROUND_SCROOL 2    //Сколько раз можно покупать предмет Scroll of Respawning


Шаг 3.

В файл items.inl находишь public ITEM_CanBuy( idUser, iItem )
Дописываешь в самый низ код:
Code
//Ограничение на покупку предмета SCROLL
else if ( ( iItem == ITEM_SCROLL && arrScroolBuyRound[idUser] == BUY_ITEM_ONE_ROUND_SCROOL ))
{
    formatex(szMessage, sizeof(szMessage) - 1, "%L",LANG_PLAYER,"CLIENT_PRINT_LIMIT_BUY_ONE_ROUND",BUY_ITEM_ONE_ROUND_SCROOL);
    client_print( idUser, print_center, szMessage );
    return false;
}


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


Шаг 4.

В файл items.inl находишь ITEM_DisplayMessage( idUser, iItem )
Дописываешь код:
Code
arrScroolBuyRound[idUser]++;


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


Шаг 5.

В файл events.inl находишь public EVENT_NewRound()
Дописываешь код:
Code
arrScroolBuyRound[players[i]] = 0;


Скрин как должно быть:
Прикрепления: 1636489.png (18.2 Kb) · 6313618.png (16.3 Kb) · 7471247.png (8.8 Kb)


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

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

 
PATRUL
Дата: Понедельник, 11.06.2012, 22:53 | Сообщение # 3
офлайн

  • Сообщения: 718
  • Награды: 5
  • Замечания:
 
SMaster, спасибо все работает =)


 
nymbus2000
Дата: Четверг, 09.08.2012, 02:21 | Сообщение # 4
офлайн

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

CS: -=*{Vitaliy}*=-
Skype: opa_nao_O
 
Contra63
Дата: Четверг, 09.08.2012, 09:19 | Сообщение # 5
офлайн

  • Сообщения: 830
  • Награды: 7
  • Замечания:
 
nymbus2000,
Code
что то = register_cvar("что то", "3начение");


Code
BUY_ITEM_ONE_ROUND_SCROOL
=>
Code
get_pcvar_num(что то)




Сообщение отредактировал Contra63 - Четверг, 09.08.2012, 09:23
 
nymbus2000
Дата: Воскресенье, 12.08.2012, 21:50 | Сообщение # 6
офлайн

  • Сообщения: 130
  • Награды: 0
  • Замечания:
 
Contra63, Опиши пожалуйста как сделать cvar в данном случае!

CS: -=*{Vitaliy}*=-
Skype: opa_nao_O
 
runetov
Дата: Воскресенье, 12.08.2012, 22:03 | Сообщение # 7
офлайн

  • Сообщения: 283
  • Награды: 8
  • Замечания:
 
nymbus2000, Он тебе уже описал в кратце!

Рас на то пошло, ты мои плагины посмотреть не мог, там везде квары вот пример одного моего меню.

Code

new g_unad_cost
   

   
public plugin_init()   
{  
  g_unad_cost = register_cvar("shop_unad_cost", "1000") //Создаем CVAR,чтобы настраивать цену предмета и цену в меню.  
}  

   
  public Menu_Rac_War3FT(id)  
{

  new menu = menu_create( "\rКлиентское \yМеню \wРас:^n\dMenu by ***volf***", "shop_handler" )    //Создаем заголовок магазина  
   
   

  new menu = menu_create(msg,"shop_handler") //Создаем само меню  
  formatex(msg, charsmax(msg), "Нежить  \r%d \y$", get_cvar_num("shop_unad_cost")) // создаем название предмета и его цену(цена регулируется CVAR)  
        
  menu_setprop(menu, MPROP_NEXTNAME, "Дальше") //Русифицируем NEXT  
  menu_setprop(menu, MPROP_BACKNAME, "Назад") // Русифицируем BACK  
  menu_setprop(menu, MPROP_EXITNAME, "Выход") // Русифицируем EXIT  
  menu_display(id,menu, 0) // Показываем меню  

}     
   
  public shop_handler( id, menu, item )   
{   
   
  new cost1 = get_pcvar_num(g_unad_cost)
   

   
  menu_item_getinfo( menu, item, access, data,5, iName, 63, callback );   
  new key = str_to_num( data );   
  switch( key )   
  {   
  case 1: //То ,что будет воспроизводится при нажатии на 1 предмет.  
  {   
  if(cs_get_user_money(id)< get_cvar_num("shop_unad_cost")) //Если у вас меньше денег чем стоит предмет,то воспроизводится Сообщение.  
  {  
  client_print(id,print_center, "У тебя мало денег! (Тебе Нужно %i$).", cost1) //Сообщение по центру экрана  

  ColorChat(id,NORMAL,"^4У тебя мало денег! Чтобы взять эту расу! ^3(Тебе Нужно %i$)." , cost1)
   
  }  
  else
  {  
  cs_set_user_money(id,cs_get_user_money(id) - get_cvar_num("shop_unad_cost")) //Отнимаем деньги у игрока.  
   
  client_cmd(id, "unad")
   
  ColorChat(id,NORMAL,"^3Вы только что купили ^4Нежить")
   
  }  
  }




Сообщение отредактировал runetov - Воскресенье, 12.08.2012, 22:07
 
Форум Perfect Soft » Моды и AMX Скриптинг CS 1.6 » CSSB War3FT MOD » Как сделать,чтобы scroll можно купить только 1-3 раза?
  • Страница 1 из 1
  • 1
Поиск: