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

Project1

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

[已经解决] 请问如何制作一种事件或脚本,给予脚色没拿过的物品?

[复制链接]

Lv2.观梦者

梦石
0
星屑
567
在线时间
465 小时
注册时间
2009-10-11
帖子
407
跳转到指定楼层
1
发表于 2015-6-11 01:35:37 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
想做一个系统遇到一点小问题...就是我做了奖励道具item[21]~[50]一共30样道具,玩家在第一次领奖时会获得[21]~[50]其中一样(譬如抽到[35])。
那么下次他在领奖时会从[21]~[34]和[36]~[50]这29样道具中抽到其中一样。

请问该做何种脚本或事件来做这种"箱子抽不重复号码球"的系统呢??
因为现实太残酷、所以我们都在打造虚幻的天堂。如果现实不再残酷,也是因为有这快乐的天堂。

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

2
发表于 2015-6-11 09:14:39 | 只看该作者
RUBY 代码复制
  1. module JustForFun
  2.  
  3.   ITEMS_LEFT = (21..50).to_a
  4.  
  5.   # 还有奖时返回数字,没有时返回 nil
  6.   def self.draw
  7.     ITEMS_LEFT.slice!(rand ITEMS_LEFT.size)
  8.   end
  9. end


用 JustForFun.draw 获取抽到的数字。

点评

抱歉...我用$game_variables[99] = JustForFun.draw 會報錯...有點不懂這腳本用法..求教 :'(  发表于 2015-6-11 11:03

评分

参与人数 1梦石 +1 收起 理由
VIPArcher + 1 我很赞同

查看全部评分

回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21815
在线时间
9435 小时
注册时间
2012-6-19
帖子
7120

开拓者短篇九导演组冠军

3
发表于 2015-6-11 21:34:22 | 只看该作者
本帖最后由 喵呜喵5 于 2015-6-11 21:39 编辑
  1. class Game_Interpreter; def m5_20150611_creat_list(var,range)
  2.     $game_variables[var] = range.to_a.shuffle
  3.   end; def m5_20150611_draw_list(var,empty)   
  4.     ( $game_variables[var].pop || empty ) rescue empty
  5. end; end
复制代码
插入脚本,

使用
  m5_20150611_creat_list(1,21..50)
来将玩家需要抽取的数据(21~50之间)保存在1号变量中【之后随意修改1号变量的值将导致玩家已抽取的道具数据丢失

使用
  m5_20150611_draw_list(1,-1)
来抽取储存在1号变量中且玩家之前没有抽过的数字,若玩家已经抽过所有的数字时,抽到的数字固定为 -1

点评

用 m5_20150611_draw_list(1,-1) 来抽取数字  发表于 2015-6-11 22:00
你怎么抽的?  发表于 2015-6-11 21:59
您好,感謝幫忙!! 但是他一次都會抽不只一個數字...是一大串 >"<??  发表于 2015-6-11 21:59

评分

参与人数 1梦石 +1 收起 理由
VIPArcher + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
567
在线时间
465 小时
注册时间
2009-10-11
帖子
407
4
 楼主| 发表于 2015-6-11 22:02:30 | 只看该作者
喵呜喵5 发表于 2015-6-11 21:34
插入脚本,

使用

我附上圖片了...請您看一下...

2015-06-11_220037.png (2 KB, 下载次数: 55)

1

1

2015-06-11_220101.png (39.64 KB, 下载次数: 51)

2

2
因为现实太残酷、所以我们都在打造虚幻的天堂。如果现实不再残酷,也是因为有这快乐的天堂。
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21815
在线时间
9435 小时
注册时间
2012-6-19
帖子
7120

开拓者短篇九导演组冠军

5
发表于 2015-6-11 22:05:36 | 只看该作者
m5_20150611_creat_list(99,21..50)
只要执行一次,重复执行表示从21~50重新开始一次不重复的抽取

抽取时这么做:
$game_variables[100] = m5_20150611_draw_list(99,-1)
显示文字:你抽到的是\v[100]

评分

参与人数 2星屑 +16 梦石 +1 收起 理由
taroxd + 1 认可答案
a000b1745 + 16 問題解決了,感謝熱心及耐心的幫助! :).

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-22 18:52

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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