Toxic Grenade [ Damage ПРОБЛЕМ ]

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Аватар
DarkGameR
Извън линия
Потребител
Потребител
Мнения: 43
Регистриран на: 31 Май 2020, 19:05
Местоположение: Видин
Обратна връзка:

Toxic Grenade [ Damage ПРОБЛЕМ ]

Мнение от DarkGameR » 13 Яну 2021, 23:37

Здравейте имам проблем със тая бомба когато я изхвърям и ако някой от моят отбор е до нея той умира апък а искам само да убива само TERRORIST Теама, те я настроена само CT Team Да може да я ползва.

МОЛЯ Помогнете !! Благодаря ви <3

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

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <hamsandwich>
#include <fakemeta_util>
#include <gunxpmod>

#define PLUGIN "[ZP] Toxic Bomb"
#define VERSION "0.1"
#define AUTHOR "Chrescoe1"

#define weapon "weapon_smokegrenade"
#define standart_wmodel "models/w_smokegrenade.mdl"

new bool:g_has_bomb[33]
const Float:next_think=0.65
const Float:damage_radius=700.0
const Float:gas_damage=400.50
const think_to_delete = 20
const SmokeCount = 35

new const v_grenade_model[]="models/v_toxibomb.mdl"
new const p_grenade_model[]="models/p_toxibomb.mdl"
new const w_grenade_model[]="models/w_toxibomb.mdl"
new const bomb_classname[]="zp_toxic_bomb"
new const gas_classname[]="Toxic_Gas"
new gSmoke,Gibs_Model, Msg_Weaponlist

public plugin_precache()
{
	precache_model(v_grenade_model)
	precache_model(p_grenade_model)
	precache_model(w_grenade_model)
	gSmoke= precache_model("sprites/gas_puff_01g.spr")
	Gibs_Model=precache_model("models/woodgibs.mdl")
}

public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_gxm_item(" Toxic Bomb[NEW!]", "Item Bought: Toxic Bomb[SmokeGrenade]", 0, 0, GUN_SECTION_GRENADES, 3, CSW_SMOKEGRENADE)
	
	register_forward(FM_SetModel, "fw_SetModel")
	register_forward(FM_Touch, "fw_Touch")
	
	RegisterHam(Ham_Think, "info_target", "Ham_Gas_Think")
	RegisterHam(Ham_Item_AddToPlayer, weapon, "Ham_AddToPlayer_Post", 1)
	RegisterHam(Ham_Item_Deploy, weapon, "fw_Item_Deploy_Post", 1)
}	
	
public Ham_AddToPlayer_Post(ent, id)
{
	if(!pev_valid(ent))return HAM_IGNORED	
	//Update WeaponList
	message_begin(MSG_ONE_UNRELIABLE, Msg_Weaponlist, _, id)
	write_string(g_has_bomb[id])
	write_byte(12)
	write_byte(1)
	write_byte(-1)
	write_byte(-1)
	write_byte(3)
	write_byte(1)
	write_byte(CSW_SMOKEGRENADE)
	write_byte(24)
	message_end()			
	return HAM_HANDLED		
}
	
public fw_Item_Deploy_Post(ent)
{
	static id; id = fm_cs_get_weapon_ent_owner(ent)
	if (pev_valid(id))
	if(g_has_bomb[id])
	{
		set_pev(id, pev_viewmodel2, v_grenade_model)
		set_pev(id, pev_weaponmodel2, p_grenade_model)
	}
}

public gxm_item_enabled(id)
{
  g_has_bomb[id]= true;
} 

public client_connect(id)
{
  g_has_bomb[id]=false
}

public fw_SetModel(ent, const Model[])
{
	if(!pev_valid(ent))return FMRES_IGNORED
	if(equal(Model, standart_wmodel))
	{
		static id; id = pev(ent, pev_owner)
		if(g_has_bomb[id])
		{
			set_pev(ent, pev_classname, bomb_classname)	
			set_pev(ent, pev_dmgtime, 9999999.0)
			engfunc(EngFunc_SetModel, ent, w_grenade_model)
			
			return FMRES_SUPERCEDE
		}
	}
	return FMRES_IGNORED	
}
public fw_Touch(ent, touch)
{
	if(!pev_valid(ent))return HAM_IGNORED
		
	static Classname[32]; pev(ent, pev_classname, Classname, sizeof(Classname))
	if(equal(Classname, bomb_classname))
	{
		static Float:Origin[3]
		pev(ent, pev_origin, Origin)
		set_pev(ent,pev_iuser1,1)
		
		static Entity_Gas
		Entity_Gas = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"))
		engfunc(EngFunc_SetOrigin, Entity_Gas, Origin)
		set_pev(Entity_Gas, pev_classname, gas_classname)
		set_pev(Entity_Gas, pev_solid, SOLID_NOT)
		set_pev(Entity_Gas, pev_movetype, MOVETYPE_NONE)
		set_pev(Entity_Gas, pev_takedamage, 0.0)
		set_pev(Entity_Gas, pev_deadflag, DEAD_NO)
		set_pev(Entity_Gas, pev_nextthink, get_gametime() + 0.01)
		set_pev(Entity_Gas,pev_owner,pev(ent,pev_owner))
		
		message_begin(MSG_BROADCAST,SVC_TEMPENTITY); 
		write_byte(TE_BREAKMODEL); // TE_
		engfunc(EngFunc_WriteCoord, Origin[0])
		engfunc(EngFunc_WriteCoord, Origin[1])
		engfunc(EngFunc_WriteCoord, Origin[2]+24.0)
		write_coord(14); // size X
		write_coord(14); // size Y
		write_coord(14); // size Z
		write_coord(random_num(-50,50)); // velocity X
		write_coord(random_num(-50,50)); // velocity Y
		write_coord(25); // velocity Z
		write_byte(10); // random velocity
		write_short(Gibs_Model); // sprite
		write_byte(20); // count
		write_byte(15); // life
		write_byte(0x08); // flags
		message_end(); 
		
		engfunc(EngFunc_RemoveEntity, ent)
		
		return HAM_SUPERCEDE
	}
	return HAM_IGNORED
}
public Ham_Gas_Think(ent)
{
	if(!pev_valid(ent))return
	static Classname[32];pev(ent, pev_classname, Classname, sizeof(Classname))
	if(equal(Classname, gas_classname))
	{
		static owner,Float:origin[3],victim
		owner = pev(ent,pev_owner)
		pev(ent,pev_origin,origin)
		victim=-1
		while((victim = engfunc(EngFunc_FindEntityInSphere, victim, origin, damage_radius)) != 0)
		{
			if(is_user_connected(victim))
			{
				if(pev(victim,pev_health)>gas_damage)ExecuteHamB(Ham_TakeDamage, victim,ent, 1, gas_damage, DMG_NERVEGAS);
				else
				ExecuteHamB(Ham_TakeDamage, victim, ent, owner, gas_damage, DMG_NERVEGAS)
				ScreenFade(victim,1,0,125,0,125)
			}
		}
		engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, origin, 0)
		write_byte(TE_FIREFIELD);
		engfunc(EngFunc_WriteCoord,origin[0])
		engfunc(EngFunc_WriteCoord,origin[1])
		engfunc(EngFunc_WriteCoord,origin[2]+50)
		write_short(floatround(damage_radius/2))//radius
		write_short(gSmoke )
		write_byte(SmokeCount)	//Count
		write_byte(TEFIRE_FLAG_ALPHA | TEFIRE_FLAG_SOMEFLOAT | TEFIRE_FLAG_LOOP );
		write_byte(25)	//duration in sec
		message_end()
		
		set_pev(ent,pev_iuser2,pev(ent,pev_iuser2)+1)
		if(pev(ent,pev_iuser2)>think_to_delete)engfunc(EngFunc_RemoveEntity, ent)
		else set_pev(ent,pev_nextthink,get_gametime()+next_think)
	}
}
//Stocks
stock ScreenFade(id, Timer, Colors1, Colors2, Colors3, Alpha)
{
	if(!is_user_connected(id)) return
	
	message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("ScreenFade"), _, id);
	write_short((1<<12) * Timer)
	write_short( 14<<18 )
	write_short( 2<<2 )	
	write_byte(Colors1)
	write_byte(Colors2)
	write_byte(Colors3)
	write_byte(Alpha)
	message_end()
}
stock fm_cs_get_weapon_ent_owner(ent)
{
	if(pev_valid(ent)!= 2)return -1
	return get_pdata_cbase(ent, 41, 4)
}
[ZombiePlanet.net] Umbrella Swarm & GunXP [ High-XP ] 24/7
IP: None


:nicecode: :bg:

Изображение

Изображение

Аватар
Infamous2018
Извън линия
Foreigner
Foreigner
Мнения: 522
Регистриран на: 08 Апр 2018, 16:56
Се отблагодари: 14 пъти
Получена благодарност: 21 пъти

Toxic Grenade [ Damage ПРОБЛЕМ ]

Мнение от Infamous2018 » 14 Яну 2021, 19:37

could you add the ressources here please? Then i can test it too.

Аватар
atmax
Извън линия
Потребител
Потребител
Мнения: 492
Регистриран на: 22 Мар 2018, 15:06
Се отблагодари: 37 пъти
Получена благодарност: 43 пъти

Toxic Grenade [ Damage ПРОБЛЕМ ]

Мнение от atmax » 15 Яну 2021, 06:53

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

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <hamsandwich>
#include <fakemeta_util>
#include <gunxpmod>
#include <cstrike>

#define PLUGIN "[ZP] Toxic Bomb"
#define VERSION "0.1"
#define AUTHOR "Chrescoe1"

#define weapon "weapon_smokegrenade"
#define standart_wmodel "models/w_smokegrenade.mdl"

new bool:g_has_bomb[33]
const Float:next_think=0.65
const Float:damage_radius=700.0
const Float:gas_damage=400.50
const think_to_delete = 20
const SmokeCount = 35

new const v_grenade_model[]="models/v_toxibomb.mdl"
new const p_grenade_model[]="models/p_toxibomb.mdl"
new const w_grenade_model[]="models/w_toxibomb.mdl"
new const bomb_classname[]="zp_toxic_bomb"
new const gas_classname[]="Toxic_Gas"
new gSmoke,Gibs_Model, Msg_Weaponlist

public plugin_precache()
{
	precache_model(v_grenade_model)
	precache_model(p_grenade_model)
	precache_model(w_grenade_model)
	gSmoke= precache_model("sprites/gas_puff_01g.spr")
	Gibs_Model=precache_model("models/woodgibs.mdl")
}

public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_gxm_item(" Toxic Bomb[NEW!]", "Item Bought: Toxic Bomb[SmokeGrenade]", 0, 0, GUN_SECTION_GRENADES, 3, CSW_SMOKEGRENADE)
	
	register_forward(FM_SetModel, "fw_SetModel")
	register_forward(FM_Touch, "fw_Touch")
	
	RegisterHam(Ham_Think, "info_target", "Ham_Gas_Think")
	RegisterHam(Ham_Item_AddToPlayer, weapon, "Ham_AddToPlayer_Post", 1)
	RegisterHam(Ham_Item_Deploy, weapon, "fw_Item_Deploy_Post", 1)
}	
	
public Ham_AddToPlayer_Post(ent, id)
{
	if(!pev_valid(ent))return HAM_IGNORED	
	//Update WeaponList
	message_begin(MSG_ONE_UNRELIABLE, Msg_Weaponlist, _, id)
	write_string(g_has_bomb[id])
	write_byte(12)
	write_byte(1)
	write_byte(-1)
	write_byte(-1)
	write_byte(3)
	write_byte(1)
	write_byte(CSW_SMOKEGRENADE)
	write_byte(24)
	message_end()			
	return HAM_HANDLED		
}
	
public fw_Item_Deploy_Post(ent)
{
	static id; id = fm_cs_get_weapon_ent_owner(ent)
	if (pev_valid(id))
	if(g_has_bomb[id])
	{
		set_pev(id, pev_viewmodel2, v_grenade_model)
		set_pev(id, pev_weaponmodel2, p_grenade_model)
	}
}

public gxm_item_enabled(id)
{
  g_has_bomb[id]= true;
} 

public client_connect(id)
{
  g_has_bomb[id]=false
}

public fw_SetModel(ent, const Model[])
{
	if(!pev_valid(ent))return FMRES_IGNORED
	if(equal(Model, standart_wmodel))
	{
		static id; id = pev(ent, pev_owner)
		if(g_has_bomb[id])
		{
			set_pev(ent, pev_classname, bomb_classname)	
			set_pev(ent, pev_dmgtime, 9999999.0)
			engfunc(EngFunc_SetModel, ent, w_grenade_model)
			
			return FMRES_SUPERCEDE
		}
	}
	return FMRES_IGNORED	
}
public fw_Touch(ent, touch)
{
	if(!pev_valid(ent))return HAM_IGNORED
		
	static Classname[32]; pev(ent, pev_classname, Classname, sizeof(Classname))
	if(equal(Classname, bomb_classname))
	{
		static Float:Origin[3]
		pev(ent, pev_origin, Origin)
		set_pev(ent,pev_iuser1,1)
		
		static Entity_Gas
		Entity_Gas = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"))
		engfunc(EngFunc_SetOrigin, Entity_Gas, Origin)
		set_pev(Entity_Gas, pev_classname, gas_classname)
		set_pev(Entity_Gas, pev_solid, SOLID_NOT)
		set_pev(Entity_Gas, pev_movetype, MOVETYPE_NONE)
		set_pev(Entity_Gas, pev_takedamage, 0.0)
		set_pev(Entity_Gas, pev_deadflag, DEAD_NO)
		set_pev(Entity_Gas, pev_nextthink, get_gametime() + 0.01)
		set_pev(Entity_Gas,pev_owner,pev(ent,pev_owner))
		
		message_begin(MSG_BROADCAST,SVC_TEMPENTITY); 
		write_byte(TE_BREAKMODEL); // TE_
		engfunc(EngFunc_WriteCoord, Origin[0])
		engfunc(EngFunc_WriteCoord, Origin[1])
		engfunc(EngFunc_WriteCoord, Origin[2]+24.0)
		write_coord(14); // size X
		write_coord(14); // size Y
		write_coord(14); // size Z
		write_coord(random_num(-50,50)); // velocity X
		write_coord(random_num(-50,50)); // velocity Y
		write_coord(25); // velocity Z
		write_byte(10); // random velocity
		write_short(Gibs_Model); // sprite
		write_byte(20); // count
		write_byte(15); // life
		write_byte(0x08); // flags
		message_end(); 
		
		engfunc(EngFunc_RemoveEntity, ent)
		
		return HAM_SUPERCEDE
	}
	return HAM_IGNORED
}
public Ham_Gas_Think(ent)
{
	if(!pev_valid(ent))return
	static Classname[32];pev(ent, pev_classname, Classname, sizeof(Classname))
	if(equal(Classname, gas_classname))
	{
		static owner,Float:origin[3],victim
		owner = pev(ent,pev_owner)
		pev(ent,pev_origin,origin)
		victim=-1
		while((victim = engfunc(EngFunc_FindEntityInSphere, victim, origin, damage_radius)) != 0)
		{
			if(is_user_connected(victim) && cs_get_user_team(victim) == CS_TEAM_T)
			{
				if(pev(victim,pev_health)>gas_damage)ExecuteHamB(Ham_TakeDamage, victim,ent, 1, gas_damage, DMG_NERVEGAS);
				else
				ExecuteHamB(Ham_TakeDamage, victim, ent, owner, gas_damage, DMG_NERVEGAS)
				ScreenFade(victim,1,0,125,0,125)
			}
			else
				return HAM_IGNORED
		}
		engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, origin, 0)
		write_byte(TE_FIREFIELD);
		engfunc(EngFunc_WriteCoord,origin[0])
		engfunc(EngFunc_WriteCoord,origin[1])
		engfunc(EngFunc_WriteCoord,origin[2]+50)
		write_short(floatround(damage_radius/2))//radius
		write_short(gSmoke )
		write_byte(SmokeCount)	//Count
		write_byte(TEFIRE_FLAG_ALPHA | TEFIRE_FLAG_SOMEFLOAT | TEFIRE_FLAG_LOOP );
		write_byte(25)	//duration in sec
		message_end()
		
		set_pev(ent,pev_iuser2,pev(ent,pev_iuser2)+1)
		if(pev(ent,pev_iuser2)>think_to_delete)engfunc(EngFunc_RemoveEntity, ent)
		else set_pev(ent,pev_nextthink,get_gametime()+next_think)
	}
}
//Stocks
stock ScreenFade(id, Timer, Colors1, Colors2, Colors3, Alpha)
{
	if(!is_user_connected(id)) return
	
	message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("ScreenFade"), _, id);
	write_short((1<<12) * Timer)
	write_short( 14<<18 )
	write_short( 2<<2 )	
	write_byte(Colors1)
	write_byte(Colors2)
	write_byte(Colors3)
	write_byte(Alpha)
	message_end()
}
stock fm_cs_get_weapon_ent_owner(ent)
{
	if(pev_valid(ent)!= 2)return -1
	return get_pdata_cbase(ent, 41, 4)
}
Пробвай така
Rest in peace my friend I always will remember you! 🖤👊

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

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

Кой е на линия

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