找回密码
 点一下
查看: 1783|回复: 6

谢谢大家,代码出错已解决,但暂时不知能否实现效果

[复制链接]
发表于 2008-5-9 14:43:25 | 显示全部楼层 |阅读模式
正在测试呵呵:

【------------------------------------------
function CheckSelectUnit  takes nothing
local integer i
local integer numplayer
local unit unitcheck
local boolean rcheck
local group groupcheck
set groupcheck = CreateGroup()     
set numplayer = GetPlayers()                //获得玩家数量
set i = 0

loop                                                             //循环检测每个玩家目前选中单位是否可见start
exitwhen i>numplayer
call GroupEnumUnitsSelected(groupcheck,Player(i),null)        
call CountUnitsInGroupEnum()
if bj_groupCountUnits==1 then              //若玩家所选单位数量为1则检测
set unitcheck =  GroupPickRandomUnit(groupcheck)
set rcheck = IsUnitVisible(unitcheck,Player(i))               
if rcheck == false then                                      //若单位对玩家不可见
call DisplayTextToPlayer(Player(i),0,0, "selected invisible Unit" ) //显示作弊-
endif
endif
set i = i + 1
endloop                                                         //循环检测END

set unitcheck = null                                     //清除变量
set groupcheck = null

endfunction
---------------------------------】








1
发表于 2008-5-9 14:55:49 | 显示全部楼层
numplayer没值

call GroupEnumUnitsSelected(groupcheck,Player(i),null)


实在太乱
回复

使用道具 举报

发表于 2008-5-9 14:58:46 | 显示全部楼层
首先作为函数就不该起这种一条下划线这种乱七八糟的名字~~

另外~~当函数用于传值的时候是不能在前面加call的~~

此外还有很多问题~~比方说试图枚举组中单位却没有给出针对每个元素要做的动作~~
回复

使用道具 举报

 楼主| 发表于 2008-5-9 15:11:34 | 显示全部楼层
:),赶紧改去,包括函数名 。一会小弟再把代码放上来不管行不行。
回复

使用道具 举报

发表于 2008-5-10 10:21:27 | 显示全部楼层
如果想在组动作之外对单位组做枚举操作,可以用FirstofGroup来轮检单位
[codes=jass]....
local group temp_group=CreateGroup()
local unit check_unit=null
call GroupEnumUnitsSelected(temp_group,which player , your filter)
loop
set check_unit=FirstOfGroup(temp_group)
exitwhen check_unit==null
//对待检单位的动作
call GroupRemoveUnit(temp_group,check_unit)
endloop
....
Destroy temp_group
...[/codes]
回复

使用道具 举报

 楼主| 发表于 2008-5-10 22:02:08 | 显示全部楼层
谢谢KOOK大哥,我又遇到新问题了,一不小心打错为"end if"(中间多了空格)在保存地图时WE就会直接挂掉,是WE的BUG吗?
回复

使用道具 举报

发表于 2008-5-12 11:48:42 | 显示全部楼层
这类是原版WE的检测崩溃问题,比如漏了endif,endloop保存直接崩溃,连改的余地都没有。。
可以用wehelper 、New Gen WE 自编语法检测的编辑器
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-11-24 05:56 , Processed in 0.032232 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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