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

Project1

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

[已经解决] 如何让每个职业的属性成长不同?

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
14 小时
注册时间
2011-3-13
帖子
11
跳转到指定楼层
1
发表于 2011-3-25 21:45:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想弄个转职系统,每个职业的力量,魔力这些成长不同,原来的职业里只有装备这些
请教下要怎么弄??

Lv1.梦旅人

虱子

梦石
0
星屑
121
在线时间
1782 小时
注册时间
2010-6-19
帖子
3597
2
发表于 2011-3-25 22:12:08 | 只看该作者
转职后改变角色,并调整角色等级

http://rpg.blue/thread-175056-1-2.html
PVZ型塔防物一个
http://rpg.blue/thread-155199-1-2.html
RMXP技术讨论区手动认可帖,得到答案请认可
回复

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6855
在线时间
1666 小时
注册时间
2008-10-29
帖子
6710

贵宾

3
发表于 2011-3-25 22:34:40 | 只看该作者
记得以前回答过这样的问题.不过实现方法非常简单.就懒得去搜索了.
  1. #==============================================================================
  2. # ■ 职业决定角色的属性曲线
  3. #    实现方法极其简单
  4. #    就是将下面的6个方法里默认的 @actor_id 改成了 @class_id + Excursion
  5. #    Excursion 是一个常量 我这设置的是50.
  6. #    意思就是:当某个角色的职业ID为1时.则该角色的成长曲线其实是第51号角色的
  7. #              当某个角色的职业ID为3时.则该角色的成长曲线其实是第53号角色的
  8. #    所以在使用时要注意数据库角色的数量要大于等于数据库职业数量+Excursion
  9. #    这个脚本可能和一些属性破限脚本冲突.这个脚本的原理我已经在一开始的时候说明
  10. #    发生冲突时就自行修改吧.
  11. #    在更改职业ID后建议执行一下【完全回复】事件指令.
  12. #    因为改职业后 hp 有可能大于 maxhp 调用一次【完全回复】即可修正
  13. #==============================================================================
  14. #==============================================================================
  15. # ■ Game_Actor
  16. #==============================================================================

  17. class Game_Actor < Game_Battler
  18.   Excursion = 50    # 角色属性曲线的偏移值 针对职业ID的偏移值
  19.   #--------------------------------------------------------------------------
  20.   # ● 获取基本 MaxHP
  21.   #--------------------------------------------------------------------------
  22.   def base_maxhp
  23.     return $data_actors[@class_id + Excursion].parameters[0, @level]
  24.   end
  25.   #--------------------------------------------------------------------------
  26.   # ● 获取基本 MaxSP
  27.   #--------------------------------------------------------------------------
  28.   def base_maxsp
  29.     return $data_actors[@class_id + Excursion].parameters[1, @level]
  30.   end
  31.   #--------------------------------------------------------------------------
  32.   # ● 获取基本力量
  33.   #--------------------------------------------------------------------------
  34.   def base_str
  35.     n = $data_actors[@class_id + Excursion].parameters[2, @level]
  36.     weapon = $data_weapons[@weapon_id]
  37.     armor1 = $data_armors[@armor1_id]
  38.     armor2 = $data_armors[@armor2_id]
  39.     armor3 = $data_armors[@armor3_id]
  40.     armor4 = $data_armors[@armor4_id]
  41.     n += weapon != nil ? weapon.str_plus : 0
  42.     n += armor1 != nil ? armor1.str_plus : 0
  43.     n += armor2 != nil ? armor2.str_plus : 0
  44.     n += armor3 != nil ? armor3.str_plus : 0
  45.     n += armor4 != nil ? armor4.str_plus : 0
  46.     return [[n, 1].max, 999].min
  47.   end
  48.   #--------------------------------------------------------------------------
  49.   # ● 获取基本灵巧
  50.   #--------------------------------------------------------------------------
  51.   def base_dex
  52.     n = $data_actors[@class_id + Excursion].parameters[3, @level]
  53.     weapon = $data_weapons[@weapon_id]
  54.     armor1 = $data_armors[@armor1_id]
  55.     armor2 = $data_armors[@armor2_id]
  56.     armor3 = $data_armors[@armor3_id]
  57.     armor4 = $data_armors[@armor4_id]
  58.     n += weapon != nil ? weapon.dex_plus : 0
  59.     n += armor1 != nil ? armor1.dex_plus : 0
  60.     n += armor2 != nil ? armor2.dex_plus : 0
  61.     n += armor3 != nil ? armor3.dex_plus : 0
  62.     n += armor4 != nil ? armor4.dex_plus : 0
  63.     return [[n, 1].max, 999].min
  64.   end
  65.   #--------------------------------------------------------------------------
  66.   # ● 获取基本速度
  67.   #--------------------------------------------------------------------------
  68.   def base_agi
  69.     n = $data_actors[@class_id + Excursion].parameters[4, @level]
  70.     weapon = $data_weapons[@weapon_id]
  71.     armor1 = $data_armors[@armor1_id]
  72.     armor2 = $data_armors[@armor2_id]
  73.     armor3 = $data_armors[@armor3_id]
  74.     armor4 = $data_armors[@armor4_id]
  75.     n += weapon != nil ? weapon.agi_plus : 0
  76.     n += armor1 != nil ? armor1.agi_plus : 0
  77.     n += armor2 != nil ? armor2.agi_plus : 0
  78.     n += armor3 != nil ? armor3.agi_plus : 0
  79.     n += armor4 != nil ? armor4.agi_plus : 0
  80.     return [[n, 1].max, 999].min
  81.   end
  82.   #--------------------------------------------------------------------------
  83.   # ● 获取基本魔力
  84.   #--------------------------------------------------------------------------
  85.   def base_int
  86.     n = $data_actors[@class_id + Excursion].parameters[5, @level]
  87.     weapon = $data_weapons[@weapon_id]
  88.     armor1 = $data_armors[@armor1_id]
  89.     armor2 = $data_armors[@armor2_id]
  90.     armor3 = $data_armors[@armor3_id]
  91.     armor4 = $data_armors[@armor4_id]
  92.     n += weapon != nil ? weapon.int_plus : 0
  93.     n += armor1 != nil ? armor1.int_plus : 0
  94.     n += armor2 != nil ? armor2.int_plus : 0
  95.     n += armor3 != nil ? armor3.int_plus : 0
  96.     n += armor4 != nil ? armor4.int_plus : 0
  97.     return [[n, 1].max, 999].min
  98.   end
  99. end
复制代码











你知道得太多了

回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-15 07:18

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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