Плъгин когато отвориш motd екран да не може да умреш

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Аватар
sianbg
Извън линия
Потребител
Потребител
Мнения: 232
Регистриран на: 13 Ное 2017, 12:18
Получена благодарност: 1 път
Обратна връзка:

Плъгин когато отвориш motd екран да не може да умреш

Мнение от sianbg » 22 Яну 2018, 20:28

Здравейте. Трябва ми плъгин когато някой напише /mymotd да се отвори motd екран. Докато екрана е отворен играча да не може да взема dmg и да не може да умре. Когато го затвори всичко да си е нормално. Ако не е много сложно и да се направи с лимит от 1 път за 1 минута

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

Плъгин когато отвориш motd екран да не може да умреш

Мнение от OciXCrom » 22 Яну 2018, 20:34

Мисля, че няма как да стане. Няма как да се провери дали MOTD прозорецът е отворен или играчът го е затворил.

Аватар
sianbg
Извън линия
Потребител
Потребител
Мнения: 232
Регистриран на: 13 Ное 2017, 12:18
Получена благодарност: 1 път
Обратна връзка:

Плъгин когато отвориш motd екран да не може да умреш

Мнение от sianbg » 22 Яну 2018, 21:22

Става малко по сложно, но ако примерно motd екрана се отваря, когато играча натисне бутона за смяна на отбора. Тогава да се отвори motd екран и да не може да прави и да взема dmg. Когато натисне бутона за 2ри път да може да се движи. Примерно и един hud да седи и да пише натисни още веднъж бутона M

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

Плъгин когато отвориш motd екран да не може да умреш

Мнение от OciXCrom » 22 Яну 2018, 21:37

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

#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>

new g_iObject
new bool:g_bFrozen[33]

public plugin_init()
{
	register_plugin("MOTD Freeze", "1.0", "OciXCrom")
	RegisterHam(Ham_TakeDamage, "player", "PreTakeDamage")
	RegisterHam(Ham_Spawn, "player", "OnPlayerSpawn", 1)
	register_clcmd("chooseteam", "ToggleMOTD")
	g_iObject = CreateHudSyncObj()
}
	
public client_putinserver(id)
{
	g_bFrozen[id] = false
	set_task(1.0, "DisplayMessage", id, .flags = "b")
}

public client_disconnect(id)
	remove_task(id)

public ToggleMOTD(id)
{
	g_bFrozen[id] = !g_bFrozen[id]
	
	if(g_bFrozen[id])
	{
		show_motd(id, "motd.txt")
		freeze_player(id, true)
	}		
	else freeze_player(id, false)
	return PLUGIN_HANDLED
}

public OnPlayerSpawn(id)
{
	if(is_user_alive(id) && g_bFrozen[id])
		freeze_player(id, true)
}

public PreTakeDamage(iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits)
	return (g_bFrozen[iVictim] || g_bFrozen[iAttacker]) ? HAM_SUPERCEDE : HAM_IGNORED
	
public DisplayMessage(id)
{
	if(g_bFrozen[id])
	{
		set_hudmessage(0, 255, 0, -1.0, -1.0, 0, 0.1, 1.0, 0.1, 0.1, -1)
		ShowSyncHudMsg(id, g_iObject, "Press M to continue playing...")
	}
}

freeze_player(const id, const bool:bFreeze)
{
	if(bFreeze) set_pev(id, pev_flags, pev(id, pev_flags) | FL_FROZEN)
	else set_pev(id, pev_flags, pev(id, pev_flags) & ~FL_FROZEN)
}

Аватар
sianbg
Извън линия
Потребител
Потребител
Мнения: 232
Регистриран на: 13 Ное 2017, 12:18
Получена благодарност: 1 път
Обратна връзка:

Плъгин когато отвориш motd екран да не може да умреш

Мнение от sianbg » 22 Яну 2018, 22:23

Благодаря много. Работи прекрасно :)

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

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

Кой е на линия

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