spp7410 发表于 2023-9-2 21:11:53

建议添加宠物技能相关命令和接口

以下是V8的宠物技能相关的接口和命令


宠物说明
宠物功能开启及设置:M2-》选项-》宠物设置


1.数据库说明
StdItems:
【★★★★默认宠物蛋必加,名字不要变★★★★★】
100,宠物蛋,91,0,,,,,3710,,,,,,,,,,,,,,,,255,0,0,0,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
101,白野猪,92,0,,,,,3710,,,,,,,,,,,,,,,,255,0,0,0,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
103,宠物技能,93,0,1,17,1000,1,1964,0,22,95,0,0,0,0,0,0,0,0,0,0,0,0,251,,,,,0,0,0,0,0,1,2,3,4,5,6,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0
102,捕捉网,94,3,1,16,3,0,1195,10000,2,5,0,0,0,0,0,0,0,0,0,0,0,0,251,,,,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

宠物技能物品(Stdmode:93),字段加成主人属性:
AC:   准确
AC2:    敏捷
MAC:    幸运
MAC2:   攻击速度
DC:   中毒恢复
DC2:    毒物躲避
MC:   魔法恢复
MC2:    魔法躲避
SC:   体力恢复
SC2:
DuraMax:负重(穿戴)
Overlap:负重(背包)
Element,Element1....Element23:元素属性

自定义宠物蛋(Stdmode=92)名字为数据库已有怪物名称 字段为宠物初始属性
AC:   防御下限
AC2:    防御上限
MAC:    魔御下限
MAC2:   魔御上限
DC:   攻击下限
DC2:    攻击上限
MC:   魔法下限
MC2:    魔法上限
SC:   道术下限
SC2:    道术上限
Level:初始等级


·双击宠物技能物品触发 QF中的 [@GamePetTrainingMagic]
·NPC命令:中断宠物技能学习 BreakGamePetTrainingMagic
·NPC变量 - 宠物技能名:<$GamePetMagicName>
[@GamePetTrainingMagic]
#act
sendmsg 7 <$GamePetName>准备学习技能(技能编号 :<$GamePetMagicID>;技能名 :<$GamePetMagicName>),技能位置<$GamePetMagicIndex>
BreakGamePetTrainingMagic
sendmsg 6 已经中断了宠物技能学习

·宠物列表选择触发 QF中的 [@GamePetSelect]   *新增(打开宠物界面也会触发,返回变量为上次选择)
·NPC变量(仅用于@GamePetSelect):宠物列表中选择索引 <$SelectGamePetIndex>; 宠物列表选择名:<$SelectGamePetName>
[@GamePetSelect]
#act
sendmsg 7 选择宠物列表中的第<$SelectGamePetIndex>个宠物<$SelectGamePetName>

·宠物学习技能触发:
[@GamePetAddMagic]
当前学习技能编号:<$GamePetMagicID>
当前学习技能位置:<$GamePetMagicIndex>

[@GamePetAddMagic]
#act
sendmsg 7 <$GamePetName>学习了技能(技能编号 :<$GamePetMagicID>),技能位置<$GamePetMagicIndex>



·检测宠物技能
#if
CheckGamePetSkillMagic 宠物技能3
#act
DelGamePetMagic 宠物技能3



·清除当前召唤的宠物技能
ClearGamePetMagic 敏捷技能


·获取当前召唤宠物技能数量:
GetGamePetMagicCount 变量名
;------------------------------------------------------------------------

·获取当前召唤宠物技能位置对应技能信息
GetGamePetMagicInfo 技能位置 技能ID变量 技能名变量

[@获取宠物技能信息]
#if
CheckCallGamePet
#act
GetGamePetMagicCount N1
SendMsg 6 你当前宠物一个学习了<$Str(N1)>个技能
GetGamePetMagicInfo 0 N1 S1
SendMsg 6 你当前宠物技能0信息为(技能编号:<$Str(N1)>,技能名称:<$Str(S1)>)
#elseact
SendMsg 6 你还没有召唤宠物
;------------------------------------------------------------------------

·设置当前召唤宠物某个技能位置技能
GiveGamePetMagic 技能位置 技能名称

[@宠物技能位置2学技能]
#if
CheckCallGamePet
#act
;感觉这个没有AddGamePetMagic好用,如果技能位有技能,会被覆盖
GiveGamePetMagic 1 宠物技能1
#elseact
SendMsg 6 你还没有召唤宠物
;------------------------------------------------------------------------


;变量:当前伤害掉血量(仅用于以下触发):<$Pet.DamageValue>
[@GamePetAttackDamage]
#ACT
SENDMSG 6 宠物攻击目标,掉血量为<$Pet.DamageValue>,攻击加成10点血量
Pet.ChangeDamageValue 0 + 10

[@GamePetStruckDamage]
#ACT
SENDMSG 6 宠物被攻击,掉血量为<$Pet.DamageValue>,抵御掉血量的50%
Pet.ChangeDamageValue 1 - 50

;------------------------------------------------------------------------















叫我大叔 发表于 2023-9-18 09:20:10

这个建议不错,

口子 发表于 2023-9-21 14:40:01

up

996技术-wang 发表于 2023-9-22 11:22:40

可以用这个命令的

[@宠物加技能]
#if
#act
addpetskill X 19
SENDMSG 9 当前宠物增加了19的攻击表现

[@宠物删技能]
#if
#act
delpetskill X 19
SENDMSG 9 当前宠物删除了19的攻击表现

spp7410 发表于 2023-9-23 16:24:41

996技术-wang 发表于 2023-9-22 11:22
可以用这个命令的

[@宠物加技能]


这只是增加删除宠物的技能表现,有的宠物技能名为技能,实际上是给人物加属性之类的别的功能,宠物拥有哪些技能,有多少个技能,没法用常量读取,也没有接口获取,只能用变量记录,很麻烦

996技术-wang 发表于 2023-10-12 10:16:26

你什么时候加的技能就用键值对 记录一下也很方便的
页: [1]
查看完整版本: 建议添加宠物技能相关命令和接口