Иконка ресурса

[INC] Colors 1.0.4 - 1.0.5

maza511

Участник
Сообщения
882
Реакции
407
Заменяю
PHP:
CPrintToChatAll("[SM] %t", "Map Nominated", name, map);
На
PHP:
CPrintToChatAllEx(client, "%t", "Map Nominated", name, mapname);
Он его не компилирует выдаёт ошибку:

1.jpg


Что это может быть?

У тебя также???
PHP:
public Action:Command_Nominate(client, args)
{
	if (!client)
	{
		return Plugin_Continue;
	}
	
	if (args == 0)
	{
		AttemptNominate(client);
		return Plugin_Continue;
	}
	
	decl String:mapname[64];
	GetCmdArg(1, mapname, sizeof(mapname));
	
	new status;
	if (!GetTrieValue(g_mapTrie, mapname, status))
	{
		ReplyToCommand(client, "%t", "Map was not found", mapname);
		return Plugin_Handled;		
	}
	
	if ((status & MAPSTATUS_DISABLED) == MAPSTATUS_DISABLED)
	{
		if ((status & MAPSTATUS_EXCLUDE_CURRENT) == MAPSTATUS_EXCLUDE_CURRENT)
		{
			ReplyToCommand(client, "[SM] %t", "Can't Nominate Current Map");
		}
		
		if ((status & MAPSTATUS_EXCLUDE_PREVIOUS) == MAPSTATUS_EXCLUDE_PREVIOUS)
		{
			ReplyToCommand(client, "[SM] %t", "Map in Exclude List");
		}
		
		if ((status & MAPSTATUS_EXCLUDE_NOMINATED) == MAPSTATUS_EXCLUDE_NOMINATED)
		{
			ReplyToCommand(client, "[SM] %t", "Map Already Nominated");
		}
		
		return Plugin_Handled;
	}
	
	new NominateResult:result = NominateMap(mapname, false, client);
	
	if (result > Nominate_Replaced)
	{
		if (result == Nominate_AlreadyInVote)
		{
			ReplyToCommand(client, "%t", "Map Already In Vote", mapname);
		}
		else
		{
			ReplyToCommand(client, "[SM] %t", "Map Already Nominated");
		}
		
		return Plugin_Handled;	
	}
	
	/* Map was nominated! - Disable the menu item and update the trie */
	
	SetTrieValue(g_mapTrie, mapname, MAPSTATUS_DISABLED|MAPSTATUS_EXCLUDE_NOMINATED);
	
	decl String:name[64];
	GetClientName(client, name, sizeof(name));
	CPrintToChatAllEx(client, "[SM] %t", "Map Nominated", name, mapname); 
	
	return Plugin_Continue;
}

У меня все нормально.
 

maza511

Участник
Сообщения
882
Реакции
407
Ты вставил не туда!!! Ты вставил в Handler_MapSelectMenu!!!
Там вместо client ставь param1
 

hooligans503

Участник
Сообщения
8
Реакции
0
maza511, Спасибо большое! Разобрался как делать если там PrintToChat, а если нет такого? А есть вот такое:

PHP:
case CommType_Gag:
{
	PerformGag(param1, g_GagTarget[param1]);
	ShowActivity2(param1, "", "%t", "Gagged target", "_s", name);
}

Вот кусок из перевода:

PHP:
	"Gagged target"
	{
		"#format"		"{1:t}"
		"ru"		"Игроку {teamcolor}{1} отключен чат"
	}

Это кусок из файла scripting\basecomm\gag.sp как тут быть?
Инклуд колорс прописал где были PrintToChat заменил на CPrintToChat!
Да и gag.sp это ответвление от basecomm.sp (Это так на всякий случай)
 

hooligans503

Участник
Сообщения
8
Реакции
0
Поможет мне кто нибуть разобратся как сделать чтоб работали цвета если там ShowActivity2? Я конечно понимаю за..бывают своими вопросами куча нубов типо меня но всё же, в чём тогда смысл форума?!?! Очень надо!!!!! Plz! Да и вообще смысл тогда этого расширения если ни где не написано толком как им пользоватся, чо да куда!
 

hooligans503

Участник
Сообщения
8
Реакции
0
Ауууу форумчане, помогите! С меня SourceMod 1.3.7 Мною исправленный, допереведёный, и только на русском, перевёл всё, доработал менюшки и тд, оч качественно!)))) Непожелеете!
 

pashan911

Участник
Сообщения
76
Реакции
6
Интересно, а есть хоть какая-то возможность раскрасить команды типа
ShowActivity2 ? Или их в любом случае надо перепилить в PrintToChat и т.д.?
 

KapaT

Эгоист
Сообщения
1,988
Реакции
535
Где еще помогут как не тут ). Парни подскажите, хочу сделать в Observ Client (Наблюдение за игроком) что б когда выбирал игрока цвет ника соответствывал его команде. Че куда дописать?
#include <colors>
#include <sourcemod>
#include <sdktools>

#pragma semicolon 1

#define VERSION "1.2.3"
#define NAME "Observe Client"

#define ADMINFLAG ADMFLAG_KICK

public Plugin:myinfo =
{
name = NAME,
author = "WhiteWolf, puopjik, psychonic",
description = "Observe client when dead",
version = VERSION,
url = "http://www.whitewolf.us"
};

/* Credits:
Mani - Showed me his observer code from MAP
*/

/* Globals */
new g_offObserverTarget;
new g_clientObserveTarget[MAXPLAYERS+1];
new bool:g_useSteamBans = false;


public OnPluginStart() {
new Handle:conVar;

CreateConVar("observe_version", VERSION, NAME, FCVAR_SPONLY|FCVAR_REPLICATED|FCVAR_NOTIFY);

HookEvent("player_spawn", EventPlayerSpawn);
HookEvent("player_death", EventPlayerDeath);


RegAdminCmd("sm_observe", CommandObserve, ADMINFLAG, "Spectate a player when dead.");
RegAdminCmd("sm_endobserve", CommandEndObserve, ADMINFLAG, "End spectating a player.");

LoadTranslations("common.phrases");
LoadTranslations("observe.phrases");

g_offObserverTarget = FindSendPropOffs("CBasePlayer", "m_hObserverTarget");
if(g_offObserverTarget == -1) {
SetFailState("Expected to find the offset to m_hObserverTarget, couldn't.");
}

conVar = FindConVar("sbsrc_version");
if(conVar != INVALID_HANDLE) {
g_useSteamBans = true;
}
}

/********************************************************************************
Events
*********************************************************************************/

public Action:EventPlayerSpawn(Handle:event, const String:name[], bool:dontBroadcast) {
/* Suggestions for improvement, or single-shot method? */
new target = GetClientOfUserId(GetEventInt(event, "userid"));
for(new client = 1; client <= MaxClients; client++) {
if(g_clientObserveTarget[client] == target && (IsClientObserver(client) || !IsPlayerAlive(client))) {
SetClientObserver(client, target, true);
return Plugin_Handled;
}
}
return Plugin_Handled;
}

public Action:EventPlayerDeath(Handle:event, const String:name[], bool:dontBroadcast) {
new client = GetClientOfUserId(GetEventInt(event, "userid"));
if(g_clientObserveTarget[client] > 0) {
new target = g_clientObserveTarget[client];
if(!isValidHumanClient(target)) {
g_clientObserveTarget[client] = 0;
return Plugin_Handled;
}

if(IsPlayerAlive(target)) {
SetClientObserver(client, target, true);
}
}
return Plugin_Handled;
}

public OnClientDisconnect(client) {
new String:clientName[MAX_NAME_LENGTH];
GetClientName(client, clientName, MAX_NAME_LENGTH);

g_clientObserveTarget[client] = 0;
for(new i = 1; i <= MaxClients; i++) {
if(g_clientObserveTarget == client) {
g_clientObserveTarget = 0;
if (IsClientInGame(i) && IsClientConnected(i)) {
CPrintToChat(i, "%t", "Target Left", clientName);
}
}
}
}

/********************************************************************************
Commands
*********************************************************************************/

public Action:CommandEndObserve(client, args) {
g_clientObserveTarget[client] = 0;
CPrintToChat(client, "%t", "End Observe");
return Plugin_Handled;
}

public Action:CommandObserve(client, args) {
if(GetCmdArgs() < 1) {
ReplyToCommand(client, "Usage: sm_observe <name or #userid>");
return Plugin_Handled;
}

decl String:targetName[MAX_NAME_LENGTH], String:targetSteamID[MAX_NAME_LENGTH];

GetCmdArg(1, targetName, sizeof(targetName)); //get username part from arguments

new targetClient = FindTarget(client, targetName, false, false);
if(targetClient == -1) {
CPrintToChat(client, "%t", "Unknown Target");
return Plugin_Handled;
}

GetClientName(targetClient, targetName, sizeof(targetName));
GetClientAuthString(targetClient, targetSteamID, sizeof(targetSteamID));
g_clientObserveTarget[client] = targetClient;

if(IsClientObserver(client) || !IsPlayerAlive(client)) {
if(!SetClientObserver(client, targetClient, true)) {
CPrintToChat(client, "%t", "Observe Failed", targetName);
}
} else {
CPrintToChat(client, "%t", "Observe on Spec", targetName, targetSteamID);
}

return Plugin_Handled;
}

/********************************************************************************
Helper Methods
*********************************************************************************/

public bool:isValidHumanClient(client) {
if(client > 0 && IsClientInGame(client) && IsClientConnected(client)) {
return true;
}
return false;
}

public bool:SetClientObserver(client, target, bool:sendMessage) {
if(!isValidHumanClient(client) || !isValidHumanClient(target)) {
return false;
}

SetEntDataEnt2(client, g_offObserverTarget, target, true);

if(sendMessage) {
SendClientObserveMessage(client, target);
}

if(g_useSteamBans) {
ClientCommand(client, "sb_status");
}

return true; //we assume it went through, else SM would throw a native error and we wouldn't get here anyway
}

public SendClientObserveMessage(client, target) {
decl String:targetName[MAX_NAME_LENGTH], String:targetSteamID[65];
GetClientName(target, targetName, MAX_NAME_LENGTH);
GetClientAuthString(target, targetSteamID, 65);
CPrintToChat(client, "%t", "Observing", targetName, targetSteamID);
}
 

romanovka

Участник
Сообщения
170
Реакции
26
Помогите разобраться.

Хочу перекрасить все надписи которые выводятся в чат.
Nominations я покрасил и работает на ура. А вот с другими плагинами не выходит.

Возьмём basecomm.sp там вставил #include <colors>, поменя все PrintToChatAll на CPrintToChatAll. В gag.sp тоже поменял, потом в .phrases покрасил.

Оффтоп

Но всё без изменений.

Вот если нужно basecomm.sp
Оффтоп
И gag.sp
Оффтоп
 

maza511

Участник
Сообщения
882
Реакции
407
О боже =))

А что ты правишь "Gagged target" когда CPrintToChat использует только "Player no longer available" и "Unable to target"? =))
 

romanovka

Участник
Сообщения
170
Реакции
26
Я в это толком не понимаю :)

Можешь обьяснть как мне покрасить сие чудо?
 

Евгений Яринич

Участник
Сообщения
31
Реакции
2
Всем доброго времени суток! Подскажите что и куда нужно вставлять например в скрипт Resetscore, чтобы строчка в чате выводилась след. образом: Игрок {teamcolor}%s{green} сбросил свой счет! тег {teamcolor} не работает! Что нужно прописать для его активации? Я прописывал перед текстом client и author при компиляции выдавало следующее: error 017: undefined symbol "author" а ккогда писал клиент то андэфаинд симбол "client" а просто без них получалось что тимколор не отображался а вместо него зеленый цвет! Помогите решить данную проблему! Заранее благодарен!
 

sanek91ru1

Участник
Сообщения
1
Реакции
0
ребят помогите вставить сюда цвет {teamcolor} перед {PLAYERNAME} а то у меня не получается



HTML:
SetupDefaultMessages()
{
	if(!KvJumpToKey(hKVCountryShow, "messages"))
	{				
		KvJumpToKey(hKVCountryShow, "messages", true);
		KvSetString(hKVCountryShow, "playerjoin", "{PLAYERTYPE} {PLAYERNAME} {DEFAULT}<{LIGHTGREEN}{STEAMID}{DEFAULT}> connected from country {GREEN}{PLAYERCOUNTRY} {DEFAULT}({LIGHTGREEN}{PLAYERCOUNTRYSHORT}{DEFAULT}), IP {GREEN}{PLAYERIP}");
		KvSetString(hKVCountryShow, "playerdisc", "{PLAYERTYPE} {PLAYERNAME} {DEFAULT}<{LIGHTGREEN}{STEAMID}{DEFAULT}> from country {GREEN}{PLAYERCOUNTRY} {DEFAULT}({LIGHTGREEN}{PLAYERCOUNTRYSHORT}{DEFAULT}) disconnected from IP {GREEN}{PLAYERIP}{GREEN}reason: {DEFAULT}{DISC_REASON}");

		KvRewind(hKVCountryShow);			
		KeyValuesToFile(hKVCountryShow, g_filesettings);		
	}
	
	KvRewind(hKVCountryShow);
	
	if(!KvJumpToKey(hKVCountryShow, "messages_admin"))
	{				
		KvJumpToKey(hKVCountryShow, "messages_admin", true);
		KvSetString(hKVCountryShow, "playerjoin", "{PLAYERTYPE} {GREEN}{PLAYERNAME} {DEFAULT}<{LIGHTGREEN}{STEAMID}{DEFAULT}> connected from country {GREEN}{PLAYERCOUNTRY} {DEFAULT}({LIGHTGREEN}{PLAYERCOUNTRYSHORT}{DEFAULT}), IP {GREEN}{PLAYERIP}");
		KvSetString(hKVCountryShow, "playerdisc", "{PLAYERTYPE} {GREEN}{PLAYERNAME} {DEFAULT}<{LIGHTGREEN}{STEAMID}{DEFAULT}> from country {GREEN}{PLAYERCOUNTRY} {DEFAULT}({LIGHTGREEN}{PLAYERCOUNTRYSHORT}{DEFAULT}) disconnected from IP {GREEN}{PLAYERIP}{GREEN}reason: {DEFAULT}{DISC_REASON}");

		KvRewind(hKVCountryShow);			
		KeyValuesToFile(hKVCountryShow, g_filesettings);		
	}

	KvRewind(hKVCountryShow);
}
 

dearring

Участник
Сообщения
46
Реакции
13
Re: [INC] Colors v.1.0.4

можно по пробывать красить по другому, мое мнение основывается на том что я смотрел исходники плагинов которые пишут в чат различными цветами, там нет расширения #include <colors>
но вместо него есть
#pragma semicolon 1 а перед текстом который окрашен указывается цвет в формате /x01, /x02 и т.д.
вот так я думаю нужно красить.
P.S. сам еще не пробывал но собираюсь все стандартные желтые надписи переделать в светлозеленный

Спасибо тебе большое!
У меня с colors.inc не получалось, а этот способ подошел.
Только 1 НО: не /x01, а \x01
 

Авасаки

Участник
Сообщения
39
Реакции
0
Кто может помочь? При компилировании плагина выходит такая ошибка.
fatal error 120: cannot read from file: "colors"
 

Авасаки

Участник
Сообщения
39
Реакции
0
Просто решил попробовать это плгин, добавил в SP в плагине quake не получается... Ну я и забил на эту тему)
Но если кто-то поможет с этим, я готов продолжить)
 

Авасаки

Участник
Сообщения
39
Реакции
0
Вот именно рекламу и хотел покрасить.. Просто играл на сервере, там все абсолютно в разных цветах было. Тоже так хотел попробовать... Да и вообще хотел попробовать писать плагины сам.
 
Сверху Снизу