Изработка на VIP Snipers Shop

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Потребителски аватар

Автор на темата
MF1 1913
Потребител
Потребител
Мнения: 306
Регистриран: 12 окт 2016, 21:15
Местоположение: гр.Варна
Получена благодарност: 7 пъти
Контакти:

Изработка на VIP Snipers Shop

Мнение от MF1 1913 » 13 май 2017, 22:30

Здравейте !
Извинявам се за заявката ако е твърде сложна.
Благодаря ви предварително ! :tnx:
Нужен ми е един малък магазин за снайпери за випове.

Команди за отваряне: /sniper ; /snipers ; sniper ; snipers
Флаг: ADMIN_LEVEL_D (p)
Предмети + цена:

Код: Избери всички

SG-550 Sniper Rifle - 5000 $
G3/SG-1 Precision Sniper Rifle  - 6000 $ 
AWP - 4000 $ 
Други:
- при вземане на оръжието да го заменя със старото.
- цената да е в различен цвят от бяло в самото меню
- когато не ти достигат пари, да изписва в чата че не достигат.
- когато някой, който няма флага да изписва съобщение че няма достъп.
- префикс пред съобщенията [Sniper Shop]

БЛАГОДАРЯ ВИ ! :tnx:
New DM FUN server ! Join now.
93.123.18.54:27018 :bg:

Потребителски аватар

OciXCrom TM
Администратор
Администратор
Мнения: 5186
Регистриран: 06 окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 65 пъти
Получена благодарност: 517 пъти
Години: 21
Контакти:

Re: Изработка на VIP Snipers Shop

Мнение от OciXCrom TM » 13 май 2017, 23:22

Късметлия си, понеже преди време бях направил точно такава заявка и още пазя кода.

Код: Избери всички

#include <amxmodx>
#include <cromchat>
#include <cstrike>
#include <fun>

//#define USING_REGAMEDLL

#if defined USING_REGAMEDLL
    #include <reapi>
#else
    #include <stripweapons>
#endif

#define PLUGIN_VERSION "1.0"
#define SOUND_BUY "items/gunpickup2.wav"
#define SHOP_FLAG ADMIN_LEVEL_D
#define MAX_ITEMS 3

enum _:ItemInfo
{
    Name[32],
    Price,
    Weapon[16],
    Ammo,
    Csw
}

new g_eItems[MAX_ITEMS][ItemInfo] = 
{
    { "SG-550 Sniper Rifle", 5000, "weapon_sg550", 90, CSW_SG550 },
    { "G3/SG-1 Precision Sniper Rifle", 6000, "weapon_g3sg1", 90, CSW_G3SG1 },
    { "AWP", 4000, "weapon_awp", 30, CSW_AWP }
}
    
public plugin_init()
{
    register_plugin("Simple Shop", PLUGIN_VERSION, "OciXCrom")
    register_cvar("@CRXSimpleShop", PLUGIN_VERSION, FCVAR_SERVER|FCVAR_SPONLY|FCVAR_UNLOGGED)
    register_clcmd("say /shop", "cmdShop")
    register_clcmd("say_team /shop", "cmdShop")
    CC_SetPrefix("&x04[Sniper Shop]")
}

public plugin_precache()
    precache_sound(SOUND_BUY)

public cmdShop(id)
{
    if(!(get_user_flags(id) & SHOP_FLAG))
        CC_SendMessage(id, "You have no access to this command.")
    else if(!is_user_alive(id))
        CC_SendMessage(id, "You need to be alive.")
    else
    {
        new iMenu = menu_create("\rSniper Shop", "shopHandler")
        new szItem[64], iMoney = cs_get_user_money(id)
        
        for(new i; i < sizeof(g_eItems); i++)
        {
            formatex(szItem, charsmax(szItem), "%s %s[%i$]", g_eItems[i][Name], iMoney >= g_eItems[i][Price] ? "\r" : "\d", g_eItems[i][Price])
            menu_additem(iMenu, szItem)
        }
        
        menu_display(id, iMenu, 0)
    }
    
    return PLUGIN_HANDLED
}

public shopHandler(id, iMenu, iItem)
{
    if(iItem != MENU_EXIT && is_user_alive(id))
    {
        new iMoney = cs_get_user_money(id)
        
        if(iMoney < g_eItems[iItem][Price])
            CC_SendMessage(id, "You don't have enough money to purchase this item.")
        else
        {
            cs_set_user_money(id, iMoney - g_eItems[iItem][Price])
            CC_SendMessage(id, "You have bought ^3%s ^1for ^4%i$", g_eItems[iItem][Name], g_eItems[iItem][Price])
            emit_sound(id, CHAN_ITEM, SOUND_BUY, 1.0, ATTN_NORM, 0, PITCH_NORM)
            
            #if defined USING_REGAMEDLL
                rg_give_item(id, g_eItems[iItem][Weapon], GT_REPLACE)
            #else
                StripWeapons(id, Primary)
                give_item(id, g_eItems[iItem][Weapon])
            #endif
            
            cs_set_user_bpammo(id, g_eItems[iItem][Ammo], g_eItems[iItem][Csw])
        }
    }

    menu_destroy(iMenu)
    return PLUGIN_HANDLED
} 
Ако ползваш ReHLDS & ReGameDLL, премахни коментара от реда //#define USING_REGAMEDLL

Потребителски аватар

Автор на темата
MF1 1913
Потребител
Потребител
Мнения: 306
Регистриран: 12 окт 2016, 21:15
Местоположение: гр.Варна
Получена благодарност: 7 пъти
Контакти:

Re: Изработка на VIP Snipers Shop

Мнение от MF1 1913 » 14 май 2017, 08:47

ееее вече каса бира ти дължа май ? :coolface: :nicecode: :tnx: БЛАГОДАРЯ ! :)

Има само 2 проблема.
с ReGameDLL съм и премахнах това което каза. Не мога да компилирам поради липса на include strepweapons.inc - добавих и и отново не мога да компилирам поради следния ерор:

Код: Избери всички

StripWeapons
премахнах този ред:

Код: Избери всички

 StripWeapons(id, Primary)

и компилирах без проблеми и плъгина работи без проблеми.

Погледнах eror лога по-късно и попаднах на това:

Код: Избери всички

L 05/14/2017 - 08:12:36: Start of error session.
L 05/14/2017 - 08:12:36: Info (map "de_aztec") (file "addons/amxmodx/logs/error_20170514.log")
L 05/14/2017 - 08:12:36: [CSTRIKE] Invalid weapon id 90
L 05/14/2017 - 08:12:36: [AMXX] Run time error 10 (plugin "VIPSniperShop.amxx") (native "cs_set_user_bpammo") - debug not enabled!
L 05/14/2017 - 08:12:36: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).
L 05/14/2017 - 08:13:11: [CSTRIKE] Invalid weapon id 90
L 05/14/2017 - 08:13:11: [AMXX] Run time error 10 (plugin "VIPSniperShop.amxx") (native "cs_set_user_bpammo") - debug not enabled!
L 05/14/2017 - 08:13:11: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).
L 05/14/2017 - 08:24:56: Start of error session.
L 05/14/2017 - 08:24:56: Info (map "de_dust2") (file "addons/amxmodx/logs/error_20170514.log")
L 05/14/2017 - 08:24:56: [MySQL] Invalid info tuple handle: 0
L 05/14/2017 - 08:24:56: [AMXX] Run time error 10 (plugin "amxbans_core.amxx") (native "SQL_Connect") - debug not enabled!
L 05/14/2017 - 08:24:56: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).
L 05/14/2017 - 08:28:21: Start of error session.
L 05/14/2017 - 08:28:21: Info (map "de_tuscan") (file "addons/amxmodx/logs/error_20170514.log")
L 05/14/2017 - 08:28:21: [CSTRIKE] Invalid weapon id 90
L 05/14/2017 - 08:28:21: [AMXX] Displaying debug trace (plugin "VIPSniperShop.amxx", version "1.0")
L 05/14/2017 - 08:28:21: [AMXX] Run time error 10: native error (native "cs_set_user_bpammo")
L 05/14/2017 - 08:28:21: [AMXX]    [0] VIPSniperShop.txt::shopHandler (line 82)
Мисля че грешката ми идва от там че махнах този ред. Ако може погледни да го поправим че не мога да го компилирам иначе...

Ииииии другото което е - ако може да направим когато играчът купи оръжието да заменя старото - тоест когато има примерно M4A1 и купи снайпер от шоп-а да остава само с снайпера, а не с двете.
Благодаря ! :)
New DM FUN server ! Join now.
93.123.18.54:27018 :bg:

Потребителски аватар

OciXCrom TM
Администратор
Администратор
Мнения: 5186
Регистриран: 06 окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 65 пъти
Получена благодарност: 517 пъти
Години: 21
Контакти:

Re: Изработка на VIP Snipers Shop

Мнение от OciXCrom TM » 14 май 2017, 20:26

Как точно махна това, което казах?

Потребителски аватар

Автор на темата
MF1 1913
Потребител
Потребител
Мнения: 306
Регистриран: 12 окт 2016, 21:15
Местоположение: гр.Варна
Получена благодарност: 7 пъти
Контакти:

Re: Изработка на VIP Snipers Shop

Мнение от MF1 1913 » 14 май 2017, 20:44

ето това е кодът след моите ''златни'' ръце:

Код: Избери всички

#include <amxmodx>
#include <cromchat>
#include <cstrike>
#include <fun>

#define PLUGIN_VERSION "1.0"
#define SOUND_BUY "items/gunpickup2.wav"
#define SHOP_FLAG ADMIN_LEVEL_D
#define MAX_ITEMS 3

enum _:ItemInfo
{
    Name[32],
    Price,
    Weapon[16],
    Ammo,
    Csw
}

new g_eItems[MAX_ITEMS][ItemInfo] = 
{
    { "SG-550 Sniper Rifle", 5000, "weapon_sg550", 90, CSW_SG550 },
    { "G3/SG-1 Precision Sniper Rifle", 6000, "weapon_g3sg1", 90, CSW_G3SG1 },
    { "AWP", 4000, "weapon_awp", 30, CSW_AWP }
}
    
public plugin_init()
{
    register_plugin("Snipers Shop", PLUGIN_VERSION, "OciXCrom")
    register_cvar("@CRXSimpleShop", PLUGIN_VERSION, FCVAR_SERVER|FCVAR_SPONLY|FCVAR_UNLOGGED)
    register_clcmd("say /snipers", "cmdShop")
    register_clcmd("say_team /snipers", "cmdShop")
    CC_SetPrefix("&x04[Sniper Shop]")
}

public plugin_precache()
    precache_sound(SOUND_BUY)

public cmdShop(id)
{
    if(!(get_user_flags(id) & SHOP_FLAG))
        CC_SendMessage(id, "You have no access to this command.")
    else if(!is_user_alive(id))
        CC_SendMessage(id, "You need to be alive.")
    else
    {
        new iMenu = menu_create("\rSniper Shop", "shopHandler")
        new szItem[64], iMoney = cs_get_user_money(id)
        
        for(new i; i < sizeof(g_eItems); i++)
        {
            formatex(szItem, charsmax(szItem), "%s %s[%i$]", g_eItems[i][Name], iMoney >= g_eItems[i][Price] ? "\r" : "\d", g_eItems[i][Price])
            menu_additem(iMenu, szItem)
        }
        
        menu_display(id, iMenu, 0)
    }
    
    return PLUGIN_HANDLED
}

public shopHandler(id, iMenu, iItem)
{
    if(iItem != MENU_EXIT && is_user_alive(id))
    {
        new iMoney = cs_get_user_money(id)
        
        if(iMoney < g_eItems[iItem][Price])
            CC_SendMessage(id, "You don't have enough money to purchase this item.")
        else
        {
            cs_set_user_money(id, iMoney - g_eItems[iItem][Price])
            CC_SendMessage(id, "You have bought ^3%s ^1for ^4%i$", g_eItems[iItem][Name], g_eItems[iItem][Price])
            emit_sound(id, CHAN_ITEM, SOUND_BUY, 1.0, ATTN_NORM, 0, PITCH_NORM)
            
            #if defined USING_REGAMEDLL
                rg_give_item(id, g_eItems[iItem][Weapon], GT_REPLACE)
            #else
                give_item(id, g_eItems[iItem][Weapon])
            #endif
            
            cs_set_user_bpammo(id, g_eItems[iItem][Ammo], g_eItems[iItem][Csw])
        }
    }

    menu_destroy(iMenu)
    return PLUGIN_HANDLED
} 
Премахнал съм

Код: Избери всички

//#define USING_REGAMEDLL

#if defined USING_REGAMEDLL
    #include <reapi>
#else
    #include <stripweapons>
#endif
и явно там греша....
New DM FUN server ! Join now.
93.123.18.54:27018 :bg:

Потребителски аватар

OciXCrom TM
Администратор
Администратор
Мнения: 5186
Регистриран: 06 окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 65 пъти
Получена благодарност: 517 пъти
Години: 21
Контакти:

Re: Изработка на VIP Snipers Shop

Мнение от OciXCrom TM » 14 май 2017, 20:47

Ъъъ. Под "махни коментара от реда" имах предвид да махнеш двете наклонени черти "//", нищо друго. Ред с две наклонени черти отпред означава коментар и все едно не е там.

Код: Избери всички

//#define USING_REGAMEDLL 
=>

Код: Избери всички

#define USING_REGAMEDLL 
Не пипай нищо друго.

Потребителски аватар

Автор на темата
MF1 1913
Потребител
Потребител
Мнения: 306
Регистриран: 12 окт 2016, 21:15
Местоположение: гр.Варна
Получена благодарност: 7 пъти
Контакти:

Re: Изработка на VIP Snipers Shop

Мнение от MF1 1913 » 14 май 2017, 20:55

Офффф, извинявай... и аз толкова чета... помислих че цялата функция трябва да махна :headbang: :headbang:

а какво трябва да се промени за да може когато играчът купи оръжието да заменя старото - тоест когато има примерно M4A1 и купи снайпер от шоп-а да остава само с снайпера, а не с двете. :think:
New DM FUN server ! Join now.
93.123.18.54:27018 :bg:

Потребителски аватар

OciXCrom TM
Администратор
Администратор
Мнения: 5186
Регистриран: 06 окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 65 пъти
Получена благодарност: 517 пъти
Години: 21
Контакти:

Re: Изработка на VIP Snipers Shop

Мнение от OciXCrom TM » 14 май 2017, 21:11

Е, точно така съм го направил?

Потребителски аватар

Автор на темата
MF1 1913
Потребител
Потребител
Мнения: 306
Регистриран: 12 окт 2016, 21:15
Местоположение: гр.Варна
Получена благодарност: 7 пъти
Контакти:

Re: Изработка на VIP Snipers Shop

Мнение от MF1 1913 » 14 май 2017, 21:25

:headbang: :nicecode: :tnx: :lock:
New DM FUN server ! Join now.
93.123.18.54:27018 :bg:

Потребителски аватар

Автор на темата
MF1 1913
Потребител
Потребител
Мнения: 306
Регистриран: 12 окт 2016, 21:15
Местоположение: гр.Варна
Получена благодарност: 7 пъти
Контакти:

Изработка на VIP Snipers Shop

Мнение от MF1 1913 » 12 май 2019, 22:43

забелязох бъг в плъгина:
при купуването на Awp и G3/SG-1 не дава пълнителите и така AWP ти идва само с 10 патрона или ти ги дава след убийствоа.
Ползвам ReHLDS и ReGameDLL и сървъра е с ReCSDM с auto refill ammo ако има значение.
New DM FUN server ! Join now.
93.123.18.54:27018 :bg:

Заключена

Върни се в “Заявки за плъгини”

Кой е на линия

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