[Изработка на плъгин] Когато стрелям някой да свети в червено

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Аватар
g0gIch
Извън линия
Потребител
Потребител
Мнения: 206
Регистриран на: 20 Юли 2017, 17:29
Се отблагодари: 37 пъти
Получена благодарност: 24 пъти
Обратна връзка:

[Изработка на плъгин] Когато стрелям някой да свети в червено

Мнение от g0gIch » 15 Юли 2018, 20:11

Може ли това да стане? :grrr:

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

[Изработка на плъгин] Когато стрелям някой да свети в червено

Мнение от OciXCrom » 15 Юли 2018, 20:23

Само ти да виждаш червеното или всички? Тоест играчът да става червен когато получава щета?

Аватар
g0gIch
Извън линия
Потребител
Потребител
Мнения: 206
Регистриран на: 20 Юли 2017, 17:29
Се отблагодари: 37 пъти
Получена благодарност: 24 пъти
Обратна връзка:

[Изработка на плъгин] Когато стрелям някой да свети в червено

Мнение от g0gIch » 15 Юли 2018, 22:04

Когато нанасям щета на някой, цветът в който ще бъде glow-нат(така да се каже) играча да се вижда от всеки.

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

[Изработка на плъгин] Когато стрелям някой да свети в червено

Мнение от OciXCrom » 16 Юли 2018, 23:42

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

#include <amxmodx>
#include <fun>
#include <hamsandwich>

#define GLOW_DURATION 1.0
#define GLOW_COLOR 255, 0, 0
#define GLOW_BRIGHTNESS 50

public plugin_init()
{
	register_plugin("Glow on Damage", "1.0", "OciXCrom")
	RegisterHam(Ham_TakeDamage, "player", "OnTakeDamage", 1)
}

public OnTakeDamage(iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits)
{
	if(!is_user_alive(iVictim))
		return
	
	set_user_rendering(iVictim, kRenderFxGlowShell, GLOW_COLOR, kRenderNormal, GLOW_BRIGHTNESS)
	set_task(GLOW_DURATION, "RemoveGlow", iVictim)
}

public RemoveGlow(id)
{
	if(is_user_connected(id))
		set_user_rendering(id)
}

Аватар
g0gIch
Извън линия
Потребител
Потребител
Мнения: 206
Регистриран на: 20 Юли 2017, 17:29
Се отблагодари: 37 пъти
Получена благодарност: 24 пъти
Обратна връзка:

[Изработка на плъгин] Когато стрелям някой да свети в червено

Мнение от g0gIch » 17 Юли 2018, 10:18

Благодаря, работи. А ще може ли да се направи команда за включване/изключване на плъгина и вместо всеки път да променям от кода стойностите да се направи cvar?

Аватар
illusion
Извън линия
Developer
Developer
Мнения: 1810
Регистриран на: 27 Ное 2016, 17:47
Местоположение: CraftVision
Се отблагодари: 151 пъти
Получена благодарност: 370 пъти
Обратна връзка:

[Изработка на плъгин] Когато стрелям някой да свети в червено

Мнение от illusion » 17 Юли 2018, 12:12

Това с cvar-овете ти го направих, не съм го тествал:

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

#include <amxmodx>
#include <fun>
#include <hamsandwich>

new GlowDuration, GlowColor, GlowBrightness;

public plugin_init()
{
	register_plugin("Glow on Damage", "1.0", "OciXCrom")
	RegisterHam(Ham_TakeDamage, "player", "OnTakeDamage", 1)
	GlowDuration = register_cvar("amx_god_duration", "1.0")
	GlowColor = register_cvar("amx_god_color", "255 0 0")
	GlowBrightness = register_cvar("amx_god_brightness", "50")
}

public OnTakeDamage(iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits)
{
	if(!is_user_alive(iVictim))
		return
	
	set_user_rendering(iVictim, kRenderFxGlowShell, get_pcvar_num(GlowColor), kRenderNormal, get_pcvar_num(GlowBrightness))
	set_task(get_pcvar_num(GlowDuration), "RemoveGlow", iVictim)
}

public RemoveGlow(id)
{
	if(is_user_connected(id))
		set_user_rendering(id)
}
GlowDuration = register_cvar("amx_god_duration", "1.0")
GlowColor = register_cvar("amx_god_color", "255 0 0")
GlowBrightness = register_cvar("amx_god_brightness", "50")

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

[Изработка на плъгин] Когато стрелям някой да свети в червено

Мнение от OciXCrom » 17 Юли 2018, 14:56

Няма да работи, тъй като с get_pcvar_num не можеш да вземеш стойност от вида "255 0 0" - можеш само едно число да вземеш. За плаващи числа трябва да ползваш get_pcvar_float. Ето поправен код - направих стойностите на кваровете да се проверяват в началото на рунда, вместо при всяко получаване щета:

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

#include <amxmodx>
#include <fun>
#include <hamsandwich>

new Float:g_fDuration, bool:g_bEnabled, g_iColor[3], g_iBrightness
new GlowDuration, GlowColor, GlowBrightness, GlowEnabled

public plugin_init()
{
	register_plugin("Glow on Damage", "1.0", "OciXCrom")
	register_logevent("OnRoundStart", 2, "0=World triggered", "1=Round_Start")
	RegisterHam(Ham_TakeDamage, "player", "OnTakeDamage", 1)
	GlowDuration = register_cvar("amx_glow_duration", "1.0")
	GlowColor = register_cvar("amx_glow_color", "255 0 0")
	GlowBrightness = register_cvar("amx_glow_brightness", "50")
	GlowEnabled = register_cvar("amx_glow_enabled", "1")
}

public plugin_cfg()
	OnRoundStart()

public OnRoundStart()
{
	g_fDuration = get_pcvar_float(GlowDuration)
	g_bEnabled = bool:get_pcvar_num(GlowEnabled)
	g_iBrightness = get_pcvar_num(GlowBrightness)

	new szCvar[12], szColor[3][3]
	get_pcvar_string(GlowColor, szCvar, charsmax(szCvar))
	parse(szCvar, szColor[0], charsmax(szColor[]), szColor[1], charsmax(szColor[]), szColor[2], charsmax(szColor[]))

	for(new i; i < sizeof(szColor[]); i++)
		g_iColor[i] = str_to_num(szColor[i])
}

public OnTakeDamage(iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits)
{
	if(!g_bEnabled || !is_user_alive(iVictim))
		return
	
	set_user_rendering(iVictim, kRenderFxGlowShell, g_iColor[0], g_iColor[1], g_iColor[2], kRenderNormal, g_iBrightness)
	set_task(g_fDuration, "RemoveGlow", iVictim)
}

public RemoveGlow(id)
{
	if(is_user_connected(id))
		set_user_rendering(id)
}

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

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

Кой е на линия

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