Raised This Month: $12 Target: $400
 3% 

iChat 2.3.3 - The most powerful chat manager


Post New Thread Reply   
 
Thread Tools Display Modes
Fr33m@n
Veteran Member
Join Date: May 2008
Location: France Marne
Old 07-17-2017 , 13:09   Re: iChat 2.3.3 - The most powerful chat manager
Reply With Quote #251

The bug was already reported, try version 2.3.0 it should fix it.

Last edited by Fr33m@n; 07-17-2017 at 13:11.
Fr33m@n is offline
GunGameR
Junior Member
Join Date: Jul 2017
Old 07-17-2017 , 14:22   Re: iChat 2.3.3 - The most powerful chat manager
Reply With Quote #252

Quote:
Originally Posted by rantaki View Post
Is here anyone that can fix it? (except Valve) You will be our hero!
Hi, i was looking around for news about the last update and how other people fixed it but i didnt find one solution, then i decided to share this simple fix i did the same day of the update, just replace these 3 parts of the code (version 2.3.3) and recompile.


1. Find this:
PHP Code:
public iChatMessageAllid, const szMessage[ ], const szSaid[ ] ) // szMessage is safe, generated by OP or plugin. szSaid is unsafe, generated by client
{
    
message_beginMSG_BROADCASTgMsgSayText, .player id );
    
write_byteid );
    
write_stringszMessage );
    
write_string"" );
    
write_stringszSaid );
    
message_end( );

Replace with this:
PHP Code:
public iChatMessageAllid, const szMessage[ ], const szSaid[ ] ) // szMessage is safe, generated by OP or plugin. szSaid is unsafe, generated by client
{
    new 
msg[181]; //string to send
    
new szName[32]; //user who said it
    
get_user_name(idszName31);
    
format(msg180szMessageszNameszSaid); //here we construct the chat before send it
                                            //szMessage contains the format %s1 : %s2
    
message_beginMSG_BROADCASTgMsgSayText, .player id ); //let's send it
    
write_byteid );
    
write_string(msg);
    
message_end( );


2. Find this:
PHP Code:
if ( ( iSupercedeCheck )
        || ( ( ( ( 
giAllTalk || ( iAlive && iTempAlive ) ) || ( !iAlive && !iTempAlive ) ) && iTeamCheck && iRadiusCheck && iCanSeeCheck )
        || ( 
giAdminsSpy && ( has_flagtidgszAccesFlagsFLAG_SPY ] ) || !gszAccesFlagsFLAG_SPY ][ ] ) )
        || ( 
is_user_hltvtid ) ) ) )
        {
            
message_beginMSG_ONEgMsgSayText, .player tid );
            
write_byteid );
            
write_stringszMessage );
            
write_string"" );
            
write_stringszSaid );
            
message_end( );
        } 
Replace with this:
PHP Code:
if ( ( iSupercedeCheck )
        || ( ( ( ( 
giAllTalk || ( iAlive && iTempAlive ) ) || ( !iAlive && !iTempAlive ) ) && iTeamCheck && iRadiusCheck && iCanSeeCheck )
        || ( 
giAdminsSpy && ( has_flagtidgszAccesFlagsFLAG_SPY ] ) || !gszAccesFlagsFLAG_SPY ][ ] ) )
        || ( 
is_user_hltvtid ) ) ) )
        {
            new 
msg[181];
            new 
szName[32];
            
get_user_name(idszName31);
            
format(msg180szMessageszNameszSaid); //again we construct the chat before send it
            
message_beginMSG_ONEgMsgSayText, .player tid );
            
write_byteid );
            
write_stringmsg );
            
message_end( );
            
        } 

3. And finally find this:
PHP Code:
replace_allszMessageiMessageLen"%NAME%""%s1" );
    
replace_allszMessageiMessageLen"%MESSAGE%""%s2" ); 
replace with this:
PHP Code:
//then we are sure we gonna construct the message correctly
    
replace_allszMessageiMessageLen"%NAME%""%s" );
    
replace_allszMessageiMessageLen"%MESSAGE%""%s" ); 
Enjoy it.
PS> I attached the .sma fixed for lazy people
Attached Files
File Type: sma Get Plugin or Get Source (iChat_2.3.3-GunGameR_Fix.sma - 873 views - 36.4 KB)

Last edited by GunGameR; 07-17-2017 at 14:30.
GunGameR is offline
heroicpower7613
Member
Join Date: Nov 2016
Old 07-18-2017 , 01:48   Re: iChat 2.3.3 - The most powerful chat manager
Reply With Quote #253

Quote:
Originally Posted by GunGameR View Post
Hi, i was looking around for news about the last update and how other people fixed it but i didnt find one solution, then i decided to share this simple fix i did the same day of the update, just replace these 3 parts of the code (version 2.3.3) and recompile.

Enjoy it.
PS> I attached the .sma fixed for lazy people

legend.
heroicpower7613 is offline
rantaki
New Member
Join Date: Jul 2017
Old 08-06-2017 , 04:23   Re: iChat 2.3.3 - The most powerful chat manager
Reply With Quote #254

HI,

in a server we are using this plug-in, but when chatting on say_team it appears like this :


[HSG] Admin ML_NOTFOUND: TEAM2 Dani : test

Last edited by rantaki; 08-06-2017 at 04:24.
rantaki is offline
rantaki
New Member
Join Date: Jul 2017
Old 08-12-2017 , 06:58   Re: iChat 2.3.3 - The most powerful chat manager
Reply With Quote #255

Quote:
Originally Posted by rantaki View Post
HI,

in a server we are using this plug-in, but when chatting on say_team it appears like this :


[HSG] Admin ML_NOTFOUND: TEAM2 Dani : test
sorry for the double post (i am not a spammer) but is anyone that can help me?

Thank you in advance!
rantaki is offline
GordonFreeman (RU)
Veteran Member
Join Date: Jan 2010
Location: Uzbekistan
Old 08-14-2017 , 04:18   Re: iChat 2.3.3 - The most powerful chat manager
Reply With Quote #256

Quote:
Originally Posted by rantaki View Post
HI,

in a server we are using this plug-in, but when chatting on say_team it appears like this :


[HSG] Admin ML_NOTFOUND: TEAM2 Dani : test

ML_NOTFOUND means missing strings in ichat.txt (or you use windows server).
Quote:
Originally Posted by Hembi View Post
Hi!

The lang file has a little bug. The plugin search for Team0-3, but in the lang file is ICHAT_TEAM0-3. Delete "ICHAT_" and it works good.
Wait for the developer for fix it in the source too.
__________________
The functional way is the right way
GordonFreeman (RU) is offline
Milovic
Junior Member
Join Date: Dec 2016
Old 12-27-2017 , 09:20   Re: iChat 2.3.3 - The most powerful chat manager
Reply With Quote #257

Hello AModders

I wanted to install this iChat plugins in my serv but I am encountering some issues :

I am running a Day of Defeat server on a Ubuntu 17.10 with Metamod version 1.21p37 and AMX Mod X version 1.8.2 , and installed the recommended version 2.3.0 from -Kid- , but can't get it working

I put all the files in the right directory, and this is what I get at the server start

Code:
L 12/27/2017 - 15:03:44: Invalid event (name "TeamInfo") (plugin "iChat_2.3.0.amxx")
L 12/27/2017 - 15:03:44: [AMXX] Displaying debug trace (plugin "iChat_2.3.0.amxx")
L 12/27/2017 - 15:03:44: [AMXX] Run time error 10: native error (native "register_event")
L 12/27/2017 - 15:03:44: [AMXX]    [0] 139613.attach::plugin_init (line 143)
When I use the " say " or " say_team "command in-game, I get :

Code:
L 12/27/2017 - 15:09:40: Plugin called message_begin with an invalid message id (0).
L 12/27/2017 - 15:09:40: [AMXX] Displaying debug trace (plugin "iChat_2.3.0.amxx")
L 12/27/2017 - 15:09:40: [AMXX] Run time error 10: native error (native "message_begin")
L 12/27/2017 - 15:09:40: [AMXX]    [0] 139613.attach::iChatChangeTeamInfo (line 1203)
L 12/27/2017 - 15:09:40: [AMXX]    [1] 139613.attach::iChatGenerateMessage (line 843)
L 12/27/2017 - 15:09:40: [AMXX]    [2] 139613.attach::iChatHookSay (line 788 )
|#`Kill'Em All: oui

Could someone give me a help ?

Last edited by Milovic; 12-27-2017 at 13:05.
Milovic is offline
DZBosS
Junior Member
Join Date: Apr 2018
Old 04-17-2018 , 17:14   Re: iChat 2.3.3 - The most powerful chat manager
Reply With Quote #258

Quote:
Originally Posted by -Kid- View Post
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:
  1. HOT Works on ALL GoldSrc games!
  2. Choose your color between <default>, <green>, <team>, <blue>, <red> and <grey>.
  3. 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.
  4. Use !me before your message to show a status message, like "* Kid works on iChat". Command editable.
  5. Apply a sort of 'sv_alltalk' to chat.
  6. Spy all chat canals when activated.
  7. Remove empty message or messages which begins like a command (/top15).
  8. Change users default color (will ask if they want. If not, choose their punishment). With that, you can use pink color for exemple.
  9. Manage chat with radius.
  10. Edit acces flags like you want, easily.
  11. Enable and disable your chat with an ediatable command.
  12. Remove name change in chat.
  13. Send custom datas to iChat from your others plugins via a simple API (explained in the configuration file)!
  14. Set users VIP without flag via a simple API (explained in the configuration file)!
  15. 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



********************************************* ***********************************
DZBosS is offline
DZBosS
Junior Member
Join Date: Apr 2018
Old 04-17-2018 , 17:17   Re: iChat 2.3.3 - The most powerful chat manager
Reply With Quote #259

kid

i wont Admin with flag "n" and FORMAT_ADMIN_ALIVE "<green>[ADMIN] <team>%NAME%<default> : <green>%MESSAGE%"


i wont like this

https://imgur.com/a/YOgFR

i wont ling downlod
DZBosS is offline
Stresss
Junior Member
Join Date: Apr 2016
Old 01-05-2019 , 08:29   Re: iChat 2.3.3 - The most powerful chat manager
Reply With Quote #260

Quote:
Originally Posted by GunGameR View Post
Hi, i was looking around for news about the last update and how other people fixed it but i didnt find one solution, then i decided to share this simple fix i did the same day of the update, just replace these 3 parts of the code (version 2.3.3) and recompile.


1. Find this:
PHP Code:
public iChatMessageAllid, const szMessage[ ], const szSaid[ ] ) // szMessage is safe, generated by OP or plugin. szSaid is unsafe, generated by client
{
    
message_beginMSG_BROADCASTgMsgSayText, .player id );
    
write_byteid );
    
write_stringszMessage );
    
write_string"" );
    
write_stringszSaid );
    
message_end( );

Replace with this:
PHP Code:
public iChatMessageAllid, const szMessage[ ], const szSaid[ ] ) // szMessage is safe, generated by OP or plugin. szSaid is unsafe, generated by client
{
    new 
msg[181]; //string to send
    
new szName[32]; //user who said it
    
get_user_name(idszName31);
    
format(msg180szMessageszNameszSaid); //here we construct the chat before send it
                                            //szMessage contains the format %s1 : %s2
    
message_beginMSG_BROADCASTgMsgSayText, .player id ); //let's send it
    
write_byteid );
    
write_string(msg);
    
message_end( );


2. Find this:
PHP Code:
if ( ( iSupercedeCheck )
        || ( ( ( ( 
giAllTalk || ( iAlive && iTempAlive ) ) || ( !iAlive && !iTempAlive ) ) && iTeamCheck && iRadiusCheck && iCanSeeCheck )
        || ( 
giAdminsSpy && ( has_flagtidgszAccesFlagsFLAG_SPY ] ) || !gszAccesFlagsFLAG_SPY ][ ] ) )
        || ( 
is_user_hltvtid ) ) ) )
        {
            
message_beginMSG_ONEgMsgSayText, .player tid );
            
write_byteid );
            
write_stringszMessage );
            
write_string"" );
            
write_stringszSaid );
            
message_end( );
        } 
Replace with this:
PHP Code:
if ( ( iSupercedeCheck )
        || ( ( ( ( 
giAllTalk || ( iAlive && iTempAlive ) ) || ( !iAlive && !iTempAlive ) ) && iTeamCheck && iRadiusCheck && iCanSeeCheck )
        || ( 
giAdminsSpy && ( has_flagtidgszAccesFlagsFLAG_SPY ] ) || !gszAccesFlagsFLAG_SPY ][ ] ) )
        || ( 
is_user_hltvtid ) ) ) )
        {
            new 
msg[181];
            new 
szName[32];
            
get_user_name(idszName31);
            
format(msg180szMessageszNameszSaid); //again we construct the chat before send it
            
message_beginMSG_ONEgMsgSayText, .player tid );
            
write_byteid );
            
write_stringmsg );
            
message_end( );
            
        } 

3. And finally find this:
PHP Code:
replace_allszMessageiMessageLen"%NAME%""%s1" );
    
replace_allszMessageiMessageLen"%MESSAGE%""%s2" ); 
replace with this:
PHP Code:
//then we are sure we gonna construct the message correctly
    
replace_allszMessageiMessageLen"%NAME%""%s" );
    
replace_allszMessageiMessageLen"%MESSAGE%""%s" ); 
Enjoy it.
PS> I attached the .sma fixed for lazy people
Thanks!
Stresss is offline
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 05:57.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode