summaryrefslogtreecommitdiff
path: root/ychat-0.7.0/src/mods/commands/yc_s.cpp
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2013-04-06 13:14:41 +0200
committerPaul Buetow <paul@buetow.org>2013-04-06 13:14:41 +0200
commit9cd3ccffd5372dfde3af478e3f832f18db4be3f1 (patch)
tree631c295a4a4a16b57502b847626763a279bf6df7 /ychat-0.7.0/src/mods/commands/yc_s.cpp
parent13aaf70af703748fe096e0664c305cd202637ad2 (diff)
tagging tags
Diffstat (limited to 'ychat-0.7.0/src/mods/commands/yc_s.cpp')
-rwxr-xr-xychat-0.7.0/src/mods/commands/yc_s.cpp42
1 files changed, 42 insertions, 0 deletions
diff --git a/ychat-0.7.0/src/mods/commands/yc_s.cpp b/ychat-0.7.0/src/mods/commands/yc_s.cpp
new file mode 100755
index 0000000..4effccb
--- /dev/null
+++ b/ychat-0.7.0/src/mods/commands/yc_s.cpp
@@ -0,0 +1,42 @@
+#include "../../chat/user.h"
+#include "../../chat/room.h"
+
+using namespace std;
+
+extern "C" {
+ string to_upper( string &s_msg )
+ {
+ char* c_msg = (char*) s_msg.c_str();
+
+ for ( int i = 0; i < strlen( c_msg ); i++ )
+ c_msg[i] = toupper( c_msg[i] );
+
+ return string( c_msg );
+ };
+
+ int extern_function(void *v_arg)
+ {
+ container *c=(container *)v_arg;
+
+ user *p_user = (user*) c->elem[1]; // the corresponding user
+ vector<string> *params= (vector<string>*) c->elem[2]; // param array
+
+ conf* p_conf = (conf*) ((dynamic_wrap*)c->elem[3])->CONF;
+
+ string s_msg = "<i>" + p_user->get_colored_name() + " "
+ + p_conf->get_elem("chat.msgs.scream")
+ + " <font color=\"#" + p_user->get_col2()
+ + "\"><b>";
+ if ( ! params->empty() )
+ {
+ vector<string>::iterator iter = params->begin();
+ for ( iter = params->begin(); iter != params->end(); iter++ )
+ s_msg.append( to_upper(*iter) + " " );
+ }
+
+ s_msg.append( "</b></font></i><br>\n" );
+ p_user->get_room()->msg_post( &s_msg );
+
+ }
+}
+