搜索
查看: 4910|回复: 8

【求助】进出服务器提示(帮忙改下使他能用彩色聊天信息)

[复制链接]
发表于 2007-8-31 12:46:17 | 显示全部楼层 |阅读模式 来自 上海浦东新区
[PHP]#include <amxmod>
#include <amxmodx>
#include <csstats>
#include <ipseeker>

public plugin_init() {
  register_plugin("Enter-Leave Message","1.0","martins")
  register_cvar("amx_enter_message", "Server join: %name% (Rank: %rankpos%)(total:%rankmax%)")
  register_cvar("amx_leave_message", "Server leave: %name%")
  return PLUGIN_CONTINUE
}

public client_putinserver(id){
   new param[34], len
   param[0] = id
   len = get_user_name(id,param[1],31)
   set_task(2.0, "enter_msg", 0, param,len + 2)
   return PLUGIN_CONTINUE
}

public client_disconnect(id){
   new param[34], len
   param[0] = id
   len = get_user_name(id, param[1], 31)
   set_task(2.0, "leave_msg", 0, param, len + 2)
   return PLUGIN_CONTINUE
}

public enter_msg(param[]) {
   new message[192],hostname[64]
   get_cvar_string("amx_enter_message", message, 191)
   get_cvar_string("hostname", hostname, 63)
   replace(message,191, "%hostname%", hostname)
   new ip[32]
   get_user_ip(param[0], ip, 31, 1)
   new addr[64]  
   ipseeker(ip, ipseek_all, addr, 128, 1)
   replace(message,191, "%IP%", addr)
   if (cvar_exists("csstats_reset")){
      new data[8], rankpos[8], rankmax[8] , iRankpos , iRankmax
      iRankpos = get_user_stats(param[0],data,data)
      iRankmax = get_statsnum()
      numtostr(iRankpos,rankpos,7)
      numtostr(iRankmax,rankmax,7)
      replace(message, 191, "%rankpos%", rankpos)
      replace(message, 191, "%rankmax%", rankmax)
   }
   replace(message, 191, "%name%", param[1])
   while(replace(message, 191, "\n", "^n")){}
   //set_hudmessage(0, 255, 0, 0.10, 0.55, 0, 6.0, 6.0, 0.5, 0.15, 3)
   //show_hudmessage(0, message)
   client_print(0,print_chat,"%s",message)
   return PLUGIN_CONTINUE
}

public leave_msg(param[]) {
   new message[192],hostname[64]
   get_cvar_string("amx_leave_message", message, 191)
   get_cvar_string("hostname", hostname, 63)
   replace(message, 191, "%hostname%", hostname)
   replace(message, 191, "%name%", param[1])
   while(replace(message, 191, "\n", "^n")){}
   //set_hudmessage(255, 0, 255, 0.10, 0.55, 0, 6.0, 6.0, 0.5, 0.15, 3)
   //show_hudmessage(0, message)
   client_print(0,print_chat,"%s",message)
   return PLUGIN_CONTINUE
} [/PHP]
发表于 2007-9-21 03:30:12 | 显示全部楼层 来自 广西柳州

回复: 【求助】进出服务器提示(帮忙改下使他能用彩色聊天信息)

应该是这样了,不行的话就请下一位来帮忙了。
#include <amxmod>  
#include <amxmodx>
#include <csstats>  
#include <ipseeker>

public plugin_init() {  
  
register_plugin("Enter-Leave Message","1.0","martins")  
  
register_cvar("amx_enter_message", "Server join: %name% (Rank: %rankpos%)(total:%rankmax%)")  
  
register_cvar("amx_leave_message", "Server leave: %name%")  
  return
PLUGIN_CONTINUE  
}  

public
client_putinserver(id){  
   new
param[34], len  
   param
[0] = id  
   len
= get_user_name(id,param[1],31)  
   
set_task(2.0, "enter_msg", 0, param,len + 2)  
   return
PLUGIN_CONTINUE  
}  

public
client_disconnect(id){  
   new
param[34], len  
   param
[0] = id  
   len
= get_user_name(id, param[1], 31)  
   
set_task(2.0, "leave_msg", 0, param, len + 2)  
   return
PLUGIN_CONTINUE  
}  

public
enter_msg(param[]) {  
   new
message[192],hostname[64]  
   
get_cvar_string("amx_enter_message", message, 191)  
   
get_cvar_string("hostname", hostname, 63)  
   
replace(message,191, "%hostname%", hostname)  
   new
ip[32]  
   
get_user_ip(param[0], ip, 31, 1)
   new
addr[64]   
   
ipseeker(ip, ipseek_all, addr, 128, 1)
   
replace(message,191, "%IP%", addr)  
   if (
cvar_exists("csstats_reset")){  
      new
data[8], rankpos[8], rankmax[8] , iRankpos , iRankmax
      iRankpos
= get_user_stats(param[0],data,data)  
      
iRankmax = get_statsnum()
      
numtostr(iRankpos,rankpos,7)  
      
numtostr(iRankmax,rankmax,7)
      
replace(message, 191, "%rankpos%", rankpos)
      
replace(message, 191, "%rankmax%", rankmax)  
   }  
   
replace(message, 191, "%name%", param[1])  
   while(
replace(message, 191, "\n", "^n")){}  
   
set_hudmessage(0, 255, 0, 0.10, 0.55, 0, 6.0, 6.0, 0.5, 0.15, 3)  
   show_hudmessage(0, message)  
   //
client_print(0,print_chat,"%s",message)  
   return
PLUGIN_CONTINUE  
}  

public
leave_msg(param[]) {  
   new
message[192],hostname[64]  
   
get_cvar_string("amx_leave_message", message, 191)  
   
get_cvar_string("hostname", hostname, 63)  
   
replace(message, 191, "%hostname%", hostname)  
   
replace(message, 191, "%name%", param[1])  
   while(
replace(message, 191, "\n", "^n")){}  
   
set_hudmessage(255, 0, 255, 0.10, 0.55, 0, 6.0, 6.0, 0.5, 0.15, 3)  
   show_hudmessage(0, message)  
   //
client_print(0,print_chat,"%s",message)  
   return
PLUGIN_CONTINUE  
}
回复

使用道具 举报

发表于 2007-9-21 16:50:32 | 显示全部楼层 来自 广东佛山

回复: 【求助】进出服务器提示(帮忙改下使他能用彩色聊天信息)

楼上的误解了还是怎么了,楼主要的是彩色聊天信息,hudmessage可以实现一个字一种颜色的吗?
回复

使用道具 举报

发表于 2007-9-23 22:21:53 | 显示全部楼层 来自 广西柳州

回复: 【求助】进出服务器提示(帮忙改下使他能用彩色聊天信息)

你又没说明,晕,我那也是彩色聊天的,如果要改成那种SAY一样大小的字的彩色聊天好像client_print没有这个功能。
回复

使用道具 举报

 楼主| 发表于 2007-10-6 03:56:37 | 显示全部楼层 来自 上海浦东新区

回复: 【求助】进出服务器提示(帮忙改下使他能用彩色聊天信息)

hehe 谢谢大家 已经改好了 。。。 !!
回复

使用道具 举报

发表于 2011-2-27 14:19:05 | 显示全部楼层 来自 广东清远
不行转换不到AMXX....
回复

使用道具 举报

发表于 2011-2-27 14:57:06 | 显示全部楼层 来自 广东东莞
  1. #include <amxmod>  
  2. #include <amxmodx>
  3. #include <csstats>  
  4. #include <ipseeker>

  5. public plugin_init() {  
  6.         register_plugin("Enter-Leave Message","1.0","martins")  
  7.         register_cvar("amx_enter_message", "Server join: %name% (Rank: %rankpos%)(total:%rankmax%)")  
  8.         register_cvar("amx_leave_message", "Server leave: %name%")  
  9. }  

  10. public client_putinserver(id){  
  11.         new param[34], len  
  12.         param[0] = id  
  13.         len = get_user_name(id,param[1],31)  
  14.         set_task(2.0, "enter_msg", 0, param,len + 2)  
  15.         return PLUGIN_CONTINUE  
  16. }  

  17. public client_disconnect(id){  
  18.         new param[34], len  
  19.         param[0] = id  
  20.         len = get_user_name(id, param[1], 31)  
  21.         set_task(2.0, "leave_msg", 0, param, len + 2)  
  22.         return PLUGIN_CONTINUE  
  23. }  

  24. public enter_msg(param[]) {  
  25.         new message[192],hostname[64]  
  26.         get_cvar_string("amx_enter_message", message, 191)  
  27.         get_cvar_string("hostname", hostname, 63)  
  28.         replace(message,191, "%hostname%", hostname)  
  29.         new ip[32]  
  30.         get_user_ip(param[0], ip, 31, 1)
  31.         new addr[64]   
  32.         ipseeker(ip, ipseek_all, addr, 128, 1)
  33.         replace_all( message, 191, "%IP%", addr );
  34.         if (cvar_exists("csstats_reset")){  
  35.                 new data[8], rankpos[8], rankmax[8] , iRankpos , iRankmax
  36.                 iRankpos = get_user_stats(param[0],data,data)  
  37.                 iRankmax = get_statsnum()
  38.                 numtostr(iRankpos,rankpos,7)  
  39.                 numtostr(iRankmax,rankmax,7)
  40.                 replace_all( message, 191, "%rankpos%", rankpos );
  41.                 replace_all( message, 191, "%rankmax%", rankmax );
  42.         }  
  43.         replace_all( message, 191, "%name%", param[ 1 ] );
  44.         replace_all( message, charsmax( message ), "\n", "^n" );
  45.         /*set_hudmessage(0, 255, 0, 0.10, 0.55, 0, 6.0, 6.0, 0.5, 0.15, 3)  
  46.         show_hudmessage(0, message)*/
  47.         client_print_color( 0, param[ 0 ], "%s" , message );
  48.         return PLUGIN_CONTINUE  
  49. }  

  50. public leave_msg(param[]) {  
  51.         new message[192],hostname[64]  
  52.         get_cvar_string("amx_leave_message", message, 191)  
  53.         get_cvar_string("hostname", hostname, 63)  
  54.         replace_all( message, 191, "%hostname%", hostname );
  55.         replace_all( message, 191, "%name%", param[ 1 ] );
  56.         replace_all( message, charsmax( message ), "\n", "^n" );
  57.         /*set_hudmessage(255, 0, 255, 0.10, 0.55, 0, 6.0, 6.0, 0.5, 0.15, 3)  
  58.         show_hudmessage(0, message)*/
  59.         client_print_color( 0, param[ 0 ], "%s" , message );
  60.         return PLUGIN_CONTINUE  
  61. }  

  62. stock client_print_color( id, color, const fmt[], any:... )
  63. {
  64.         static iSayText;
  65.         static szMsg[ 192 ];
  66.         vformat( szMsg, charsmax( szMsg ), fmt, 4 );
  67.        
  68.         if ( iSayText || ( iSayText == get_user_msgid( "SayText" ) ) )
  69.         {
  70.                 message_begin( id ? MSG_ONE_UNRELIABLE : MSG_BROADCAST, iSayText, _, id )
  71.                 {
  72.                         write_byte( color );
  73.                         write_string( szMsg );
  74.                 }
  75.                 message_end( )
  76.         }
  77. }
复制代码
用记事本写的,有错误提出来!
回复

使用道具 举报

发表于 2011-6-27 11:18:10 | 显示全部楼层 来自 湖南
帮帮忙帮帮忙
回复

使用道具 举报

发表于 2011-8-14 14:14:22 | 显示全部楼层 来自 浙江绍兴
2# wwww23
回复

使用道具 举报

游客
回复
您需要登录后才可以回帖 登录 | 注个册吧

快速回复 返回顶部 返回列表