查看: 2536|回复: 5

[已经过期] 跪求职业系统

[复制链接]
梦石
0
星屑
1753
在线时间
21 小时
注册时间
2015-7-9
回帖
0
发表于 2015-7-14 11:03:30 | 显示全部楼层 |阅读模式

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

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

×
小弟我现在正在做一个游戏,要加入一个系统,自己对代码什么的一窍不通( ̄︿ ̄){:2_271:} 。所以在此希望各位大大能够给我一份比较全套的职业系统 。主要就是转职(要有条件和等级限制,保留原有属性)和副职。小弟在此先行谢过 。
梦石
0
星屑
124
在线时间
900 小时
注册时间
2012-11-13
回帖
845
发表于 2015-7-14 20:03:30 | 显示全部楼层

点评

这个转职等级会变恐怕不行吧···  发表于 2015-7-28 07:26

评分

参与人数 1星屑 +1 收起 理由
冷峻逸 + 1 认可答案

查看全部评分

废弃
回复

使用道具 举报

梦石
0
星屑
48
在线时间
784 小时
注册时间
2013-1-4
回帖
1057
发表于 2015-7-15 00:30:46 | 显示全部楼层
这种东西花点心思用事件都能做。干嘛非得伸手(老实说在我看来不懂脚本还这样直接拿来用,非常不好。尤其是这种复杂系统,对游戏制作和个人成长都无好处)
RM-GUI延期。。。最近被黑心老板压迫T_T
二次元少女的shitake,长着长脸,身高165,蓝色卷双马尾,FCUP,瞳色黑色,病气和御宅属性,是天才少女。
回复

使用道具 举报

梦石
0
星屑
22879
在线时间
8598 小时
注册时间
2011-12-31
回帖
3270
发表于 2015-7-15 13:34:39 | 显示全部楼层
VXAceにて、イベントコマンド「職業の変更」の仕様を変更するスクリプトです。

ステータスの一定割合引き継ぎ(いわゆる転生)等々ができます。
VXAceのデフォルトでは、「職業の変更」は以下の仕様になっています。

・経験値を職業毎に管理しているため、職業を変更するとレベルが1になる。
・前述の理由で、以前の職業に戻すとレベルが以前のものになる。
・「成長効果」によって増えたステータス分は引き継ぐ。
・変更前に習得していたスキルを引き継ぐ。
・変更後の職業で習得できるスキルを習得する処理が無いため、
 レベル1で覚えるスキルを覚えない。

これらを各種設定によって変更、修正します。
また、ステータス一定割合引き継ぎ機能を追加します。

RGSS3 転生システム[pre lang="ruby"]#===============================================================================
#★ RGSS3 転生システム Ver1.00  by ヒール
#-------------------------------------------------------------------------------
#イベント「職業の変更」の仕様を変更します。
#-------------------------------------------------------------------------------
#VXAceのデフォルトでの「職業の変更」は以下の仕様になっています。
#
#・経験値を職業毎に管理しているため、職業を変更するとレベルが1になる。
#・前述の理由で、以前の職業に戻すとレベルが以前のものになる。
#・「成長効果」によって増えたステータス分は引き継ぐ。
#・変更前に習得していたスキルを引き継ぐ。
#・変更後の職業で習得できるスキルを習得する処理が無いため、
# レベル1で覚えるスキルを覚えない。
#
#以上の仕様を設定によって変更します。最後の項目は修正されます。
#また、職業の変更時に「一定割合のステータスを引き継ぐ」機能を追加します。
#===============================================================================
module Hi_ru_transmigration
  
  #以下是可設定項目。
  
  #職業変更後的等級。
  #下設定為true時才適用。
  TRANS_TO_LEVEL = 1
  
  #true、職業変更時固定等級変更。
  
  TRANS_LEVEL = true
  
  #職業変更時経験値変化比例。
  #上記設定為true場合無意味。
  #預設100%引継。
  
  TRANS_RATE = 100    #単位は(%)
  
  #以下為true時、変更前習得的職業技能引継。(預設)
  #以下為false時、変更前習得職業技能全忘卻。
  #・技能的附註欄<引き継ぎ不可>書、不論設定該技能強制忘卻。
  # ※アイテム等で習得していても忘れます。
  #・職業技能的附註欄<引き継ぎ許可>書、
  #不論設定該技能強制引継。
  
  TRANS_SKILL = true
  
  #以下為true時、各能力成長効果引継。(預設)
  
  TRANS_GROW  = true
  
  #変更時に引き継ぐ各ステータスの割合の設定です。(いわゆる転生)
  #上記の設定でfalseの時、引き継ぎの計算に成長効果分を含みます。
  #この増加分は「転生増加分」となり、成長効果と同様の仕様になります。
  
  TRANS_MAXHP = 5     #単位は(%)
  TRANS_MAXMP = 5
  TRANS_ATK   = 5
  TRANS_DEF   = 5
  TRANS_MAT   = 5
  TRANS_MDF   = 5
  TRANS_AGI   = 5
  TRANS_LUK   = 5
  
  #設定を配列に代入
  TRANS_RATES = [TRANS_MAXHP,TRANS_MAXMP,TRANS_ATK,TRANS_DEF,TRANS_MAT,TRANS_MDF,TRANS_AGI,TRANS_LUK]
  
  #trueにすると、ステータス引き継ぎの計算に転生増加分を加えます。
  #(影響は小さいですが、trueのほうが2回目以降、若干ステータスが高くなります)
  
  TRANS_STATUS = true
  
  #trueにすると、2回目以降の転生増加分が和算に、falseだと上書きになります。
  #例:デフォルトの5%だと、trueのとき
  #・・・+2つ前の職業の5%+1つ前の職業の5% が転生増加分になります。
  #falseだと、1つ前の職業の5%のみが適用されます。
  #つまり、trueだと大きくステータスに影響するようになります。
  
  TRANS_PLUS_STATUS = true
  
  #設定はここまでです。
  
end
#==============================================================================
# ■ Game_BattlerBase
#------------------------------------------------------------------------------
#  バトラーを扱う基本のクラスです。主に能力値計算のメソッドを含んでいます。こ
# のクラスは Game_Battler クラスのスーパークラスとして使用されます。
#==============================================================================

class Game_BattlerBase
  include Hi_ru_transmigration
  #--------------------------------------------------------------------------
  # ● 能力値に加算する値をクリア
  #--------------------------------------------------------------------------
  alias trans_clear_param_plus clear_param_plus
  def clear_param_plus
    trans_clear_param_plus
    @trans_param_plus = [0] * 8
  end
  #--------------------------------------------------------------------------
  # ● 通常能力値の加算値取得
  #--------------------------------------------------------------------------
  alias trans_param_plus param_plus
  def param_plus(param_id)
    data = trans_param_plus(param_id)
    data += @trans_param_plus[param_id]
    return data
  end
  #--------------------------------------------------------------------------
  # ● 能力値の加算(転生増加分) 設定がfalseの時は上書き
  #--------------------------------------------------------------------------
  def trans_add_param(param_id, value)
    @trans_param_plus[param_id] += value if TRANS_PLUS_STATUS == true
    @trans_param_plus[param_id]  = value if TRANS_PLUS_STATUS == false
    refresh
  end
  #--------------------------------------------------------------------------
  # ● 転生増加分の参照
  #--------------------------------------------------------------------------
  def how_trans_plus(param_id)
    @trans_param_plus[param_id]
  end
end
#==============================================================================
# ■ Game_Actor
#------------------------------------------------------------------------------
#  アクターを扱うクラスです。このクラスは Game_Actors クラス($game_actors)
# の内部で使用され、Game_Party クラス($game_party)からも参照されます。
#==============================================================================

class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # ● 職業の変更
  #     keep_exp : 経験値を引き継ぐ
  #--------------------------------------------------------------------------
  alias trans_change_class change_class
  def change_class(class_id, keep_exp = false)
    for i in 0..7
      trans_plus  =  self.param_base(i)
      trans_plus +=  self.trans_param_plus(i) if TRANS_GROW == false
      trans_plus +=  self.how_trans_plus(i) if TRANS_STATUS
      trans_plus *=  TRANS_RATES * 0.01
      self.trans_add_param(i,trans_plus)
    end
    self.trans_clear_param_plus if TRANS_GROW == false
    self.change_exp((exp * TRANS_RATE * 0.01).round,false)
    keep_exp = true
   
    loopx = $data_skills.size - 1
    for i in 1..loopx
      self.forget_skill(i) if /<引き継ぎ不可>/ =~ $data_skills.note
    end
    self.class.learnings.each do |learning|
      unless /<引き継ぎ許可>/ =~ learning.note
        forget_skill(learning.skill_id) if TRANS_SKILL == false
      end
    end
   
    trans_change_class(class_id, keep_exp)
   
    self.change_level(TRANS_TO_LEVEL,false) if TRANS_LEVEL
    self.class.learnings.each do |learning|
      learn_skill(learning.skill_id) if learning.level <= @level
    end
  end
end[/pre]
回复

使用道具 举报

梦石
0
星屑
50
在线时间
83 小时
注册时间
2015-7-24
回帖
101
发表于 2015-7-28 02:06:46 | 显示全部楼层
这个直接设定一个事件点,出选择啊
你只需要在数据库里多添加几个职业不就完了,多简单啊
回复

使用道具 举报

梦石
0
星屑
9292
在线时间
2504 小时
注册时间
2011-5-20
回帖
14521

开拓者

发表于 2015-7-28 07:26:31 | 显示全部楼层
转职(要有条件和等级限制,保留原有属性)和副职


你是说主角可以同时有两个职业而且第一职业可以转成其他职业吗?
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部