Как сделать,чтобы 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;
Скрин как должно быть:
Наша группа вконтакте 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 |
|
| |