Изработка на плъгина "Death Info"

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Аватар
TheRedShoko
Извън линия
Модератор
Модератор
Мнения: 1016
Регистриран на: 06 Окт 2016, 07:42
Местоположение: Бургас
Се отблагодари: 5 пъти
Получена благодарност: 84 пъти

Изработка на плъгина "Death Info"

Мнение от TheRedShoko » 27 Авг 2017, 12:47

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

#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <cromchat>
#include <fun>

new bool: b_blocked[33]

public plugin_init()
{
	register_plugin("amx_cheat","1.0","watch")
	RegisterHam(Ham_Killed, "player", "fw_Killed")
	RegisterHam(Ham_TraceAttack, "player", "fw_Takedamage")
	register_concmd("amx_noclip","amx_noclip",ADMIN_BAN,"<target>")
}

public client_disconnect(id)
{
	b_blocked[id] = false 
}

public amx_noclip(id,level,cid)
{
	if (!cmd_access(id,level,cid,2))
		return PLUGIN_HANDLED
	
	new arg[32], admin_name[32], target_name[32]
	read_argv(1,arg,31)
	
	new player = cmd_target(id,arg,14)
	if (!player) return PLUGIN_HANDLED
	
	get_user_name(id,admin_name,31)
	get_user_name(player,target_name,31)
	
	if (!get_user_noclip(player))
	{
		set_user_noclip(player, 1)
		set_user_rendering(player, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 0)
		b_blocked[player] = true
		
		switch(get_cvar_num("amx_show_activity"))
		{
			case 1:	CC_SendMessage(0, "&x01 [&x04 Base Builder&x01 ] Admin &x04%s &x01disabled noclip on &x04%s",admin_name,target_name)
			case 2:	CC_SendMessage(0, "&x01 [&x04 Base Builder&x01 ] Admin &x04%s &x01enabled noclip on &x04%s",admin_name,target_name)
		}
	}
	else 
	{
		set_user_noclip(player, 0)
		set_user_rendering(player, kRenderFxNone, 0,0,0, kRenderNormal, 0)
		ExecuteHamB(Ham_CS_RoundRespawn, player)
		b_blocked[player] = false 
		
		switch(get_cvar_num("amx_show_activity"))
		{
			case 1:	CC_SendMessage(0, "&x01 [&x04 Base Builder&x01 ] Admin &x04%s &x01disabled noclip on &x04%s",admin_name,target_name)
			case 2:	CC_SendMessage(0, "&x01 [&x04 Base Builder&x01 ] Admin &x04%s &x01disabled noclip on &x04%s",admin_name,target_name)
		}
	}
	
	return PLUGIN_HANDLED
}

public fw_Takedamage(Victim, Inflictor, Attacker, Float:f_Damage, Damagebits)
{
	if (Inflictor == Attacker && is_user_connected(Attacker) && (b_blocked[Attacker] || b_blocked[Victim]))
	{
		return HAM_SUPERCEDE
	}
	
	return HAM_IGNORED
}

public fw_Killed(Victim, Attacker, Shouldgib)
{
	if (b_blocked[Victim])
	{
		set_user_rendering(Victim, kRenderFxNone, 0, 0, 0, kRenderNormal, 0)
		b_blocked[Victim] = false 
	}
}

Аватар
DaRk_StyLe
Извън линия
Потребител
Потребител
Мнения: 264
Регистриран на: 26 Окт 2016, 12:40
Се отблагодари: 11 пъти
Получена благодарност: 33 пъти

Изработка на плъгина "Death Info"

Мнение от DaRk_StyLe » 27 Авг 2017, 14:55

Виж как работи сега:

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

#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <cromchat>
#include <fun>

new bool: b_blocked[33]

public plugin_init()
{
	register_plugin("amx_cheat","1.0","watch")
	RegisterHam(Ham_Killed, "player", "fw_Killed")
	RegisterHam(Ham_TraceAttack, "player", "fw_Takedamage")
	RegisterHam(Ham_Spawn, "player", "fw_Spawn", 1)
	register_concmd("amx_noclip","amx_noclip",ADMIN_BAN,"<target>")
}

public client_disconnect(id)
{
	b_blocked[id] = false 
}

public amx_noclip(id,level,cid)
{
	if (!cmd_access(id,level,cid,2))
		return PLUGIN_HANDLED
	
	new arg[32], admin_name[32], target_name[32]
	read_argv(1,arg,31)
	
	new player = cmd_target(id,arg,14)
	if (!player) return PLUGIN_HANDLED
	
	get_user_name(id,admin_name,31)
	get_user_name(player,target_name,31)
	
	if (!get_user_noclip(player))
	{
		set_user_noclip(player, 1)
		set_user_rendering(player, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 0)
		b_blocked[player] = true
		
		switch(get_cvar_num("amx_show_activity"))
		{
			case 1:	CC_SendMessage(0, "&x01 [&x04 Base Builder&x01 ] Admin &x04%s &x01disabled noclip on &x04%s",admin_name,target_name)
			case 2:	CC_SendMessage(0, "&x01 [&x04 Base Builder&x01 ] Admin &x04%s &x01enabled noclip on &x04%s",admin_name,target_name)
		}
	}
	else 
	{
		set_user_noclip(player, 0)
		set_user_rendering(player, kRenderFxNone, 0,0,0, kRenderNormal, 0)
		ExecuteHamB(Ham_CS_RoundRespawn, player)
		b_blocked[player] = false 
		
		switch(get_cvar_num("amx_show_activity"))
		{
			case 1:	CC_SendMessage(0, "&x01 [&x04 Base Builder&x01 ] Admin &x04%s &x01disabled noclip on &x04%s",admin_name,target_name)
			case 2:	CC_SendMessage(0, "&x01 [&x04 Base Builder&x01 ] Admin &x04%s &x01disabled noclip on &x04%s",admin_name,target_name)
		}
	}
	
	return PLUGIN_HANDLED
}

public fw_Takedamage(Victim, Inflictor, Attacker, Float:f_Damage, Damagebits)
{
	if (Inflictor == Attacker && is_user_connected(Attacker) && (b_blocked[Attacker] || b_blocked[Victim]))
	{
		return HAM_SUPERCEDE
	}
	
	return HAM_IGNORED
}

public fw_Killed(Victim, Attacker, Shouldgib)
{
	if (b_blocked[Victim])
	{
		set_user_rendering(Victim, kRenderFxNone, 0, 0, 0, kRenderNormal, 0)
		b_blocked[Victim] = false 
	}
}

public fw_Spawn(id)
{
	if (is_user_alive(id))
	{
		set_user_noclip(id, 0)
		set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderNormal, 0)
		b_blocked[id] = false 
	}
}

Аватар
deadlylord
Извън линия
Потребител
Потребител
Мнения: 572
Регистриран на: 04 Апр 2017, 16:35
Местоположение: Бургас, България
Получена благодарност: 2 пъти
Обратна връзка:

Изработка на плъгина "Death Info"

Мнение от deadlylord » 27 Авг 2017, 16:35

Проблема е безсмъртието/невидимостта е оправен! Благодаря за бързата реакция @DaRk_StyLe!
А другите две "дреболии" възможни ли са за оправяне?
► Покажи скъсения текст

Аватар
DaRk_StyLe
Извън линия
Потребител
Потребител
Мнения: 264
Регистриран на: 26 Окт 2016, 12:40
Се отблагодари: 11 пъти
Получена благодарност: 33 пъти

Изработка на плъгина "Death Info"

Мнение от DaRk_StyLe » 27 Авг 2017, 17:55

Не мога да направя нищо за въпросната "stuck" дреболия, защото при мен я няма, докато тествам с ботовете. Относно кръвта - така ще е по-добре. Може от време на време да пада малко, но няма да е постоянно.

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

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

new bool: b_blocked[33]

public plugin_init()
{
	register_plugin("amx_cheat","1.0","watch")
	register_concmd("amx_noclip","amx_noclip",ADMIN_BAN,"<target>")
	
	RegisterHam(Ham_Killed, "player", "fw_Killed")
	RegisterHam(Ham_TakeDamage, "player", "fw_Takedamage")
	RegisterHam(Ham_Spawn, "player", "fw_Spawn", 1)
}

public client_disconnect(id)
{
	b_blocked[id] = false 
}

public amx_noclip(id,level,cid)
{
	if (!cmd_access(id,level,cid,2))
		return PLUGIN_HANDLED
	
	new arg[32], admin_name[32], target_name[32]
	read_argv(1,arg,31)
	
	new player = cmd_target(id,arg,14)
	if (!player) return PLUGIN_HANDLED
	
	get_user_name(id,admin_name,31)
	get_user_name(player,target_name,31)
	
	if (!get_user_noclip(player))
	{
		set_user_noclip(player, 1)
		set_pev(player, pev_takedamage, DAMAGE_NO)
		set_user_rendering(player, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 0)
		b_blocked[player] = true
		
		switch(get_cvar_num("amx_show_activity"))
		{
			case 1:	CC_SendMessage(0, "&x01 [&x04 Base Builder&x01 ] Admin &x04%s &x01disabled noclip on &x04%s",admin_name,target_name)
			case 2:	CC_SendMessage(0, "&x01 [&x04 Base Builder&x01 ] Admin &x04%s &x01enabled noclip on &x04%s",admin_name,target_name)
		}
	}
	else 
	{
		set_user_noclip(player, 0)
		set_pev(player, pev_takedamage, DAMAGE_AIM)
		set_user_rendering(player, kRenderFxNone, 0,0,0, kRenderNormal, 0)
		ExecuteHamB(Ham_CS_RoundRespawn, player)
		b_blocked[player] = false 
		
		switch(get_cvar_num("amx_show_activity"))
		{
			case 1:	CC_SendMessage(0, "&x01 [&x04 Base Builder&x01 ] Admin &x04%s &x01disabled noclip on &x04%s",admin_name,target_name)
			case 2:	CC_SendMessage(0, "&x01 [&x04 Base Builder&x01 ] Admin &x04%s &x01disabled noclip on &x04%s",admin_name,target_name)
		}
	}
	
	return PLUGIN_HANDLED
}

public fw_Takedamage(Victim, Inflictor, Attacker, Float:f_Damage, Damagebits)
{
	if (Inflictor == Attacker && is_user_connected(Attacker) && (b_blocked[Attacker] || b_blocked[Victim]))
	{
		return HAM_SUPERCEDE
	}
	
	return HAM_IGNORED
}

public fw_Killed(Victim, Attacker, Shouldgib)
{
	if (b_blocked[Victim])
	{
		set_pev(Victim, pev_takedamage, DAMAGE_AIM)
		set_user_rendering(Victim, kRenderFxNone, 0, 0, 0, kRenderNormal, 0)
		b_blocked[Victim] = false 
	}
}

public fw_Spawn(id)
{
	if (is_user_alive(id))
	{
		set_pev(id, pev_takedamage, DAMAGE_AIM)
		set_user_noclip(id, 0)
		set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderNormal, 0)
		b_blocked[id] = false 
	}
}

Аватар
deadlylord
Извън линия
Потребител
Потребител
Мнения: 572
Регистриран на: 04 Апр 2017, 16:35
Местоположение: Бургас, България
Получена благодарност: 2 пъти
Обратна връзка:

Изработка на плъгина "Death Info"

Мнение от deadlylord » 28 Авг 2017, 08:24

Под stuck проблема имам предвид, че като влезеш с noclip в друг човек, другия човек не може да мърда, но няма значение, благодаря за отделеното време. Темата може да се заключва!

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

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

Кой е на линия

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