OciXCrom's Custom Shop 3.4 + API

Всичко свързано с AMX mod (X), плъгини, проблеми с плъгини, заявки и тн.
Потребителски аватар
OciXCrom™
Junior Member
Мнения: 29
Регистриран: пон авг 22, 2016 2:46 pm
Баланс: Locked

пон авг 22, 2016 3:01 pm

OciXCrom's Custom Shop v3.4 + API[/size]
Изображение
Описание[/size]
  • Този плъгин добавя уникален магазин в играта, който съдържа един куп настройки. Магазинът може да работи и със специална точкова система, която може да бъде активирана чрез конфигурациония файл. Плъгинът съдържа и API, с което бързо и лесно можете да добавяте нови предмети, както и да премахнете някои от обикновените такива.
Инсталация[/size]
  • Имайте предвид, че плъгинът съдържа два файла, който трябва да бъдат добавени в списъка ви с плъгини.
  • Файловете custom_shop.amxx и cshop_items.amxx се добавят в папката plugins. Първият плъгин е базов, което ще каже, че магазинът не може да работи без него. Вторият плъгин съдържа обикновените предмети в магазина. По ваше желание можете да не го добавяте, в случай, че ще добавяте ваши предмети.
  • Файловете custom_shop.sma и cshop_items.sma се добавят в папката scripting. Препоръчително е да ги компилирате локално и да ги замените с .amxx файловете.
  • Файлът customshop.inc се добавя в scripting/include. Това е API-то на плъгина. В него са изписани всички функции, които може да се използват за направата на допълнителни плъгини.
  • Файлът cshop_settings.inc се добавя в scripting/include.
  • В configs/plugins.ini добавяте само custom_shop.amxx.
  • В configs/plugins-cshop.ini добавяте cshop_items.amxx. Всички съб-плъгини за магазина се добавят в този файл. Можете да ги добавите и в configs/plugins.ini, но задължително трябва да стоят под custom_shop.amxx.
Предмети по подразбиране[/size]
  • Това е списък с предметите, които по подразбиране са добавени в магазина. Имената, цените, лимитите, както и всичко останало, се променя с редакция на файла CustomShopItems.ini, който автоматично се създава в configs папката след рестартиране на сървъра с добавения плъгин. Предметите може да се редактират и директно в сървъра, чрез командата cshop_edit.
    Изображение
    • +50 Health -- Добавя ви +50 кръв.
      • Цена: 1500
      • Лимит: 5
    • +100 Armor -- Добавя ви 100 броня.
      • Цена: 1000
      • Лимит: 8
    • Unlimited Clip -- Безкрайни патрони за моментното ви оръжие (без презареждане). Този предмет не може да бъде активиран на оръжие което не използва патрони.
      • Цена: 3000
      • Лимит: 3
    • Unlimited Ammo -- Безкрайни патрони за моментното ви оръжие.
      • Цена: 200
      • Лимит: 5
    • Bomber -- Дава ви 20 HE гранати.
      • Цена: 1600
      • Лимит: 3
    • Silent Footsteps -- Няма да издавате звуци когато тичате.
      • Цена: 3000
      • Лимит: 1
    • Faster Speed -- Увеличена скорост.
      • Цена: 4300
      • Лимит: 1
    • Low Gravity -- Намалена гравитация.
      • Цена: 2800
      • Лимит: 1
    • Chameleon -- Получавате произволен скин от противниковия отбор.
      • Цена: 9000
      • Лимит: 1
    • Drugs (Speed + Health) -- Изкривява екрана, увеличава скоростта и добавя допълнителна кръв.
      • Цена: 8000
      • Лимит: 2
    • Transparency -- Ставате прозрачен.
      • Цена: 2500
      • Лимит: 1
    • Invisibility (15 Seconds) -- Ставате напълно невидим за 15 секунди
      • Цена: 16000
      • Лимит: 1
    • Double Damage -- Двойна щета.
      • Цена: 10000
      • Лимит: 1
    • Godmode (5 Seconds) -- Ставате безсмъртен за 5 секунди.
      • Цена: 16000
      • Лимит: 1
    • Health Regeneration -- Получавате +1% кръв всяка секунда.
      • Цена: 1800
      • Лимит: 1
    • Armor Regeneration -- Получавате +10% броня всяка секунда.
      • Цена: 2000
      • Лимит: 1
    Администраторски команди[/size]
    • cshop_points <nick|#userid> <amount> -- Дава/взима точки на/от играча.
    • cshop_items -- Списък с всички предмети.
    • cshop_edit -- Меню за редакция на предметите.
    Списък с настройки[/size]
    • Настройките се променят от файла configs/CustomShop.ini, а съобщенията от data/lang/CustomShop.txt.
    • CSHOP_PREFIX -- Префиксът за чат съобщенията.
      • DEFAULT: !n[!tCustom Shop!n]
    • CSHOP_TITLE -- Заглавието на менюто.
      • DEFAULT: \yOciXCrom's \rCustom Shop
    • CSHOP_TITLE_PAGE -- Текстът, който ще бъде добавен към заглавието ако магазинът има повече от една страница.
      • DEFAULT: \d| \w%page%:\d
    • CSHOP_TEAM_NAMES -- Имената на отборите при ползване на %team% в заглавието.
      • DEFAULT: Unassigned, Terrorist, Counter-Terrorist, Spectator
    • CSHOP_SOUND_ERROR -- Звукът при всякакъв вид грешка.
      • DEFAULT: buttons/button11.wav
    • CSHOP_SOUND_EXPIRE -- Звукът при изтичане на предмет.
      • DEFAULT: buttons/blip2.wav
    • CSHOP_SOUND_OPEN -- Звукът при отваряне на менюто.
      • DEFAULT:
    • CSHOP_BUYSOUND_TYPE -- 0 = всички около играча чуват звука при покупка на предмет; 1 = само играчът го чува.
      • DEFAULT: 0
    • CSHOP_EXPIRESOUND_TYPE -- 0 = всички около играча чуват звука при изтичане на предмет; 1 = само играчът го чува.
      • DEFAULT: 0
    • CSHOP_OPENSOUND_TYPE -- 0 = всички около играча чуват звука при отваряне на магазина; 1 = само играчът го чува.
      • DEFAULT: 1
    • CSHOP_COMMANDS -- Команди, с които се отваря магазинът.
      • DEFAULT: say /shop , say_team /shop , customshop
    • CSHOP_PREVPAGE -- Име на полето за предишна страница.
      • DEFAULT: Previous page
    • CSHOP_NEXTPAGE -- Име на полето за следваща страница.
      • DEFAULT: Next page
    • CSHOP_EXITMENU -- Име на полето за излез от менюто.
      • DEFAULT: \rClose
    • CSHOP_PERPAGE -- Брой на предмети на всяка страница.
      • DEFAULT: 7
    • CSHOP_FLAG -- Ако искате магазинът да е достъпен само за хора с определен флаг.
      • DEFAULT: !
    • CSHOP_TEAM -- Ако искате магазинът да е достъпен само за определен отбор.
      • DEFAULT: 0
    • CSHOP_SHOW_TEAMED -- Дали да се показват предметите, които не са достъпни за вашия отбор.
      • DEFAULT: 0
    • CSHOP_ITEM_TEAMED -- Какъв текст да стои след предметите, които не са достъпни за вашия отбор..
      • DEFAULT: \r[\yTEAMED\r]
    • CSHOP_SHOW_FLAGGED -- Дали да се показват предметите, за които нямате нужния флаг.
      • DEFAULT: 0
    • CSHOP_ITEM_FLAGGED -- Какъв текст да стои след предметите, за които нямате нужния флаг.
      • DEFAULT: \r[\yFLAGGED\r]
    • CSHOP_LIMIT_TYPE -- По какъв начин да работи ограничението на предметите (0 = всеки играч има собствен лимит; 1 = всеки отбор има собствен лимит; 2 = всички играчи имат общ лимит).
      • DEFAULT: 0
    • CSHOP_HIDE_LIMITED -- Ако искате да не се показват предметите, за които сте достигнали лимита.
      • DEFAULT: 0
    • CSHOP_OPEN_AT_SPAWN -- Ако искате магазинът да се показва при прераждане.
      • DEFAULT: 0
    • CSHOP_POINTS_ENABLE -- Включва/Изключва точковата система.
      • DEFAULT: 0
    • CSHOP_MONEY_NAME -- Името на парите.
      • DEFAULT: money
    • CSHOP_POINTS_NAME -- Името на точките.
      • DEFAULT: points
    • CSHOP_MONEY_CURRENCY -- Валута за парите.
      • DEFAULT: $
    • CSHOP_POINTS_CURRENCY -- Валута за точките.
      • DEFAULT: Pts.
    • CSHOP_POINTS_SAVE -- Начин на запазване на точките (0 = никнейм; 1 = ИП адрес; 2= SteamID)
      • DEFAULT: 0
    • CSHOP_POINTS_COMMANDS -- Команди, с които можете да проверите колко точки имате.
      • DEFAULT: say /points , say_team /points
    • CSHOP_REWARD_NORMAL -- Награда при нормално убийство.
      • DEFAULT: 15
    • CSHOP_REWARD_HEADSHOT -- Награда при убийство с headshot.
      • DEFAULT: 30
    • CSHOP_REWARD_KNIFE -- Награда при убийство с нож.
      • DEFAULT: 50
    • CSHOP_REWARD_VIP -- Ако искате ВИП потребителите да получават допълнителни точки при убийство.
      • DEFAULT: 0
    • CSHOP_VIP_FLAG -- ВИП флагът за горната настройка.
      • DEFAULT: b
    • CSHOP_POINTS_TEAMKILL -- Дали да получавате точки при убийство на съотборник.
      • DEFAULT: 0
    • CSHOP_KILL_MESSAGE -- Включва/Изключва съобщението при убийство на играч.
      • DEFAULT: 0
    • CSHOP_HUD_ENABLED -- Включва/Изключва показването на точките на екрана.
      • DEFAULT: 0
    • CSHOP_HUD_RED -- Червен цвят за HUD съобщението.
      • DEFAULT: 255
    • CSHOP_HUD_GREEN -- Зелен цвят за HUD съобщението.
      • DEFAULT: 255
    • CSHOP_HUD_BLUE -- Син цвят за HUD съобщението.
      • DEFAULT: 0
    • CSHOP_HUD_X -- X позиция за HUD съобщението.
      • DEFAULT: 0.01
    • CSHOP_HUD_Y -- Y позиция за HUD съобщението.
      • DEFAULT: 0.93
    Ползване на валута от друг плъгин/мод[/size]
    • Плъгинът има и опция да ползвате нативите от други плъгини на мястото на парите. С прости думи - можете да направите магазинът да работи с Ammo Packs, BaseBuilder Credits, JBPacks и прочие. За тази цел, нужно е да редактирате следните редове във файла cshop_settings.inc:

      Код: Трябва да си влязъл в системата, за да можеш да виждаш линковете

      <span class="syntaxdefault"></span><span class="syntaxcomment">#define get_user_money(%1) cs_get_user_money(%1)
      #define set_user_money(%1,%2) cs_set_user_money(%1, %2)                                 </span><span class="syntaxdefault"></span> 
    • За да го промените на Ammo Packs, заменете редовете с това:

      Код: Трябва да си влязъл в системата, за да можеш да виждаш линковете

      <span class="syntaxdefault"></span><span class="syntaxcomment">#define get_user_money(%1) zp_get_user_ammo_packs(%1)
      #define set_user_money(%1,%2) zp_set_user_ammo_packs(%1, %2)                                 </span><span class="syntaxdefault"></span> 
    • Също така, добавете нативите, които ползвате в двата реда:

      Код: Трябва да си влязъл в системата, за да можеш да виждаш линковете

      <span class="syntaxdefault">native zp_get_user_ammo_packs</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">id</span><span class="syntaxkeyword">)
      </span><span class="syntaxdefault">native zp_set_user_ammo_packs</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">id</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> amount</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"></span> 
    • Или:

      Код: Трябва да си влязъл в системата, за да можеш да виждаш линковете

      <span class="syntaxdefault"></span><span class="syntaxcomment">#include <zombieplague>                                 </span><span class="syntaxdefault"></span> 
    Plugin API (customshop.inc)[/size]
    • Плъгинът съдържа и API, т.е. библиотека (.inc файл), с което можете да правите отделни плъгин, които ще добавят предмети в магазина и един куп различни неща. Ето един пример за плъгин, който добавя No Recoil в магазина (премахва отката):

      Код: Трябва да си влязъл в системата, за да можеш да виждаш линковете

      <span class="syntaxdefault"></span><span class="syntaxcomment">#include <amxmodx>
      #include <customshop>
      #include <fakemeta>
      
      #define PLUGIN_VERSION "1.0"
      
      </span><span class="syntaxdefault">additem ITEM_NORECOIL
      </span><span class="syntaxcomment">#define NORECOIL_ID "norecoil"
      #define NORECOIL_NAME "No Recoil"
      #define NORECOIL_PRICE 12000
      #define NORECOIL_LIMIT 1
      </span><span class="syntaxdefault">new bool</span><span class="syntaxkeyword">:</span><span class="syntaxdefault">g_blNoRecoil</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">33</span><span class="syntaxkeyword">]
      
      </span><span class="syntaxdefault">public plugin_init</span><span class="syntaxkeyword">()
      {
      </span><span class="syntaxdefault">    register_plugin</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"Custom Shop: No Recoil"</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> PLUGIN_VERSION</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> </span><span class="syntaxstring">"OciXCrom"</span><span class="syntaxkeyword">)
      </span><span class="syntaxdefault">    register_forward</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">FM_PlayerPreThink</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> </span><span class="syntaxstring">"fwdPreThink"</span><span class="syntaxkeyword">)
      }
      
      </span><span class="syntaxdefault">public plugin_precache</span><span class="syntaxkeyword">()
      </span><span class="syntaxdefault">    ITEM_NORECOIL </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> cshopRegisterItem</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">NORECOIL_ID</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> NORECOIL_NAME</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> NORECOIL_PRICE</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> NORECOIL_LIMIT</span><span class="syntaxkeyword">)
      
      </span><span class="syntaxdefault">public cshopItemBought</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">id</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> iItem</span><span class="syntaxkeyword">)
      </span><span class="syntaxdefault">    if</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">iItem </span><span class="syntaxkeyword">==</span><span class="syntaxdefault"> ITEM_NORECOIL</span><span class="syntaxkeyword">)</span><span class="syntaxdefault">             </span><span class="syntaxkeyword">{</span><span class="syntaxdefault"> g_blNoRecoil</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">id</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> true</span><span class="syntaxkeyword">;</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">}
      </span><span class="syntaxdefault">    
      public cshopItemRemoved</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">id</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> iItem</span><span class="syntaxkeyword">)
      </span><span class="syntaxdefault">    if</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">iItem </span><span class="syntaxkeyword">==</span><span class="syntaxdefault"> ITEM_NORECOIL</span><span class="syntaxkeyword">)</span><span class="syntaxdefault">             </span><span class="syntaxkeyword">{</span><span class="syntaxdefault"> g_blNoRecoil</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">id</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> false</span><span class="syntaxkeyword">;</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">}
      </span><span class="syntaxdefault">    
      public fwdPreThink</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">id</span><span class="syntaxkeyword">)
      </span><span class="syntaxdefault">    if</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">is_user_alive</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">id</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">&&</span><span class="syntaxdefault"> g_blNoRecoil</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">id</span><span class="syntaxkeyword">])
      </span><span class="syntaxdefault">        set_pev</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">id</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> pev_punchangle</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{</span><span class="syntaxdefault">0.0</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> 0.0</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> 0.0</span><span class="syntaxkeyword">})</span><span class="syntaxdefault"></span> 
    • cshopRegisterItem(id[], name[], price, limit = 0, sound[] = DEFAULT_SOUND, Float:seconds = 0.0, points = 0, team = 0, flag[] = "") -- Добавя предмет в магазина
    • cshopHasItem(id, item) -- Проверява дали играчът има даден предмет.
    • cshopPointsEnabled() -- Проверява дали точковата система е активна.
    • cshopGetLimit(id, item) -- Проверява лимита на играча за дадения предмет.
    • cshopItemBought(id, item) -- Функция, която се изпълнява при покупка на предмет.
    • cshopItemRemoved(id, item) -- Функция, която се изпълнява при премахване на предмет.
    • cshopRemoveItem(id, item) -- Премахва предмета от играча.
    • cshopErrorSound(id) -- Изпълнява звука за грешка върху играча.
    • cshopTotalItems() -- Общият брой на добавени предмети.
    • cshopGivePoints(id, points) -- Дава/Взима точки на/от играча.
    • ColorChat(id, message[], any:...) -- Изпраща цветно съобщение.
Клип[/size]

[youtube]lYtPQvdDMbs[/youtube]

* Цъкни Трябва да си влязъл в системата, за да можеш да виждаш линковете за да видиш всички сървъри, които използват този плъгин.[/size]

Изтегли плъгина[/size]

Отговори

Върни се в “AMX Mod (X)”

  • Информация
  • Кой е на линия

    Потребители, разглеждащи този форум: Няма регистрирани потребители и 0 госта