点通粉丝 发表于 2011-7-24 13:53:59

Osker Lee大哥-向你求个代码

http://www.dt-club.net/forum/thread-34479-1-2-%5B%E6%B1%82%E5%8A%A9%5DCS%E4%B8%AD%E7%83%9F%E9%9B%BE%E5%BC%B9%E6%98%AF%E9%80%9A%E8%BF%87%E4%BB%80%E4%B9%88%E6%9D%A5%E4%BA%A7%E7%94%9F%E7%83%9F%E9%9B%BE%E7%9A%84%EF%BC%9F.htmlsize=6]正如你这个帖子所说的...我搞了个CS1.5僵尸感染插件..里面功能基本完善了
下雨下雪都有了..现在只差有雾气..看你有没有办法
帮手写一个有A权限的OP按一下命令就能喷烟雾出来的
最好范为.能大一点吧...还有喷烟雾出来的时间可自定义修改长一点的..只有这样我想应该可以
模防下雾了....................

Osker Lee 发表于 2011-7-24 14:59:37

本帖最后由 Osker Lee 于 2011-7-24 15:01 编辑

打开amxmodx/configs/zombieplague.ini,找到下面的代码,只要FOG = 1,就是大雾天气了。

RAIN = 0
SNOW = 0
FOG = 1
FOG DENSITY = 0.0018
FOG COLOR = 128 128 128

点通粉丝 发表于 2011-7-24 15:19:09

大哥你误会了我的不是CS1.6   4.3版本的僵尸插件来的..如果是1.6的话随便都可实现有雾了

我的版本是CS1.5 1.2僵尸感染版来的跟本没有这些文件
amxmodx/configs/zombieplague.ini,

我就想你单独写一个a权限op按命令喷烟雾的来实现一下而儿.........

Osker Lee 发表于 2011-7-24 15:47:10

在AlliedModders论坛找到了一个,应该没什么问题。
#include <amxmodx>
#include <amxmisc>

new onoff,rgb2,density_cvar,r,g,b,g_density
new bool:on

public plugin_init() {
        register_plugin("Advanced Fog","0.7","Sh!nE*")
        onoff = register_cvar("amx_fog_default","1")
        rgb2 = register_cvar("amx_fog_color","116 137 147")
        density_cvar = register_cvar("amx_fog_amount","3")
        register_concmd("amx_fog","set_fog",ADMIN_MAP,"<on/off> <r/g/b> <amount 1-9>")
}

public set_fog(id,level,cid)
{
        if (!cmd_access(id,level,cid,4)) return PLUGIN_HANDLED
        new args,rgb,numrgb,i,tempdens
        read_argv(1,args,15)
        read_argv(2,args,15)
        read_argv(3,args,15)
        new density = str_to_num(args)
        if((args=='0' && !args) || equali(args,"off")) {
                new temp_rgb2,temp_rgb
                get_pcvar_string(rgb2,temp_rgb,15)
                parse(temp_rgb,temp_rgb2,3,temp_rgb2,3,temp_rgb2,3)
                for(i=0;i < 3;i++) numrgb = str_to_num(temp_rgb2)
        } else {       
                parse(args,rgb,3,rgb,3,rgb,3)
                for(i=0;i < 3;i++) numrgb = str_to_num(rgb)
        }
        if(numrgb < 0 || numrgb > 255 || numrgb < 0 || numrgb > 255 || numrgb < 0 || numrgb > 255) {
                client_print(id,print_console,"WARNING: RGB has to be a number between 0 and 255.");
                for(i=0;i < 3;i++) numrgb = 150
        }
        if(density == 0 || density > 9 || density < 1) {client_print(id,print_console,"WARNING: Density has to be a number between 1 and 9");density = get_pcvar_num(density_cvar);}
        switch(density) {
                case 1:{tempdens=3;tempdens=58;tempdens=111;tempdens=18;}
                case 2:{tempdens=125;tempdens=58;tempdens=111;tempdens=18;}
                case 3:{tempdens=27;tempdens=59;tempdens=66;tempdens=96;}
                case 4:{tempdens=60;tempdens=59;tempdens=90;tempdens=101;}
                case 5:{tempdens=68;tempdens=59;tempdens=90;tempdens=101;}
                case 6:{tempdens=95;tempdens=59;tempdens=10;tempdens=41;}
                case 7:{tempdens=125;tempdens=59;tempdens=111;tempdens=18;}
                case 8:{tempdens=3;tempdens=60;tempdens=111;tempdens=18;}
                case 9:{tempdens=19;tempdens=60;tempdens=68;tempdens=116;}
        }
        g_density=tempdens
        g_density=tempdens
        g_density=tempdens
        g_density=tempdens
        r = numrgb
        g = numrgb
        b = numrgb

        if(equali(args,"on") || args=='1') {
                on = true
                message_begin(MSG_ALL,get_user_msgid("Fog"),{0,0,0},0)
                write_byte(numrgb)// R
                write_byte(numrgb)// G
                write_byte(numrgb)// B
                write_byte(tempdens) // SD
                write_byte(tempdens)// ED
                write_byte(tempdens)   // D1
                write_byte(tempdens)// D2
                message_end()
        }
        else if(equali(args,"off") || args=='0') {
                on = false
                message_begin(MSG_ALL,get_user_msgid("Fog"),{0,0,0},0)
                write_byte(0)// R
                write_byte(0)// G
                write_byte(0)// B
                write_byte(0) // SD
                write_byte(0)// ED
                write_byte(0)   // D1
                write_byte(0)// D2
                message_end()
        }
        return PLUGIN_HANDLED
}

public client_putinserver(id) set_task(0.1,"set_fog2",id)

public set_fog2(id) {
        if(on || get_pcvar_num(onoff)) {
                new number,tempdens
                if(g_density == 0 && !on) {
                        switch(get_pcvar_num(density_cvar)) {
                                case 1:{tempdens=3;tempdens=58;tempdens=111;tempdens=18;}
                                case 2:{tempdens=125;tempdens=58;tempdens=111;tempdens=18;}
                                case 3:{tempdens=27;tempdens=59;tempdens=66;tempdens=96;}
                                case 4:{tempdens=60;tempdens=59;tempdens=90;tempdens=101;}
                                case 5:{tempdens=68;tempdens=59;tempdens=90;tempdens=101;}
                                case 6:{tempdens=95;tempdens=59;tempdens=10;tempdens=41;}
                                case 7:{tempdens=125;tempdens=59;tempdens=111;tempdens=18;}
                                case 8:{tempdens=3;tempdens=60;tempdens=111;tempdens=18;}
                                case 9:{tempdens=19;tempdens=60;tempdens=68;tempdens=116;}
                        }
                }
                else {
                        tempdens = g_density
                        tempdens = g_density
                        tempdens = g_density
                        tempdens = g_density
                }
                if((r > 0 || g > 0 || b > 0) && on) {number = r;number = g;number = b;}
                else {
                        new string,string2,i
                        get_pcvar_string(rgb2,string,15)
                        parse(string,string2,3,string2,3,string2,3)
                        for(i=0;i < 3;i++) number = str_to_num(string2)
                        if(number < 0 || number > 255 || number < 0 || number > 255 || number < 0 || number > 255)
                                log_amx("WARNING: RGB has to be a number between 0 and 255.")
                }
                message_begin(MSG_ONE,get_user_msgid("Fog"),{0,0,0},id)
                write_byte(number)// R
                write_byte(number)// G
                write_byte(number)// B
                write_byte(tempdens) // SD
                write_byte(tempdens)// ED
                write_byte(tempdens)   // D1
                write_byte(tempdens)// D2
                message_end()
        }
}

/*
                                case 1:{tempdens=125;tempdens=58;tempdens=111;tempdens=18;}
                                case 2:{tempdens=3;tempdens=58;tempdens=111;tempdens=18;}
                                case 3:{tempdens=68;tempdens=59;tempdens=90;tempdens=101;}
                                case 4:{tempdens=125;tempdens=59;tempdens=111;tempdens=18;}
                                case 5:{tempdens=95;tempdens=59;tempdens=10;tempdens=41;}
                                case 6:{tempdens=60;tempdens=59;tempdens=90;tempdens=101;}
                                case 7:{tempdens=27;tempdens=59;tempdens=66;tempdens=96;}
                                case 8:{tempdens=3;tempdens=60;tempdens=111;tempdens=18;}
                                case 9:{tempdens=19;tempdens=60;tempdens=68;tempdens=116;}
                               
                                                   D1   D2   SD    ED
                                ----------------------------------------
                               0.001 = -125 ; 58 ; 111 ; 18
                               0.002 = 3 ; 59 ; 111 ; 18
                               0.003 = 68 ; 59 ; -90 ; -101
                               0.004 = -125 ; 59 ; 111 ; 18
                               0.005 = -93 ; 59 ; 10; -41
                               0.006 = -60 ; 59 ; -90 ; -101
                               0.007 = -27 ; 59 ; 66 ; 96
                               0.008 = 3 ; 60 ; 111 ; 18
                               0.009 = 19 ; 60 ; -68 ; 116
*/

Osker Lee 发表于 2011-7-24 15:57:24

这里还有一个更好的天气插件,能实现雨、雪、雾三种天气,地址如下:

Auto Weather:
http://forums.alliedmods.net/showthread.php?p=710369

点通粉丝 发表于 2011-7-24 17:12:18

Osker Lee 大哥又误会了..这些代码在CS1.5上跟本没用

点通粉丝 发表于 2011-7-24 17:13:19

你就帮忙写个a权限op按命令喷烟雾的来就行....................:dizzy:

Osker Lee 发表于 2011-7-24 18:12:34

你到底是要大雾天气插件还是喷雾插件啊,我都搞混了。我送你一个烟鬼僵尸插件吧,在游戏里按R键就可以喷黑雾了,可以让人类咳嗽和致盲。附带源码了,你有兴趣可以把它修改成普通的插件,那样就可以随意加OP权限了。

zwfgdlc 发表于 2011-7-24 20:35:18

1.5就是未必能用了.

Osker Lee 发表于 2011-7-24 21:04:57

已经放弃CS1.5了,服务器下载资源太慢,又没有宽屏补丁,我电脑是16:9宽屏的,画面拉扁了忒难看。而且装的是WIN7系统,对CS1.5的视图兼容性也有点问题。
页: [1] 2
查看完整版本: Osker Lee大哥-向你求个代码