[ZP] Addon: Classes in Chat ЕДИТ

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Аватар
yrango
Извън линия
Потребител
Потребител
Мнения: 8
Регистриран на: 22 Фев 2019, 23:42
Се отблагодари: 1 път
Получена благодарност: 1 път

[ZP] Addon: Classes in Chat ЕДИТ

Мнение от yrango » 23 Фев 2019, 00:00

[ZP] Addon: Classes in Chat това е плугина който е направен да изписва в чата когато си human zombie survivor nemesis искам да помоля някой да го направи и за останалите видове който са: Assassin, Sniper, Berserker, Predator, Wesker, Bombardier, Spy, Dragon Благдоаря предварително :))

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

 #include <amxmodx>
#include <cstrike>
#include <zombieplague>

// Variables
new g_msg_saytext, g_msg_teaminfo, g_new_round

// Team names used by the team info message
new const team_names[][] =
{
	"UNASSIGNED",
	"TERRORIST",
	"CT",
	"SPECTATOR"
}

// Color indexes for color chat message
enum
{
	RED = 1,
	BLUE,
	GREY
}

public plugin_init()
{
	// Register the plugin
	register_plugin("[ZP] Classes In Chat", "1.1", "@bdul!")
	
	// Client say commands
	register_clcmd("say", "hook_say")
	register_clcmd("say_team", "hook_team_say")
	
	// Round start event
	register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
	
	// Message IDs'
	g_msg_saytext = get_user_msgid("SayText")
	g_msg_teaminfo = get_user_msgid("TeamInfo")
	
	// This var should be set true to prevent a bug
	g_new_round = true
}

// Check for new round and update the var accordingly
public event_round_start() g_new_round = true
public zp_round_started() g_new_round = false

// Player's chat hook
public hook_say(id)
{
	// Retrieve the player's chat
	static chat[192], name[32], users_team
	read_args(chat, 191)
	remove_quotes(chat)
	
	// Trying to fool us ?
	if(!chat[0])
		return PLUGIN_CONTINUE
	
	// Retrieve player's name
	get_user_name(id, name, charsmax(name))
	
	// Retrieve player's team
	users_team = _:cs_get_user_team(id)
	
	// Alive user chat
	if (is_user_alive(id))
	{
		if (zp_get_user_zombie(id))
			color_chat(0, id, users_team, RED,  "^3[%s]^4 %s:^1 %s", zp_get_user_nemesis(id) ? "Nemesis" : "Zombie", name, chat)
		else
			color_chat(0, id, users_team, BLUE, "^3[%s]^4 %s:^1 %s", zp_get_user_survivor(id) ? "Survivor" : "Human", name, chat)
	}
	
	// Dead user's chat
	else color_chat(0, id, users_team, users_team, "^3[%s]^4 %s:^1 %s", users_team == _:CS_TEAM_SPECTATOR ? "SPEC" : "DEAD", name, chat)
	
	return PLUGIN_HANDLED
}

// Player's team say hook
public hook_team_say(id)
{
	// Retrieve the player's chat
	static chat[192], name[32], users_team
	read_args(chat, 191)
	remove_quotes(chat)
	
	// Trying to fool us ?
	if(!chat[0])
		return PLUGIN_CONTINUE
	
	// Retrieve player's name
	get_user_name(id, name, charsmax(name))
	
	// Retrieve player's team
	users_team = _:cs_get_user_team(id)
	
	// Alive user
	if (is_user_alive(id))
	{
		if (zp_get_user_zombie(id))
			color_chat(1, id, users_team, RED,  "^3[%s](Team Message)^4 %s:^1 %s", zp_get_user_nemesis(id) ? "Nemesis" : "Zombie", name, chat)
		else
			color_chat(g_new_round ? 0 : 1, id, users_team, BLUE, "^3[%s](Team Message)^4 %s:^1 %s", zp_get_user_survivor(id) ? "Survivor" : "Human", name, chat)
	}
	
	// Dead user's chat
	else color_chat(1, id, users_team, users_team, "^3[%s](Team Message)^4 %s:^1 %s", users_team == _:CS_TEAM_SPECTATOR ? "SPEC" : "DEAD", name, chat)
	
	return PLUGIN_HANDLED
}

// An improved color chat function
color_chat(team_format, player, player_team, color, const chat_msg[], ...)
{
	// Format the chat message
	static msg[192]
	vformat(msg, charsmax(msg) - 1, chat_msg, 6)
	
	// We need to display the chat message to only the player's team
	if (team_format)
	{
		// Get amount of players present
		static id, i, players[32], count
		get_players(players, count, "e", team_names[player_team])
		
		// Loop through them
		for (i = 0; i < count; i++)
		{
			// Save player's id so we dont re-index
			id = players[i]
			
			// Just in case...
			if (!id) continue;
			
			// Send the colored text message
			message_begin(MSG_ONE_UNRELIABLE, g_msg_saytext, _, id)
			write_byte(player)
			write_string(msg)
			message_end()
			
		}
	}
	else
	{
		// Do we need to change the player's team ?
		if (player_team == color)
		{
			// Send the colored text message
			message_begin(MSG_BROADCAST, g_msg_saytext)
			write_byte(player)
			write_string(msg)
			message_end()
		}
		else
		{
			// Change his team first
			message_begin(MSG_BROADCAST, g_msg_teaminfo)
			write_byte(player)
			write_string(team_names[color])
			message_end()
			
			// Send the colored text message
			message_begin(MSG_BROADCAST, g_msg_saytext)
			write_byte(player)
			write_string(msg)
			message_end()
			
			// Restore player's team
			message_begin(MSG_BROADCAST, g_msg_teaminfo)
			write_byte(player)
			write_string(team_names[player_team])
			message_end()
		}
	}
} 

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

[ZP] Addon: Classes in Chat ЕДИТ

Мнение от OciXCrom » 23 Фев 2019, 01:27

Тези останали от къде идват? Ако са отделни плъгини, трябва и тях да качиш.

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

[ZP] Addon: Classes in Chat ЕДИТ

Мнение от hackera457 » 23 Фев 2019, 09:06

Това е от Zombie Plague Special, има го качен в alliedmodders
Качи. sma на мода
Моите плъгини

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

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


Аватар
yrango
Извън линия
Потребител
Потребител
Мнения: 8
Регистриран на: 22 Фев 2019, 23:42
Се отблагодари: 1 път
Получена благодарност: 1 път

[ZP] Addon: Classes in Chat ЕДИТ

Мнение от yrango » 23 Фев 2019, 12:26

Ето сма фаила. Аз пробвах да го направя но уви не стана
zombie_plague_special_new.sma
(551.67 KiB) Свалено 131 пъти
zombie_plague_special_new.sma
(551.67 KiB) Свалено 131 пъти
zombie_plague_special.inc
(27.92 KiB) Свалено 127 пъти
zombie_plague_special.inc
(27.92 KiB) Свалено 127 пъти

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

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

Кой е на линия

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