Преработка на голд меню

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Аватар
prols
Извън линия
Потребител
Потребител
Мнения: 48
Регистриран на: 24 Юни 2018, 01:36

Преработка на голд меню

Мнение от prols » 20 Юли 2018, 03:19

Някой може ли да го промени на 2та отбора да има излиза еднакво меню защото сега е
Т
1.Gold_Glock=cost 5000$
2.Gold_AK47=cost 10000$
3.Gold_AWP=cost 16000$

ЦТ
1.Gold_Deagle=cost 5000$
2.Gold_M4A1=cost 10000$
3.Gold_AWP=cost 16000$

Искам да стане 1меню за 2та отбора:
1.Gold_Deagle=cost 5000$
2.Gold_AK47=cost 10000$
2.Gold_M4A1=cost 10000$
3.Gold_AWP=cost 16000$

** И да се премахне glock-a.

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

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

//#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 NO_WEAPON -1

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

new const g_eItems[][ItemInfo] = 
{
	/* "Name", Price, "weapon_id", Bullets, CSW_ID, "v_model", "p_model", "team" */
	{ "Golden Deagle", 	5000, 	"weapon_deagle", 	35, 	CSW_DEAGLE, 	"models/v_deagle.mdl", 		"models/p_deagle.mdl", 		CS_TEAM_CT },
	{ "Golden M4A1", 	10000, 	"weapon_m4a1", 		90, 	CSW_M4A1, 		"models/v_m4a1.mdl", 		"models/p_m4a1.mdl", 		CS_TEAM_CT },
	{ "Golden Glock", 	5000, 	"weapon_glock18", 	30, 	CSW_GLOCK18, 	"models/v_glock18.mdl",	 	"models/p_glock18.mdl", 	CS_TEAM_T },
	{ "Golden AK47", 	10000, 	"weapon_ak47", 		90, 	CSW_AWP, 		"models/v_ak47.mdl", 		"models/p_ak47.mdl",	 	CS_TEAM_T },
	{ "Golden AWP", 	16000, 	"weapon_awp", 		30, 	CSW_AWP, 		"models/v_awp.mdl", 		"models/p_awp.mdl",			CS_TEAM_CT|CS_TEAM_T }
}

new g_iWeapon[33]
	
public plugin_init()
{
	register_plugin("Golden Shop", PLUGIN_VERSION, "OciXCrom")
	register_cvar("CRXGoldenShop", PLUGIN_VERSION, FCVAR_SERVER|FCVAR_SPONLY|FCVAR_UNLOGGED)
	register_event("CurWeapon", "OnChangeWeapon", "be", "1=1")
	RegisterHam(Ham_Spawn, "player", "OnPlayerSpawn", 1)
	RegisterHam(Ham_TakeDamage, "player", "PreTakeDamage", 0)
	register_clcmd("say /gold", "Cmd_Shop")
	register_clcmd("say_team /gold", "Cmd_Shop")
	CC_SetPrefix("[&x04GOLD&x01]")
}

public plugin_precache()
{
	precache_sound(SOUND_BUY)
	
	for(new i; i < sizeof(g_eItems); i++)
	{
		if(g_eItems[i][VModel][0])
			precache_model(g_eItems[i][VModel])
			
		if(g_eItems[i][PModel][0])
			precache_model(g_eItems[i][PModel])
	}
}
	
public client_putinserver(id)
	g_iWeapon[id] = NO_WEAPON
	
public OnPlayerSpawn(id)
	g_iWeapon[id] = NO_WEAPON
	
public PreTakeDamage(iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits)
{
	if(g_iWeapon[iAttacker] != NO_WEAPON)
		SetHamParamFloat(4, fDamage * 2)
}

public OnChangeWeapon(id)
{
	if(g_iWeapon[id] == NO_WEAPON || read_data(2) != g_eItems[g_iWeapon[id]][Csw])
		return
		
	if(g_eItems[g_iWeapon[id]][VModel][0])
		set_pev(id, pev_viewmodel2, g_eItems[g_iWeapon[id]][VModel])
		
	if(g_eItems[g_iWeapon[id]][PModel][0])
		set_pev(id, pev_weaponmodel2, g_eItems[g_iWeapon[id]][PModel])
}
	
public Cmd_Shop(id)
{
	if(!is_user_alive(id))
		CC_SendMessage(id, "You need to be alive.")
	else
	{
		new iMenu = menu_create("\rGold Shop", "Shop_Handler")
		new szItem[64], iMoney = cs_get_user_money(id)
		
		for(new CsTeams:iTeam = cs_get_user_team(id), i; i < sizeof(g_eItems); i++)
		{
			if(g_eItems[i][Team] & iTeam)
			{
				if(g_iWeapon[id] == i)
					formatex(szItem, charsmax(szItem), "\d%s \y[OWNED]", g_eItems[i][Name])
				else
					formatex(szItem, charsmax(szItem), "%s%s \r[%i$]", iMoney >= g_eItems[i][Price] ? "\w" : "\d", g_eItems[i][Name], g_eItems[i][Price])
					
				menu_additem(iMenu, szItem)
			}
		}
		
		menu_display(id, iMenu)
	}
	
	return PLUGIN_HANDLED
}

public Shop_Handler(id, iMenu, iItem)
{
	if(iItem != MENU_EXIT && is_user_alive(id))
	{
		if(g_iWeapon[id] == iItem)
			CC_SendMessage(id, "You already have this item.")
		else
		{
			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)
				g_iWeapon[id] = iItem
				
				#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][Csw], g_eItems[iItem][Ammo])
				OnChangeWeapon(id)
			}
		}
	}

	menu_destroy(iMenu)
	return PLUGIN_HANDLED
}
Последно промяна от OciXCrom на 22 Юли 2018, 15:05, променено общо 1 път.
Причина: Какво прави тема за ПРЕРАБОТКА в раздела за ИЗРАБОТКА?!

Аватар
NaTo
Извън линия
Потребител
Потребител
Мнения: 69
Регистриран на: 02 Юли 2017, 15:19
Местоположение: Burgas
Се отблагодари: 4 пъти
Получена благодарност: 1 път
Обратна връзка:

Преработка на голд меню

Мнение от NaTo » 20 Юли 2018, 07:20

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

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

//#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 NO_WEAPON -1

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

new const g_eItems[][ItemInfo] = 
{
	/* "Name", Price, "weapon_id", Bullets, CSW_ID, "v_model", "p_model", "team" */
	{ "Golden Deagle", 	5000, 	"weapon_deagle", 	35, 	CSW_DEAGLE, 	"models/v_deagle.mdl", 		"models/p_deagle.mdl", 		CS_TEAM_CT|CS_TEAM_T },
	{ "Golden M4A1", 	10000, 	"weapon_m4a1", 		90, 	CSW_M4A1, 		"models/v_m4a1.mdl", 		"models/p_m4a1.mdl", 		CS_TEAM_CT|CS_TEAM_T },
	{ "Golden AK47", 	10000, 	"weapon_ak47", 		90, 	CSW_AWP, 		"models/v_ak47.mdl", 		"models/p_ak47.mdl",	 	CS_TEAM_CT|CS_TEAM_T },
	{ "Golden AWP", 	16000, 	"weapon_awp", 		30, 	CSW_AWP, 		"models/v_awp.mdl", 		"models/p_awp.mdl",			CS_TEAM_CT|CS_TEAM_T }
}

new g_iWeapon[33]
	
public plugin_init()
{
	register_plugin("Golden Shop", PLUGIN_VERSION, "OciXCrom")
	register_cvar("CRXGoldenShop", PLUGIN_VERSION, FCVAR_SERVER|FCVAR_SPONLY|FCVAR_UNLOGGED)
	register_event("CurWeapon", "OnChangeWeapon", "be", "1=1")
	RegisterHam(Ham_Spawn, "player", "OnPlayerSpawn", 1)
	RegisterHam(Ham_TakeDamage, "player", "PreTakeDamage", 0)
	register_clcmd("say /gold", "Cmd_Shop")
	register_clcmd("say_team /gold", "Cmd_Shop")
	CC_SetPrefix("[&x04GOLD&x01]")
}

public plugin_precache()
{
	precache_sound(SOUND_BUY)
	
	for(new i; i < sizeof(g_eItems); i++)
	{
		if(g_eItems[i][VModel][0])
			precache_model(g_eItems[i][VModel])
			
		if(g_eItems[i][PModel][0])
			precache_model(g_eItems[i][PModel])
	}
}
	
public client_putinserver(id)
	g_iWeapon[id] = NO_WEAPON
	
public OnPlayerSpawn(id)
	g_iWeapon[id] = NO_WEAPON
	
public PreTakeDamage(iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits)
{
	if(g_iWeapon[iAttacker] != NO_WEAPON)
		SetHamParamFloat(4, fDamage * 2)
}

public OnChangeWeapon(id)
{
	if(g_iWeapon[id] == NO_WEAPON || read_data(2) != g_eItems[g_iWeapon[id]][Csw])
		return
		
	if(g_eItems[g_iWeapon[id]][VModel][0])
		set_pev(id, pev_viewmodel2, g_eItems[g_iWeapon[id]][VModel])
		
	if(g_eItems[g_iWeapon[id]][PModel][0])
		set_pev(id, pev_weaponmodel2, g_eItems[g_iWeapon[id]][PModel])
}
	
public Cmd_Shop(id)
{
	if(!is_user_alive(id))
		CC_SendMessage(id, "You need to be alive.")
	else
	{
		new iMenu = menu_create("\rGold Shop", "Shop_Handler")
		new szItem[64], iMoney = cs_get_user_money(id)
		
		for(new CsTeams:iTeam = cs_get_user_team(id), i; i < sizeof(g_eItems); i++)
		{
			if(g_eItems[i][Team] & iTeam)
			{
				if(g_iWeapon[id] == i)
					formatex(szItem, charsmax(szItem), "\d%s \y[OWNED]", g_eItems[i][Name])
				else
					formatex(szItem, charsmax(szItem), "%s%s \r[%i$]", iMoney >= g_eItems[i][Price] ? "\w" : "\d", g_eItems[i][Name], g_eItems[i][Price])
					
				menu_additem(iMenu, szItem)
			}
		}
		
		menu_display(id, iMenu)
	}
	
	return PLUGIN_HANDLED
}

public Shop_Handler(id, iMenu, iItem)
{
	if(iItem != MENU_EXIT && is_user_alive(id))
	{
		if(g_iWeapon[id] == iItem)
			CC_SendMessage(id, "You already have this item.")
		else
		{
			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)
				g_iWeapon[id] = iItem
				
				#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][Csw], g_eItems[iItem][Ammo])
				OnChangeWeapon(id)
			}
		}
	}

	menu_destroy(iMenu)
	return PLUGIN_HANDLED
}

Аватар
prols
Извън линия
Потребител
Потребител
Мнения: 48
Регистриран на: 24 Юни 2018, 01:36

Преработка на голд меню

Мнение от prols » 20 Юли 2018, 15:53

NaTo написа: 20 Юли 2018, 07:20

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

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

//#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 NO_WEAPON -1

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

new const g_eItems[][ItemInfo] = 
{
	/* "Name", Price, "weapon_id", Bullets, CSW_ID, "v_model", "p_model", "team" */
	{ "Golden Deagle", 	5000, 	"weapon_deagle", 	35, 	CSW_DEAGLE, 	"models/v_deagle.mdl", 		"models/p_deagle.mdl", 		CS_TEAM_CT|CS_TEAM_T },
	{ "Golden M4A1", 	10000, 	"weapon_m4a1", 		90, 	CSW_M4A1, 		"models/v_m4a1.mdl", 		"models/p_m4a1.mdl", 		CS_TEAM_CT|CS_TEAM_T },
	{ "Golden AK47", 	10000, 	"weapon_ak47", 		90, 	CSW_AWP, 		"models/v_ak47.mdl", 		"models/p_ak47.mdl",	 	CS_TEAM_CT|CS_TEAM_T },
	{ "Golden AWP", 	16000, 	"weapon_awp", 		30, 	CSW_AWP, 		"models/v_awp.mdl", 		"models/p_awp.mdl",			CS_TEAM_CT|CS_TEAM_T }
}

new g_iWeapon[33]
	
public plugin_init()
{
	register_plugin("Golden Shop", PLUGIN_VERSION, "OciXCrom")
	register_cvar("CRXGoldenShop", PLUGIN_VERSION, FCVAR_SERVER|FCVAR_SPONLY|FCVAR_UNLOGGED)
	register_event("CurWeapon", "OnChangeWeapon", "be", "1=1")
	RegisterHam(Ham_Spawn, "player", "OnPlayerSpawn", 1)
	RegisterHam(Ham_TakeDamage, "player", "PreTakeDamage", 0)
	register_clcmd("say /gold", "Cmd_Shop")
	register_clcmd("say_team /gold", "Cmd_Shop")
	CC_SetPrefix("[&x04GOLD&x01]")
}

public plugin_precache()
{
	precache_sound(SOUND_BUY)
	
	for(new i; i < sizeof(g_eItems); i++)
	{
		if(g_eItems[i][VModel][0])
			precache_model(g_eItems[i][VModel])
			
		if(g_eItems[i][PModel][0])
			precache_model(g_eItems[i][PModel])
	}
}
	
public client_putinserver(id)
	g_iWeapon[id] = NO_WEAPON
	
public OnPlayerSpawn(id)
	g_iWeapon[id] = NO_WEAPON
	
public PreTakeDamage(iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits)
{
	if(g_iWeapon[iAttacker] != NO_WEAPON)
		SetHamParamFloat(4, fDamage * 2)
}

public OnChangeWeapon(id)
{
	if(g_iWeapon[id] == NO_WEAPON || read_data(2) != g_eItems[g_iWeapon[id]][Csw])
		return
		
	if(g_eItems[g_iWeapon[id]][VModel][0])
		set_pev(id, pev_viewmodel2, g_eItems[g_iWeapon[id]][VModel])
		
	if(g_eItems[g_iWeapon[id]][PModel][0])
		set_pev(id, pev_weaponmodel2, g_eItems[g_iWeapon[id]][PModel])
}
	
public Cmd_Shop(id)
{
	if(!is_user_alive(id))
		CC_SendMessage(id, "You need to be alive.")
	else
	{
		new iMenu = menu_create("\rGold Shop", "Shop_Handler")
		new szItem[64], iMoney = cs_get_user_money(id)
		
		for(new CsTeams:iTeam = cs_get_user_team(id), i; i < sizeof(g_eItems); i++)
		{
			if(g_eItems[i][Team] & iTeam)
			{
				if(g_iWeapon[id] == i)
					formatex(szItem, charsmax(szItem), "\d%s \y[OWNED]", g_eItems[i][Name])
				else
					formatex(szItem, charsmax(szItem), "%s%s \r[%i$]", iMoney >= g_eItems[i][Price] ? "\w" : "\d", g_eItems[i][Name], g_eItems[i][Price])
					
				menu_additem(iMenu, szItem)
			}
		}
		
		menu_display(id, iMenu)
	}
	
	return PLUGIN_HANDLED
}

public Shop_Handler(id, iMenu, iItem)
{
	if(iItem != MENU_EXIT && is_user_alive(id))
	{
		if(g_iWeapon[id] == iItem)
			CC_SendMessage(id, "You already have this item.")
		else
		{
			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)
				g_iWeapon[id] = iItem
				
				#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][Csw], g_eItems[iItem][Ammo])
				OnChangeWeapon(id)
			}
		}
	}

	menu_destroy(iMenu)
	return PLUGIN_HANDLED
}
Има един проблем като купя голд АК и няма скина само при него е така .
Също няма оня лъч който попринцип като стреляш излиза..

Аватар
NaTo
Извън линия
Потребител
Потребител
Мнения: 69
Регистриран на: 02 Юли 2017, 15:19
Местоположение: Burgas
Се отблагодари: 4 пъти
Получена благодарност: 1 път
Обратна връзка:

Преработка на голд меню

Мнение от NaTo » 20 Юли 2018, 22:59

Пробвай сега да видим дали се е оправило

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

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

//#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 NO_WEAPON -1

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

new const g_eItems[][ItemInfo] = 
{
	/* "Name", Price, "weapon_id", Bullets, CSW_ID, "v_model", "p_model", "team" */
	{ "Golden Deagle", 	5000, 	"weapon_deagle", 	35, 	CSW_DEAGLE, 	"models/v_deagle.mdl", 		"models/p_deagle.mdl", 		CS_TEAM_CT|CS_TEAM_T },
	{ "Golden M4A1", 	10000, 	"weapon_m4a1", 		90, 	CSW_M4A1, 		"models/v_m4a1.mdl", 		"models/p_m4a1.mdl", 		CS_TEAM_CT|CS_TEAM_T },
	{ "Golden AK47", 	10000, 	"weapon_ak47", 		90, 	CSW_AK47, 		"models/v_ak47.mdl", 		"models/p_ak47.mdl",	 	CS_TEAM_CT|CS_TEAM_T },
	{ "Golden AWP", 	16000, 	"weapon_awp", 		30, 	CSW_AWP, 		"models/v_awp.mdl", 		"models/p_awp.mdl",			CS_TEAM_CT|CS_TEAM_T }
}

new g_iWeapon[33]
	
public plugin_init()
{
	register_plugin("Golden Shop", PLUGIN_VERSION, "OciXCrom")
	register_cvar("CRXGoldenShop", PLUGIN_VERSION, FCVAR_SERVER|FCVAR_SPONLY|FCVAR_UNLOGGED)
	register_event("CurWeapon", "OnChangeWeapon", "be", "1=1")
	RegisterHam(Ham_Spawn, "player", "OnPlayerSpawn", 1)
	RegisterHam(Ham_TakeDamage, "player", "PreTakeDamage", 0)
	register_clcmd("say /gold", "Cmd_Shop")
	register_clcmd("say_team /gold", "Cmd_Shop")
	CC_SetPrefix("[&x04GOLD&x01]")
}

public plugin_precache()
{
	precache_sound(SOUND_BUY)
	
	for(new i; i < sizeof(g_eItems); i++)
	{
		if(g_eItems[i][VModel][0])
			precache_model(g_eItems[i][VModel])
			
		if(g_eItems[i][PModel][0])
			precache_model(g_eItems[i][PModel])
	}
}
	
public client_putinserver(id)
	g_iWeapon[id] = NO_WEAPON
	
public OnPlayerSpawn(id)
	g_iWeapon[id] = NO_WEAPON
	
public PreTakeDamage(iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits)
{
	if(g_iWeapon[iAttacker] != NO_WEAPON)
		SetHamParamFloat(4, fDamage * 2)
}

public OnChangeWeapon(id)
{
	if(g_iWeapon[id] == NO_WEAPON || read_data(2) != g_eItems[g_iWeapon[id]][Csw])
		return
		
	if(g_eItems[g_iWeapon[id]][VModel][0])
		set_pev(id, pev_viewmodel2, g_eItems[g_iWeapon[id]][VModel])
		
	if(g_eItems[g_iWeapon[id]][PModel][0])
		set_pev(id, pev_weaponmodel2, g_eItems[g_iWeapon[id]][PModel])
}
	
public Cmd_Shop(id)
{
	if(!is_user_alive(id))
		CC_SendMessage(id, "You need to be alive.")
	else
	{
		new iMenu = menu_create("\rGold Shop", "Shop_Handler")
		new szItem[64], iMoney = cs_get_user_money(id)
		
		for(new CsTeams:iTeam = cs_get_user_team(id), i; i < sizeof(g_eItems); i++)
		{
			if(g_eItems[i][Team] & iTeam)
			{
				if(g_iWeapon[id] == i)
					formatex(szItem, charsmax(szItem), "\d%s \y[OWNED]", g_eItems[i][Name])
				else
					formatex(szItem, charsmax(szItem), "%s%s \r[%i$]", iMoney >= g_eItems[i][Price] ? "\w" : "\d", g_eItems[i][Name], g_eItems[i][Price])
					
				menu_additem(iMenu, szItem)
			}
		}
		
		menu_display(id, iMenu)
	}
	
	return PLUGIN_HANDLED
}

public Shop_Handler(id, iMenu, iItem)
{
	if(iItem != MENU_EXIT && is_user_alive(id))
	{
		if(g_iWeapon[id] == iItem)
			CC_SendMessage(id, "You already have this item.")
		else
		{
			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)
				g_iWeapon[id] = iItem
				
				#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][Csw], g_eItems[iItem][Ammo])
				OnChangeWeapon(id)
			}
		}
	}

	menu_destroy(iMenu)
	return PLUGIN_HANDLED
}

Аватар
prols
Извън линия
Потребител
Потребител
Мнения: 48
Регистриран на: 24 Юни 2018, 01:36

Преработка на голд меню

Мнение от prols » 20 Юли 2018, 23:29

NaTo написа: 20 Юли 2018, 22:59 Пробвай сега да видим дали се е оправило

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

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

//#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 NO_WEAPON -1

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

new const g_eItems[][ItemInfo] = 
{
	/* "Name", Price, "weapon_id", Bullets, CSW_ID, "v_model", "p_model", "team" */
	{ "Golden Deagle", 	5000, 	"weapon_deagle", 	35, 	CSW_DEAGLE, 	"models/v_deagle.mdl", 		"models/p_deagle.mdl", 		CS_TEAM_CT|CS_TEAM_T },
	{ "Golden M4A1", 	10000, 	"weapon_m4a1", 		90, 	CSW_M4A1, 		"models/v_m4a1.mdl", 		"models/p_m4a1.mdl", 		CS_TEAM_CT|CS_TEAM_T },
	{ "Golden AK47", 	10000, 	"weapon_ak47", 		90, 	CSW_AK47, 		"models/v_ak47.mdl", 		"models/p_ak47.mdl",	 	CS_TEAM_CT|CS_TEAM_T },
	{ "Golden AWP", 	16000, 	"weapon_awp", 		30, 	CSW_AWP, 		"models/v_awp.mdl", 		"models/p_awp.mdl",			CS_TEAM_CT|CS_TEAM_T }
}

new g_iWeapon[33]
	
public plugin_init()
{
	register_plugin("Golden Shop", PLUGIN_VERSION, "OciXCrom")
	register_cvar("CRXGoldenShop", PLUGIN_VERSION, FCVAR_SERVER|FCVAR_SPONLY|FCVAR_UNLOGGED)
	register_event("CurWeapon", "OnChangeWeapon", "be", "1=1")
	RegisterHam(Ham_Spawn, "player", "OnPlayerSpawn", 1)
	RegisterHam(Ham_TakeDamage, "player", "PreTakeDamage", 0)
	register_clcmd("say /gold", "Cmd_Shop")
	register_clcmd("say_team /gold", "Cmd_Shop")
	CC_SetPrefix("[&x04GOLD&x01]")
}

public plugin_precache()
{
	precache_sound(SOUND_BUY)
	
	for(new i; i < sizeof(g_eItems); i++)
	{
		if(g_eItems[i][VModel][0])
			precache_model(g_eItems[i][VModel])
			
		if(g_eItems[i][PModel][0])
			precache_model(g_eItems[i][PModel])
	}
}
	
public client_putinserver(id)
	g_iWeapon[id] = NO_WEAPON
	
public OnPlayerSpawn(id)
	g_iWeapon[id] = NO_WEAPON
	
public PreTakeDamage(iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits)
{
	if(g_iWeapon[iAttacker] != NO_WEAPON)
		SetHamParamFloat(4, fDamage * 2)
}

public OnChangeWeapon(id)
{
	if(g_iWeapon[id] == NO_WEAPON || read_data(2) != g_eItems[g_iWeapon[id]][Csw])
		return
		
	if(g_eItems[g_iWeapon[id]][VModel][0])
		set_pev(id, pev_viewmodel2, g_eItems[g_iWeapon[id]][VModel])
		
	if(g_eItems[g_iWeapon[id]][PModel][0])
		set_pev(id, pev_weaponmodel2, g_eItems[g_iWeapon[id]][PModel])
}
	
public Cmd_Shop(id)
{
	if(!is_user_alive(id))
		CC_SendMessage(id, "You need to be alive.")
	else
	{
		new iMenu = menu_create("\rGold Shop", "Shop_Handler")
		new szItem[64], iMoney = cs_get_user_money(id)
		
		for(new CsTeams:iTeam = cs_get_user_team(id), i; i < sizeof(g_eItems); i++)
		{
			if(g_eItems[i][Team] & iTeam)
			{
				if(g_iWeapon[id] == i)
					formatex(szItem, charsmax(szItem), "\d%s \y[OWNED]", g_eItems[i][Name])
				else
					formatex(szItem, charsmax(szItem), "%s%s \r[%i$]", iMoney >= g_eItems[i][Price] ? "\w" : "\d", g_eItems[i][Name], g_eItems[i][Price])
					
				menu_additem(iMenu, szItem)
			}
		}
		
		menu_display(id, iMenu)
	}
	
	return PLUGIN_HANDLED
}

public Shop_Handler(id, iMenu, iItem)
{
	if(iItem != MENU_EXIT && is_user_alive(id))
	{
		if(g_iWeapon[id] == iItem)
			CC_SendMessage(id, "You already have this item.")
		else
		{
			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)
				g_iWeapon[id] = iItem
				
				#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][Csw], g_eItems[iItem][Ammo])
				OnChangeWeapon(id)
			}
		}
	}

	menu_destroy(iMenu)
	return PLUGIN_HANDLED
}
Сега се оправи , но немога да имам 2 голда примерно ak47 - deagle един се премахва който е купен 1ви .
Също няма онзи лъч който е при голд като стреляш незнам дали може да се сложи изобщо

Аватар
NaTo
Извън линия
Потребител
Потребител
Мнения: 69
Регистриран на: 02 Юли 2017, 15:19
Местоположение: Burgas
Се отблагодари: 4 пъти
Получена благодарност: 1 път
Обратна връзка:

Преработка на голд меню

Мнение от NaTo » 21 Юли 2018, 00:00

А вече не ги знам тия неща, не съм скриптър, в самия плъгин е така, аз само оправих менюто :)

Аватар
prols
Извън линия
Потребител
Потребител
Мнения: 48
Регистриран на: 24 Юни 2018, 01:36

Преработка на голд меню

Мнение от prols » 21 Юли 2018, 02:09

NaTo написа: 21 Юли 2018, 00:00 А вече не ги знам тия неща, не съм скриптър, в самия плъгин е така, аз само оправих менюто :)
Добре , блогодаря все пак . :beer:

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

Преработка на голд меню

Мнение от hackera457 » 22 Юли 2018, 12:57

Тествай

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

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

//#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 NO_WEAPON -1

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

new const g_eItems[][ItemInfo] = 
{
	/* "Name", Price, "weapon_id", Bullets, CSW_ID, "v_model", "p_model" */
	{ "Golden Deagle", 	5000, 	"weapon_deagle", 	35, 	CSW_DEAGLE, 	"models/v_deagle.mdl", 		"models/p_deagle.mdl" },
	{ "Golden M4A1", 	10000, 	"weapon_m4a1", 		90, 	CSW_M4A1, 		"models/v_m4a1.mdl", 		"models/p_m4a1.mdl"},
	{ "Golden Glock", 	5000, 	"weapon_glock18", 	30, 	CSW_GLOCK18, 	"models/v_glock18.mdl",	 	"models/p_glock18.mdl"},
	{ "Golden AK47", 	10000, 	"weapon_ak47", 		90, 	CSW_AWP, 		"models/v_ak47.mdl", 		"models/p_ak47.mdl"},
	{ "Golden AWP", 	16000, 	"weapon_awp", 		30, 	CSW_AWP, 		"models/v_awp.mdl", 		"models/p_awp.mdl"}
}

new g_iWeapon[33]
	
public plugin_init()
{
	register_plugin("Golden Shop", PLUGIN_VERSION, "OciXCrom")
	register_cvar("CRXGoldenShop", PLUGIN_VERSION, FCVAR_SERVER|FCVAR_SPONLY|FCVAR_UNLOGGED)
	register_event("CurWeapon", "OnChangeWeapon", "be", "1=1")
	RegisterHam(Ham_Spawn, "player", "OnPlayerSpawn", 1)
	RegisterHam(Ham_TakeDamage, "player", "PreTakeDamage", 0)
	register_clcmd("say /gold", "Cmd_Shop")
	register_clcmd("say_team /gold", "Cmd_Shop")
	CC_SetPrefix("[&x04GOLD&x01]")
}

public plugin_precache()
{
	precache_sound(SOUND_BUY)
	
	for(new i; i < sizeof(g_eItems); i++)
	{
		if(g_eItems[i][VModel][0])
			precache_model(g_eItems[i][VModel])
			
		if(g_eItems[i][PModel][0])
			precache_model(g_eItems[i][PModel])
	}
}

public client_putinserver(id)
	g_iWeapon[id] = NO_WEAPON
	
public OnPlayerSpawn(id)
	g_iWeapon[id] = NO_WEAPON
	
public PreTakeDamage(iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits)
{
	if(g_iWeapon[iAttacker] != NO_WEAPON)
		SetHamParamFloat(4, fDamage * 2)
}

public OnChangeWeapon(id)
{
	if(g_iWeapon[id] == NO_WEAPON || read_data(2) != g_eItems[g_iWeapon[id]][Csw])
		return
		
	if(g_eItems[g_iWeapon[id]][VModel][0])
		set_pev(id, pev_viewmodel2, g_eItems[g_iWeapon[id]][VModel])
		
	if(g_eItems[g_iWeapon[id]][PModel][0])
		set_pev(id, pev_weaponmodel2, g_eItems[g_iWeapon[id]][PModel])
}

public Cmd_Shop(id)
{
	if(!is_user_alive(id))
		CC_SendMessage(id, "You need to be alive.")
	else
	{
		new iMenu = menu_create("\rGold Shop", "Shop_Handler")
		new szItem[64], iMoney = cs_get_user_money(id)
		
		for(new i=0; i < sizeof(g_eItems); i++)
		{
			if(g_iWeapon[id] == i)
				formatex(szItem, charsmax(szItem), "\d%s \y[OWNED]", g_eItems[i][Name])
			else
				formatex(szItem, charsmax(szItem), "%s%s \r[%i$]", iMoney >= g_eItems[i][Price] ? "\w" : "\d", g_eItems[i][Name], g_eItems[i][Price])
					
			menu_additem(iMenu, szItem)
		}
		
		menu_display(id, iMenu)
		}
	
	return PLUGIN_HANDLED
}

public Shop_Handler(id, iMenu, iItem)
{
	if(iItem != MENU_EXIT && is_user_alive(id))
	{
		if(g_iWeapon[id] == iItem)
			CC_SendMessage(id, "You already have this item.")
		else
		{
			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)
				g_iWeapon[id] = iItem
				
				#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][Csw], g_eItems[iItem][Ammo])
				OnChangeWeapon(id)
			}
		}
	}

	menu_destroy(iMenu)
	return PLUGIN_HANDLED
}

Моите плъгини

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

#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"){
}  


Аватар
prols
Извън линия
Потребител
Потребител
Мнения: 48
Регистриран на: 24 Юни 2018, 01:36

Преработка на голд меню

Мнение от prols » 25 Юли 2018, 03:59

hackera457 написа: 22 Юли 2018, 12:57 Тествай

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

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

//#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 NO_WEAPON -1

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

new const g_eItems[][ItemInfo] = 
{
	/* "Name", Price, "weapon_id", Bullets, CSW_ID, "v_model", "p_model" */
	{ "Golden Deagle", 	5000, 	"weapon_deagle", 	35, 	CSW_DEAGLE, 	"models/v_deagle.mdl", 		"models/p_deagle.mdl" },
	{ "Golden M4A1", 	10000, 	"weapon_m4a1", 		90, 	CSW_M4A1, 		"models/v_m4a1.mdl", 		"models/p_m4a1.mdl"},
	{ "Golden Glock", 	5000, 	"weapon_glock18", 	30, 	CSW_GLOCK18, 	"models/v_glock18.mdl",	 	"models/p_glock18.mdl"},
	{ "Golden AK47", 	10000, 	"weapon_ak47", 		90, 	CSW_AWP, 		"models/v_ak47.mdl", 		"models/p_ak47.mdl"},
	{ "Golden AWP", 	16000, 	"weapon_awp", 		30, 	CSW_AWP, 		"models/v_awp.mdl", 		"models/p_awp.mdl"}
}

new g_iWeapon[33]
	
public plugin_init()
{
	register_plugin("Golden Shop", PLUGIN_VERSION, "OciXCrom")
	register_cvar("CRXGoldenShop", PLUGIN_VERSION, FCVAR_SERVER|FCVAR_SPONLY|FCVAR_UNLOGGED)
	register_event("CurWeapon", "OnChangeWeapon", "be", "1=1")
	RegisterHam(Ham_Spawn, "player", "OnPlayerSpawn", 1)
	RegisterHam(Ham_TakeDamage, "player", "PreTakeDamage", 0)
	register_clcmd("say /gold", "Cmd_Shop")
	register_clcmd("say_team /gold", "Cmd_Shop")
	CC_SetPrefix("[&x04GOLD&x01]")
}

public plugin_precache()
{
	precache_sound(SOUND_BUY)
	
	for(new i; i < sizeof(g_eItems); i++)
	{
		if(g_eItems[i][VModel][0])
			precache_model(g_eItems[i][VModel])
			
		if(g_eItems[i][PModel][0])
			precache_model(g_eItems[i][PModel])
	}
}

public client_putinserver(id)
	g_iWeapon[id] = NO_WEAPON
	
public OnPlayerSpawn(id)
	g_iWeapon[id] = NO_WEAPON
	
public PreTakeDamage(iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits)
{
	if(g_iWeapon[iAttacker] != NO_WEAPON)
		SetHamParamFloat(4, fDamage * 2)
}

public OnChangeWeapon(id)
{
	if(g_iWeapon[id] == NO_WEAPON || read_data(2) != g_eItems[g_iWeapon[id]][Csw])
		return
		
	if(g_eItems[g_iWeapon[id]][VModel][0])
		set_pev(id, pev_viewmodel2, g_eItems[g_iWeapon[id]][VModel])
		
	if(g_eItems[g_iWeapon[id]][PModel][0])
		set_pev(id, pev_weaponmodel2, g_eItems[g_iWeapon[id]][PModel])
}

public Cmd_Shop(id)
{
	if(!is_user_alive(id))
		CC_SendMessage(id, "You need to be alive.")
	else
	{
		new iMenu = menu_create("\rGold Shop", "Shop_Handler")
		new szItem[64], iMoney = cs_get_user_money(id)
		
		for(new i=0; i < sizeof(g_eItems); i++)
		{
			if(g_iWeapon[id] == i)
				formatex(szItem, charsmax(szItem), "\d%s \y[OWNED]", g_eItems[i][Name])
			else
				formatex(szItem, charsmax(szItem), "%s%s \r[%i$]", iMoney >= g_eItems[i][Price] ? "\w" : "\d", g_eItems[i][Name], g_eItems[i][Price])
					
			menu_additem(iMenu, szItem)
		}
		
		menu_display(id, iMenu)
		}
	
	return PLUGIN_HANDLED
}

public Shop_Handler(id, iMenu, iItem)
{
	if(iItem != MENU_EXIT && is_user_alive(id))
	{
		if(g_iWeapon[id] == iItem)
			CC_SendMessage(id, "You already have this item.")
		else
		{
			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)
				g_iWeapon[id] = iItem
				
				#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][Csw], g_eItems[iItem][Ammo])
				OnChangeWeapon(id)
			}
		}
	}

	menu_destroy(iMenu)
	return PLUGIN_HANDLED
}

Крашва сървъра...

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

Преработка на голд меню

Мнение от hackera457 » 25 Юли 2018, 10:28

Тествай така

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

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

//#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 NO_WEAPON -1

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

new const g_eItems[][ItemInfo] = 
{
	/* "Name", Price, "weapon_id", Bullets, CSW_ID, "v_model", "p_model" */
	{ "Golden Deagle", 	5000, 	"weapon_deagle", 	35, 	CSW_DEAGLE, 	"models/v_deagle.mdl", 		"models/p_deagle.mdl" },
	{ "Golden M4A1", 	10000, 	"weapon_m4a1", 		90, 	CSW_M4A1, 		"models/v_m4a1.mdl", 		"models/p_m4a1.mdl"},
	{ "Golden Glock", 	5000, 	"weapon_glock18", 	30, 	CSW_GLOCK18, 	"models/v_glock18.mdl",	 	"models/p_glock18.mdl"},
	{ "Golden AK47", 	10000, 	"weapon_ak47", 		90, 	CSW_AWP, 		"models/v_ak47.mdl", 		"models/p_ak47.mdl"},
	{ "Golden AWP", 	16000, 	"weapon_awp", 		30, 	CSW_AWP, 		"models/v_awp.mdl", 		"models/p_awp.mdl"}
}

new g_iWeapon[33]
	
public plugin_init()
{
	register_plugin("Golden Shop", PLUGIN_VERSION, "OciXCrom")
	register_cvar("CRXGoldenShop", PLUGIN_VERSION, FCVAR_SERVER|FCVAR_SPONLY|FCVAR_UNLOGGED)
	register_event("CurWeapon", "OnChangeWeapon", "be", "1=1")
	RegisterHam(Ham_Spawn, "player", "OnPlayerSpawn", 1)
	RegisterHam(Ham_TakeDamage, "player", "PreTakeDamage", 0)
	register_clcmd("say /gold", "Cmd_Shop")
	register_clcmd("say_team /gold", "Cmd_Shop")
	CC_SetPrefix("[&x04GOLD&x01]")
}

public plugin_precache()
{
	precache_sound(SOUND_BUY)
	
	for(new i; i < sizeof(g_eItems); i++)
	{
		if(g_eItems[i][VModel][0])
			precache_model(g_eItems[i][VModel])
			
		if(g_eItems[i][PModel][0])
			precache_model(g_eItems[i][PModel])
	}
}

public client_putinserver(id)
	g_iWeapon[id] = NO_WEAPON
	
public OnPlayerSpawn(id)
	g_iWeapon[id] = NO_WEAPON
	
public PreTakeDamage(iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits)
{
	if(g_iWeapon[iAttacker] != NO_WEAPON)
		SetHamParamFloat(4, fDamage * 2)
}

public OnChangeWeapon(id)
{
	if(g_iWeapon[id] == NO_WEAPON || read_data(2) != g_eItems[g_iWeapon[id]][Csw])
		return
		
	if(g_eItems[g_iWeapon[id]][VModel])
		set_pev(id, pev_viewmodel2, g_eItems[g_iWeapon[id]][VModel])
		
	if(g_eItems[g_iWeapon[id]][PModel])
		set_pev(id, pev_weaponmodel2, g_eItems[g_iWeapon[id]][PModel])
}

public Cmd_Shop(id)
{
	if(!is_user_alive(id))
		CC_SendMessage(id, "You need to be alive.")
	else
	{
		new iMenu = menu_create("\rGold Shop", "Shop_Handler")
		new szItem[64], iMoney = cs_get_user_money(id)
		
		for(new i=0; i < sizeof(g_eItems); i++)
		{
			if(g_iWeapon[id] == i)
				formatex(szItem, charsmax(szItem), "\d%s \y[OWNED]", g_eItems[i][Name])
			else
				formatex(szItem, charsmax(szItem), "%s%s \r[%i$]", iMoney >= g_eItems[i][Price] ? "\w" : "\d", g_eItems[i][Name], g_eItems[i][Price])
					
			menu_additem(iMenu, szItem)
		}
		
		menu_display(id, iMenu)
		}
	
	return PLUGIN_HANDLED
}

public Shop_Handler(id, iMenu, iItem)
{
	if(iItem != MENU_EXIT && is_user_alive(id))
	{
		if(g_iWeapon[id] == iItem)
			CC_SendMessage(id, "You already have this item.")
		else
		{
			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)
				g_iWeapon[id] = iItem
				
				#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][Csw], g_eItems[iItem][Ammo])
				OnChangeWeapon(id)
			}
		}
	}

	menu_destroy(iMenu)
	return PLUGIN_HANDLED
}
Моите плъгини

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

#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"){
}  


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

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

Кой е на линия

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