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

Project1

 找回密码
 注册会员
搜索

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

查看数: 4035 | 评论数: 4 | 收藏 2
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2015-6-11 01:35

正文摘要:

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

回复

喵呜喵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 問題解決了,感謝熱心及耐心的幫助! :).

查看全部评分

喵呜喵5 发表于 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 认可答案

查看全部评分

taroxd 发表于 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 我很赞同

查看全部评分

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

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

GMT+8, 2024-12-23 00:43

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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