Страница 1 от 2
Изработка на VIP Snipers Shop
Публикувано на: 13 Май 2017, 22:30
от MF1
Здравейте !
Извинявам се за заявката ако е твърде сложна.
Благодаря ви предварително !
Нужен ми е един малък магазин за снайпери за випове.
Команди за отваряне: /sniper ; /snipers ; sniper ; snipers
Флаг: ADMIN_LEVEL_D (p)
Предмети + цена:
Код за потвърждение: Избери целия код
SG-550 Sniper Rifle - 5000 $
G3/SG-1 Precision Sniper Rifle - 6000 $
AWP - 4000 $
Други:
- при вземане на оръжието да го заменя със старото.
- цената да е в различен цвят от бяло в самото меню
- когато не ти достигат пари, да изписва в чата че не достигат.
- когато някой, който няма флага да изписва съобщение че няма достъп.
- префикс пред съобщенията [Sniper Shop]
БЛАГОДАРЯ ВИ !
Re: Изработка на VIP Snipers Shop
Публикувано на: 13 Май 2017, 23:22
от OciXCrom
Късметлия си, понеже преди време бях направил точно такава заявка и още пазя кода.
Код за потвърждение: Избери целия код
#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
Re: Изработка на VIP Snipers Shop
Публикувано на: 14 Май 2017, 08:47
от MF1
ееее вече каса бира ти дължа май ?
БЛАГОДАРЯ !
Има само 2 проблема.
с ReGameDLL съм и премахнах това което каза. Не мога да компилирам поради липса на include strepweapons.inc - добавих и и отново не мога да компилирам поради следния ерор:
премахнах този ред:
и компилирах без проблеми и плъгина работи без проблеми.
Погледнах 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 и купи снайпер от шоп-а да остава само с снайпера, а не с двете.
Благодаря !
Re: Изработка на VIP Snipers Shop
Публикувано на: 14 Май 2017, 20:26
от OciXCrom
Как точно махна това, което казах?
Re: Изработка на VIP Snipers Shop
Публикувано на: 14 Май 2017, 20:44
от MF1
ето това е кодът след моите ''златни'' ръце:
Код за потвърждение: Избери целия код
#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
и явно там греша....
Re: Изработка на VIP Snipers Shop
Публикувано на: 14 Май 2017, 20:47
от OciXCrom
Ъъъ. Под "махни коментара от реда" имах предвид да махнеш двете наклонени черти "//", нищо друго. Ред с две наклонени черти отпред означава коментар и все едно не е там.
=>
Не пипай нищо друго.
Re: Изработка на VIP Snipers Shop
Публикувано на: 14 Май 2017, 20:55
от MF1
Офффф, извинявай... и аз толкова чета... помислих че цялата функция трябва да махна
а какво трябва да се промени за да може когато играчът купи оръжието да заменя старото - тоест когато има примерно M4A1 и купи снайпер от шоп-а да остава само с снайпера, а не с двете.
Re: Изработка на VIP Snipers Shop
Публикувано на: 14 Май 2017, 21:11
от OciXCrom
Е, точно така съм го направил?
Re: Изработка на VIP Snipers Shop
Публикувано на: 14 Май 2017, 21:25
от MF1
Изработка на VIP Snipers Shop
Публикувано на: 12 Май 2019, 22:43
от MF1
забелязох бъг в плъгина:
при купуването на Awp и G3/SG-1 не дава пълнителите и така AWP ти идва само с 10 патрона или ти ги дава след убийствоа.
Ползвам ReHLDS и ReGameDLL и сървъра е с ReCSDM с auto refill ammo ако има значение.