找回密码
 注-册

QQ登录

只需一步,快速开始

查看: 1387|回复: 3

请教个问题

[复制链接]
想你宝贝 发表于 2008-12-15 18:05:23 | 显示全部楼层 |阅读模式
各位好;
     早就听说经典二战游戏:胜利之日DoD俱乐部,技术力量雄厚,人才聚集。今天特意申请了一个。
我是新来的,请多关照。
    我的DOD服务器名字叫想你,我把DOD当成我的宝贝,所以我叫想你宝贝。
    我很喜欢做DOD服务器,但是有太多的知识不懂了,我十分想结交对DOD痴迷的朋友。有意的加我QQ958815881.
     有个问题想问一下各位,怎么限制延时,延时超过200的将自动踢出,在哪个文件里做限制。呵呵。先谢了。
回复

使用道具 举报

Jack 发表于 2008-12-15 18:16:27 | 显示全部楼层
addons\amxmodx\configs   
amxx.cfg文件里设置
  1. //////////////////////////踢高Ping设置/////////////////////////

  2. // Ping高于多少则踢
  3. amx_hpk_ping 250

  4. // 多少秒检查一次
  5. amx_hpk_check 12

  6. // 至少测试次数
  7. amx_hpk_tests 5

  8. //玩家进入服务器多少秒后开始检查,如果设为0,则一进入服务器就开始检查
  9. amx_hpk_delay 60
复制代码

源码
  1. /* AMX Mod X
  2. *
  3. * (c) Copyright 2004, datang
  4. *
  5. * This file is part of AMX Mod X.
  6. *
  7. */

  8. #include <amxmodx>

  9. new g_Ping[33]
  10. new g_Samples[33]
  11. new pamx_hpk_ping
  12. new pamx_hpk_check
  13. new pamx_hpk_tests
  14. new pamx_hpk_delay

  15. public plugin_init()
  16. {
  17.         register_plugin("High Ping Kicker","1.0","datang")
  18.         register_dictionary("high_ping_kicker.txt")
  19.         pamx_hpk_ping = register_cvar("amx_hpk_ping","200")
  20.         pamx_hpk_check = register_cvar("amx_hpk_check","5")
  21.         pamx_hpk_tests = register_cvar("amx_hpk_tests","5")
  22.         pamx_hpk_delay = register_cvar("amx_hpk_delay","60")
  23.   
  24.         if ( get_pcvar_num( pamx_hpk_check ) < 5 ) set_pcvar_num( pamx_hpk_check , 5 )
  25.         if ( get_pcvar_num( pamx_hpk_tests ) < 3 ) set_pcvar_num( pamx_hpk_tests , 3 )
  26. }

  27. public client_disconnect(id)
  28.         remove_task( id )

  29. public client_putinserver(id)
  30. {   
  31.         g_Ping[id] = 0
  32.         g_Samples[id] = 0

  33.         if ( !is_user_bot(id) )
  34.         {
  35.                 new param[1]
  36.                 param[0] = id
  37.                 set_task( 10.0 , "showWarn" , id , param , 1 )
  38.    
  39.                 if (get_pcvar_num(pamx_hpk_delay) != 0) {
  40.                         set_task( float(get_pcvar_num(pamx_hpk_delay)), "taskSetting", id, param , 1)
  41.                 }
  42.                 else {            
  43.                         set_task( float(get_pcvar_num( pamx_hpk_check )) , "checkPing" , id , param , 1 , "b" )
  44.                 }       
  45.         }
  46. }

  47. public showWarn(param[]) {
  48.         client_print( param[0] ,print_chat,"* %L",LANG_SERVER,"PING", get_pcvar_num( pamx_hpk_ping ) )
  49.         console_print( param[0],"* %L",LANG_SERVER,"PING", get_pcvar_num( pamx_hpk_ping ) )
  50. }

  51. public taskSetting(param[]) {
  52.         set_task( float(get_pcvar_num( pamx_hpk_check )) , "checkPing" , param[0] , param , 1 , "b" )
  53. }

  54. kickPlayer( id )
  55. {
  56.         new name[32],authid[32]
  57.         new userid = get_user_userid(id)
  58.         get_user_name(id,name,31)
  59.         get_user_authid(id,authid,31)
  60.         client_print(0,print_chat,"* %L", id, "KICKED", name)
  61.         log_amx("^"%s<%d><%s><>^" has been kicked due to high ping.", name, userid, authid)
  62.         client_cmd(id, "echo ^"* %L^"", id, "HPK")
  63.         client_cmd(id, "disconnect")  //Has no effects in CS1.5
  64.         server_cmd("kick #%d", userid)  //So kicked
  65.         remove_task(id)
  66. }

  67. public checkPing(param[])
  68. {
  69.         new id = param[ 0 ]
  70.         if ( get_user_flags(id) & ADMIN_IMMUNITY || get_user_flags(id) & ADMIN_RESERVATION ) return
  71.         new p, l
  72.         get_user_ping( id , p , l )
  73.         g_Ping[ id ] += p
  74.         ++g_Samples[ id ]  
  75.         if ( (g_Samples[ id ] >= get_pcvar_num( pamx_hpk_tests )) && (g_Ping[id] / g_Samples[id] > get_pcvar_num( pamx_hpk_ping )) )   
  76.                 kickPlayer(id)
  77. }
复制代码
回复

使用道具 举报

Jack 发表于 2008-12-15 18:17:36 | 显示全部楼层
用4156+3266版本里默认都有的
回复

使用道具 举报

 楼主| 想你宝贝 发表于 2008-12-16 09:13:57 | 显示全部楼层
十分的感谢,flytiger12 谢谢了。实在是太详细了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注-册

本版积分规则

Archiver|手机版|小黑屋|DoDVip ( 桂ICP备14000730号 )

GMT+8, 2024-5-2 11:08 , Processed in 0.048144 second(s), 20 queries .

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

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