99fps 发表于 2012-1-30 05:18:40

DaBears请进

终极防作弊
http://hiphotos.baidu.com/dabears_deathadder/pic/item/aea2f1d07fe9c21d9a502750.jpg

听说你Q加不上?:L

By小伟 发表于 2012-1-30 08:58:26

{:3_49:}图挂了啊 ,看不到

99fps 发表于 2012-1-30 09:27:33

By小伟 发表于 2012-1-30 08:58 static/image/common/back.gif
图挂了啊 ,看不到



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

homework 发表于 2012-1-30 09:29:37

有这个插件,但没用起没效果,不知道怎么的,要源码么?

By小伟 发表于 2012-1-30 09:32:12

{:2_33:}简单来说。。作弊脸比城墙厚。这不能解决作弊的问题

homework 发表于 2012-1-30 09:34:02

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>

#define MAXENTRYCOUNT 10
#define MAXENTRYLENGTH 60
#define MESSAGELENGTH MAXENTRYCOUNT*MAXENTRYLENGTH+20
#define MAX_PLAYERS 32
new ENTRY
new MESSAGE
new DISPLAYCOLOR
new ENTRYCOUNT = 0

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

new ADDENTRYCMD[] = "amx_addrule"
new ADMINDISPLAYMESSAGECMD[] = "rules"
new CHANGETEAM[] = "chooseteam"
new pip
new Float:rectime

new CVARCOLOR[] = "sr_color"
new CVARDISPLAY[] = "sr_display"


public plugin_init() {
register_plugin("Do you dare to pledge", "5.0", "DaBears")
register_menucmd(register_menuid("请问你敢发誓吗?"),1023,"action_menu")
register_menucmd(register_menuid("请选择队伍"),1023,"choose_team")
register_menucmd(register_menuid("你要转移到哪一只队伍"),1023,"chooseteam")
register_concmd(ADDENTRYCMD, "addentry", ADMIN_CVAR, "<entry> : Adds a entry")
register_concmd(ADMINDISPLAYMESSAGECMD, "displaymessage", ADMIN_USER, ": Display message")
register_concmd(CHANGETEAM, "teammenu", ADMIN_USER, ": Team menu")
register_event("ShowMenu","join","b","4Team_Select")
register_event("VGUIMenu","join","b","1=2","1=26","1=27")
register_cvar(CVARDISPLAY, "60.0", 4)
register_cvar(CVARCOLOR, "255,0,0", 4)
register_cvar("minrec","15")
set_msg_block(get_user_msgid("VGUIMenu"), BLOCK_SET)
set_msg_block(get_user_msgid("ShowMenu"), BLOCK_SET)
return PLUGIN_CONTINUE
}
public teammenu(id){
new teammenu
new len = format(teammenu,1023,"\w你要转移到哪一只队伍?: ^n^n\w")
len += format(teammenu,1023-len,"^n\r1.\w 傻逼土匪.^n\r2.\w 垃圾警察.^n\r3.\w 偷窥者.^n\r0.\w 退出.")
show_menu(id,(1<<0|1<<1|1<<2|1<<9),teammenu)
return PLUGIN_HANDLED
}
public chooseteam(id, key)
{
switch (key)
{
case 0:
{
cs_set_user_team(id, CS_TEAM_T, CS_T_TERROR)
client_cmd(id, "kill")
}
case 1:
{
cs_set_user_team(id, CS_TEAM_CT, CS_CT_SAS)
client_cmd(id, "kill")
}
case 2:
{
cs_set_user_team(id, CS_TEAM_SPECTATOR, CS_DONTCHANGE)
client_cmd(id, "kill")
}
case 9:
{
client_print( id, print_chat, "菜单退出" )
}
}
return PLUGIN_HANDLED
}


public join(id){
client_cmd(id,"setinfo ^"_vgui_menus^" ^"0^"")
return PLUGIN_CONTINUE
}
public spawn_func(id)
{
new parm
parm=id

set_task(0.5,"spawnteam",_,parm,1)
set_task(0.7,"spawnteam",_,parm,1)
}
public spawnteam(parm)
{
if(is_user_alive(parm))
return
spawn(parm)
}
public client_putinserver(id)
{
set_task(TIMERWAIT, "displaymessage", id)
}

stock explode_string( p_szOutput[][], p_nMax, p_nSize, p_szInput[], p_szDelimiter ) {
new nIdx = 0, l = strlen(p_szInput)
new nLen = (1 + copyc( p_szOutput, p_nSize, p_szInput, p_szDelimiter ))
while( (nLen < l) & (++nIdx < p_nMax) )
nLen += (1 + copyc( p_szOutput, p_nSize, p_szInput, p_szDelimiter ))
return nIdx
}

public addentry(id,level,cid){
if (!cmd_access(id,level,cid,2))
return PLUGIN_HANDLED
if (ENTRYCOUNT >= MAXENTRYCOUNT){
return PLUGIN_HANDLED
}
read_argv(1,ENTRY,MAXENTRYLENGTH)
ENTRYCOUNT++
return PLUGIN_HANDLED
}
public displaymessage(id) {
new sDisplayColor
new Float:nDisplayTime = get_cvar_float(CVARDISPLAY)
new text
new len = format(text,1023,"\w请问你敢发誓吗?: ^n^n\w")
len += format(text,1023-len,"^n\r8.\w 我不作弊,我敢发誓.^n\r9.\w 我是孬种,我不敢发誓.")
show_menu(id,(1<<7|1<<8),text)
get_cvar_string( CVARCOLOR, sDisplayColor, 12 )
explode_string( DISPLAYCOLOR, 3, 3, sDisplayColor, ',' )
format( MESSAGE, MESSAGELENGTH, DISPLAYTITLE )
for ( new i=0; i<ENTRYCOUNT; ++i ) {
format( MESSAGE, MESSAGELENGTH, "%s^n%d. %s", MESSAGE, i+1, ENTRY )
}
set_hudmessage( str_to_num(DISPLAYCOLOR), str_to_num(DISPLAYCOLOR), str_to_num(DISPLAYCOLOR), 0.025, 0.225, 2, 0.01, nDisplayTime, 0.01, 0.1, 4 )
show_hudmessage( id, "%s", MESSAGE )
client_print(id, print_center, "兄弟,请先发誓才能游戏哦,除非你是孬种,不敢发誓!")
return PLUGIN_HANDLED
}
public action_menu(id,key)
{
switch( key )
{
case 7: {
client_cmd(id, "bind m chooseteam")
displaymenu(id)
}
case 8: {
server_cmd("kick #%d ^"滚~~你个孬种!!^"", get_user_userid(id))
}
}

return PLUGIN_HANDLED
}
public displaymenu(id)
{
new face
new len = format(face,1023,"\w请选择队伍: ^n^n\w")
len += format(face,1023-len,"^n\r1.\w 傻逼土匪.^n\r2.\w 垃圾警察.")
show_menu(id,(1<<0|1<<1),face)
return PLUGIN_HANDLED
}
public choose_team(id, key)
{
switch (key)
{
case 0:
{
client_cmd(id,"menuselect 1")
client_cmd(id,"menuselect 5")
spawn_func(id)
}
case 1:
{
client_cmd(id,"menuselect 2")
client_cmd(id,"menuselect 5")
spawn_func(id)
}
}
return PLUGIN_HANDLED
}
public delayed_kick(user[]) {
server_cmd("kick #%d^"由于网络繁忙,请15秒后在试!^"",user)
}

public cleanip(ind[]) {
pip] = 0
}
public client_connect(id) {
if (!is_user_bot(id)) {
rectime = get_cvar_float("minrec")
new userip
new uname
get_user_ip(id, userip, 21, 0)
get_user_name(id, uname, 33)
client_cmd(id, "bind m rules")
for(new i = 1; i <= MAX_PLAYERS; i++) {
if (equal(userip, pip, 21)) {
new userid
userid = get_user_userid(id)
if (!(get_user_flags(id)ADMIN_IMMUNITY)) {
set_task(1.0,"delayed_kick",0,userid,1)
}
return PLUGIN_CONTINUE
}
}
}
return PLUGIN_CONTINUE
}
public client_disconnect(id) {
if (!is_user_bot(id)) {
for(new i = 1; i <= MAX_PLAYERS; i++) {
if(pip == 0) {
new userip
get_user_ip(id, userip, 21, 0)
copy(pip, 21, userip)
new userid
userid = i
set_task(rectime, "cleanip", 0, userid, 1)
return PLUGIN_CONTINUE
}
}
}
return PLUGIN_CONTINUE
}

99fps 发表于 2012-1-30 09:48:43

By小伟 发表于 2012-1-30 09:32 static/image/common/back.gif
简单来说。。作弊脸比城墙厚。这不能解决作弊的问题

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

99fps 发表于 2012-1-30 09:49:41

homework 发表于 2012-1-30 09:34 static/image/common/back.gif


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

homework 发表于 2012-1-30 10:15:44

99fps 发表于 2012-1-30 09:49 static/image/common/back.gif
劳烦问一下,该源码的名字

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

zww011 发表于 2012-1-30 13:29:38

...对于作弊的人有的被抓了还要去找别人吵呢0 0
页: [1] 2
查看完整版本: DaBears请进