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

Project1

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

[已经解决] 为什么我使用了这个变量脚本无法存档

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
84 小时
注册时间
2011-7-8
帖子
44
跳转到指定楼层
1
发表于 2014-5-9 12:01:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
就是这个独立变量的脚本,请问要如何修改才能存档?游戏做到一半才发现这问题..
  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
复制代码
某军事控翻译的脑残版CLANNAD
点击进入http://tieba.baidu.com/%E4%FE%BB ... 8f8e952ce6c4e1374d0

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

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

开拓者短篇九导演组冠军

2
发表于 2014-5-9 12:34:49 | 只看该作者
我最开头应该有写存档部分的代码?我之后再去试试看.........

你这个脚本以下的位置是不是还插入了类似截图存档之类的脚本?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
84 小时
注册时间
2011-7-8
帖子
44
3
 楼主| 发表于 2014-5-9 12:40:01 | 只看该作者
喵呜喵5 发表于 2014-5-9 12:34
我最开头应该有写存档部分的代码?我之后再去试试看.........

你这个脚本以下的位置是不是还插入了类似截 ...

没有插入别的脚本,我新建游戏只用这个脚本一样不能存档
某军事控翻译的脑残版CLANNAD
点击进入http://tieba.baidu.com/%E4%FE%BB ... 8f8e952ce6c4e1374d0
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

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

开拓者短篇九导演组冠军

4
发表于 2014-5-9 17:20:35 | 只看该作者
PIA 发表于 2014-5-9 12:40
没有插入别的脚本,我新建游戏只用这个脚本一样不能存档

脚本已修正
  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.     contents = 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 收起 理由
taroxd + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
84 小时
注册时间
2011-7-8
帖子
44
5
 楼主| 发表于 2014-5-9 17:58:21 | 只看该作者
喵呜喵5 发表于 2014-5-9 17:20
脚本已修正

可以存档了,非常感谢!!
某军事控翻译的脑残版CLANNAD
点击进入http://tieba.baidu.com/%E4%FE%BB ... 8f8e952ce6c4e1374d0
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-23 19:11

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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