[INC] CromChat - a better ColorChat!

В този раздел можете да намерите полезни кодове и уроци свързани с PAWN скриптинга.
Аватар
User12
Извън линия
Потребител
Потребител
Мнения: 321
Регистриран на: 25 Яну 2018, 22:39
Местоположение: Сливен
Се отблагодари: 40 пъти
Получена благодарност: 17 пъти
Обратна връзка:

[INC] CromChat - a better ColorChat!

Мнение от User12 » 28 Яну 2018, 02:36

Успях да го направя , прилагам снимка на ефекта .
Изображение
Каналът ми в YouTube : Георги Пламенов

Изображение

Аватар
User12
Извън линия
Потребител
Потребител
Мнения: 321
Регистриран на: 25 Яну 2018, 22:39
Местоположение: Сливен
Се отблагодари: 40 пъти
Получена благодарност: 17 пъти
Обратна връзка:

[INC] CromChat - a better ColorChat!

Мнение от User12 » 11 Фев 2018, 19:30

Въпрос за библиотеката , имали начин да се добави друг цвят примерно cyan или пък purple в чата както е на hud съобщенията , или е невъзможно ?
Каналът ми в YouTube : Георги Пламенов

Изображение

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

[INC] CromChat - a better ColorChat!

Мнение от OciXCrom » 11 Фев 2018, 20:36

Единствените възможни цветове за чата в CS 1.6 са тези в темата. Добавяне на други е невъзможно.

Аватар
LoShIaA
Извън линия
Потребител
Потребител
Мнения: 323
Регистриран на: 20 Окт 2016, 14:44
Местоположение: Стара Загора
Се отблагодари: 120 пъти
Получена благодарност: 9 пъти

[INC] CromChat - a better ColorChat!

Мнение от LoShIaA » 19 Фев 2018, 15:53

Как да заменя тази библиотека за цветни съобщения с твоята?

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

/*	Formatright © 2009, ConnorMcLeod

	Info Rank is free software;
	you can redistribute it and/or modify it under the terms of the
	GNU General Public License as published by the Free Software Foundation.

	This program is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
	GNU General Public License for more details.

	You should have received a copy of the GNU General Public License
	along with Info Rank; if not, write to the
	Free Software Foundation, Inc., 59 Temple Place - Suite 330,
	Boston, MA 02111-1307, USA.
*/

/* Configuration */
#define ENABLED_BY_DEFAULT		1
#define NVAULT_MAX_DAYS_SAVE	30
/* DON'T CHANGE ANYTHING BELOW */

#include <amxmodx>
#include <csx>
#include <nvault>
#include <chatcolor>

#define VERSION "0.4.1"

#define MAX_PLAYERS 32
#define A_DAY_IN_SECONDS		86400 // 60 * 60 * 24

new g_iOldRank[MAX_PLAYERS+1]

new playerbitStatsEnabled
#define EnablePlayerStats(%0)		playerbitStatsEnabled |= 1<<(%0&31)
#define DisablePlayerStats(%0)		playerbitStatsEnabled &= ~(1<<(%0&31))
#define ArePlayerStatsEnabled(%0)	playerbitStatsEnabled & 1<<(%0&31)
#define TogglePlayerStats(%0)		playerbitStatsEnabled ^= 1<<(%0&31)

new playerbitDisplayStats
//#define DisplayStatsOnNextResetHUDEvent(%0)			playerbitDisplayStats |= 1<<(%0&31)
#define DontDisplayStatsOnNextResetHUDEvent(%0)		playerbitDisplayStats &= ~(1<<(%0&31))
#define ShouldDisplayStatsOnNextResetHUDEvent(%0)	playerbitDisplayStats & 1<<(%0&31)

new g_iEnabledByDefault = ENABLED_BY_DEFAULT
new g_iNvault
new g_pCvarInfoRank

public plugin_init()
{
	register_plugin("Info Rank", VERSION, "ConnorMcLeod")
	register_dictionary("inforank.txt")

	g_pCvarInfoRank = register_cvar("amx_inforank", "1")

	register_event("HLTV", "Event_HLTV_New_Round", "a", "1=0", "2=0")
	register_event("ResetHUD", "Event_ResetHUD", "b")

	register_clcmd("say /inforank", "ClientCommand_InfoRank", 0, "- enable/disable info rank messages")
	register_clcmd("say_team /inforank", "ClientCommand_InfoRank", 0, "- enable/disable info rank messages")

	g_iNvault = nvault_open("inforank")
	nvault_prune(g_iNvault, 0, get_systime(-(A_DAY_IN_SECONDS * NVAULT_MAX_DAYS_SAVE)) )
}

public client_authorized(id)
{
	new szSteamId[32]
	get_user_authid(id, szSteamId, charsmax(szSteamId))
	if( szSteamId[0] == 'S' ) // skip bots
	{
		new mOsef[8]
		g_iOldRank[id] = get_user_stats(id, mOsef, mOsef)

		new szPlayerSettings[2]
		nvault_get(g_iNvault,szSteamId, szPlayerSettings, charsmax(szPlayerSettings))

		switch( szPlayerSettings[0] )
		{
			case '0':
			{
				DisablePlayerStats(id)
			}
			case '1':
			{
				EnablePlayerStats(id)
			}
			default:
			{
				if( g_iEnabledByDefault )
				{
					EnablePlayerStats(id)
				}
				else
				{
					DisablePlayerStats(id)
				}
			}
		}
	}
	else
	{
		DisablePlayerStats(id)
	}
}

public plugin_end()
{
	nvault_close(g_iNvault)
}

public Event_HLTV_New_Round()
{
	if( get_pcvar_num(g_pCvarInfoRank) )
	{
		playerbitDisplayStats = 0xFFFFFFFF // set everyone enabled
	}
}

public Event_ResetHUD(id)
{
	if( ShouldDisplayStatsOnNextResetHUDEvent(id) && ArePlayerStatsEnabled(id) )
	{
		DontDisplayStatsOnNextResetHUDEvent(id)
		set_task(0.3, "DisplayStats", id)
	}
}

public DisplayStats(id)
{
	if( is_user_connected(id) )
	{
		new mOsef[8], iRank, iOldRank
		iRank = get_user_stats(id, mOsef, mOsef)

		iOldRank = g_iOldRank[id]
		if( !iOldRank ) // First Spawn
		{
			iOldRank = iRank
		}
		g_iOldRank[id] = iRank

		new iDiff = iOldRank - iRank

		if(iDiff > 0)
		{
			client_print_color(id, id, "^4%L", id, "IR_GOOD", iDiff)	
		}
		else if(iDiff < 0)
		{
			client_print_color(id, Red, "^3%L", id, "IR_BAD", iDiff)
		}
		client_print_color(id, Grey, "^3%L", id, "IR_RANK", iRank, get_statsnum())
	}
}

public ClientCommand_InfoRank(id)
{
	if( get_pcvar_num(g_pCvarInfoRank) )
	{
		new szSteamId[32]
		get_user_authid(id, szSteamId, charsmax(szSteamId))
		TogglePlayerStats(id)
		if( ArePlayerStatsEnabled(id) )
		{
			nvault_set(g_iNvault, szSteamId, "1")
			client_print_color(id, id, "^4%L", id, "IR_ENABLE")
		}
		else
		{
			nvault_set(g_iNvault, szSteamId, "0")
			client_print_color(id, Red, "^3%L", id, "IR_DISABLE")
		}
	}
	return PLUGIN_CONTINUE
}
Това с какво да го заменя client_print_color? Пробвах няколко метода, но все ми дава грешка при компилация. Даже ще е добре самото оцветяване да става само през lang файла, защото гледам, че тук в кода има някви оцветявания.

Аватар
Fr0sTt
Извън линия
Потребител
Потребител
Мнения: 138
Регистриран на: 16 Фев 2018, 19:11

[INC] CromChat - a better ColorChat!

Мнение от Fr0sTt » 19 Фев 2018, 16:09

Вместо #include <chatcolor> , трябва да е #include <cromchat> и след това всички client_print_color{id, Grey, трябва да ги направиш CC_SendMessage(id, и да ги оцветиш по твой вкус - &x01, &x03, &x04, &x05, &x06, &x07

Аватар
LoShIaA
Извън линия
Потребител
Потребител
Мнения: 323
Регистриран на: 20 Окт 2016, 14:44
Местоположение: Стара Загора
Се отблагодари: 120 пъти
Получена благодарност: 9 пъти

[INC] CromChat - a better ColorChat!

Мнение от LoShIaA » 19 Фев 2018, 17:35

Така съм го направил, но не мога да хвана параметрите. Така ми даваше грешка:

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

CC_SendMessage(id, id, "^4%L", id, "IR_GOOD", iDiff)	

CC_SendMessage(id, Red, "^3%L", id, "IR_BAD", iDiff)
		
CC_SendMessage(id, Grey, "^3%L", id, "IR_RANK", iRank, get_statsnum())

CC_SendMessage(id, id, "^4%L", id, "IR_ENABLE")

CC_SendMessage(id, Red, "^3%L", id, "IR_DISABLE")
премахнах втория id и Red/Grey параметър:

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

CC_SendMessage(id,  "%L", id, "IR_GOOD", iDiff)	

CC_SendMessage(id,  "%L", id, "IR_BAD", iDiff)
		
CC_SendMessage(id, "%L", id, "IR_RANK", iRank, get_statsnum())

CC_SendMessage(id,  "%L", id, "IR_ENABLE")

CC_SendMessage(id,  "%L", id, "IR_DISABLE")
Сега съобщенията си излизат, но нещо не мога да си ги сменям от ланг файла. Използвам !g, !t и т.н.
Като се използва библиотеката те трябва ли някъде да се описват в кода?

Аватар
Fr0sTt
Извън линия
Потребител
Потребител
Мнения: 138
Регистриран на: 16 Фев 2018, 19:11

[INC] CromChat - a better ColorChat!

Мнение от Fr0sTt » 19 Фев 2018, 17:43

Пробвай така да ги оцветиш в ланга - &x01, &x03, &x04, &x05, &x06, &x07

Аватар
LoShIaA
Извън линия
Потребител
Потребител
Мнения: 323
Регистриран на: 20 Окт 2016, 14:44
Местоположение: Стара Загора
Се отблагодари: 120 пъти
Получена благодарност: 9 пъти

[INC] CromChat - a better ColorChat!

Мнение от LoShIaA » 19 Фев 2018, 17:52

Да, така работи и чак сега видях, че дадените групи се активират. Мислих, че тези основните са пуснати, а когато правиш собствена трябва да я активираш. Сложих #define CC_COLORS_TYPE CC_COLORS_SHORT преди
#include <cromchat> и сега всичко е нормално.

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

[INC] CromChat - a better ColorChat!

Мнение от OciXCrom » 19 Фев 2018, 20:26

Правилно си направил, обаче имай предвид, че нямаше нужда да заместваш client_print_color с CC_SendMessage, тъй като библиотеката има поддръжка за тази функция и автоматично я превръща да ползва cromchat.

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

[INC] CromChat - a better ColorChat!

Мнение от OciXCrom » 01 Мар 2018, 16:22

Изображение
  • Добавена е функция CC_GroupMessage с която можете да изпратите съобщение до определена група играчи, ползвайки същите флагове както при функцията get_players.

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

Обратно към “Полезни кодове/уроци”

Кой е на линия

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