Как сделать третий слот только для VIP игроков?
|
|
SMaster | Дата: Четверг, 17.05.2012, 06:23 | Сообщение # 1 |
- Сообщения: 2189
- Награды: 46
- Замечания:
|
Как сделать третий слот только для VIP игроков? Тема касается тех кто уже сделал себе три слота.
Шаг 1.
Открываете файл items.inl. Находите функцию public ITEM_Buy( idUser, iItem )( idUser ) Добавляете код.
Код: Код if(!(get_user_flags(idUser) & ADMIN_LEVEL_H)) { if ( ITEM_GetSlot( idUser ) == ITEM_SLOT_THREE && !ITEM_CheckFlag( iItem, ITEM_USEONBUY ) ) { if ( !ITEM_CheckFlag( iItem, ITEM_USEONBUY ) ) { new bool:bShowReplaceMenu = false;
if ( !ITEM_CheckFlag( iItem, ITEM_CHARGEABLE ) ) bShowReplaceMenu = true;
if ( ITEM_Has( idUser, iItem ) == ITEM_NONE && ITEM_CheckFlag( iItem, ITEM_CHARGEABLE ) ) { bShowReplaceMenu = true; }
if ( bShowReplaceMenu ) { g_iFutureItem [idUser]= iItem;
MENU_ReplaceItem2( idUser );
return; } } } }
Скрин как должно быть:
Шаг 2.
Открываете файл menus.inl. Добавляете функцию (стандартная для двух слотов).
Код:
Код public MENU_ReplaceItem2( idUser ) {
new szMenu[512] = "", pos = 0; new iKeys = (1<<9)|(1<<0)|(1<<1);
// Add the menu header pos += format( szMenu[pos], charsmax(szMenu)-pos, "%L^n^n", LANG_PLAYER, "MENU_REPLACE_ITEM" );
new szItemName[64], szItemName2[64]; LANG_GetItemName( g_iShopMenuItems[idUser][ITEM_SLOT_ONE], idUser, szItemName, charsmax(szItemName) ); LANG_GetItemName( g_iShopMenuItems[idUser][ITEM_SLOT_TWO], idUser, szItemName2, charsmax(szItemName2) );
// Add the items pos += format( szMenu[pos], charsmax(szMenu)-pos, "\r1. %s^n", szItemName ); pos += format( szMenu[pos], charsmax(szMenu)-pos, "\y2. %s^n", szItemName2 );
// Add the exit option pos += format( szMenu[pos], charsmax(szMenu)-pos, "^n\d0. %L", LANG_PLAYER, "WORD_EXIT" );
// Show the menu show_menu( idUser, iKeys, szMenu, -1 );
return; }
Скрин как должно быть:
В результате VIP игроки смогут покупать три вещи,а обычные игроки только две. Меню замены вещи одну на другую будут разными.
Наша группа вконтакте http://vk.com/nano_world_cs
Контакты: ICQ 607786179 Skype xonahead
|
|
| |
PATRUL | Дата: Воскресенье, 03.06.2012, 22:51 | Сообщение # 2 |
- Сообщения: 718
- Награды: 5
- Замечания:
|
У меня у одного такая проблема,что в спеке за VIP'ом показывает только две вещи,хотя с собой у него три.
|
|
| |
SMaster | Дата: Понедельник, 04.06.2012, 14:58 | Сообщение # 3 |
- Сообщения: 2189
- Награды: 46
- Замечания:
|
PATRUL, На отображение в спектрах этот код не должен влиять. Код всего лишь запрещает покупку третьего предмета.
Наша группа вконтакте http://vk.com/nano_world_cs
Контакты: ICQ 607786179 Skype xonahead
|
|
| |
PATRUL | Дата: Понедельник, 04.06.2012, 21:18 | Сообщение # 4 |
- Сообщения: 718
- Награды: 5
- Замечания:
|
Исправить лаг с отображением трех вещей: http://perfect-soft.su/forum/56-621-1
Сообщение отредактировал PATRUL - Вторник, 05.06.2012, 20:16 |
|
| |
dancerek | Дата: Вторник, 26.06.2012, 12:15 | Сообщение # 5 |
- Сообщения: 65
- Награды: 0
- Замечания:
|
I have the question. How to make that normal players (no VIP) try to buy third item (alredy have 2 items and try to buy 3) would see the replacement menu (as normal) and the message : "You can't buy three items, becouse you aren't VIP". In summary - I just want to create this message. Rest would be as earlier.
|
|
| |
KinD | Дата: Вторник, 26.06.2012, 12:17 | Сообщение # 6 |
- Сообщения: 1148
- Награды: 22
- Замечания:
|
client_print(idUser,print_chat, "%L", "WC3_NO_VIP")
Skype:daywerok
|
|
| |
XiToN1441 | Дата: Четверг, 06.12.2012, 11:31 | Сообщение # 7 |
- Сообщения: 5
- Награды: 0
- Замечания:
|
сделал как написанно 3ию вещь купить не дает
Открываете файл menus.inl. Добавляете функцию (стандартная для двух слотов).
куда этот код встовлять на какую строчку
|
|
| |
runetov | Дата: Пятница, 07.12.2012, 10:08 | Сообщение # 8 |
- Сообщения: 283
- Награды: 8
- Замечания:
|
XiToN1441, Читай все внимательно!!!
|
|
| |
Syrax | Дата: Четверг, 09.05.2013, 20:59 | Сообщение # 9 |
- Сообщения: 29
- Награды: 0
- Замечания:
|
Все сделал как сказано выше и обнаружил баг. Если купить третий итем кольца, то они покупаются и можно купить все оставшиеся предметы, из них работает только здоровье. Т.е. покупаем сначала например маску и ожерелья, после кольца и они отображаются как купленный предмет, далее можно купить предмет здоровье, который даст хп и другие итемы, никаких свойств они не дадут, но за них спишут деньги. Для випа закрыл баг следующим образом, добавил новое условие и в нем условие if ( ITEM_GetSlot( idUser ) == ITEM_SLOT_THREE && !ITEM_CheckFlag( iItem, ITEM_USEONBUY ) ) (которое выше), заменил на дефолтовское if ( ITEM_GetSlot( idUser ) == ITEM_SLOT_FULL && !ITEM_CheckFlag( iItem, ITEM_USEONBUY ) ) , после этого баг у випов исчез, помогите исправить баг для простых игроков.
Третий слот делал по теме http://perfect-soft.su/forum/56-216-1
Сообщение отредактировал Syrax - Пятница, 10.05.2013, 11:13 |
|
| |
LaN | Дата: Пятница, 07.02.2014, 11:53 | Сообщение # 10 |
- Сообщения: 2
- Награды: 0
- Замечания:
|
And with this you make bug for normal users, when user buying two items and try to change it with the same, doesn't show "you have already have this item ":X And take money for the item already have........\ If i have mask and necklace and buy mask show me replace menu and when i type button 1 buy mask again, when i type button2 to replace with necklace show me : you have already this item ?! and remove necklace item
Сообщение отредактировал LaN - Пятница, 07.02.2014, 12:01 |
|
| |
LLapb | Дата: Вторник, 22.07.2014, 05:05 | Сообщение # 11 |
- Сообщения: 20
- Награды: 0
- Замечания:
|
Возможно ли сделать третий слот только для вип для этой версии мода? :
CSSB War3FT MOD Private + Shopmenu3 (Версия 2.6.2)
|
|
| |