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 15:01 编辑
打开amxmodx/configs/zombieplague.ini,找到下面的代码,只要FOG = 1,就是大雾天气了。
RAIN = 0
SNOW = 0
FOG = 1
FOG DENSITY = 0.0018
FOG COLOR = 128 128 128 大哥你误会了我的不是CS1.6 4.3版本的僵尸插件来的..如果是1.6的话随便都可实现有雾了
我的版本是CS1.5 1.2僵尸感染版来的跟本没有这些文件
amxmodx/configs/zombieplague.ini,
我就想你单独写一个a权限op按命令喷烟雾的来实现一下而儿......... 在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
*/
这里还有一个更好的天气插件,能实现雨、雪、雾三种天气,地址如下:
Auto Weather:
http://forums.alliedmods.net/showthread.php?p=710369 Osker Lee 大哥又误会了..这些代码在CS1.5上跟本没用 你就帮忙写个a权限op按命令喷烟雾的来就行....................:dizzy: 你到底是要大雾天气插件还是喷雾插件啊,我都搞混了。我送你一个烟鬼僵尸插件吧,在游戏里按R键就可以喷黑雾了,可以让人类咳嗽和致盲。附带源码了,你有兴趣可以把它修改成普通的插件,那样就可以随意加OP权限了。 1.5就是未必能用了. 已经放弃CS1.5了,服务器下载资源太慢,又没有宽屏补丁,我电脑是16:9宽屏的,画面拉扁了忒难看。而且装的是WIN7系统,对CS1.5的视图兼容性也有点问题。
页:
[1]
2