|
已解决,见9楼
今天做图时碰到了一些诡异的问题...
1. "对话框"全局变量如果使用数组来记录,在"事件-对话框被点击"里使用则会无效,即不会执行这个事件里的所有动作
解决办法: 使用非数组类型的对话框变量
2. 先看一个T
[trigger]
Set Choose Game Mode info
事件
时间 - 游戏开始 3.00 秒
条件
动作
游戏 - 对 (所有玩家) 发送文本信息: |cFFFFFF00等待第...
对话框 - 设置 Dialog_info 的标题为 您是第一个玩...
对话框 - 为 Dialog_info 添加按钮, 按钮标题为: |cffffcc001|r 由... 快捷键为: 1
设置 Dialog_Button[1] = (最后创建的对话框按钮)
对话框 - 为 Dialog_info 添加按钮, 按钮标题为: |cffffcc002|r 投... 快捷键为: 2
设置 Dialog_Button[2] = (最后创建的对话框按钮)
对话框 - 对 FirstPlayer 设置 Dialog_info 显示
[/trigger]
其中的 FirstPlayer 是"玩家"类的全局变量
然后,不管使用下列哪个T,都不能正确获得FirstPlayer的值
[trigger]
Set First Player 1
事件
时间 - 游戏开始 0.50 秒
条件
动作
自定义代码: local integer i = 0
自定义代码: loop
自定义代码: exitwhen i > 5
自定义代码: if GetPlayerController(Player(i)) == MAP_CONTROL_USER then
自定义代码: set udg_FirstPlayer = Player(i)
自定义代码: return
自定义代码: endif
自定义代码: set i = i + 1
自定义代码: endloop
[/trigger]
[trigger]
Set First Player 2
事件
时间 - 游戏开始 0.50 秒
条件
动作
自定义代码: if GetPlayerController(Player(0)) == MAP_CONTROL_USER then
自定义代码: set udg_FirstPlayer = Player(0)
自定义代码: elseif GetPlayerController(Player(1)) == MAP_CONTROL_USER then
自定义代码: set udg_FirstPlayer = Player(1)
自定义代码: elseif GetPlayerController(Player(2)) == MAP_CONTROL_USER then
自定义代码: set udg_FirstPlayer = Player(2)
自定义代码: elseif GetPlayerController(Player(3)) == MAP_CONTROL_USER then
自定义代码: set udg_FirstPlayer = Player(3)
自定义代码: elseif GetPlayerController(Player(4)) == MAP_CONTROL_USER then
自定义代码: set udg_FirstPlayer = Player(4)
自定义代码: elseif GetPlayerController(Player(5)) == MAP_CONTROL_USER then
自定义代码: set udg_FirstPlayer = Player(5)
自定义代码: endif
[/trigger]
[trigger]
Set First Player 3
事件
时间 - 游戏开始 0.50 秒
条件
动作
自定义代码: if GetPlayerController(Player(0)) != MAP_CONTROL_USER then
自定义代码: if GetPlayerController(Player(1)) != MAP_CONTROL_USER then
自定义代码: if GetPlayerController(Player(2)) != MAP_CONTROL_USER then
自定义代码: if GetPlayerController(Player(3)) != MAP_CONTROL_USER then
自定义代码: if GetPlayerController(Player(4)) != MAP_CONTROL_USER then
自定义代码: if GetPlayerController(Player(5)) != MAP_CONTROL_USER then
自定义代码: else
自定义代码: set udg_FirstPlayer = Player(5)
自定义代码: endif
自定义代码: else
自定义代码: set udg_FirstPlayer = Player(4)
自定义代码: endif
自定义代码: else
自定义代码: set udg_FirstPlayer = Player(3)
自定义代码: endif
自定义代码: else
自定义代码: set udg_FirstPlayer = Player(2)
自定义代码: endif
自定义代码: else
自定义代码: set udg_FirstPlayer = Player(1)
自定义代码: endif
自定义代码: else
自定义代码: set udg_FirstPlayer = Player(0)
自定义代码: endif
[/trigger]
结果是没有任何对话框对任何玩家显示.......为什么? |
|