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

Project1

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

[已经解决] 我想把获取基本物理防御分为自己人跟敌人

[复制链接]

Lv1.梦旅人

梦石
0
星屑
130
在线时间
20 小时
注册时间
2017-11-8
帖子
6
跳转到指定楼层
1
发表于 2019-9-1 18:23:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
如题 就是计算自己人防御按照原来公式,计算敌人防御的时候改成防御受到速度的影响。。请问怎么弄 本人新手 麻烦脚本带点注释

Lv1.梦旅人

梦石
0
星屑
130
在线时间
20 小时
注册时间
2017-11-8
帖子
6
2
 楼主| 发表于 2019-9-1 18:25:28 | 只看该作者
顺便问下有没有新建工程脚本文件带注释非常多的。。对着帮助文档还是看不懂
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
39009
在线时间
5716 小时
注册时间
2006-11-10
帖子
6618
3
发表于 2019-9-1 19:58:10 | 只看该作者
本帖最后由 灯笼菜刀王 于 2019-9-1 23:26 编辑

搜索  def base_pdef 可以在 game actor 和 game enemy 两个地方找到
这个就是基础防御设置

角色的是装备堆一起获得基础防御,  敌人是直接获取数据库设置的防御值,  你想改, 就在它后面 + 10086 就可以让基础防御增加10086点了

汉化版的XP注释应该是非常详细了, 详细到默认的时候110+K, 把注释全删了才50+K的程度, 虽然有些翻译是有点问题(比如柜台翻译成反击...,笑 不过看英文单词也能猜到是啥也没多大影响就是了)

点评

紫苑工作室亲情汉化XD  发表于 2019-9-2 06:24
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
130
在线时间
20 小时
注册时间
2017-11-8
帖子
6
4
 楼主| 发表于 2019-9-2 13:24:16 | 只看该作者
灯笼菜刀王 发表于 2019-9-1 19:58
搜索  def base_pdef 可以在 game actor 和 game enemy 两个地方找到
这个就是基础防御设置

我在问几个个问题啊我一直分不清
def pdef_str(str_val)
def pdef_str?(str_val)
for i in @states
这个分别是代表什么 def pder_str我能看懂加括号跟?就看不懂了
for i in 1..100能看懂 for i in @states是啥意思
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
39009
在线时间
5716 小时
注册时间
2006-11-10
帖子
6618
5
发表于 2019-9-2 14:26:08 | 只看该作者
本帖最后由 灯笼菜刀王 于 2019-9-2 14:27 编辑
老司机带我飞啊 发表于 2019-9-2 13:24
我在问几个个问题啊我一直分不清
def pdef_str(str_val)
def pdef_str?(str_val)


加括号是表示带参数的方法, 括号内的就是代表参数的变量, 会在本方法里使用

末尾加问号是标准的函数命名格式, 它和普通函数没什么不同, 不过在XP脚本里, 末尾带问号的函数一般表示判断用

@states 是一个数组, 它是默认脚本里用来保存战斗者本身状态id的一个实变量, 你可以试试, 给1号角色附加不同状态后, 运行这个脚本 p $game_actors[1].states  看看它里面有什么

for i in Array 就是表示, 分别把数组里每一个单元赋值给变量i, 然后用它来运算,  具体解释可以看F1的循环说明
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
130
在线时间
20 小时
注册时间
2017-11-8
帖子
6
6
 楼主| 发表于 2019-9-2 16:45:36 | 只看该作者
本帖最后由 老司机带我飞啊 于 2019-9-2 16:47 编辑
灯笼菜刀王 发表于 2019-9-2 14:26
加括号是表示带参数的方法, 括号内的就是代表参数的变量, 会在本方法里使用

末尾加问号是标准的函数命名 ...


还是不懂啊,能不能来个例子啊,比如下面这个我就想知道element_id 在这个脚本里面是啥,代表什么,使用的时候又是多少,就是想知道一下过程,
def element_rate(element_id)
    # 获取对应属性有效度的数值
    table = [0,200,150,100,50,0,-100]
    result = table[$data_enemies[@enemy_id].element_ranks[element_id]]
    # 状态能防御本属性的情况下效果减半
    for i in @states
      if $data_states.guard_element_set.include?(element_id)
        result /= 2
      end
    end
    # 过程结束
    return result
  end

还有就是def element_rate(element_id)这种在使用的时候是怎么算的比如 element_rate(element_id) > 4
如果在加一个又是怎么算的比如 def element_rate(element_id,state_id)
表达能力不是很强不知道你们看懂了没。。
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
36382
在线时间
10788 小时
注册时间
2009-3-15
帖子
4813
7
发表于 2019-9-2 16:57:07 | 只看该作者
本帖最后由 soulsaga 于 2019-9-2 17:09 编辑
老司机带我飞啊 发表于 2019-9-2 16:45
还是不懂啊,能不能来个例子啊,比如下面这个我就想知道element_id 在这个脚本里面是啥,代表什么,使用的 ...


element_id

是什么..你P一下就知道 是属性ID
P一下$data_enemies[@enemy_id].element_ranks[element_id]
P一下计算后的 result 得到的返回值就是计算后的结果
你就算加10个參数都不会有任何变化..因为调用脚本没用到..

结果是一样的..返回值没变就都一样
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
130
在线时间
20 小时
注册时间
2017-11-8
帖子
6
8
 楼主| 发表于 2019-9-2 18:38:27 | 只看该作者
soulsaga 发表于 2019-9-2 16:57
element_id

是什么..你P一下就知道 是属性ID

在重新表达一下。。
我是想知道就是类似这种def element_rate(element_id)这个括号里面的(element_id)在后面的定义起到什么作用,比如下面这个脚本那些是跟(element_id)有关联  有关联的时候起到什么作用。
就像这样 @states 是一个数组, 它是默认脚本里用来保存战斗者本身状态id的一个实变量, 解释@states 作用
我现在需要理解 在def 什么什么(什么什么) 就是这个()里面内容的意思以及跟后续定义有什么关联或者影响

  def element_rate(element_id)       ---假设 element_id = 10这里的(element_id)就代表10是这个意思吗
    # 获取对应属性有效度的数值
    table = [0,200,150,100,50,0,-100]
    result = table[$data_enemies[@enemy_id].element_ranks[element_id]]   ---这里(element_id)影响[element_id]吗,又是什么呢
    # 状态能防御本属性的情况下效果减半
    for i in @states
      if $data_states.guard_element_set.include?(element_id)  ---这里这里(element_id)影响(element_id)吗,又是什么呢
        result /= 2        
      end
    end
    # 过程结束
    return result
  end

至于计算比如这个element_rate(element_id)意思就是(element_id)这个括号里面的内容直接无视,element_rate是4那么他就是4 ,(element_id)不会影响是不。
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (版主)

梦石
1
星屑
23994
在线时间
3339 小时
注册时间
2011-7-8
帖子
3926

开拓者

9
发表于 2019-9-2 18:41:22 | 只看该作者
没办法了,菜鸟教程吧:https://www.runoob.com/ruby/ruby-method.html
熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
36382
在线时间
10788 小时
注册时间
2009-3-15
帖子
4813
10
发表于 2019-9-2 19:44:43 | 只看该作者
本帖最后由 soulsaga 于 2019-9-2 19:57 编辑
老司机带我飞啊 发表于 2019-9-2 18:38
在重新表达一下。。
我是想知道就是类似这种def element_rate(element_id)这个括号里面的(element_id)在 ...


这里element_id是被传的參数..
假设element_id是10
这脚本里面的element_id没被修改过的话统统是10
DEF后面再加參数本身没有影响..但可以在该方法的脚本应用新加的參数 DEF的參数名可以随意定义..传过来的參数只跟位置有关

顺帶一提DEF加了參数调用方法时如果没有同数量的參数会报错..
加新參数时这样写
參数名=你定义的默认值
那么參数就有一个默认值..即使调用方法时后面没有填新參数也不会报错..

评分

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

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-14 13:57

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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