Project1

标题: 怎么给脚本家开关,详情点→我← [打印本页]

作者: ohyee    时间: 2010-7-20 10:34
标题: 怎么给脚本家开关,详情点→我←
有些脚本自带的就有开关,但是,有些自带的没有开关,只要加进去,他就运行了··如果,我想控制他的运行,在需要的时候才运行,应该怎么弄?
这算伸手党么?我解决不了才问滴呀,如果哪位大大愿意赐教,
在下没齿难忘
作者: david50407    时间: 2010-7-20 10:39
额....
那你要先学脚本
看看脚本是怎样运作的

或者是请教6R大大们
不过要有奖赏就是...
作者: DeathKing    时间: 2010-7-20 10:39
这个需要在定义脚本时写,比如:
  1. def method
  2.   if $game_switches[1]
  3.     exp
  4.   else
  5.     exp
  6.   end
  7. end
复制代码
不是向下面这样
  1. if $game_switches[1]
  2.   def method
  3.     exp
  4.   end
  5. end
复制代码
希望……希望能明白
作者: ohyee    时间: 2010-7-20 10:48
def method

  if $game_switchs[1]

    exp
(脚本)
  else

    exp
(空的)
  end

end
对吗?
脚本不好{:4_84:} 看看对不对?
作者: 皮卡猫    时间: 2010-7-20 11:38
写个if else end条件语句,加入开关是否开启的条件应该是OK的
作者: zhangbanxian    时间: 2010-7-20 11:42
加个条件分歧呗
作者: ohyee    时间: 2010-7-20 17:05
额,你们完美滴回答了问题,我应该干什么?
1.正确解答了提问并被楼主认可后请PM任意一位当前在线的版主。
↑我不会告诉你们版主们懒得看各个帖子的
这件事应该谁干?
额,DeathKing 皮卡猫 zhangbanxian 等对我有很大帮助,俺想谢谢恁啊~~
作者: DeathKing    时间: 2010-7-21 00:17
if-elsif-else-end 是 Ruby 中常见的控制结构,语法如下

exp 是表达式的意思,可以理解为代码;
[] 代表可选,也就是可要可不要。

  1. if true [then]
  2.   exp1
  3. [elsif true [then]
  4.   exp2]
  5. [else
  6.   exp3]
  7. end
复制代码
if会首先计算if后面的表达式,如果表达式的值为true(真,即成立)则会执行exp1,(为了保持简洁,then一般不写)。如果表达式不为真,那么就计算elsif后面的表达式(如果有elsif的话)。同样,当这个表达式为true,则执行exp2。如果elsif也不满足则无条件执行else(如果有else的话),否则就直接跳出。

当然,可以有多条elsif语句!

$game_switches是由RGSS定义的一个数组(Array),每一个数组都有一个布林值(TrueClass或FalseClass的唯一实例)即真(成立,开关开)和伪(不成立,开关关)。

判定一个开关是否为开,可以这样写: if $game_switches[开关编号] == true (判断相等是 == )

事实上,开关为开的话,该元素的值就为true,所以可以简写为:if $game_switches[开关编号]


if还有修饰符结构,缩成一句话结构,这些RGSS的F1脚本帝帮助手册都有详细的说明。
作者: wbsy8241    时间: 2010-7-21 00:40
return if $game_switches[1] == false

写在内容的第一行 这样写 排版更清楚吧




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1