初级玩家

- 贡献度
- 6
- 金元
- 765
- 积分
- 41
- 精华
- 0
- 注册时间
- 2011-6-24
|
本帖最后由 415462822 于 2011-7-14 21:09 编辑
我是新手,想做一个多姿势选择的魔法MOD。
在官网上看到MessageBox 和 GetButtonPressed函数,我觉得这是我应该用得上的两个函数。
我在官网http://cs.elderscrolls.com/constwiki/index.php/GetButtonPressed上看到GetButtonPressed的例程。
begin ScriptEffectStart
messagebox "Melt money?" "Yes" "No"
end
begin ScriptEffectUpdate
set choice to GetButtonPressed
if choice == 0
player.RemoveItem Gold001 1000
endif
end
把它复制到我的魔法中。但是使用这个魔法后只弹出"Melt money? yes,no"的对话框。可是我无论点Yes还是No都没有反应。
于是我把程序改为
begin ScriptEffectStart
messagebox "Melt money?" "Yes" "No"
end
begin ScriptEffectUpdate
set button to GetButtonPressed
message "button return %.0f abc" ,button
end
想通过“message "button return %.0f abc" ,button”来看看,GetButtonPressed读出的到底是什么值。
最后发现当我运行魔法弹出"Melt money?" "Yes" "No"的对话框,还没有点击任何选项时
就已经弹出"button return -1 abc" 了。
当我选择“Yes”或“No”后,均无任何反应。连"button return -1 abc"都没有显示。
不知道这是什么原因。
我还曾将程序改为
begin ScriptEffectStart
messagebox "Melt money?" "Yes" "No"
set state to 2 ;
return
end
begin ScriptEffectUpdate
if (state ==2)
set button to GetButtonPressed
message "button return %.0f abc" ,button
set state to 0
endif
end
我原来写过C++程序,知道程序应该是一步步执行的,我认为当messagebox "Melt money?" "Yes" "No" 执行完后才执行set state to 2 ,
但是我进入游戏后一运行魔法,对话框一弹出就显示"button return -1abc" 了这说明在我按下"Yes" "No" 前程序就执行到set state to 2 了。
当我按下任何一个键后,GetButtonPressed返回的值都是它原来的-1.
我不知道这个实现选择功能的魔法怎么写了。望高手指教。 |
|