Добро пожаловать на форум, Гость, это ваша панель
  • Страница 1 из 1
  • 1
Как сделать третий слот только для 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 игроки смогут покупать три вещи,а обычные игроки только две.
Меню замены вещи одну на другую будут разными.
Прикрепления: 4191125.png (25.8 Kb) · 3011467.png (22.1 Kb)


Наша группа вконтакте 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, Читай все внимательно!!! wink

 
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)



 
  • Страница 1 из 1
  • 1
Поиск: