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

Project1

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

[已经解决] 求独立变量的脚本

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
492 小时
注册时间
2013-6-15
帖子
206
跳转到指定楼层
1
发表于 2013-11-20 19:51:22 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本川正在研究纯事件的arpg,已经初有成效了,现在最大的问题就是代表怪物血量的变量了,如果很多怪物都用同一个变量代表血的话,就会这个怪物剩下一滴血,我去打另一个满血怪物的话,那只满血怪物就会死,而若果多个变量操作起来有很烦,这时看到有一个玩意叫独立变量,大概是每个事件中的同一个变量都是独立的,不会互相影响,所以就来求va的独立变量脚本了!谢谢大家,拜托了!

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21631
在线时间
9415 小时
注册时间
2012-6-19
帖子
7118

开拓者短篇九导演组冠军

2
发表于 2013-11-20 21:00:29 | 只看该作者
本帖最后由 喵呜喵5 于 2013-11-21 18:26 编辑

  1. =begin
  2. ===============================================================================
  3.   独立变量 By喵呜喵5
  4. ===============================================================================
  5. 【说明】
  6.   
  7.   给每个事件添加一个独立变量功能
  8.   可以实现类似ARPG中每个怪物事件都有单独的变量储存HP这样的效果
  9.   参考独立开关的脚本以下代码其实挺好写的,
  10.   唯一困难的是我不知道如何让你看懂这个脚本怎么用……
  11.   
  12.   针对完全不懂脚本的人,请看以下说明:
  13.   首先使用事件脚本
  14.     m5_give_value(变量的ID)
  15.   可以让指定ID的变量值变成当前事件的独立变量,

  16.   接着你可以用正常的方式修改该ID变量的数值或者在条件分歧中判断变量的数值

  17.   全部完成以后,使用事件脚本
  18.     m5_send_value(变量的ID)
  19.   将该ID变量的数值保存进这个事件的独立变量,以便下次再读取

  20.   针对稍微懂一点脚本的人,请看以下说明:
  21.   
  22.   使用事件脚本
  23.     m5_give_value(变量的ID,"变量名称(包括双引号)",事件ID,地图ID)
  24.   可以把指定地图指定ID的事件对应名称的独立变量的值赋值给对应ID的变量
  25.   变量ID之后的几个参数可以省略不写,默认为当前地图下本事件名为“self”的独立变量
  26.   
  27.   使用事件脚本
  28.     m5_send_value(变量的ID,"变量名称(包括双引号)",事件ID,地图ID)
  29.   可以把对应ID的变量的值赋值给指定地图指定ID的事件对应名称的独立变量
  30.   变量ID之后的几个参数可以省略不写,默认为当前地图下本事件名为“self”的独立变量

  31. =end
  32. $m5script = {} if $m5script.nil?
  33. $m5script["M5SelfVariables"] = true
  34. module M5SelfVariables
  35. #==============================================================================
  36. #  设定部分
  37. #==============================================================================

  38.   DEA = 100
  39.   
  40.   #这里设置独立变量的初始值

  41. #==============================================================================
  42. #  设定结束
  43. #==============================================================================
  44. end
  45. #==============================================================================
  46. #  脚本部分
  47. #==============================================================================
  48. class << DataManager
  49.   alias m5_20131119_create_game_objects create_game_objects
  50.   alias m5_20131119_make_save_contents make_save_contents
  51.   alias m5_20131119_extract_save_contents extract_save_contents
  52.   def create_game_objects
  53.     m5_20131119_create_game_objects
  54.     $game_self_variables = Game_SelfVariables.new
  55.   end
  56.   def make_save_contents
  57.     m5_20131119_make_save_contents
  58.     contents[:self_variables] = $game_self_variables
  59.     contents
  60.   end
  61.   def extract_save_contents(contents)
  62.     m5_20131119_extract_save_contents(contents)
  63.     $game_self_variables = contents[:self_variables]
  64.   end
  65. end
  66. class Game_SelfVariables < Game_SelfSwitches
  67.   def [](key)
  68.     @data[key]
  69.   end
  70. end
  71. class Game_Interpreter   
  72.   def m5_get_value(key= "self",event_id = @event_id,map_id = @map_id)
  73.     value = $game_self_variables[[map_id,event_id,key]]
  74.     return (value ? value : M5SelfVariables::DEA)
  75.   end
  76.   def m5_change_value(value= 0,key= "self",event_id= @event_id,map_id= @map_id)
  77.     $game_self_variables[[map_id,event_id,key]] = value
  78.   end
  79.   def m5_give_value(var = 0,key = "self",event_id = @event_id,map_id = @map_id)
  80.     $game_variables[var] = m5_get_value(key,event_id,map_id)
  81.   end
  82.   def m5_send_value(var = 0,key= "self",event_id = @event_id,map_id = @map_id)
  83.     m5_change_value($game_variables[var],key,event_id,map_id)
  84.   end
  85. end
复制代码

评分

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

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
492 小时
注册时间
2013-6-15
帖子
206
3
 楼主| 发表于 2013-11-21 17:21:11 | 只看该作者
谢谢,不过还是有点小乱,可以具体说说吗?拜托了!

点评

我更新了脚本  发表于 2013-11-21 18:18
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21631
在线时间
9415 小时
注册时间
2012-6-19
帖子
7118

开拓者短篇九导演组冠军

4
发表于 2013-11-21 18:05:29 | 只看该作者
本帖最后由 喵呜喵5 于 2013-11-21 18:25 编辑


(注释写错了,上面的语句最终实现的效果是本事件的HP扣了50 = =…………)

可以的话请@ 或者用回复不然我真心注意不到………………

点评

这脚本已经更新了:https://rpg.blue/home.php?mod=space&uid=291206&do=blog&id=12327  发表于 2017-12-13 19:07
_(:з」∠)_啊,这楼主要在举例把独立变量导入普通变量呀,明白了,那么怎样直接用条件分歧判断独立变量呢?  发表于 2017-12-13 13:26
_(:з」∠)_条件分歧中填的是普通变量?独立变量导入普通变量才能用条件分歧判断吗?同场景中多个独立变量都录入到普通变量不会互相干扰吗?  发表于 2017-12-13 13:23

评分

参与人数 1+1 收起 理由
MeowSnow + 1 流石喵呜菊苣

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
492 小时
注册时间
2013-6-15
帖子
206
5
 楼主| 发表于 2013-11-22 22:34:42 | 只看该作者
谢谢喵大,终于会了!谢谢
@喵呜喵5
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 15:48

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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