Project1

标题: 如何遺忘現有技能,並重新更新為數據庫的技能? (已解決) [打印本页]

作者: 冷徹心扉    时间: 2015-10-11 14:28
标题: 如何遺忘現有技能,並重新更新為數據庫的技能? (已解決)
本帖最后由 冷徹心扉 于 2015-10-12 19:29 编辑

如何遺忘現有技能,並重新更新為數據庫的技能?

因為遊戲更新後,所學得的技能有了許多的改變
但已學得的技能是跟著存檔走的
如何做一個公共事件,讓角色遺忘所有技能,並重新從數據庫中讀取呢?
作者: 梦无笙    时间: 2015-10-11 19:50
你这个问题描述不清楚。
如果仅仅是遗忘技能很简单,
  1. for actor in $game_party.members
  2.   for skill in actor.skills
  3.     actor.forget_skill(skill.id)
  4.   end
  5. end
复制代码
旧技能与新技能之间有何联系,是名字一样还是ID一样,或者说学习的等级一样,
你总需要一个条件来把旧技能替换成指定的新技能,现在我不知道这个条件是什么。
作者: duchen5779    时间: 2015-10-12 09:49
遗忘现在的所有技能,然后学会数据库里初始时该角色所会的技能?
作者: chrischen    时间: 2015-11-11 14:08
duchen5779 发表于 2015-10-12 09:49
遗忘现在的所有技能,然后学会数据库里初始时该角色所会的技能?

請問能解釋該如何做嗎?
2樓的語法不知道該加在哪裡

作者: crow2006    时间: 2015-11-12 21:58
我想你是使用了技能树脚本,这样即使在数据库里更改了技能,存档的角色技能也不会产生相应变化,不过我有解决的办法:
class Scene_File < Scene_Base
  #--------------------------------------------------------------------------
  # ● 执行读档
  #--------------------------------------------------------------------------
  def do_load
    #更新技能   将此段脚本插入  def do_load 的最下面即可。
   #~~~~~~~~~~~~~~~~~~~~  
    lv = []
    for i in 1..999
      lv.push($data_skills[i].level)
    end  
    $data_skills = load_data("Data/Skills.rvdata")
    for i in 1..999
      $data_skills[i].level = lv[i-1000]
    end  
   #~~~~~~~~~~~~~~~~~~~
end
end




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