搜索
查看: 3891|回复: 17

[AMXX 带源码] DaBears请进

[复制链接]
发表于 2012-1-30 05:18:40 | 显示全部楼层 |阅读模式 来自 内蒙古
终极防作弊


听说你Q加不上?:L
发表于 2012-1-30 08:58:26 | 显示全部楼层 来自 广东深圳
{:3_49:}图挂了啊 ,看不到
回复

使用道具 举报

 楼主| 发表于 2012-1-30 09:27:33 | 显示全部楼层 来自 内蒙古
By小伟 发表于 2012-1-30 08:58
图挂了啊 ,看不到



百度的链接,所以先发的杯具了,现在能看了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注个册吧

×
回复

使用道具 举报

发表于 2012-1-30 09:29:37 | 显示全部楼层 来自 四川成都
有这个插件,但没用起没效果,不知道怎么的,要源码么?
回复

使用道具 举报

发表于 2012-1-30 09:32:12 | 显示全部楼层 来自 广东深圳
{:2_33:}简单来说。。作弊脸比城墙厚。这不能解决作弊的问题
回复

使用道具 举报

发表于 2012-1-30 09:34:02 | 显示全部楼层 来自 四川成都
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <cstrike>
  4. #include <fun>

  5. #define MAXENTRYCOUNT 10
  6. #define MAXENTRYLENGTH 60
  7. #define MESSAGELENGTH MAXENTRYCOUNT*MAXENTRYLENGTH+20
  8. #define MAX_PLAYERS 32
  9. new ENTRY[MAXENTRYCOUNT][MAXENTRYLENGTH]
  10. new MESSAGE[MESSAGELENGTH]
  11. new DISPLAYCOLOR[3][3]
  12. new ENTRYCOUNT = 0

  13. new Float:TIMERWAIT = 1.0
  14. new DISPLAYTITLE[] = "举起你的右手,跟我一起发誓"

  15. new ADDENTRYCMD[] = "amx_addrule"
  16. new ADMINDISPLAYMESSAGECMD[] = "rules"
  17. new CHANGETEAM[] = "chooseteam"
  18. new pip[MAX_PLAYERS][22]
  19. new Float:rectime

  20. new CVARCOLOR[] = "sr_color"
  21. new CVARDISPLAY[] = "sr_display"


  22. public plugin_init() {
  23. register_plugin("Do you dare to pledge", "5.0", "DaBears")
  24. register_menucmd(register_menuid("请问你敢发誓吗?"),1023,"action_menu")
  25. register_menucmd(register_menuid("请选择队伍"),1023,"choose_team")
  26. register_menucmd(register_menuid("你要转移到哪一只队伍"),1023,"chooseteam")
  27. register_concmd(ADDENTRYCMD, "addentry", ADMIN_CVAR, "<entry> : Adds a entry")
  28. register_concmd(ADMINDISPLAYMESSAGECMD, "displaymessage", ADMIN_USER, ": Display message")
  29. register_concmd(CHANGETEAM, "teammenu", ADMIN_USER, ": Team menu")
  30. register_event("ShowMenu","join","b","4Team_Select")
  31. register_event("VGUIMenu","join","b","1=2","1=26","1=27")
  32. register_cvar(CVARDISPLAY, "60.0", 4)
  33. register_cvar(CVARCOLOR, "255,0,0", 4)
  34. register_cvar("minrec","15")
  35. set_msg_block(get_user_msgid("VGUIMenu"), BLOCK_SET)
  36. set_msg_block(get_user_msgid("ShowMenu"), BLOCK_SET)
  37. return PLUGIN_CONTINUE
  38. }
  39. public teammenu(id){
  40. new teammenu[1023]
  41. new len = format(teammenu,1023,"\w你要转移到哪一只队伍?: ^n^n\w")
  42. len += format(teammenu[len],1023-len,"^n\r1.\w 傻逼土匪.^n\r2.\w 垃圾警察.^n\r3.\w 偷窥者.^n\r0.\w 退出.")
  43. show_menu(id,(1<<0|1<<1|1<<2|1<<9),teammenu)
  44. return PLUGIN_HANDLED
  45. }
  46. public chooseteam(id, key)
  47. {
  48. switch (key)
  49. {
  50. case 0:
  51. {
  52. cs_set_user_team(id, CS_TEAM_T, CS_T_TERROR)
  53. client_cmd(id, "kill")
  54. }
  55. case 1:
  56. {
  57. cs_set_user_team(id, CS_TEAM_CT, CS_CT_SAS)
  58. client_cmd(id, "kill")
  59. }
  60. case 2:
  61. {
  62. cs_set_user_team(id, CS_TEAM_SPECTATOR, CS_DONTCHANGE)
  63. client_cmd(id, "kill")
  64. }
  65. case 9:
  66. {
  67. client_print( id, print_chat, "菜单退出" )
  68. }
  69. }
  70. return PLUGIN_HANDLED
  71. }


  72. public join(id){
  73. client_cmd(id,"setinfo ^"_vgui_menus^" ^"0^"")
  74. return PLUGIN_CONTINUE
  75. }
  76. public spawn_func(id)
  77. {
  78. new parm[1]
  79. parm[0]=id

  80. set_task(0.5,"spawnteam",_,parm,1)
  81. set_task(0.7,"spawnteam",_,parm,1)
  82. }
  83. public spawnteam(parm[1])
  84. {
  85. if(is_user_alive(parm[0]))
  86. return
  87. spawn(parm[0])
  88. }
  89. public client_putinserver(id)
  90. {
  91. set_task(TIMERWAIT, "displaymessage", id)
  92. }

  93. stock explode_string( p_szOutput[][], p_nMax, p_nSize, p_szInput[], p_szDelimiter ) {
  94. new nIdx = 0, l = strlen(p_szInput)
  95. new nLen = (1 + copyc( p_szOutput[nIdx], p_nSize, p_szInput, p_szDelimiter ))
  96. while( (nLen < l) & (++nIdx < p_nMax) )
  97. nLen += (1 + copyc( p_szOutput[nIdx], p_nSize, p_szInput[nLen], p_szDelimiter ))
  98. return nIdx
  99. }

  100. public addentry(id,level,cid){
  101. if (!cmd_access(id,level,cid,2))
  102. return PLUGIN_HANDLED
  103. if (ENTRYCOUNT >= MAXENTRYCOUNT){
  104. return PLUGIN_HANDLED
  105. }
  106. read_argv(1,ENTRY[ENTRYCOUNT],MAXENTRYLENGTH)
  107. ENTRYCOUNT++
  108. return PLUGIN_HANDLED
  109. }
  110. public displaymessage(id) {
  111. new sDisplayColor[12]
  112. new Float:nDisplayTime = get_cvar_float(CVARDISPLAY)
  113. new text[1023]
  114. new len = format(text,1023,"\w请问你敢发誓吗?: ^n^n\w")
  115. len += format(text[len],1023-len,"^n\r8.\w 我不作弊,我敢发誓.^n\r9.\w 我是孬种,我不敢发誓.")
  116. show_menu(id,(1<<7|1<<8),text)
  117. get_cvar_string( CVARCOLOR, sDisplayColor, 12 )
  118. explode_string( DISPLAYCOLOR, 3, 3, sDisplayColor, ',' )
  119. format( MESSAGE, MESSAGELENGTH, DISPLAYTITLE )
  120. for ( new i=0; i<ENTRYCOUNT; ++i ) {
  121. format( MESSAGE, MESSAGELENGTH, "%s^n%d. %s", MESSAGE, i+1, ENTRY[i] )
  122. }
  123. set_hudmessage( str_to_num(DISPLAYCOLOR[0]), str_to_num(DISPLAYCOLOR[1]), str_to_num(DISPLAYCOLOR[2]), 0.025, 0.225, 2, 0.01, nDisplayTime, 0.01, 0.1, 4 )
  124. show_hudmessage( id, "%s", MESSAGE )
  125. client_print(id, print_center, "兄弟,请先发誓才能游戏哦,除非你是孬种,不敢发誓!")
  126. return PLUGIN_HANDLED
  127. }
  128. public action_menu(id,key)
  129. {
  130. switch( key )
  131. {
  132. case 7: {
  133. client_cmd(id, "bind m chooseteam")
  134. displaymenu(id)
  135. }
  136. case 8: {
  137. server_cmd("kick #%d ^"滚~~你个孬种!!^"", get_user_userid(id))
  138. }
  139. }

  140. return PLUGIN_HANDLED
  141. }
  142. public displaymenu(id)
  143. {
  144. new face[1023]
  145. new len = format(face,1023,"\w请选择队伍: ^n^n\w")
  146. len += format(face[len],1023-len,"^n\r1.\w 傻逼土匪.^n\r2.\w 垃圾警察.")
  147. show_menu(id,(1<<0|1<<1),face)
  148. return PLUGIN_HANDLED
  149. }
  150. public choose_team(id, key)
  151. {
  152. switch (key)
  153. {
  154. case 0:
  155. {
  156. client_cmd(id,"menuselect 1")
  157. client_cmd(id,"menuselect 5")
  158. spawn_func(id)
  159. }
  160. case 1:
  161. {
  162. client_cmd(id,"menuselect 2")
  163. client_cmd(id,"menuselect 5")
  164. spawn_func(id)
  165. }
  166. }
  167. return PLUGIN_HANDLED
  168. }
  169. public delayed_kick(user[]) {
  170. server_cmd("kick #%d^"由于网络繁忙,请15秒后在试!^"",user[0])
  171. }

  172. public cleanip(ind[]) {
  173. pip[ind[0]][0] = 0
  174. }
  175. public client_connect(id) {
  176. if (!is_user_bot(id)) {
  177. rectime = get_cvar_float("minrec")
  178. new userip[21+1]
  179. new uname[33+1]
  180. get_user_ip(id, userip, 21, 0)
  181. get_user_name(id, uname, 33)
  182. client_cmd(id, "bind m rules")
  183. for(new i = 1; i <= MAX_PLAYERS; i++) {
  184. if (equal(userip, pip[i], 21)) {
  185. new userid[1]
  186. userid[0] = get_user_userid(id)
  187. if (!(get_user_flags(id)ADMIN_IMMUNITY)) {
  188. set_task(1.0,"delayed_kick",0,userid,1)
  189. }
  190. return PLUGIN_CONTINUE
  191. }
  192. }
  193. }
  194. return PLUGIN_CONTINUE
  195. }
  196. public client_disconnect(id) {
  197. if (!is_user_bot(id)) {
  198. for(new i = 1; i <= MAX_PLAYERS; i++) {
  199. if(pip[i][0] == 0) {
  200. new userip[21+1]
  201. get_user_ip(id, userip, 21, 0)
  202. copy(pip[i], 21, userip)
  203. new userid[1]
  204. userid[0] = i
  205. set_task(rectime, "cleanip", 0, userid[0], 1)
  206. return PLUGIN_CONTINUE
  207. }
  208. }
  209. }
  210. return PLUGIN_CONTINUE
  211. }
复制代码
回复

使用道具 举报

 楼主| 发表于 2012-1-30 09:48:43 | 显示全部楼层 来自 内蒙古
By小伟 发表于 2012-1-30 09:32
简单来说。。作弊脸比城墙厚。这不能解决作弊的问题

剥下作弊猪的脸,完全可以制作防弹衣!:lol
回复

使用道具 举报

 楼主| 发表于 2012-1-30 09:49:41 | 显示全部楼层 来自 内蒙古
homework 发表于 2012-1-30 09:34

劳烦问一下,该源码的名字
回复

使用道具 举报

发表于 2012-1-30 10:15:44 | 显示全部楼层 来自 四川成都
99fps 发表于 2012-1-30 09:49
劳烦问一下,该源码的名字

我也不知道,逛论坛发现的,就弄下来了,源码里面也没写,你搜索“发誓”看看,能搜出来不。、
回复

使用道具 举报

发表于 2012-1-30 13:29:38 | 显示全部楼层 来自 安徽宿州
...对于作弊的人有的被抓了还要去找别人吵呢0 0
回复

使用道具 举报

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

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