Junior Member
|
04-17-2018
, 17:14
Re: iChat 2.3.3 - The most powerful chat manager
|
#258
|
Quote:
Originally Posted by -Kid-
iChat - v2.3.3 by Kidev
I know that some features won't be always used but my goal is to create the most powerfull chat manager ever created: if one person wants one specific thing on his chat, he must be able to do it with iChat
READ THE CONFIGURATION FILE BEFORE ASKING QUESTIONS
Description:
This plugin allows you to customize your GoldSrc's game chat.
Commands:
amx_reload_ichat : Reloads the configuration file (flag changeable via configuration file).
say !me <message> : Shows a status message (command changeable via configuration file).
say !chat : Enable / disable user chat (command changeable via configuration file).
Features:
- HOT Works on ALL GoldSrc games!
- Choose your color between <default>, <green>, <team>, <blue>, <red> and <grey>.
- Put datas on your chat! Datas are:
- %NAME% -> Replaced by User name
- %MESSAGE% -> Replaced by User message
- %STEAMID% -> Replaced by User Steam ID
- %LIFE% -> Replaced by User life
- %TEAM% -> Replaced by User Team (see iChat.txt. You can modify Team Names)
- %POS% -> Replaced by User Location, like 'Bombsite B'... (WORK ONLY ON CONDITION ZERO)
- %TEAMTAG% -> Replaced by User Team Tag (see 'Config' part, avaible for CT, T and SPEC, configurable for alive and dead players separately)
- #CUSTOMx# -> Replaced by User custom data number x. You have to enable CHAT_USE_CUSTOM_TAGS. This is for developers.
- Use !me before your message to show a status message, like "* Kid works on iChat". Command editable.
- Apply a sort of 'sv_alltalk' to chat.
- Spy all chat canals when activated.
- Remove empty message or messages which begins like a command (/top15).
- Change users default color (will ask if they want. If not, choose their punishment). With that, you can use pink color for exemple.
- Manage chat with radius.
- Edit acces flags like you want, easily.
- Enable and disable your chat with an ediatable command.
- Remove name change in chat.
- Send custom datas to iChat from your others plugins via a simple API (explained in the configuration file)!
- Set users VIP without flag via a simple API (explained in the configuration file)!
- HOT Change formats for certain players via a simple ini file (ONLY FOR STEAM USERS).
All of this features are fully explained in the configuration file. Please, ask only if you misunderstood something.
PHP Code:
/////////////////////////////////////////////////////////
// iChat by Kid //
// //
// Put iChat.amxx on the last line of your plugins.ini //
// Except if you want to use AllChat, more info below. //
// Don't use any other chat related plugins! //
// Or conflicts might appear! //
// Version: 2.3.3 //
/////////////////////////////////////////////////////////
////////////////////
// Format configs //
////////////////////
// You can use colors:
// Colors: <default>, <green>, <team>, <blue>, <red> and <grey>.
// WARNING: You can use only ONE 'Team specific' color on one format line!
// 'Team specific' colors are <team>, <blue>, <red> and <grey>.
// If you use more than one, the color will be the one of the first color used!
// For exemple, FORMAT_DEF_ALIVE "<green>Kid <grey>is <default> happy<grey>!" will work,
// But not FORMAT_DEF_ALIVE "<blue>Kid <red>is <grey> sad<grey>..."! Here, the color for all 'Team specific' colors will be blue (the first, as said before).
// So FORMAT_DEF_ALIVE "<blue>Kid <red>is <grey> sad..." is the same as FORMAT_DEF_ALIVE "<blue>Kid <blue>is <blue> sad...".
// If no colors specified, it will be <default> color.
// You can also change the default color to whatever YOU WANT (pink, violet, black, white...)!
// It will just ask to players if they want, and if they won't, you can choose their punishment (kick or not).
// See below, on 'Config' part to configure that.
// Tags are the most cool feature on my plugin! You can put some data on your messages!
// Tags: %NAME% -> Replaced by User name
// %MESSAGE% -> Replaced by User message
// %STEAMID% -> Replaced by User Steam ID
// %LIFE% -> Replaced by User life
// %TEAM% -> Replaced by User Team (see iChat.txt. You can modify Team Names)
// %POS% -> Replaced by User Location, like 'Bombsite B'... (WORK ONLY ON CONDITION ZERO)
// %TEAMTAG% -> Replaced by User Team Tag (see 'Config' part, avaible for CT, T and SPEC, alive and dead)
// #CUSTOMx# -> Replaced by User custom data number x. You have to enable CHAT_USE_CUSTOM_TAGS below. This is for developers. As you can see, '%' have been replaced by '#', this isn't an error.
// And don't worry, a player who write '%POS%', or '%NAME%' on the chat will not be replaced by the data.
// Same for names. If a player says "%NAME%" this will not be replaced by his name, for exemple.
//
// For exemple, if i want my chat looks like Minecraft's (really cool with CHAT_DEFAULT_COLOR "255255255" (white), or with <grey> tag):
// FORMAT_DEF_ALIVE "<%NAME%> %MESSAGE%" or FORMAT_DEF_ALIVE "<grey><%NAME%> %MESSAGE%"
//
// Counter Strike Condition Zero's default is (%POS% can only be used on Condition Zero):
// FORMAT_DEF_ALIVE "<team>%NAME%<default> : %MESSAGE%"
// FORMAT_DEF_DEAD "<default>*DEAD* <team>%NAME%<default> : %MESSAGE%"
// FORMAT_TEAM_DEF_ALIVE "<default>%TEAM% <team>%NAME%<default> @<green> %POS% <default>: %MESSAGE%"
// FORMAT_TEAM_DEF_DEAD "<default>*DEAD* %TEAM% <team>%NAME%<default> : %MESSAGE%"
//
// You can also use specific formats for Admins, like:
// FORMAT_ADMIN_ALIVE "<green>[ADMIN] <team>%NAME%<default> : <green>%MESSAGE%"
// There is also a VIP support! Use:
// FORMAT_VIP_ALIVE "<green>[VIP] <team>%NAME%<default> : <green>%MESSAGE%"
// Flags are explained below.
// Default users (no flags) -> Default CS Chat (not CZ)
// General Chat - Alive
FORMAT_DEF_ALIVE "<team>%NAME%<default> : %MESSAGE%"
// General Chat - Dead
FORMAT_DEF_DEAD "<default>*DEAD* <team>%NAME%<default> : %MESSAGE%"
// Team Chat - Alive
FORMAT_TEAM_DEF_ALIVE "<default>%TEAM% <team>%NAME%<default> : %MESSAGE%"
// Team Chat - Dead
FORMAT_TEAM_DEF_DEAD "<default>*DEAD* %TEAM% <team>%NAME%<default> : %MESSAGE%"
// Admins (flag CHAT_FLAG_ADMIN, configurable below) -> Default CS Chat (not CZ) with [ADMIN] tag and message in green.
// General Chat - Alive
FORMAT_ADMIN_ALIVE "<green>[ADMIN] <team>%NAME%<default> : <green>%MESSAGE%"
// General Chat - Dead
FORMAT_ADMIN_DEAD "<green>[ADMIN] <default>*DEAD* <team>%NAME%<default> : <green>%MESSAGE%"
// Team Chat - Alive
FORMAT_TEAM_ADMIN_ALIVE "<green>[ADMIN] <default>%TEAM% <team>%NAME%<default> : <green>%MESSAGE%"
// Team Chat - Dead
FORMAT_TEAM_ADMIN_DEAD "<green>[ADMIN] <default>*DEAD* %TEAM% <team>%NAME%<default> : <green>%MESSAGE%"
// VIP's (flag CHAT_FLAG_VIP, configurable below) -> Default CS Chat (not CZ) with [VIP] tag.
// General Chat - Alive
FORMAT_VIP_ALIVE "<green>[VIP] <team>%NAME%<default> : %MESSAGE%"
// General Chat - Dead
FORMAT_VIP_DEAD "<green>[VIP] <default>*DEAD* <team>%NAME%<default> : %MESSAGE%"
// Team Chat - Alive
FORMAT_TEAM_VIP_ALIVE "<green>[VIP] <default>%TEAM% <team>%NAME%<default> : %MESSAGE%"
// Team Chat - Dead
FORMAT_TEAM_VIP_DEAD "<green>[VIP] <default>*DEAD* %TEAM% <team>%NAME%<default> : %MESSAGE%"
// Printed when a client put "!me" behind his message (configurable below).
// So this line ( FORMAT_ME "* %NAME% %MESSAGE%" ) replace:
// "say !me is cool" by "* Kid is cool" if ME_COMMAND is "!me" (default)
// You can use colors and tags, of course.
FORMAT_ME_MESSAGE "* %NAME% %MESSAGE%"
// To change the "!me" command.
// If you're not using statsx, you can replace this by /me for exemple!
FORMAT_ME_COMMAND "!me"
// Players can toogle on or off their chat with this command
CHAT_CLCMD_CLEAR "!chat"
/////////////////////
// General Configs //
/////////////////////
// Prints a little thing, with my name in! This can motivate me to keep working!
// But if you're not cool, set it to 0 to disable...
CHAT_NOTIFY 1
// Allows iChat to stop itself. Change this is you are using map specific plugins, or other plugins files than plugins.ini.
// In others cases than thoses listed above, check your logs before turning this to 0!
// Note: if set to 0, some plugins may not recieve their chat commands (/shop...)
CHAT_CAN_STOP_ITSELF 1
// Prints a messages to all Admins and logs a message if iChat is outdated.
// * SOON *
CHAT_CHECK_UPDATES 0
// Defines if wether or not the ADMIN rank overrides the VIP one.
// For exemple, if set to 1, and if you're VIP and ADMIN, you will be considered as an ADMIN in the chat.
// But if set to 0 and if you're VIP and ADMIN, you will be considered as a VIP in the chat.
CHAT_ADMIN_OVERRIDES 1
// Change here the acces flags. Avaible flags are: "abcdefghijklmnopqrstu" (like in users.ini)
// You can also use "ALL" for everyone.
// You can use multiple flags.
// Flag to reload the config file
CHAT_FLAG_RELOAD "l"
// Flag to see all messages (teams, radius...).
CHAT_FLAG_SPY "m"
// Flag to see chat
CHAT_FLAG_SEE_CHAT "ALL"
// Flag to use chat
CHAT_FLAG_CHAT "ALL"
// Flag to be Admin and be able to use "FORMAT_ADMIN_*" formats.
CHAT_FLAG_ADMIN "n"
// Flag to be VIP and be able to use "FORMAT_VIP_*" formats.
// There is an other way to set users VIP (for developers): you can use functions:
// iChatIsUserVip( index ), iChatSetUserVip( index ), iChatRemoveUserVip( index ). You have to include <ichat>.
CHAT_FLAG_VIP "o"
// It's sv_alltalk for iChat (Deads players can see others dead messages, and alive players can see other alive players messages).
// You can also use iChatManagement to manage this. More informations just below.
CHAT_ALL_TALK 1
// Team Tags
// Colors are allowed in Teams Tags!
// Should be cool on a BaseBuilder, with:
// CHAT_TEAM_TAG_1_A "<green>[ZOMBIE]<default>"
// CHAT_TEAM_TAG_2_A "<green>[BUILDER]<default>"
// And in default when dead
// Team Tag for Alive Terrosits
CHAT_TEAM_TAG_1_A "<green>[T]<default>"
// Team Tag for Dead Terrosits (Ahmed!)
CHAT_TEAM_TAG_1_D "<green>[<default>T<green>]<default>"
// Team Tag for Alive Counter-Terrorists
CHAT_TEAM_TAG_2_A "<green>[CT]<default>"
// Team Tag for Dead Counter-Terrorists
CHAT_TEAM_TAG_2_D "<green>[<default>CT<green>]<default>"
// Team Tag for Spectators
CHAT_TEAM_TAG_3 "<green>[SPEC]<default>"
// This is the '<default>' color. "-1" to use client's default color.
// Else, "RRRGGGBBB". For exemple, black for the <default> color:
// CHAT_DEFAULT_COLOR "000000000"
// Or white:
// CHAT_DEFAULT_COLOR "255255255"
CHAT_DEFAULT_COLOR "-1"
// Punishment if client won't set his color to default color.
// It's a menu. It's only displayed on first spawn.
// 0 - Let him play!
// 1 - Kick him as long as he deny.
CHAT_PUNISHMENT 0
// Admins with CHAT_FLAG_SPY flag (configurable above) can see all messages (teams, radius...).
CHAT_ADMIN_SPY 1
// Remove all chat message wich begins with '/', '!' and '@' (like /top15, /rank...).
CHAT_CLCMD_REMOVE 1
// Remove notice when a player change his name. 0 to disable.
CHAT_REMOVE_CHANGE_NAME 0
// This prints the message only to players on the sender's radius. 0.0 for dislable.
// General Chat
CHAT_RADIUS_ALL 0.0
// Team Chat
CHAT_RADIUS_TEAM 0.0
// Force chat to be a simple print. Use this if your game doesn't support colors,
// Or if you simply doesn't want colors in your chat. Change only if you know what you're doing.
CHAT_NO_COLORS 0
// Allows you to use custom formats for the Steam IDs stored in 'ichat_custom_formats.ini'
// You need Steam. This plugin doesn't support and won't ever support custom format by name or IP.
CHAT_USE_CUSTOM_FORMATS 0
// Enable custom data. This is for developers, but it's easy to use.
// This allows you to send custom data from your plugins to iChat, to put it in your chat.
// This is how to send data:
// First, include <ichat>. Then, you can use native iChatSendCustomData( iIndex, iTagNum, szData[ ] );
// iIndex is the player's index.
// iTagNum is the index of the custom tag, the 'x' in #CUSTOMx#.
// szData[ ] is the data. Must be a string, 16 chars max, changeable in iChat source code.
// You can use 2 custom datas (0, 1) maximum, but you can change this value in iChat source code.
// You have to use iChatSendCustomData( ) each time that your variable is changed (connect, disconnect...), because iChat won't reset it.
// Finally, put #CUSTOMx# in your chat formats like others tags, where 'x' is cutom data id.
// For exemple, to send iLevel[ id ] var to iChat, each time that iLevel[ id ] is changed, I'll do:
// new szLevel[ 16 ]; formatex( szLevel, charsmax( szLevel ), "[%i]", iLevel[ id ] );
// iChatSendCustomData( id, 0, szLevel );
// And in ichat.cfg formats, since I used the id 0 for custom data ( iChatSendCustomData( id, 0, szLevel ) ), I'll put: #CUSTOM0#
// If I want to send another data wich the id 1 for custom data ( iChatSendCustomData( id, 1, szData ) ), I'll put: #CUSTOM1#
// This is actually very powerful, isn't it?
CHAT_USE_CUSTOM_TAGS 0
// Congratulations, you have reached the end of this config file! You just have entirely modified the CS chat!
Examples and screenshots:
Minecraft with FORMAT_DEF_ALIVE "<%NAME%> %MESSAGE%" and CHAT_DEFAULT_COLOR "255255255"
Sexy chat with CHAT_DEFAULT_COLOR "255000255"
VIP with flag "o" and FORMAT_VIP_ALIVE "<green>[VIP] <team>%NAME%<default> : %MESSAGE%"
Admin with flag "n" and FORMAT_ADMIN_ALIVE "<green>[ADMIN] <team>%NAME%<default> : <green>%MESSAGE%"
Innovating chat with FORMAT_DEF_ALIVE "<team>%NAME%<default> says %MESSAGE%"
!me has released iChat
Installation:
Put 'iChat_2.3.3.amxx' on the last line of your plugins.ini with the original file name, or iChat will stop himself!
Put 'ichat.cfg' on amxmodx/configs/. Edit it with any text editor like Notepad++ for readability
Put 'ichat_custom_formats.ini' on amxmodx/configs/. Edit it with any text editor like Notepad++ for readability
Put 'iChat.txt' on amxmodx/data/lang
Note that 'ichat.inc' is NOT required to compile. It's only for developers.
Known bugs:
None Please, report all the bugs you find, because I just can't test everything myself!
Servers using this plugin
Multi-Lingual:
- EN: -Kid-
- FR: -Kid-
- RO: Americanu
Code:
[en]
ICHAT_TEAM0 = (Spectator)
ICHAT_TEAM1 = (Terrorist)
ICHAT_TEAM2 = (Counter-terrorist)
ICHAT_TEAM3 = (Spectator)
ICHAT_KICK_REASON = Kicked because you denied to change your cvar 'con_color'!
ICHAT_MENU_TITLE = \yYou have to change your cvar 'con_color' to \rcon_color %i %i %i^n\yDo you accept?
ICHAT_MENU_YES = Yes
ICHAT_MENU_NO = No
ICHAT_MENU_ACTION0 =
ICHAT_MENU_ACTION1 = \y(\rKick\y)\w
ICHAT_RELOAD_INFO = - Reloads iChat configuration file
ICHAT_RELOADED = iChat configuration file have been successfully reloaded.
ICHAT_CHAT_DISABLED = Your chat is now !tdisabled!d.
ICHAT_CHAT_ENABLED = Your chat is now !tenabled!d.
ICHAT_CHAT_DISABLED_NOC = Your chat is now disabled.
ICHAT_CHAT_ENABLED_NOC = Your chat is now enabled.
Credits:
Arkshine - For some help on French Forum
xPaw - For the old '%s' bug fix (now removed from the code)
ConnorMcLeod - For some help on French Forum, the HLSW bug fix and the get_user_team fix
Fr33m@n - For some optimizations
GordonFreeman (RU) - For helping me on the "say" bug
XLN's | [Lo]Phreak^n^c - For re-uploading the screenshots
dREAM - For some hard testing
Current version (stable): IF YOU USE LINUX, USE 2.3.0 BELOW, 2.3.3 IS BUGGY on LINUX !
|
********************************************* ***********************************
i wont ling downlod like this Green name Green
https://imgur.com/a/YOgFR
tnx
********************************************* ***********************************
|
|