设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1848|回复: 8
打印 上一主题 下一主题

[已经解决] 怎么给脚本家开关,详情点→我←

[复制链接]

Lv1.梦旅人

梦石
0
星屑
44
在线时间
31 小时
注册时间
2010-6-26
帖子
56
跳转到指定楼层
1
发表于 2010-7-20 10:34:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
有些脚本自带的就有开关,但是,有些自带的没有开关,只要加进去,他就运行了··如果,我想控制他的运行,在需要的时候才运行,应该怎么弄?
这算伸手党么?我解决不了才问滴呀,如果哪位大大愿意赐教,
在下没齿难忘

Lv1.梦旅人

梦石
0
星屑
50
在线时间
462 小时
注册时间
2007-7-30
帖子
643
2
发表于 2010-7-20 10:39:06 | 只看该作者
额....
那你要先学脚本
看看脚本是怎样运作的

或者是请教6R大大们
不过要有奖赏就是...
RGE这万年大坑 啥时填起来@@

回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1195
在线时间
1564 小时
注册时间
2008-7-30
帖子
4418

贵宾

3
发表于 2010-7-20 10:39:41 | 只看该作者
这个需要在定义脚本时写,比如:
  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
复制代码
希望……希望能明白

See FScript Here:https://github.com/DeathKing/fscript
潜心编写URG3中。
所有对URG3的疑问和勘误或者建议,请移步至发布页面。
欢迎萌妹纸催更
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
44
在线时间
31 小时
注册时间
2010-6-26
帖子
56
4
 楼主| 发表于 2010-7-20 10:48:24 | 只看该作者
def method

  if $game_switchs[1]

    exp
(脚本)
  else

    exp
(空的)
  end

end
对吗?
脚本不好{:4_84:} 看看对不对?

点评

exp指的是表达式,就是你要执行的脚本,另外,我会回帖详细说明if的用法  发表于 2010-7-21 00:09
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
11 小时
注册时间
2008-9-15
帖子
72
5
发表于 2010-7-20 11:38:33 | 只看该作者
写个if else end条件语句,加入开关是否开启的条件应该是OK的

评分

参与人数 1星屑 +200 收起 理由
「旅」 + 200 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
270 小时
注册时间
2010-2-4
帖子
1305
6
发表于 2010-7-20 11:42:36 | 只看该作者
加个条件分歧呗
好歹当年也当过大魔王过,orz
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
44
在线时间
31 小时
注册时间
2010-6-26
帖子
56
7
 楼主| 发表于 2010-7-20 17:05:35 | 只看该作者
额,你们完美滴回答了问题,我应该干什么?
1.正确解答了提问并被楼主认可后请PM任意一位当前在线的版主。
↑我不会告诉你们版主们懒得看各个帖子的
这件事应该谁干?
额,DeathKing 皮卡猫 zhangbanxian 等对我有很大帮助,俺想谢谢恁啊~~
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1195
在线时间
1564 小时
注册时间
2008-7-30
帖子
4418

贵宾

8
发表于 2010-7-21 00:17:50 | 只看该作者
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脚本帝帮助手册都有详细的说明。

评分

参与人数 1星屑 +600 收起 理由
「旅」 + 600 认可答案

查看全部评分


See FScript Here:https://github.com/DeathKing/fscript
潜心编写URG3中。
所有对URG3的疑问和勘误或者建议,请移步至发布页面。
欢迎萌妹纸催更
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1281 小时
注册时间
2006-8-27
帖子
590
9
发表于 2010-7-21 00:40:07 | 只看该作者
return if $game_switches[1] == false

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

点评

除非你开关关闭的时候啥也不做你就完全可以这样写。而且return unless $game_switches[1]你你那个还排版舒服  发表于 2010-7-21 01:14
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-12-27 18:12

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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