Shop плъгин

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Аватар
Big Easy
Извън линия
Потребител
Потребител
Мнения: 7
Регистриран на: 21 Дек 2016, 13:16

Shop плъгин

Мнение от Big Easy » 27 Яну 2017, 14:35

Knife Shop

1. Silent Walk - 4500$
2. He Grenade - 5500$
3. 60 HP - 7500$
4. Faster Speed - 7000$
5. Deagle (1 ammo) - 16000$
6. AWP (1 ammo) - 4500$ (VIP ONLY)

7. Exit
Ако може вип флага да бъде "s"
Последно промяна от OciXCrom на 27 Яну 2017, 15:21, променено общо 2 пъти.
Причина: Бял шрифт на бял фон... За каква преработка става дума, че пускаш темата в този радел?

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Re: Shop плъгин

Мнение от OciXCrom » 27 Яну 2017, 15:41

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

#include <amxmodx>
#include <cstrike>
#include <engine>
#include <fun>
#include <hamsandwich>

#if AMXX_VERSION_NUM < 183
    #include <fmt>
#endif

#define PLUGIN_VERSION "Knife Shop [Big Easy]"
#define BUY_SOUND "items/gunpickup2.wav"
#define MAX_ITEMS 6

#define GIVE_HEALTH 60
#define GIVE_SPEED 350.0

enum _:ItemInfo
{
    Name[32],
    Price,
    Flag
}

new    g_iSayText
new bool:g_bHasSpeed[33]
new const g_szPrefix[] = "^4[Simple Shop]^1"

enum _:Items
{
    ITEM_SILENT_WALK,
    ITEM_HE_GRENADE,
    ITEM_HEALTH,
    ITEM_FASTER_SPEED,
    ITEM_DEAGLE,
    ITEM_AWP
}

new g_eItems[MAX_ITEMS][ItemInfo] = 
{
    { "Silent Walk",         4500,         ADMIN_ALL },
    { "He Grenade",         5500,         ADMIN_ALL },
    { "60 HP",                 7500,         ADMIN_ALL },
    { "Faster Speed",         7000,         ADMIN_ALL },
    { "Deagle (1 ammo)",     16000,         ADMIN_ALL },
    { "AWP (1 ammo)",         4500,         ADMIN_LEVEL_G }
}
    
public plugin_init()
{
    register_plugin("Simple Shop", PLUGIN_VERSION, "OciXCrom")
    register_cvar("@CRXSimpleShop", PLUGIN_VERSION, FCVAR_SERVER|FCVAR_SPONLY|FCVAR_UNLOGGED)
    RegisterHam(Ham_Spawn, "player", "OnPlayerSpawn", 1)
    register_event("CurWeapon", "OnWeaponChange", "be", "1=1")
    register_clcmd("say /shop", "DisplayShop")
    register_clcmd("say_team /shop", "DisplayShop")
    g_iSayText = get_user_msgid("SayText")
}

public plugin_precache()
    precache_sound(BUY_SOUND)

public DisplayShop(id)
{
    if(is_user_alive(id))
    {
        new iMenu = menu_create("\rKnife Shop", "Shop_Handler")
        
        for(new szItem[64], iMoney = cs_get_user_money(id), iFlags = get_user_flags(id), i; i < sizeof(g_eItems); i++)
        {
            formatex(szItem, charsmax(szItem), "%s - %s%s", g_eItems[i][Name], (iMoney >= g_eItems[i][Price]) ? "\y" : "\d",
            (g_eItems[i][Flag] == ADMIN_ALL || iFlags & g_eItems[i][Flag]) ? fmt("%i$", g_eItems[i][Price]) : fmt("\r(\wVIP ONLY\r)"))
            menu_additem(iMenu, szItem, .paccess = g_eItems[i][Flag])
        }
        
        menu_setprop(iMenu, MPROP_NUMBER_COLOR, "\y")
        menu_display(id, iMenu, 0)
    }
    else ColorChat(id, "You need to be alive.")
    
    return PLUGIN_HANDLED
}

public Shop_Handler(id, iMenu, iItem)
{
    if(iItem != MENU_EXIT && is_user_alive(id))
    {
        new iMoney = cs_get_user_money(id)
        
        if(iMoney >= g_eItems[iItem][Price])
        {
            cs_set_user_money(id, iMoney - g_eItems[iItem][Price])
            ColorChat(id, "You have bought ^3%s ^1for ^4%i$", g_eItems[iItem][Name], g_eItems[iItem][Price])
            emit_sound(id, CHAN_ITEM, BUY_SOUND, 1.0, ATTN_NORM, 0, PITCH_NORM)
            
            switch(iItem)
            {
                case ITEM_SILENT_WALK: set_user_footsteps(id, 1)
                case ITEM_HE_GRENADE: give_item(id, "weapon_hegrenade")
                case ITEM_HEALTH: set_user_health(id, get_user_health(id) + GIVE_HEALTH)
                case ITEM_FASTER_SPEED: { g_bHasSpeed[id] = true; OnWeaponChange(id); }
                case ITEM_DEAGLE:
                {
                    give_item(id, "weapon_deagle")
                    cs_set_weapon_ammo(find_ent_by_owner(-1, "weapon_deagle", id), 1)
                }
                case ITEM_AWP:
                {
                    give_item(id, "weapon_awp")
                    cs_set_weapon_ammo(find_ent_by_owner(-1, "weapon_awp", id), 1)
                }
            }
        }
        else ColorChat(id, "You don't have enough money to purchase this item.")
    }

    menu_destroy(iMenu)
    return PLUGIN_HANDLED
}

public OnPlayerSpawn(id)
    g_bHasSpeed[id] = false
    
public client_putinserver(id)
    g_bHasSpeed[id] = false

public OnWeaponChange(id)
{
    if(g_bHasSpeed[id])
        set_user_maxspeed(id, GIVE_SPEED)
}

ColorChat(const id, const szInput[], any:...)
{
    new iPlayers[32], iCount = 1
    static szMessage[191]
    vformat(szMessage, charsmax(szMessage), szInput, 3)
    format(szMessage[0], charsmax(szMessage), "%s %s", g_szPrefix, szMessage)
    
    replace_all(szMessage, charsmax(szMessage), "!g", "^4")
    replace_all(szMessage, charsmax(szMessage), "!n", "^1")
    replace_all(szMessage, charsmax(szMessage), "!t", "^3")
    
    if(id)
        iPlayers[0] = id
    else
        get_players(iPlayers, iCount, "ch")
    
    for(new i; i < iCount; i++)
    {
        if(is_user_connected(iPlayers[i]))
        {
            message_begin(MSG_ONE_UNRELIABLE, g_iSayText, _, iPlayers[i])
            write_byte(iPlayers[i])
            write_string(szMessage)
            message_end()
        }
    }
}

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

Обратно към “Заявки за плъгини”

Кой е на линия

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