[SHOP] Core 2.1.0

Тема в разделе "Shop", создана пользователем R1KO, 18 мар 2016.

  1. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.995
    Симпатии:
    2.990
    Проверьте новое ядро.
    Список изменений:
    Код:
    Добавлены нативы:
    Shop_GiveClientItem
    Shop_SetCanLuck
    Shop_SetItemCanLuck
    Shop_GetItemCanLuck
    Shop_GetItemNameById
    Shop_GetCategoryNameById
    Shop_GetItemType
    Обновлены inc файлы
    Исправлена проблема когда при передаче кредитов игроки вводят отрицательные значения
    Добавлена возможность сортировки категорий в меню
    Добавлены константы для компиляции исходников с csgo_colors
    
    Для сортировки меню необходимо в файл addons/sourcemod/configs/shop/shop_sort.txt добавить названия категорий в нужном порядке.
    Пример:
    Код:
    aura
    ability
    stuff
    Имена категорий можно найти в исходнике. Ищем фразу Shop_RegisterCategory. Далее может быть 2 варианта:
    1.
    PHP:
    new CategoryId:category_id Shop_RegisterCategory("stuff""Разное"""); // Имя категории  - stuff
    2.
    PHP:
    // Начало файла
    #define CATEGORY    "aura"// Имя категории - aura

    // Результат поиска
    new CategoryId:category_id Shop_RegisterCategory(CATEGORYsNamesDescription); // Имя категории записано в константе CATEGORY 
     

    Вложения:

    Последнее редактирование: 31 мар 2016
    skolobes, Kryloff, rodgerland и 2 другим нравится это.
  2. White Wolf

    White Wolf [] (int _n) -> double { return (_n % 2) == 0;}); Супер-модератор

    Сообщения:
    1.193
    Симпатии:
    423
    Не найдены natives:
    PHP:
    //players.inc
    Shop_GiveClientItem
    Shop_SetClientItemCount
    Shop_SetClientItemTimeleft
    Shop_GetClientItemTimeleft
    Shop_GetClientItemSellPrice

    //items.inc
    Shop_SetCanLuck
     
  3. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.995
    Симпатии:
    2.990
    @White Wolf, Shop_SetCanLuck в register.inc т.к. используется при регистрации.
    Строки players.inc
    Shop_GiveClientItem - 171
    Shop_SetClientItemCount - 191
    Shop_SetClientItemTimeleft - 19
    Shop_GetClientItemTimeleft - 29
    Shop_GetClientItemSellPrice - 39

    Кстати забыл написать что добавлены еще Shop_GiveClientItem и Shop_SetClientItemCount
    players.inc кажется не апнул

    Еще в обновлении будет добавлен
    PHP:
    /**
    *    Получает тип предмета
    *    -
    *    @param item_id                Item id
    *    -
    *    @return Тип предмета
    */
    native ItemType:Shop_GetItemType(ItemId:item_id);
     

    Вложения:

    • players.inc
      Размер файла:
      5 КБ
      Просмотров:
      40
  4. White Wolf

    White Wolf [] (int _n) -> double { return (_n % 2) == 0;}); Супер-модератор

    Сообщения:
    1.193
    Симпатии:
    423
    @R1KO, полезное обновление. Но вот не пойму, смысл в
    PHP:
    native bool:Shop_GiveClientItem(clientItemId:item_idcount 1);
    3 аргумент - количество. А что если выдавать предмет со сроком действия? Или предмет типа BuyOnly
    И по поводу установки удачи предмета. Как оно должно работать? Типа предмет просто может не учавствовать в "Try a luck"? И можно ли будет изменить параметр item'a с "удачей".
     
  5. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.995
    Симпатии:
    2.990
    @White Wolf, при регистрации (после Shop_StartItem) предмет по дефолту можно выиграть, но если сделать Shop_SetCanLuck(false); то его нельзя будет выигрывать.

    Так же в процессе работы это можно менять с помощью Shop_SetItemCanLuck(true/false);

    С Shop_GiveClientItem тоже все просто. Если предмет не Finite то всегда будет 1
     
    White Wolf нравится это.
  6. skolobes

    skolobes Не раздевайся, я по делу

    Сообщения:
    266
    Симпатии:
    22
    Вот после прожатия раз 10 испытать удачу,нельзя ничего не купить,не взять из инвентаря CS GO
    Оффтоп
     
  7. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.995
    Симпатии:
    2.990
    @skolobes, эрроры посмотри
     
  8. skolobes

    skolobes Не раздевайся, я по делу

    Сообщения:
    266
    Симпатии:
    22
    эрроров нет
     
  9. AS TRO

    AS TRO

    Сообщения:
    1.056
    Симпатии:
    509
    Я так понимаю, это обновленная версия от Фроза?) аль твоя собственная? И подходят ли модули от шопа Фроза к твоему шопу? Засыпал вопросами)
     
  10. September

    September

    Сообщения:
    1.188
    Симпатии:
    164
    подходит
     
    AS TRO нравится это.
  11. September

    September

    Сообщения:
    1.188
    Симпатии:
    164
    поменяй кодировку
     
  12. Twink

    Twink

    Сообщения:
    72
    Симпатии:
    23
    Только что додумался :D
    Но все равно спасибо :beer:
     
    Big нравится это.
  13. SHAREN

    SHAREN Servers-Info.Ru

    Сообщения:
    204
    Симпатии:
    13
    На 1.7 не компилируется, можно ли как-то исправить ошибки типа таких?
    Код:
    error 154: cannot assign INVALID_FUNCTION to a non-function type
    Я так понимаю код прекрасно компилируется на старом компиляторе, но все-таки может уже стоит совместить код с 1.7?
    P.S. я не говорю про сам синтаксис (#pragma newdecls required), код и без newdecls не компилируется.
     
  14. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.995
    Симпатии:
    2.990
    @SHAREN, на новом см его не скомилить не переписав пару десятков строк. Да и какой смысл если и на старом всё отлично работает
     
  15. lordvoice

    lordvoice

    Сообщения:
    23
    Симпатии:
    0
    У меня функция "Испытать удачу" не работает. Пишет магазин пустой
     
  16. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.995
    Симпатии:
    2.990
  17. SHAREN

    SHAREN Servers-Info.Ru

    Сообщения:
    204
    Симпатии:
    13
    Ну на самом деле там почти одна и та же ошибка связанная с типом данных function, просто я не такой опытный чтобы решить эту проблему и не понимаю как работает этот тип данных.

    Думаю что уже многие новички учились на версии 1.7, и привыкли к новой версии, и к старой возвращаться не охота.

    Если нету времени исправлять, то пожалуйста просто напиши в чем заключается ошибка и объясни как её можно исправить.
     
  18. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.995
    Симпатии:
    2.990
    @SHAREN, не всё так просто. Новый см не поддерживает то что мог старый. Старый многое прощал. Нужно изменять размер ячеек массивов для хранения функций и вызывать функции не по адресу, а сначала искать адрес по имени. Как будет свободное время - напишу подробнее
     
    SHAREN нравится это.
  19. FrozDark

    FrozDark Команда сайта HLMod Модератор

    Сообщения:
    1.761
    Симпатии:
    1.915
    Такая ошибка происходит потому что одному типу переменной присваивается другой. В старом СМ это делается сменой тэгов, а в новом нужно использовать view_as<>

    Старый СМ:
    Новый СМ:
     
  20. B1g

    B1g

    Сообщения:
    728
    Симпатии:
    26
    РИКО когда будет новая версия?