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

Project1

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

[已经解决] 怎么破除数据库属性上限限制

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
106 小时
注册时间
2016-1-26
帖子
45
跳转到指定楼层
1
发表于 2016-2-17 18:46:17 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 游戏帝 于 2016-2-17 20:29 编辑

数据库属性上限太低

评分

参与人数 1星屑 +35 收起 理由
RyanBern + 35 手动认可奖励

查看全部评分

Lv4.逐梦者

梦石
0
星屑
12157
在线时间
4435 小时
注册时间
2014-4-11
帖子
5955

开拓者

2
发表于 2016-2-17 20:19:06 | 只看该作者
属性不是就是个名字吗,自己随便写的
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
106 小时
注册时间
2016-1-26
帖子
45
3
 楼主| 发表于 2016-2-17 20:28:57 | 只看该作者
yang1zhi 发表于 2016-2-17 20:19
属性不是就是个名字吗,自己随便写的

没说完整,是属性上限
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
12157
在线时间
4435 小时
注册时间
2014-4-11
帖子
5955

开拓者

4
发表于 2016-2-17 20:39:22 | 只看该作者
本帖最后由 yang1zhi 于 2016-2-17 20:42 编辑
游戏帝 发表于 2016-2-17 20:28
没说完整,是属性上限


https://rpg.blue/forum.php?mod=v ... %3D96%26typeid%3D96

给你传送门


RUBY 代码复制
  1. #==============================================================================
  2. # 本脚本来自[url]www.66RPG.com[/url],使用和转载请保留此信息
  3. #==============================================================================
  4.  
  5. #等级可无限提升
  6. #パラメータの算出が適当すぎるので、各自修正が必要かと。
  7.  
  8.   BASE_FINAL_LEVEL = 100   #上限レベル(あんまり大きな値を設定するとハングします)
  9.   MAXHP_LIMIT = 50000    #HP限界値
  10.   MAXSP_LIMIT = 50000    #SP限界値
  11.   STR_LIMIT   = 50000      #STR限界値
  12.   DEX_LIMIT   = 50000      #DEX限界値
  13.   AGI_LIMIT   = 50000      #AGI限界値
  14.   INT_LIMIT   = 50000      #INT限界値
  15.  
  16. class Game_Actor < Game_Battler
  17.   def new_final_level
  18.     lv = BASE_FINAL_LEVEL
  19.     #以下上限LV個別指定用
  20.     #case self.id
  21.     #when 1
  22.     #  lv = 255
  23.     #when 2
  24.     #  lv = 999
  25.     #when 8
  26.     #  lv = 15600
  27.     #end
  28.     return lv
  29.   end
  30.   #--------------------------------------------------------------------------
  31.   # ● EXP 計算
  32.   #--------------------------------------------------------------------------
  33.   def make_exp_list
  34.     actor = $data_actors[@actor_id]
  35.     @exp_list = Array.new(new_final_level + 2)
  36.     @exp_list[1] = 0
  37.     pow_i = 2.4 + actor.exp_inflation / 100.0
  38.     for i in 2..new_final_level + 1
  39.       if i > new_final_level
  40.         @exp_list[i] = 0
  41.       else
  42.         n = actor.exp_basis * ((i + 3) ** pow_i) / (5 ** pow_i)
  43.         @exp_list[i] = @exp_list[i-1] + Integer(n)
  44.       end
  45.     end
  46.   end
  47.   #--------------------------------------------------------------------------
  48.   # ● MaxHP の取得
  49.   #--------------------------------------------------------------------------
  50.   def maxhp
  51.     n = [[base_maxhp + @maxhp_plus, 1].max, MAXHP_LIMIT].min
  52.     for i in @states
  53.       n *= $data_states[i].maxhp_rate / 100.0
  54.     end
  55.     n = [[Integer(n), 1].max, MAXHP_LIMIT].min
  56.     return n
  57.   end
  58.   #--------------------------------------------------------------------------
  59.   # ● 基本 MaxHP の取得
  60.   #--------------------------------------------------------------------------
  61.   def base_maxhp
  62.     n = $data_actors[@actor_id].parameters[0, 1]
  63.     n += $data_actors[@actor_id].parameters[0, 2] * @level
  64.     return n
  65.   end
  66.   #--------------------------------------------------------------------------
  67.   # ● 基本 MaxSP の取得
  68.   #--------------------------------------------------------------------------
  69.   def base_maxsp
  70.     n = $data_actors[@actor_id].parameters[1, 1]
  71.     n += $data_actors[@actor_id].parameters[1, 2] * @level
  72.     return n
  73.   end
  74.   #--------------------------------------------------------------------------
  75.   # ● 基本腕力の取得
  76.   #--------------------------------------------------------------------------
  77.   def base_str
  78.     n = $data_actors[@actor_id].parameters[2, 1]
  79.     n += $data_actors[@actor_id].parameters[2, 2] * @level
  80.     weapon = $data_weapons[@weapon_id]
  81.     armor1 = $data_armors[@armor1_id]
  82.     armor2 = $data_armors[@armor2_id]
  83.     armor3 = $data_armors[@armor3_id]
  84.     armor4 = $data_armors[@armor4_id]
  85.     n += weapon != nil ? weapon.str_plus : 0
  86.     n += armor1 != nil ? armor1.str_plus : 0
  87.     n += armor2 != nil ? armor2.str_plus : 0
  88.     n += armor3 != nil ? armor3.str_plus : 0
  89.     n += armor4 != nil ? armor4.str_plus : 0
  90.     return [[n, 1].max, STR_LIMIT].min
  91.   end
  92.   #--------------------------------------------------------------------------
  93.   # ● 基本器用さの取得
  94.   #--------------------------------------------------------------------------
  95.   def base_dex
  96.     n = $data_actors[@actor_id].parameters[3, 1]
  97.     n += $data_actors[@actor_id].parameters[3, 2] * @level
  98.     weapon = $data_weapons[@weapon_id]
  99.     armor1 = $data_armors[@armor1_id]
  100.     armor2 = $data_armors[@armor2_id]
  101.     armor3 = $data_armors[@armor3_id]
  102.     armor4 = $data_armors[@armor4_id]
  103.     n += weapon != nil ? weapon.dex_plus : 0
  104.     n += armor1 != nil ? armor1.dex_plus : 0
  105.     n += armor2 != nil ? armor2.dex_plus : 0
  106.     n += armor3 != nil ? armor3.dex_plus : 0
  107.     n += armor4 != nil ? armor4.dex_plus : 0
  108.     return [[n, 1].max, DEX_LIMIT].min
  109.   end
  110.   #--------------------------------------------------------------------------
  111.   # ● 基本素早さの取得
  112.   #--------------------------------------------------------------------------
  113.   def base_agi
  114.     n = $data_actors[@actor_id].parameters[4, 1]
  115.     n += $data_actors[@actor_id].parameters[4, 2] * @level
  116.     weapon = $data_weapons[@weapon_id]
  117.     armor1 = $data_armors[@armor1_id]
  118.     armor2 = $data_armors[@armor2_id]
  119.     armor3 = $data_armors[@armor3_id]
  120.     armor4 = $data_armors[@armor4_id]
  121.     n += weapon != nil ? weapon.agi_plus : 0
  122.     n += armor1 != nil ? armor1.agi_plus : 0
  123.     n += armor2 != nil ? armor2.agi_plus : 0
  124.     n += armor3 != nil ? armor3.agi_plus : 0
  125.     n += armor4 != nil ? armor4.agi_plus : 0
  126.     return [[n, 1].max, AGI_LIMIT].min
  127.   end
  128.   #--------------------------------------------------------------------------
  129.   # ● 基本魔力の取得
  130.   #--------------------------------------------------------------------------
  131.   def base_int
  132.     n = $data_actors[@actor_id].parameters[5, 1]
  133.     n += $data_actors[@actor_id].parameters[5, 2] * @level
  134.     weapon = $data_weapons[@weapon_id]
  135.     armor1 = $data_armors[@armor1_id]
  136.     armor2 = $data_armors[@armor2_id]
  137.     armor3 = $data_armors[@armor3_id]
  138.     armor4 = $data_armors[@armor4_id]
  139.     n += weapon != nil ? weapon.int_plus : 0
  140.     n += armor1 != nil ? armor1.int_plus : 0
  141.     n += armor2 != nil ? armor2.int_plus : 0
  142.     n += armor3 != nil ? armor3.int_plus : 0
  143.     n += armor4 != nil ? armor4.int_plus : 0
  144.     return [[n, 1].max, INT_LIMIT].min
  145.   end
  146.   #--------------------------------------------------------------------------
  147.   # ● EXP の変更
  148.   #     exp : 新しい EXP
  149.   #--------------------------------------------------------------------------
  150.   def exp=(exp)
  151.     # ★EXPの上限チェックを解除
  152.     @exp = [exp, 0].max
  153.     # レベルアップ
  154.     while @exp >= @exp_list[@level+1] and @exp_list[@level+1] > 0
  155.       @level += 1
  156.       # スキル習得
  157.       for j in $data_classes[@class_id].learnings
  158.         if j.level == @level
  159.           learn_skill(j.skill_id)
  160.         end
  161.       end
  162.     end
  163.     # レベルダウン
  164.     while @exp < @exp_list[@level]
  165.       @level -= 1
  166.     end
  167.     # 現在の HP と SP が最大値を超えていたら修正
  168.     @hp = [@hp, self.maxhp].min
  169.     @sp = [@sp, self.maxsp].min
  170.   end
  171.   #--------------------------------------------------------------------------
  172.   # ● レベルの変更
  173.   #     level : 新しいレベル
  174.   #--------------------------------------------------------------------------
  175.   def level=(level)
  176.     # 上下限チェック
  177.     # ★LV上限をnew_final_levelでチェックするように変更
  178.     level = [[level, new_final_level].min, 1].max
  179.     # EXP を変更
  180.     self.exp = @exp_list[level]
  181.   end
  182. end
  183.  
  184.  
  185. class Game_Battler
  186.   #--------------------------------------------------------------------------
  187.   # ● MaxSP の取得
  188.   #--------------------------------------------------------------------------
  189.   def maxsp
  190.     n = [[base_maxsp + @maxsp_plus, 0].max, MAXSP_LIMIT].min
  191.     for i in @states
  192.       n *= $data_states[i].maxsp_rate / 100.0
  193.     end
  194.     n = [[Integer(n), 0].max, MAXSP_LIMIT].min
  195.     return n
  196.   end
  197.   #--------------------------------------------------------------------------
  198.   # ● 腕力の取得
  199.   #--------------------------------------------------------------------------
  200.   def str
  201.     n = [[base_str + @str_plus, 1].max, STR_LIMIT].min
  202.     for i in @states
  203.       n *= $data_states[i].str_rate / 100.0
  204.     end
  205.     n = [[Integer(n), 1].max, STR_LIMIT].min
  206.     return n
  207.   end
  208.   #--------------------------------------------------------------------------
  209.   # ● 器用さの取得
  210.   #--------------------------------------------------------------------------
  211.   def dex
  212.     n = [[base_dex + @dex_plus, 1].max, DEX_LIMIT].min
  213.     for i in @states
  214.       n *= $data_states[i].dex_rate / 100.0
  215.     end
  216.     n = [[Integer(n), 1].max, DEX_LIMIT].min
  217.     return n
  218.   end
  219.   #--------------------------------------------------------------------------
  220.   # ● 素早さの取得
  221.   #--------------------------------------------------------------------------
  222.   def agi
  223.     n = [[base_agi + @agi_plus, 1].max, AGI_LIMIT].min
  224.     for i in @states
  225.       n *= $data_states[i].agi_rate / 100.0
  226.     end
  227.     n = [[Integer(n), 1].max, AGI_LIMIT].min
  228.     return n
  229.   end
  230.   #--------------------------------------------------------------------------
  231.   # ● 魔力の取得
  232.   #--------------------------------------------------------------------------
  233.   def int
  234.     n = [[base_int + @int_plus, 1].max, INT_LIMIT].min
  235.     for i in @states
  236.       n *= $data_states[i].int_rate / 100.0
  237.     end
  238.     n = [[Integer(n), 1].max, INT_LIMIT].min
  239.     return n
  240.   end
  241.   #--------------------------------------------------------------------------
  242.   # ● MaxHP の設定
  243.   #     maxhp : 新しい MaxHP
  244.   #--------------------------------------------------------------------------
  245.   def maxhp=(maxhp)
  246.     @maxhp_plus += maxhp - self.maxhp
  247.     @maxhp_plus = [[@maxhp_plus, -MAXHP_LIMIT].max, MAXHP_LIMIT].min
  248.     @hp = [@hp, self.maxhp].min
  249.   end
  250.   #--------------------------------------------------------------------------
  251.   # ● MaxSP の設定
  252.   #     maxsp : 新しい MaxSP
  253.   #--------------------------------------------------------------------------
  254.   def maxsp=(maxsp)
  255.     @maxsp_plus += maxsp - self.maxsp
  256.     @maxsp_plus = [[@maxsp_plus, -MAXSP_LIMIT].max, MAXSP_LIMIT].min
  257.     @sp = [@sp, self.maxsp].min
  258.   end
  259.   #--------------------------------------------------------------------------
  260.   # ● 腕力の設定
  261.   #     str : 新しい腕力
  262.   #--------------------------------------------------------------------------
  263.   def str=(str)
  264.     @str_plus += str - self.str
  265.     @str_plus = [[@str_plus, -STR_LIMIT].max, STR_LIMIT].min
  266.   end
  267.   #--------------------------------------------------------------------------
  268.   # ● 器用さの設定
  269.   #     dex : 新しい器用さ
  270.   #--------------------------------------------------------------------------
  271.   def dex=(dex)
  272.     @dex_plus += dex - self.dex
  273.     @dex_plus = [[@dex_plus, -DEX_LIMIT].max, DEX_LIMIT].min
  274.   end
  275.   #--------------------------------------------------------------------------
  276.   # ● 素早さの設定
  277.   #     agi : 新しい素早さ
  278.   #--------------------------------------------------------------------------
  279.   def agi=(agi)
  280.     @agi_plus += agi - self.agi
  281.     @agi_plus = [[@agi_plus, -AGI_LIMIT].max, AGI_LIMIT].min
  282.   end
  283.   #--------------------------------------------------------------------------
  284.   # ● 魔力の設定
  285.   #     int : 新しい魔力
  286.   #--------------------------------------------------------------------------
  287.   def int=(int)
  288.     @int_plus += int - self.int
  289.     @int_plus = [[@int_plus, -INT_LIMIT].max, INT_LIMIT].min
  290.   end
  291. end
  292.  
  293. #==============================================================================
  294. # 本脚本来自[url]www.66RPG.com[/url],使用和转载请保留此信息
  295. #==============================================================================

点评

我想了下,你说的应该是角色的属性上限吧  发表于 2016-2-17 20:40

评分

参与人数 1星屑 +150 收起 理由
RyanBern + 150 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
106 小时
注册时间
2016-1-26
帖子
45
5
 楼主| 发表于 2016-2-18 12:58:17 | 只看该作者
yang1zhi 发表于 2016-2-17 20:39
https://rpg.blue/forum.php?mod=v ... %3Dtypeid%26typeid% ...


这个没用我试过了,数据库的数据没变化,不过游戏中的数据换了,可是我根本不知道游戏中的数据和数据库的比例,有直接改数据库的吗

点评

什么读书系统?打开书本?即使没系统也可以做到。还是说那个叫读书看报的脚本,那个是在中间显示个大框的文章  发表于 2016-2-18 22:51
有时候999是不够用的,不过不行就算了。你知道读书系统有什么用吗  发表于 2016-2-18 19:57
那就不要把突破了。我觉得999挺高的,有必要那么高吗。看那些游戏打出几万几亿伤害,后面那么多0有什么意义吗。把后面的零去掉不好吗  发表于 2016-2-18 17:11
没办法,这样就是不能像数据库里那么直接看的清楚的。改数据库就别想了。  发表于 2016-2-18 17:11
脚本的我看不出属性是多少啊  发表于 2016-2-18 15:05
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
106 小时
注册时间
2016-1-26
帖子
45
6
 楼主| 发表于 2016-2-20 09:42:14 | 只看该作者
开头

yang1zhi 发表于 2016-2-17 20:39
https://rpg.blue/forum.php?mod=v ... %3Dtypeid%26typeid% ...


#==============================================================================
# ■ Window_Read
#------------------------------------------------------------------------------
#  读书系统。
#==============================================================================

class Interpreter
  
  BOOK_READING = 50 # 默认打开50开关后进入读书系统
  
  #--------------------------------------------------------------------------
# ● 显示文章
  #--------------------------------------------------------------------------
  def command_101
    # 另外的文章已经设置过 message_text 的情况下
    if $game_temp.message_text != nil
      # 结束
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
12157
在线时间
4435 小时
注册时间
2014-4-11
帖子
5955

开拓者

7
发表于 2016-2-20 09:48:21 | 只看该作者
游戏帝 发表于 2016-2-20 09:42
开头


应该是这个功能。
把对话框在中间显示
显示的内容更多

点评

话说图书馆的空手攻防脚本有问题啊,我一打人就说脚本Game_Battler 3 348行 什么的  发表于 2016-2-20 19:56
搞定,谢谢啊  发表于 2016-2-20 19:52
他不是说50号开关打开后使用吗。你就在事件里面设置好几个对话,把50号打开看看  发表于 2016-2-20 17:16
不知道,我也没用过  发表于 2016-2-20 17:14
怎么用啊  发表于 2016-2-20 16:46
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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