// Oxxy (C) 2015, HPM plugin. #include #include #include #include "../common/HPMi.h" #include "../common/malloc.h" #include "../common/mmo.h" #include "../common/socket.h" #include "../common/strlib.h" #include "../map/clif.h" #include "../map/script.h" #include "../map/pc.h" #include "../common/HPMDataCheck.h" /* should always be the last file included! (if you don't make it last, it'll intentionally break compile time) */ HPExport struct hplugin_info pinfo = { "Chat Color", // Plugin name SERVER_TYPE_MAP,// Which server types this plugin works with? "0.1", // Plugin version HPM_VERSION, // HPM Version (don't change, macro is automatically updated) }; /*ACMD(color) { if(!message || !*message) { clif->message(fd, "Usage: @color "); clif->message(fd, " must be in hex format. Starting with 0x"); clif->message(fd, "Example: @color 0x00FF00"); if(pc_readglobalreg_str(sd,script->add_str("CHAT_COLOR$")) = "") { clif->message(fd, "Defaulting your color to green."); pc_setglobalreg_str(sd, script->add_str("CHAT_COLOR$"), "0x000000"); return 1; } return -1; } else { pc_setglobalreg_str(sd, script->add_str("CHAT_COLOR$"), message); clif->message(fd, "Color has been set."); } return 1; }*/ ACMD(setcolor) { unsigned char k; unsigned short msg_len = 1; char mout[40]; if( !message || !*message ) { clif->message(fd, "Usage: @setcolor "); clif->message(fd, " must be in hex format. Starting with 0x"); clif->message(fd, "Example: @color 0x00FF00"); if(pc_readglobalreg_str(sd,script->add_str("CHAT_COLOR$")) = "") { clif->message(fd, "Defaulting your color to green."); sd->fontcolor = 0; return 1; } } if( message[0] == '0' ) { sd->fontcolor = 0; return true; } sd->fontcolor = pc_readglobalreg_str(*sd, script->add_str("CHAT_COLOR$")); msg_len += sprintf(mout, "Color changed to '%s'", script->add_str(CHAT_COLOR$)); WFIFOHEAD(*fd,msg_len + 12); WFIFOW(*fd,0) = 0x2C1; WFIFOW(*fd,2) = msg_len + 12; WFIFOL(*fd,4) = 0; WFIFOL(*fd,8) = channel->config->colors[k]; safestrncpy((char*)WFIFOP(fd,12), mout, msg_len); WFIFOSET(*fd, msg_len + 12); return true; } HPExport void plugin_init (void) { char *server_type; char *server_name; /* core vars */ iMalloc = GET_SYMBOL("iMalloc"); script = GET_SYMBOL("script"); clif = GET_SYMBOL("clif"); pc = GET_SYMBOL("pc"); addAtcommand("setcolor", color); //addScriptCommand("color","is",color) } HPExport void server_online (void) { ShowInfo ("'%s' Plugin by Oxxy. Version '%s'\n",pinfo.name,pinfo.version); }