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

Project1

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

[已经解决] 如何获得当前角色的HP。SP .可以学到的所有技能

[复制链接]

Lv2.观梦者

梦石
0
星屑
557
在线时间
1550 小时
注册时间
2010-6-27
帖子
247
跳转到指定楼层
1
发表于 2010-8-4 10:25:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 莫小兮 于 2010-8-4 14:11 编辑

我只要获得他的这个信息就可以,不要他显示.

补充。能学的所有技能

Lv1.梦旅人

梦石
0
星屑
55
在线时间
142 小时
注册时间
2009-5-15
帖子
220
2
发表于 2010-8-4 13:01:30 | 只看该作者
变量001 = 角色HP
变量002 = 角色SP
条件分支 --> 变量001=A --> 变量002=B --> 学到技能
回复 支持 反对

使用道具 举报

Lv1.梦旅人

水土火风重逢处

梦石
0
星屑
239
在线时间
691 小时
注册时间
2010-7-17
帖子
3042
3
发表于 2010-8-4 13:14:42 | 只看该作者
LZ可以说更清楚吗?
独坐望城,望断天涯
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
557
在线时间
1550 小时
注册时间
2010-6-27
帖子
247
4
 楼主| 发表于 2010-8-4 14:03:37 | 只看该作者
回复 429259591 的帖子
想弄个类似仙剑三里面的用钱可恢复HP,SP的功能。
在菜单里面添加个选项。按下的时候系统自动测定角色当前的HP,SP是否全满,如果全满点击的时候无效,否则才能恢复一定血量。


   
回复 支持 反对

使用道具 举报

Lv2.观梦者

旅之愚者

梦石
0
星屑
275
在线时间
812 小时
注册时间
2007-7-28
帖子
2148

贵宾

5
发表于 2010-8-4 14:10:29 | 只看该作者
回复 莫小兮 的帖子

RGSS Reference
翻译 frantice

Class Syntax

Attribute 列表:
Data Classes
$data_classes[id].

id                       # 职业ID
name                 # 职业名称
position              # 职业位置 (0: 前卫, 1: 中卫, 2: 后卫).
weapon_set        # 一个数组Array ,包括可装备的武器的 ID .
armor_set           # 一个数组Array ,包括了装备的装备的 ID .
element_ranks    # 属性有效度.
                         # 一维数组,使用属性ID,包含6个等级
                        # (0: A, 1: B, 2: C, 3: D, 4: E, 5: F)
state_ranks           # 状态有效度
                         # 一维数组,使用状态ID,包含6个等级:                                                               
                         # (0: A, 1: B, 2: C, 3: D, 4: E, 5: F)

学习技能:           一个 RPG::Class::Learning数组

语法列表
职业ID:
$data_classes[class_id].id
职业名:
$data_classes[class_id].name
职业方位:
$data_classes[class_id].position
职业武器:
$data_classes[class_id].weapon_set
职业装备:
$data_classes[class_id].armor_set
职业属性有效度:
$data_classes[class_id].element_ranks
职业状态有效度:
$data_classes[class_id].state_ranks
职业学习技能:
$data_classes[class_id].learnings

内部类: 学习技能语法
Attribute 列表:
Data Classes
$data_classes[id].learnings.

level                              # 技能等级
skill_id                            # 已学习技能ID.

语法列表
学习等级:
$data_classes[class_id].learnings.level
学习技能ID:
$data_classes[class_id].learnings.skill_id


Armors Syntax
Attribute 列表:
Data Armor
$data_armors[item_id].

id                     #装备ID.
name                 #装备名.
icon_name            #图标名.
description            #装备描述.
kind                   #装备种类
                      (0: 盾, 1: 头盔, 2: 身体防具, 3: 装饰品).
auto_state_id         #自动状态ID.
price                  #装备价格.
pdef                  #物理防御.
mdef                  #魔法防御.
eva                   #回避纠正.
str_plus               #增加力量.
dex_plus              #增加灵巧.
agi_plus               #增加速度.
int_plus                #增加魔力.
guard_element_set    #属性防御. 一个属性ID的数组.
guard_state_set       #状态防御, 一个状态ID的数组.

语法列表:
装备 ID:
$data_armors[item_id].id
装备名:
$data_armors[item_id].name
装备图标:
$data_armors[item_id].icon_name
装备描述:
$data_armors[item_id].description
装备种类:
$data_armors[item_id].kind
装备自动状态ID:
$data_armors[item_id].auto_state_id
装备价格:
$data_armors[item_id].price
装备物理防御:
$data_armors[item_id].pdef
装备魔法防御:
$data_armors[item_id].mdef
装备躲避:
$data_armors[item_id].eva
装备增加力量:
$data_armors[item_id].str_plus
装备增加灵巧:
$data_armors[item_id].dex_plus
装备增加速度:
$data_armors[item_id].agi_plus
装备增加魔力:
$data_armors[item_id].int_plus
装备属性防御:
$data_armors[item_id].guard_element_set
装备状态防御:
$data_armors[item_id].guard_state_set

Skills Syntax

语法列表:
$data_skills[skill_id]
是一个数组, 在制作CBS时, 我们需要注意这个数组包含充足的数据, 尽管有些只用于 Game_Battler3. 的 def skil_effect 中

技能ID:
$data_skills[skill_id].id
技能名
$data_skills[skill_id].name
技能图标
$data_skills[skill_id].icon_name
技能描绘
$data_skills[skill_id].description
技能范围
$data_skills[skill_id].scope
可以使用的时机
$data_skills[skill_id].occasion
普通攻击攻击方动画ID
$data_skills[skill_id].animation1_id
普通攻击对象方动画ID
$data_skills[skill_id].animation2_id
技能菜单SE
$data_skills[skill_id].menu_se
技能公共事件
$data_skills[skill_id].common_event_id
技能消费SP
$data_skills[skill_id].sp_cost
技能威力
$data_skills[skill_id].power
技能攻击力关联
$data_skills[skill_id].atk_f
技能回避关联
$data_skills[skill_id].eva_f
技能力量关联
$data_skills[skill_id].str_f
技能灵巧关联
$data_skills[skill_id].dex_f
技能速度关联
$data_skills[skill_id].agi_f
技能魔力关联
$data_skills[skill_id].int_f
技能命中
$data_skills[skill_id].hit
技能物理防御关联
$data_skills[skill_id].pdef_f
技能魔法防御关联
$data_skills[skill_id].mdef_f
技能分散度关联
$data_skils[skill_id].variance
技能属性
$data_skills[skill_id].element_set
技能状态变化+
$data_skills[skill_id].plus_state_set
技能状态变化-
$data_skills[skill_id].minus_state_set


Weapon Syntax

Attribute 列表:
Data Weapons
$data_weapons[weapon_id].

语法列表 右边为例子:
武器ID:
$data_weapons[weapon_id].id           $data_weapons[1].id #--> 1
武器名:
$data_weapons[weapon_id].name       $data_weapons[1].name #--> 铜剑
武器图标:
$data_weapons[weapon_id].icon_name
$data_weapons[1].icon_name #--> 001-Weapon001
武器描述:
$data_weapons[weapon_id].description
$data_weapons[1].description #--> A bronze Sword used by Fighters.
武器攻击方动画:
$data_weapons[weapon_id].animation1_id
$data_weapons[1].animation1_id #--> 0
武器对象方动画:
$data_weapons[weapon_id].animation2_id
$data_weapons[1].animation2_id #--> 7
武器价格:
$data_weapons[weapon_id].price    $data_weapons[1].price #--> 500
武器攻击力:
$data_weapons[weapon_id].atk     $data_weapons[1].atk #--> 112
武器物理防御:
$data_weapons[weapon_id].pdef    $data_weapons[1].pdef #--> 0
武器魔法防御:
$data_weapons[weapon_id].mdef   $data_weapons[1].mdef #--> 0
武器增加力量:
$data_weapons[weapon_id].str_plus $data_weapons[1].str_plus #--> 0
武器增加灵巧:
$data_weapons[weapon_id].dex_plus   $data_weapons[1].dex_plus #--> 0
武器增加速度:
$data_weapons[weapon_id].agi_plus $data_weapons[1].agi_plus #--> 0
武器增加魔力:
$data_weapons[weapon_id].int_plus $data_weapons[1].int_plus #--> 0
武器属性:
$data_weapons[weapon_id].element_set
$data_weapons[1].element_set #--> 1,3,9,12
武器状态变化+:
$data_weapons[weapon_id].plus_state_set
$data_weapons[1].plus_state_set #--> 1,3,11
武器状态变化- :
$data_weapons[weapon_id].minus_state_set
$data_weapons[1].minus_state_set #--> 8,16

Variables & Switches

1 - 变量语法:
Variable Syntax :
$game_variables[id#]              eg       $game_variables[1]

2 – 变量操作:

数: $game_variables[1] = 10
文章: $game_variables[1] = "text"
加: $game_variables[1] += 10
减: $game_variables[1] -= 10
除: $game_variables[1] /= 10
乘:   $game_variables[1] *= 10
求余数: $game_variables[1] %= 10
两变量相等: $game_variables[1] = $game_variables[2]
计算:
$game_variables[1] = ($game_variables[2] + 12) * ($game_variables[3] -2)

3 – 开关语法:
$game_switches[id#] = flag value
$game_switches[1] = true
$game_switches[1] = false

4 – 独立开关语法:
$game_self_switches = {[MAP-ID, EVENT-ID, "LOCAL-SWITCH"] => flag value}
$game_map.need_refresh = true    # 注意这句,刷新用    ---by 女F

例子:
$game_self_switches = {[2, 4, "A"] => true}
$game_self_switches = {[1, 3, "B"] => false}
$game_map.need_refresh = true   

关于这篇的讨论:
句A:
$game_self_switches = {[MAP-ID, EVENT-ID, "LOCAL-SWITCH"] => flag value}
$game_map.need_refresh = true
句 B:
$game_self_switches[[MAP-ID, EVENT-ID, "LOCAL-SWITCH"]] = flag value
$game_map.need_refresh = true
这两句的区别?
A句会清除掉$game_self_switches的其他任何独立开关,只留当前定义的这个开关
B句不会改变其他的独立开关.

Enemies Syntax


语法列表:
$data_enemies[enemy_id]
敌人名:
$data_enemies[enemy_id].name
敌人的max hp:
$data_enemies[enemy_id].maxhp
敌人的max sp:
$data_enemies[enemy_id].maxsp
敌人的力量:
$data_enemies[enemy_id].str
敌人的灵巧:
$data_enemies[enemy_id].dex
敌人的速度:
$data_enemies[enemy_id].agi
敌人的魔力:
$data_enemies[enemy_id].int
敌人的攻击力:
$data_enemies[enemy_id].atk
敌人的物理防御:
$data_enemies[enemy_id].pdef
敌人的魔法防御:
$data_enemies[enemy_id].mdef
敌人攻击方动画:
$data_enemies[enemy_id].animation1_id
对象方动画:
$data_enemies[enemy_id].animation2_id
杀死敌人获得经验:
$data_enemies[enemy_id].exp
杀死敌人获得金钱:
$data_enemies[enemy_id].gold
获得宝物为物品ID:
$data_enemies[enemy_id].item_id
获得宝物为物品的名字:
$data_items[$data_enemies[enemy_id].item_id].name
获得宝物为武器ID:
$data_enemies[enemy_id].weapon_id
获得宝物为武器的名字:
$data_weapons[$data_enemies[enemy_id].weapon_id].name
获得宝物为防具ID:
$data_enemies[enemy_id].armor_id
获得宝物为防具的名字:
$data_armors[$data_enemies[enemy_id].armor_id].name
怪物掉宝几率
$data_enemies[enemy_id].treasure_prob
敌人战斗图:
$data_enemies[enemy_id].battler_name
敌人战斗图色相:
$data_enemies[enemy_id].battler_hue

补充: 获得目标敌人的当前hp:
$game_troop.enemies[enemy_index].hp

Items Syntax

Attribute 列表:
Data Items
$data_items[item_id].

scope             #物品效果范围
                    (0:无, 1: 敌单体, 2: 敌全体, 3: 己单体,
                    4: 己全体, 5: 己单体HP 0, 6:己全体HP 0, 7: 使用者).
occasion          #使用的场合
                  (0: 平时, 1: 战斗中, 2:菜单中, 3: 不能使用).
consumable        #消耗
parameter_type    #能力值
              (0: 无, 1: max HP, 2: max SP, 3: 力量, 4: 灵巧, 5: 速度, 6: 魔力).
parameter_points #上升量

语法列表:
物品ID:
$data_items[item_id].id
物品名:
$data_items[item_id].name
物品图标名:
$data_items[item_id].icon_name
物品描述:
$data_items[item_id].description
物品使用范围:
$data_items[item_id].scope
物品使用场合:
$data_items[item_id].occasion
使用方动画:
$data_items[item_id].animation1_id
对象方动画:
$data_items[item_id].animation2_id
菜单画面使用时的SE:
$data_items[item_id].menu_se
公共事件ID:
$data_items[item_id].common_event_id
物品价格:
$data_items[item_id].price
消耗:
$data_items[item_id].consumable
能力值:
$data_items[item_id].parameter_type
能力值上升量:
$data_items[item_id].parameter_points
HP回复率:
$data_items[item_id].recover_hp_rate
HP回复量:
$data_items[item_id].recover_hp
SP回复率:
$data_items[item_id].recover_sp_rate
SP回复量:
$data_items[item_id].recover_sp
命中率:
$data_items[item_id].hit
物理防御关联:
$data_items[item_id].pdef_f
魔法防御关联:
$data_items[item_id].mdef_f
分散度:
$data_items[item_id].variance
物品属性:
$data_items[item_id].element_set
状态变化+:
$data_items[item_id].plus_state_set

讨论:
如何表示增加物品:
在Game_Party里. $game_party.gain_item(item_id, number)

Actor Syntax

语法列表:
Actor Syntax #1:
$data_actors[actor_id]
Actor Syntax #2:
$game_actors[actor_id]

$data_actors 和 $game_actors 是用来表示游戏角色的代码, actor_id 是角色的真实ID. $data_actors 指的是数据库中的默认值, 而 $game_actors 指的是游戏中的值. 也就是说, 如果我们使用$data_actors[actor_id].name这样的表达, 名字就是数据库中我们规定的名字; 即使我们在游戏中改变了角色的名字, 这个值还是数据库中默认的值. 相反,如果我们使用了$game_actors[actor_id].name, 名字就是游戏中现有的名字. 也就是说每个角色实际上有2个名字.
要注意的是, $data_actors[actor_id] 只能全部是 ATTR_READER ,仅除了数值的parameters (数值最大值). 也就是说我们不能写入 $data_actors[actor_id].name.
这是因为我们知道$data_actors 反映的是数据库的默认值,如果我们要写入角色的话,就只能用$game_actors[actor_id] . 所以, 我们可以这样操作:在事件脚本中调用句法$game_actors[actor_id].name = "My Name" 来改变角色名字, 而不能用$data_actors[actor_id].name这样的句法.

角色名:
$data_actors[actor_id].name
$game_actors[actor_id].name
角色脸谱:
$data_actors[actor_id].character_name
$game_actors[actor_id].character_name
脸谱色相:
$data_actors[actor_id].character_hue
$game_actors[actor_id].character_hue
战斗图:
$data_actors[actor_id].battler_name
$game_actors[actor_id].battler_name
战斗图色相:
$data_actors[actor_id].battler_hue
$game_actors[actor_id].battler_hue
角色职业ID:
$data_actors[actor_id].class_id
$game_actors[actor_id].class_id
职业名:
$data_classes[$data_actors[actor_id].class_id].name
$game_actors[actor_id].class_name
角色武器ID:
$data_actors[actor_id].weapon_id
$game_actors[actor_id].weapon_id
角色武器名:
$data_weapons[$data_actors[actor_id].weapon_id].name
$data_weapons[$game_actors[actor_id].weapon_id].name
盾ID:
$data_actors[actor_id].armor1_id
$game_actors[actor_id].armor1_id
盾名:
$data_armors[$data_actors[actor_id].armor1_id].name
$data_armors[$game_actors[actor_id].armor1_id].name
头盔ID:
$data_actors[actor_id].armor2_id
$game_actors[actor_id].armor2_id
头盔名:
$data_armors[$data_actors[actor_id].armor2_id].name
$data_armors[$game_actors[actor_id].armor2_id].name
身体防具ID:
$data_actors[actor_id].armor3_id
$game_actors[actor_id].armor3_id
身体防具名:
$data_armors[$data_actors[actor_id].armor3_id].name
$data_armors[$game_actors[actor_id].armor3_id].name
装饰品ID:
$data_actors[actor_id].armor4_id
$game_actors[actor_id].armor4_id
装饰品名:
$data_armors[$data_actors[actor_id].armor4_id].name
$data_armors[$game_actors[actor_id].armor4_id].name
角色初始等级:
$data_actors[actor_id].initial_level
角色能力曲线:
$data_actors[actor_id].parameters[status_id, level]
status_id 是曲线的ID. 比如说, Max HP 是 ID# 0, Max SP 是 ID# 1. level 是指欲查看的等级. 也就是说输入10, 查看的就是10级的时候的能力.这里我们用"game_actors" 会简单一点, 我们下面会知道

能力曲线 ID#:
Parameters   ID#
Maximum HP    0
Maximum SP    1
Strengh       2
Dexterity     3
Agility       4
Intelligence 5

角色当前HP:
$game_actors[actor_id].hp
角色当前 MAXHP:
$game_actors[actor_id].maxhp
角色当前SP:
$game_actors[actor_id].sp
角色当前MAXSP:
$game_actors[actor_id].maxsp
角色当前等级:
$game_actors[actor_id].level
角色当前经验(EXP):
$game_actors[actor_id].exp
角色当前力量(STR):
$game_actors[actor_id].str
角色当前灵巧(DEX):
$game_actors[actor_id].dex
角色当前速度(AGI):
$game_actors[actor_id].agi
角色当前魔力(INT):
$game_actors[actor_id].int
角色当前攻击(ATK):
$game_actors[actor_id].atk
角色当前物理防御(PDEF):
$game_actors[actor_id].pdef
角色当前魔法防御(MDEF):
$game_actors[actor_id].mdef
角色当前回避修正(EVA):
$game_actors[actor_id].eva
=================================================
注:本文来自www.66RPG.com,转载时请注明出处,谢谢!!
   

点评

lz不仁别怪我不义~~不看F1的人我给你都贴出来吧~~~  发表于 2010-8-4 14:11
回复 支持 反对

使用道具 举报

Lv1.梦旅人

尽头

梦石
0
星屑
119
在线时间
278 小时
注册时间
2010-6-20
帖子
1280
6
发表于 2010-8-4 14:22:53 | 只看该作者
本帖最后由 bbaugle 于 2010-8-4 14:25 编辑

这是如果hp满的情况下的:
条件分歧:脚本$game_party.actors[0].hp == $game_party.actors[0].maxhp
:文章:你的体力全满,无需住店
除此以外的场合
:文章:确定要住本店吗?
分歧结束

这是如果sp满的情况下的:
条件分歧:脚本$game_party.actors[0].sp == $game_party.actors[0].maxsp
:文章:你的精神全满,无需住店
除此以外的场合
:文章:确定要住本店吗?
分歧结束


额...我居然写成住酒馆的。。。。

条件分歧:脚本$game_party.actors[0].hp ==  指定的值
:文章:您当前可以学习的技能是:XX
除此以外的场合
:文章:您目前没有任何可学习的技能
分歧结束

条件分歧:脚本$game_party.actors[0].sp ==  指定的值
:文章:您当前可以学习的技能是:XX
除此以外的场合
:文章:您目前没有任何可学习的技能
分歧结束

评分

参与人数 1星屑 +2 收起 理由
莫小兮 + 2 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
557
在线时间
1550 小时
注册时间
2010-6-27
帖子
247
7
 楼主| 发表于 2010-8-4 14:32:39 | 只看该作者
回复 bbaugle 的帖子谢谢

   
回复 支持 反对

使用道具 举报

Lv1.梦旅人

尽头

梦石
0
星屑
119
在线时间
278 小时
注册时间
2010-6-20
帖子
1280
8
发表于 2010-8-4 14:38:27 | 只看该作者
回复 莫小兮 的帖子


    那赶快结帖吧
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-29 05:04

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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