OciXCrom Custom Shop създаване на Items

Ако имате затруднения при изработката/преработката на даден плъгин - пишете тук, ще се опитаме да ви помогнем!
Аватар
Marinovv
Извън линия
Потребител
Потребител
Мнения: 511
Регистриран на: 19 Сеп 2017, 10:01
Местоположение: България
Се отблагодари: 530 пъти
Получена благодарност: 13 пъти
Обратна връзка:

OciXCrom Custom Shop създаване на Items

Мнение от Marinovv » 18 Май 2021, 14:46

Хей всички!

Използвам OciXCrom's Custom Shop + API.

Бих желал да науча повече за съб-плъгините.

Дотук се ориентирам по примерния съб-плъгин на OciXCrom

Код за потвърждение: Избери целия код

#include <amxmodx>
#include <customshop>
#include <fakemeta>

#define PLUGIN_VERSION "4.x"

additem ITEM_NORECOIL
new bool:g_bNoRecoil[33]

public plugin_init()
{
    register_plugin("CSHOP: No Recoil", PLUGIN_VERSION, "OciXCrom")
    register_forward(FM_PlayerPreThink, "PreThink")
}

public plugin_precache()
    ITEM_NORECOIL = cshop_register_item("norecoil", "No Recoil", 12000, 1)

public cshopItemBought(id, iItem)
{
    if(iItem == ITEM_NORECOIL)
        g_bNoRecoil[id] = true
}
    
public cshopItemRemoved(id, iItem)
{
    if(iItem == ITEM_NORECOIL)
        g_bNoRecoil[id] = false
}
    
public PreThink(id)
{
    if(is_user_alive(id) && g_bNoRecoil[id])
        set_pev(id, pev_punchangle, {0.0, 0.0, 0.0}) 
} 
Ето и мой пример с код, който прави повече бързина при ходене с нож и бих искал да споделите дали се справих що годе:

Код за потвърждение: Избери целия код

#include <amxmodx>
#include <customshop>
#include <fun>

#define PLUGIN_VERSION "5.9"
#define KNIFE_SPEED 350.0

additem ITEM_FASTKNIFE
new bool:g_bFastKnife[33]


public plugin_init()
{
    register_plugin("CSHOP: Faster Knife", PLUGIN_VERSION, "NONAME")
    register_event("CurWeapon", "OnKnifeSelect", "be", "1=1", "2=29")
}

public plugin_precache()
    ITEM_FASTKNIFE = cshop_register_item("fastknife", "More Speed with Knife", 200, 1)
    
public cshopItemBought(id, iItem)
{
    if(iItem == ITEM_FASTKNIFE)
        g_bFastKnife[id] = true
}

public cshopItemRemoved(id, iItem)
{
    if(iItem == ITEM_FASTKNIFE)
        g_bFastKnife[id] = false
}

public OnKnifeSelect(id)
    set_user_maxspeed(id, KNIFE_SPEED) 
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ ansicpg1251\\ deff0\\ deflang1026{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ f0\\ fs16 \n\\ par }
*/
Иван Маринов,

лицензиран оператор и пилот на професионални дронове клас C1 за всички държави в EU.

DJI Mavic 3 Classic | DJI Mavic 3 PRO - погледни света от различна перспектива.

Последвайте ме във Facebook

Аватар
mi0
Извън линия
AMXX Скриптър
AMXX Скриптър
Мнения: 534
Регистриран на: 09 Дек 2016, 22:02
Се отблагодари: 97 пъти
Получена благодарност: 120 пъти
Обратна връзка:

OciXCrom Custom Shop създаване на Items

Мнение от mi0 » 19 Май 2021, 18:20

Доста е добре. Единственото нещо, което бих променил, е начина по който даваш speed-а.
Доста по-добре би било, ако го даваш когато се "Reset"-ва, а не когато някой си смени уръжието. Има случай, в които speed-а може да се промени и без човек да си сменя уръжието - като пример бих дал "rg_reset_maxspeed". Лично бих използвал "RG_CBasePlayer_ResetMaxSpeed" - за да съм напълно сигурен, че каквото и да стане, speed-а няма как да се reset-не, без plugin-а да го засече.
aka kurdokoleno
Catch Mod - 87.121.112.232:27021

Публикувай отговор
  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

Обратно към “Помощ в скриптирането”

Кой е на линия

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