Project1

标题: 一个简单的问题,之前提问方式有误,修正 [打印本页]

作者: 风雪优游    时间: 2009-7-24 12:12
标题: 一个简单的问题,之前提问方式有误,修正
本帖最后由 风雪优游 于 2009-7-24 20:11 编辑

一句在事件中引用的脚本。

就是在一组道具中,比如11-40号道具,随其抽取其中5个(互不相同的道具)给主角。(希望能告诉我使用方法,我好修改)
似乎很简单的问题,但我完全脚本无能啊- -

另外一句与上面对应,删除随机获得的物品

也就是说我调用一个脚本随机获得了某些物品,调用第二个脚本就可以删除我获得的那些。
作者: 八云紫    时间: 2009-7-24 12:23
id = rand(30) + 11
type = rand(3)
case type
when 0
   item = $data_items[id]
when 1
  item = $data_weapons[id]
when 2
  item = $data_armors[id]
end
$game_party.gain_item(item,1)
作者: 风雪优游    时间: 2009-7-24 13:02
本帖最后由 风雪优游 于 2009-7-24 13:06 编辑

谢谢,但能不能简单解释一下?

另外补充一点,并且能删除随机获得的物品

测试后,啥也没有得到……
作者: 卡比王道    时间: 2009-7-24 13:02
我也不会。
作者: dbshy    时间: 2009-7-24 13:05
rand -----随机
type -----类型
gain_item -----获得物品的方法

看得懂英文应该没多大问题
作者: 风雪优游    时间: 2009-7-24 13:10
意思知道也不太明白使用方法
作者: dbshy    时间: 2009-7-24 13:13
因为您对F1和默认脚本不熟悉,多多看应该很好掌握
作者: DeathKing    时间: 2009-7-24 14:15
id = rand(30) + 11 # 为变量id随机生成数值,范围为0+11~29+11,即11~40
type = rand(3)                 # 为变量type随机生成数值,范围为0~2,这个type变量决定了道具的种类,下面会解释
case type                         # 分歧判断变量type的值
when 0                            # 如果为0的话
   item = $data_items[id]   # 就设定item为道具
when 1                            # 如果为1的话
  item = $data_weapons[id] # 设定item为武器
when 2                            # 如果为2的话
  item = $data_armors[id] # 设定item为防具
end                                  # 结束分歧
$game_party.gain_item(item,1) # 重要语句,主角获得道具,因为有随机函数rand的存在,所以完全是随机的。
提妲 发表于 2009-7-24 12:23



我给加上注释为LZ解释

值得说明的一点,LZ如果完全要求获得的是道具,而不掺杂防具和武器,脚本可以这样写:




  1. id = rand(30) + 11
  2. item = $data_items[id]
  3. $game_party.gain_item(item,1)

复制代码

作者: DeathKing    时间: 2009-7-24 14:16
顺便连帖说一下,把脚本放在事件的“执行脚本”指令中就可以正常使用。

还有,LZ的第二个问题谬搞明白……
作者: 越前リョーマ    时间: 2009-7-24 17:00
我很不负责任的说,用事件做吧。
想了下,稍微配合点简单的弱智事件脚本,会简单点。
[line]1[/line]
首先对一个变量(这里把它当作1号)进行随机数,比如1~5
再对另外一个变量(2号)进入随机数,比如1~5
事件脚本:$game_party.gain_item($data_items[$game_variables[1]],$game_variables[2])
意思就是:增加一号变量的物品二号变量个
这里每进行一次给三号变量加2,三号变量的初始数值为3.
然后事件脚本:$game_variables[$game_variables[3]+2],这样把物品的编号自动代入到了某个变量中。
这里给四号变量也加2,四个变量的初始数值为4.
事件脚本:$game_variables[$game_variables[4]+2],这里把物品的数量自动代入到某个变量中。

这样就OK了。
以此类推也可以制作别的随机物品的增加,要减少的时候也差不多,因为你已经知道了物品的编号和数量,$game_party.gain_item($data_items[1],1)是增加一号物品,那么可以把它改成减少。

不过我觉得我说完其实还满麻烦的,而且思路也很混乱,有错误不负责……  = =
作者: 风雪优游    时间: 2009-7-24 19:07
其实事件我会(只是觉得麻烦)……谢谢各位。
第二个问题是让获得的物品消失。也就是我调用一个脚本随机获得了某些物品,调用第二个脚本就可以删除我获得的那些。
作者: 沉影不器    时间: 2009-7-24 19:40
提示: 作者被禁止或删除 内容自动屏蔽
作者: 风雪优游    时间: 2009-7-24 20:10
本帖最后由 风雪优游 于 2009-7-24 20:12 编辑

对,互不相同的……
话说沉影好久不见,你的那个脚本我不知道怎么使用拉= =

——我真是脚本白痴
作者: 沉影不器    时间: 2009-7-26 12:52
提示: 作者被禁止或删除 内容自动屏蔽




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