It was made via client-side, do whatever you want, i did this command for Israel Gunz and Classic Gunz with idea from Freestyle.
ZGlobal.cpp
Add:ZGlobal.hPHP Code:vector<string> ignorecmd;
Add:ZChat_Cmds.cppPHP Code:extern vector<string> ignorecmd;
PHP Code:_CC_AC("ignore", &ChatCmd_Ignore, CCF_ALL, ARGVNoMin, 1, true, "/ignore <player>", "");
_CC_AC("unignore", &ChatCmd_Unignore, CCF_ALL, ARGVNoMin, 1, true, "/unignore <player>", "");
_CC_AC("ignorelist", &ChatCmd_IgnoreList, CCF_ALL, ARGVNoMin, -1, true, "/ignorelist", "");
ZGameClient.cppPHP Code:void ChatCmd_Ignore(const char* line, const int argc, char **const argv)
{
if( argc < 2 ) return;
char szBuffer[80];
char szPlayer[32];
strcpy( szPlayer, argv[1] );
if( !stricmp( ZGetMyInfo()->GetCharName(), szPlayer ) ){
ZChatOutput("You can't ignore yourself.", ZChat::CMT_SYSTEM);
return;
}
ignorecmd.push_back( szPlayer );
sprintf( szBuffer, "%s is ignored.", szPlayer);
ZChatOutput( szBuffer, ZChat::CMT_SYSTEM );
}
void ChatCmd_Unignore(const char* line, const int argc, char **const argv)
{
if( argc < 2 ) return;
char szBuffer[80];
char szPlayer[32];
strcpy( szPlayer, argv[1] );
for( vector<string>::iterator i = ignorecmd.begin(); i != ignorecmd.end(); i++ ){
if(i->find( szPlayer ) != string::npos ){
for( int x = 0; x < i->size(); x++ ){ //i am not using pop_back or other but it is working 100%
i->clear();
}
}
}
sprintf( szBuffer, "'%s' has been removed from the ignore list.", szPlayer );
ZChatOutput( szBuffer, ZChat::CMT_SYSTEM );
}
void ChatCmd_IgnoreList(const char* line, const int argc, char **const argv)
{
ZChatOutput("Ignore list:");
char szBuffer[1001];
for( vector<string>::iterator i = ignorecmd.begin(); i != ignorecmd.end(); i++ ){
sprintf( szBuffer, "%s", i );
ZChatOutput( szBuffer );
}
}
Under:Paste:PHP Code:void ZGameClient::OnUserWhisper(char* pszSenderName, char* pszTargetName, char* pszMessage)
ZCombatInterface.cppPHP Code:for( vector<string>::iterator i = ignorecmd.begin(); i != ignorecmd.end(); i++ ){
if(i->find( pszSenderName ) != string::npos ){
return;
}
}
Under:Add:PHP Code:void ZCombatInterface::OutputChatMsg(MCOLOR color, const char* szMsg) {
Nothing special and it no is useful anymore to me, maybe later i will post the command via server-sidePHP Code:if( strstr( szMsg, ":") ){
char szPlayerName[32];
sscanf( szMsg, "%s : ", &szPlayerName );
for( auto i = ignore.begin(); i != ignore.end(); i++ ){
if( i->find( szPlayerName ) != string::npos ){
return;
}
}
}
Tested only in: VS2010

