Преработка на Simple Shop магазин.

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

Модератори: Extreme, Extreme, Extreme, Extreme, Extreme, Extreme, Extreme

Аватар
iv69
Извън линия
Потребител
Потребител
Мнения: 744
Регистриран на: 17 Мар 2018, 15:34
Се отблагодари: 214 пъти
Получена благодарност: 39 пъти

Преработка на Simple Shop магазин.

Мнение от iv69 » 11 Яну 2020, 12:37

Може ли в плъгина за магазина за снайпери , като 4-то и 5-то да се добавят: "He"-гранатите(по възможност да са с двоен damage)-2000$ и "Smoke"-граните за - 2000$ ?

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

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

//#define USING_REAPI
#define REPLACE_OLD_WEAPONS

#if defined USING_REAPI
	#include <reapi>
#else
	#if defined REPLACE_OLD_WEAPONS
		#include <stripweapons>
	#endif
#endif

#define PLUGIN_VERSION "1.0"
#define SOUND_BUY "items/gunpickup2.wav"
#define FREE_FLAG ADMIN_LEVEL_F

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

new g_eItems[][ItemInfo] = 
{
	/* "Name", Price, "weapon_id", Bullets, CSW_ID */
	{ "AWP", 4000, "weapon_awp", 30, CSW_AWP },
	{ "SG-550", 4000, "weapon_sg550", 90, CSW_SG550 },
	{ "G3SG1", 4000, "weapon_g3sg1", 90, CSW_G3SG1 }
}
	
public plugin_init()
{
	register_plugin("Simple 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("[&x04CSDM&x01]")
}

public plugin_precache()
	precache_sound(SOUND_BUY)

public cmdShop(id)
{
	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, bool:bFree = bool:(get_user_flags(id) & FREE_FLAG); i < sizeof(g_eItems); i++)
		{
			if(bFree)
				formatex(szItem, charsmax(szItem), "%s \y[FREE]", g_eItems[i][Name])
			else
				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)
		new bool:bFree = bool:(get_user_flags(id) & FREE_FLAG)
		
		if(!bFree && iMoney < g_eItems[iItem][Price])
			CC_SendMessage(id, "You don't have enough money to purchase this item.")
		else
		{
			if(!bFree)
			{
				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])
			}
			else CC_SendMessage(id, "You received ^3%s ^1for ^4FREE", g_eItems[iItem][Name])
				
			emit_sound(id, CHAN_ITEM, SOUND_BUY, 1.0, ATTN_NORM, 0, PITCH_NORM)
			
			#if defined USING_REAPI
				#if defined REPLACE_OLD_WEAPONS
				rg_give_item(id, g_eItems[iItem][Weapon], GT_REPLACE)
				#else
				rg_give_item(id, g_eItems[iItem][Weapon], GT_APPEND)
				#endif
			#else
				#if defined REPLACE_OLD_WEAPONS
				StripWeapons(id, Primary)
				#endif
				
				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
}
Благодаря.

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

Преработка на Simple Shop магазин.

Мнение от OciXCrom » 11 Яну 2020, 15:01

Гранатите вианги ли да са с двоен damage или само тези закупени от магазина?

ПС - можеш просто да ги добавиш в списъка при другите оръжия. Само трябва да се промени да не премахва оръжията ако е граната.

Аватар
iv69
Извън линия
Потребител
Потребител
Мнения: 744
Регистриран на: 17 Мар 2018, 15:34
Се отблагодари: 214 пъти
Получена благодарност: 39 пъти

Преработка на Simple Shop магазин.

Мнение от iv69 » 11 Яну 2020, 16:34

OciXCrom написа: 11 Яну 2020, 15:01 Гранатите вианги ли да са с двоен damage или само тези закупени от магазина?

ПС - можеш просто да ги добавиш в списъка при другите оръжия. Само трябва да се промени да не премахва оръжията ако е граната.
Само закупените да са с двоен damage , ако не е проблем? Но по останалото което си ми написал: съм "гола вода" и не мога да го направя! ;-(

p.s. Ако е възможно да доразшириш още малко менюто и добавиш към горните неща и "Покупка на VIP с игрови "$$$"(твой плъгин от тази тема: https://amxx-bg.info/forum/viewtopic.php?f=33&t=8099)със $$$ ???
И накрая - ако може отварянето на менюто за този VIP-shop да е просто с команда" /vip . Ползвам ReHLDS , ReGameDLL_CS ... , ако е от значение.
Ще ми обединиш три плъгина в един и безкрайно ще съм ти благодарен Кроме за цялото това ново ВИП-меню :clap: .

Аватар
iv69
Извън линия
Потребител
Потребител
Мнения: 744
Регистриран на: 17 Мар 2018, 15:34
Се отблагодари: 214 пъти
Получена благодарност: 39 пъти

Преработка на Simple Shop магазин.

Мнение от iv69 » 27 Яну 2020, 18:31

Не става :) Пробвах сам с тази лека редакция:

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

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

#define USING_REAPI
#define REPLACE_OLD_WEAPONS

#if defined USING_REAPI
	#include <reapi>
#else
	#if defined REPLACE_OLD_WEAPONS
		#include <stripweapons>
	#endif
#endif

#define PLUGIN_VERSION "1.0"
#define SOUND_BUY "items/gunpickup2.wav"
#define FREE_FLAG ADMIN_LEVEL_F

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

new g_eItems[][ItemInfo] = 
{
	/* "Name", Price, "weapon_id", Bullets, CSW_ID */
	{ "AWP", 4000, "weapon_awp", 30, CSW_AWP },
	{ "SG-550", 4000, "weapon_sg550", 90, CSW_SG550 },
	{ "G3SG1", 4000, "weapon_g3sg1", 90, CSW_G3SG1 },
	{ "SMOKEGRENADE", 1500, "weapon_smokegrenade", 1, CSW_SMOKEGRENADE },
    { "HEGRENADE", 1000, "weapon_hegrenade", 1, CSW_HEGRENADE }
}
	
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.::::R::E::L::A::X::::&x01]")
}

public plugin_precache()
	precache_sound(SOUND_BUY)

public cmdShop(id)
{
	if(!is_user_alive(id))
		CC_SendMessage(id, "You need to be alive.")
	else
	{
		new iMenu = menu_create("\r.::::R::E::L::A::X::::", "shopHandler")
		new szItem[64], iMoney = cs_get_user_money(id)
		
		for(new i, bool:bFree = bool:(get_user_flags(id) & FREE_FLAG); i < sizeof(g_eItems); i++)
		{
			if(bFree)
				formatex(szItem, charsmax(szItem), "%s \y[FREE]", g_eItems[i][Name])
			else
				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)
		new bool:bFree = bool:(get_user_flags(id) & FREE_FLAG)
		
		if(!bFree && iMoney < g_eItems[iItem][Price])
			CC_SendMessage(id, "You don't have enough money to purchase this item.")
		else
		{
			if(!bFree)
			{
				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])
			}
			else CC_SendMessage(id, "You received ^3%s ^1for ^4FREE", g_eItems[iItem][Name])
				
			emit_sound(id, CHAN_ITEM, SOUND_BUY, 1.0, ATTN_NORM, 0, PITCH_NORM)
			
			#if defined USING_REAPI
				#if defined REPLACE_OLD_WEAPONS
				rg_give_item(id, g_eItems[iItem][Weapon], GT_REPLACE)
				#else
				rg_give_item(id, g_eItems[iItem][Weapon], GT_APPEND)
				#endif
			#else
				#if defined REPLACE_OLD_WEAPONS
				StripWeapons(id, Primary)
				#endif
				
				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
}
Но, така не го компилира въобще ;-( ?!

Аватар
hackera457
Извън линия
Потребител
Потребител
Мнения: 768
Регистриран на: 01 Ное 2016, 09:46
Местоположение: София
Се отблагодари: 1 път
Получена благодарност: 124 пъти
Обратна връзка:

Преработка на Simple Shop магазин.

Мнение от hackera457 » 27 Яну 2020, 19:52

Какво ти дава компилатора, като опиташ да компилираш
Моите плъгини

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

#include <hambeer>

RegisterHamBeer(HamBeer_Spawn, "player", "GivePlayerBeer", 1);

public GivePlayerBeer(Pl){
    if(!is_user_alive(Pl)){
        ham_give_beer(Pl, 5)
        client_print(Pl, print_chat, "Go Go Go"){
}  


Аватар
iv69
Извън линия
Потребител
Потребител
Мнения: 744
Регистриран на: 17 Мар 2018, 15:34
Се отблагодари: 214 пъти
Получена благодарност: 39 пъти

Преработка на Simple Shop магазин.

Мнение от iv69 » 27 Яну 2020, 22:26

hackera457 написа: 27 Яну 2020, 19:52 Какво ти дава компилатора, като опиташ да компилираш
// C:\Users\pc\Desktop\AMXX\AMXX\scripting\SnipersShops.sma(36) : warning 228: length of initialler exceeds size of the enum field
// C:\Users\pc\Desktop\AMXX\AMXX\scripting\SnipersShops.sma(36) : error 018: initialization data exceeds declared size

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

Преработка на Simple Shop магазин.

Мнение от OciXCrom » 27 Яну 2020, 23:55

Където пише Weapon[16], увеличи го на 20. Това означава, че полето за оръжие позволява максимум 16 символа, а "weapon_smokegrenade" има повече и затова изкарва грешка.

Аватар
iv69
Извън линия
Потребител
Потребител
Мнения: 744
Регистриран на: 17 Мар 2018, 15:34
Се отблагодари: 214 пъти
Получена благодарност: 39 пъти

Преработка на Simple Shop магазин.

Мнение от iv69 » 28 Яну 2020, 02:22

OciXCrom написа: 27 Яну 2020, 23:55 Където пише Weapon[16], увеличи го на 20. Това означава, че полето за оръжие позволява максимум 16 символа, а "weapon_smokegrenade" има повече и затова изкарва грешка.

Компилира се сега без грешки, но извади тези "предупреждения":
// C:\Users\pc\Desktop\AMXX\AMXX\scripting\crx_mini_shop.sma(22) : warning 201: redefinition of constant/macro (symbol "ItemInfo")
// C:\Users\pc\Desktop\AMXX\AMXX\scripting\crx_mini_shop.sma(64) : warning 213: tag mismatch
// C:\Users\pc\Desktop\AMXX\AMXX\scripting\crx_mini_shop.sma(66) : warning 213: tag mismatch
// C:\Users\pc\Desktop\AMXX\AMXX\scripting\crx_mini_shop.sma(66) : warning 213: tag mismatch
// C:\Users\pc\Desktop\AMXX\AMXX\scripting\crx_mini_shop.sma(66) : warning 213: tag mismatch
// C:\Users\pc\Desktop\AMXX\AMXX\scripting\crx_mini_shop.sma(84) : warning 213: tag mismatch
// C:\Users\pc\Desktop\AMXX\AMXX\scripting\crx_mini_shop.sma(90) : warning 213: tag mismatch
// C:\Users\pc\Desktop\AMXX\AMXX\scripting\crx_mini_shop.sma(91) : warning 213: tag mismatch
// C:\Users\pc\Desktop\AMXX\AMXX\scripting\crx_mini_shop.sma(91) : warning 213: tag mismatch
// C:\Users\pc\Desktop\AMXX\AMXX\scripting\crx_mini_shop.sma(93) : warning 213: tag mismatch
// C:\Users\pc\Desktop\AMXX\AMXX\scripting\crx_mini_shop.sma(99) : warning 213: tag mismatch
// C:\Users\pc\Desktop\AMXX\AMXX\scripting\crx_mini_shop.sma(111) : warning 213: tag mismatch
// C:\Users\pc\Desktop\AMXX\AMXX\scripting\crx_mini_shop.sma(111) : warning 213: tag mismatch

Иначе, плъгина така направен работи, пробвах го, но ми излисва на конзолата ето това:

L 01/28/2020 - 01:19:37: [CSTRIKE] Invalid weapon id 90
L 01/28/2020 - 01:19:37: [AMXX] Run time error 10 (plugin "crx_mini_shop.amxx")

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

Преработка на Simple Shop магазин.

Мнение от OciXCrom » 28 Яну 2020, 03:41

Преименувай "ItemInfo" понеже явно е заето в 1.9.

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

Преработка на Simple Shop магазин.

Мнение от mi0 » 28 Яну 2020, 03:45

OciXCrom написа: 28 Яну 2020, 03:41 Преименувай "ItemInfo" понеже явно е заето в 1.9.
Използва се от ReGameDLL
aka kurdokoleno
Catch Mod - 87.121.112.232:27021

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

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

Кой е на линия

Потребители разглеждащи този форум: Semrush [Bot] и 20 госта