CS菜鸟鸟 发表于 2006-11-5 10:43:23

Kinsprite大哥请进~

小弟一直在用大哥发布的哪个Warcraft 3
但是我觉得有点不合理的就是大家在游戏里面可以随便改种族,弄的很多人到了6级后乱变种族不爽~
小弟希望大哥指点下把改变种族这个开关选项注销了
小弟找到以下参数可能是开关但是小弟还不确定希望大家指点和修改下
register_clcmd("changerace","change_race",-1,"changerace")

是否是
//register_clcmd("changerace","change_race",-1,"changerace")

就搞定了?
这样会不会出错~
或则能这样更好
玩家在选着改变种族。有个语句提醒就最好了
比如说 :对不起服务器关闭了改变种族选项


希望大哥帮个忙
我刚才这样测试过了
结果一样的能换种族~
现在只有等待大哥指点了。。。。。。。。。。。。。

hqzycs 发表于 2006-11-5 11:48:58

回复: Kinsprite大哥请进~

han......##@@@@@@@@@@@@@@@

kinsprite 发表于 2006-11-5 13:30:27

回复: Kinsprite大哥请进~

只改这个地方肯定不行. 还有menu部分, 其它部分我就不清楚了.
你一个一个查找下去吧.   不要改得玩家都没有机会选择种族了.

CS菜鸟鸟 发表于 2006-11-5 13:56:29

回复: Kinsprite大哥请进~

意思是changerace
只要有这类的参数都禁止了?

kinsprite 发表于 2006-11-5 14:10:29

回复: Kinsprite大哥请进~

当然不只这个关键字, 这函数里面还包含其他函数. 总之, 改别人的东西 或 看别人的东西的时候, 一碰到比较大的, 就麻烦了.

CS菜鸟鸟 发表于 2006-11-5 15:39:22

回复: Kinsprite大哥请进~

呵呵在你指点下
我已经解决了
但是我还想问个问题~
怎么提高不死族的自暴范围~
还有哪个地穴族好象6级大决没什么效果~能否提升对敌人伤害的效果~
这个是不死的
// ****************************************
// Undead's Suicide Bomber
// ****************************************
public apacheexplode(parm){// Suicide Bomber
new id = parm
// random explosions
#if ADVANCED_STATS
new WEAPON = CSW_SUICIDE - CSW_WAR3_MIN
iStatsShots++
#endif
new origin, origin2
origin = parm
origin = parm
origin = parm
origin2 = origin + random_num( -100, 100 )
origin2 = origin + random_num( -100, 100 )
origin2 = origin + random_num( -50, 50 )

if(!g_mapDisabled)
Create_TE_EXPLOSION(origin, origin2, g_sFireball, (random_num(0,20) + 20), 12, TE_EXPLFLAG_NONE)
#if MOD == 0
if(!g_mapDisabled)
Create_TE_Smoke(origin, origin2, g_sSmoke, 60, 10)
#endif
new players
new numberofplayers
get_players(players, numberofplayers)
new i
new targetid
new distancebetween
new targetorigin
new damage
new multiplier
for (i = 0; i < numberofplayers; ++i){
targetid=players
get_user_origin(targetid,targetorigin)
distancebetween=get_distance(origin,targetorigin)
if (distancebetween < EXPLOSION_RANGE && get_user_team(id)!=get_user_team(targetid) && p_data!=ITEM_NECKLACE && !p_data_b){
   multiplier=(EXPLOSION_MAX_DAMAGE*EXPLOSION_MAX_DAMAGE)/EXPLOSION_RANGE
   damage=(EXPLOSION_RANGE-distancebetween)*multiplier
   damage=sqroot(damage)
   if(is_user_alive(targetid))
    WAR3_damage(targetid, id, damage, CSW_SUICIDE, -1)
}
if (distancebetween < EXPLOSION_RANGE){
   Create_ScreenShake(targetid, (1<<14), (1<<13), (1<<14))
}
}
--parm
if (parm>0)
set_task(0.1,"apacheexplode",TASK_EXPLOSION+id,parm,5)

return PLUGIN_CONTINUE
}
public blastcircles(parm){
if ( endround )
return 0
// Create Blast Circles
if(g_mapDisabled)
return PLUGIN_CONTINUE
new origin, origin2
origin = parm
origin = parm
origin = parm - 16
origin2 = origin
origin2 = origin
origin2 = origin + EXPLOSION_BLAST_RADIUS
Create_TE_BEAMCYLINDER(origin, origin, origin2, g_sSpriteTexture, 0, 0, 6, 16, 0, 188, 220, 255, 255, 0)
origin2 = (origin - EXPLOSION_BLAST_RADIUS) + (EXPLOSION_BLAST_RADIUS / 2 )
Create_TE_BEAMCYLINDER(origin, origin, origin2, g_sSpriteTexture, 0, 0, 6, 16, 0, 188, 220, 255, 255, 0)
return PLUGIN_CONTINUE
}


下面是地穴的
// ****************************************
// Crypt Lord's Locust Swarm
// ****************************************
Ultimate_LocustSwarm(id){
#if ADVANCED_DEBUG
writeDebugInfo("calllocustfunction",id)
#endif

new parm
parm=id
new players, numberofplayers, i, player, possibility, count = 0
get_players(players, numberofplayers)
for (i = 0; i < numberofplayers; ++i){
player=players
if(get_user_team(player)!=get_user_team(id) && is_user_alive(player) && !p_data_b && p_data!=ITEM_NECKLACE){
   possibility=player
   count++
}
}
if(count==0){
set_hudmessage(178, 14, 41, -1.0, 0.3, 0, 1.0, 5.0, 0.1, 0.2, 5)
show_hudmessage(id,"%L",id,"NO_VALID_TARGETS_FOUND")
return PLUGIN_CONTINUE
}
while(parm==0)      // Prevents target from being the server
parm=possibility
new origin, origin2
get_user_origin(id,origin)
get_user_origin(parm,origin2)
parm=origin
parm=origin
parm=origin
Ultimate_Icon(id,ICON_FLASH)
p_data_b=true
drawfunnels(parm)
return PLUGIN_CONTINUE
}
public drawfunnels(parm[]){
new MULTIPLIER = 150 // the lower the number the faster it reaches the target
new id = parm
new caster = parm
if(p_data==ITEM_NECKLACE || p_data_b || !is_user_alive(id) || !p_data_b){
p_data_b=false
Ultimate_Icon(caster,ICON_SHOW)
return PLUGIN_HANDLED
}
new origin, funnel, name, name2
get_user_name(id,name,31)
get_user_name(caster,name2,31)
get_user_origin(id,origin)
funnel=parm   // Origin of the funnel
funnel=parm
funnel=parm

if(!g_mapDisabled)
Create_TE_LARGEFUNNEL(funnel, g_sSnow, 0)

new xdist = diff(origin,funnel)
new ydist = diff(origin,funnel)
new zdist = diff(origin,funnel)
if(diff(origin,(funnel-MULTIPLIER))<xdist)
parm=funnel-MULTIPLIER
else if(diff(origin,(funnel+MULTIPLIER))<xdist)
parm=funnel+MULTIPLIER
else
parm=origin
if(diff(origin,(funnel-MULTIPLIER))<ydist)
parm=funnel-MULTIPLIER
else if(diff(origin,(funnel+MULTIPLIER))<ydist)
parm=funnel+MULTIPLIER
else
parm=origin
if(diff(origin,(funnel-MULTIPLIER))<zdist)
parm=funnel-MULTIPLIER
else if(diff(origin,(funnel+MULTIPLIER))<zdist)
parm=funnel+MULTIPLIER
else
parm=origin
if(!endround){
if(!(xdist<50 && ydist<50 && zdist<50)){
   #if MOD == 1
    set_task(0.5,"drawfunnels",caster+TASK_FUNNELS,parm,11)
   #else
    set_task(0.1,"drawfunnels",caster+TASK_FUNNELS,parm,11)
   #endif
}
else{
   WAR3_damage(id, caster, 45, CSW_LOCUSTS, -1)
   emit_sound(id,CHAN_STATIC, SOUND_LOCUSTSWARM, 1.0, ATTN_NORM, 0, PITCH_NORM)
   Ultimate_Icon(caster,ICON_HIDE)
   new cooldownparm
   cooldownparm=caster
   
   p_data = iCvar
   _Ultimate_Delay(cooldownparm)
}
}
return PLUGIN_HANDLED
}


请大哥指点~

wtswangba 发表于 2006-11-5 17:33:53

回复: Kinsprite大哥请进~

你说的有些东西可以在war3FT.cfg里面改的

CS菜鸟鸟 发表于 2006-11-5 18:11:22

回复: Kinsprite大哥请进~

但是这些东西不能在CFG里面改

degame 发表于 2006-11-5 20:12:25

回复: Kinsprite大哥请进~

地穴族的伤害还不厉害啊?
在我的服里,经常看到很多菜鸟不会买魔免,于是我就换地穴,走一阵放一阵,经常都看不到人在哪里就死了几个。
我都还想降低他的伤害呢。

CS菜鸟鸟 发表于 2006-11-5 20:15:03

回复: Kinsprite大哥请进~

你用的是什么版本的魔兽我
我用的是Kinsprite发布的2。3。2版本的哪个版本
页: [1]
查看完整版本: Kinsprite大哥请进~