翎风引擎开启宠物蛋功能说明

2023-12-4 21:17| 发布者: 积木GM论坛| 查看: 1421| 评论: 0

摘要: 功能说明:开启宠物说明;宠物功能开启及设置:M2-》选项-》宠物设置1.数据库说明StdItems:【★★★★默认宠物蛋必加,名字不要变★★★★★】100,宠物蛋,91,0,,,,,3710,,,,,,,,,,,,,,,,255,0,0,0,,0,0,0,0,0,0,0,0 ...
功能说明:开启宠物说明;
宠物功能开启及设置: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:  初始等级

Magic:
90,宠物捕捉,2,70,5,50,60,2,20,20,0,18,50,21,100,24,200,26,400,28,800,30,1600,33,3200,36,6400,39,12800,42,25600,46,51200,50,102400,55,204800,60,409600,66,819200,60,,3,,技能

2.QFunction触发说明

·宠物召唤触发
[@GamePetRecall]
#ACT
SendMsg 5 召唤宠物<$GamePetName>

·收回宠物 / 宠物死亡触发
[@GamePetRetake]
#ACT
SendMsg 5 收回宠物 <$GamePetName>


·宠物升级触发  宠物等级变量<$GamePetLevel>  宠物数量变量<$GamePetCount>
[@GamePetLevelUp]
#ACT
SendMsg 5 你的宠物 <$GamePetName>升级了,当前等级<$GamePetLevel>


·双击宠物技能物品触发 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>

·宠物捡物触发人物的QF拾取触发

@PickUpItem
@PickUpItems
@PickUpItemEx


·增加宠物返回到背包后触发:
[@PetToEgg]
#IF
#ACT
LinkBagItem <$BagItemMakeIndex>
SetCustomItemAbil -1 0 0 250
SetCustomItemAbil -1 0 1 50
SetCustomItemAbil -1 0 2 0
SetCustomItemValue -1 0 = 1500
UpdateItem -1
Sendmsg 7 返回一个蛋"<$BagItemName>"并修改资质为1500

·增加双击宠物蛋放入到列表中触发
[@EggToPet]
#IF
#ACT
LinkBagItem <$BagItemMakeIndex>
GetCustomItemValue -1 0 N1 N2
Sendmsg 7 当前宠物蛋"<$BagItecmName>"的资质为<$STR(N1)>

3.宠物操作命令说明



·直接从宠物列表中删除宠物(序号0开始):GamePetToBag 宠物序号

#if
#act
DeleteGamePet 0 

·将宠物变成蛋放回到背包:GamePetToBag 宠物序号

#if
#act
GamePetToBag 0 

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

·给予宠物蛋

GiveGamePet 怪物名  N变量(存储蛋的MakeIndex,可选变量 可不填,)

;给一个修改属性的蛋蛋,如果就数据库的蛋无需变量直接给予!

[@测试给宠物]
#IF
#ACT
GiveGamePet 白野猪  N1
LinkBagItem <$STR(N1)>
SetCustomItemAbil -1 0 0 250
SetCustomItemAbil -1 0 1 50
SetCustomItemAbil -1 0 2 0
SetCustomItemValue -1 0 = 1500
UpdateItem -1
Sendmsg 7 返回一个蛋并修改资质为1500

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

·给予宠物经验
GamePetChangeExp 操作符(+,-,=) 值

·设置宠物攻击力倍数
SetGamePetAttackHumPowerRate 攻击人物威力倍率(0不攻击人物,当前值除以100为实际倍数)

·调整宠物攻击人物威力(数值)
SetGamePetAttackHumPowerRateEx 操作符(+/-/=) 值

·获取宠物攻击人物威力(数值)
GetGamePetAttackHumPowerRate 变量

·检测宠物是否召唤
CheckCallGamePet

·检测宠物等级
CheckGamePetLevel 操作符(>/=/<) 等级

·调整宠物等级
ChangeGamePetLevel 操作符(+/-/=) 数值

·召唤宠物:
RecallGamePet 宠物名(当为空时,表示召唤最后一次召唤的宝宝)

·调整宠物蛋属性
ChangeGamePetEggAbil 物品位置(-1或boxitem0-boxitem7) 属性类型(参考下面) 操作符(+-=) 值
属性类型:
1: 等级
2: HP
3: MP
4: EXP

·获取宠物蛋属性:
》GetGamePetEggAbil 物品位置(-1或boxitem0-boxitem7) 属性类型 变量名
属性类型:
1: 等级
2: HP
3: MP
4: EXP
5: MaxHP
6: MaxMP
7: MaxEXP
8: 防御下限
9: 防御上限
10: 魔防下限
11: 魔防上限
12: 攻击下限
13: 攻击上限
14: 魔法下限
15: 魔法上限
16: 道术下限
17: 道术上限
》获取:GetItemFieldValue  物品位置 属性名称 变量名

;Uelement0……uelement23为元素属性,其中元素属性3-10为技能1-8

GetItemFieldValue  -1  uelement3   N$技能1
GetItemFieldValue  -1  uelement4   N$技能2
GetItemFieldValue  -1  uelement5   N$技能3
GetItemFieldValue  -1  uelement6   N$技能4
GetItemFieldValue  -1  uelement7   N$技能5
GetItemFieldValue  -1  uelement8   N$技能6
GetItemFieldValue  -1  uelement9   N$技能7
GetItemFieldValue  -1  uelement10  N$技能8

返回值为技能在数据库中的 Idx 值+1  例如:你技能一IDX为100 则获取的返回值为101

》设置:SetItemFieldValue  物品位置 属性名称 变量名

属性支持dura, duramax, upgradecount, Value0……Value13, uelement0……uelement23
说明: Value0……Value13为极品属性;uelement0……uelement23为元素属性

SetItemFieldValue  -1  uelement3   N$技能1
SetItemFieldValue  -1  uelement4   N$技能2
SetItemFieldValue  -1  uelement5   N$技能3
SetItemFieldValue  -1  uelement6   N$技能4
SetItemFieldValue  -1  uelement7   N$技能5
SetItemFieldValue  -1  uelement8   N$技能6
SetItemFieldValue  -1  uelement9   N$技能7
SetItemFieldValue  -1  uelement10  N$技能8

设置值为技能在数据库中的 Idx 值+1  例如:你技能一IDX为100 则获取的返回值为101


·打开宠物界面命令
OpenGamePetDlg 

·打开宠物背包(坐标X、Y均为0时,表示不设置坐标)
OpenGamePetBag 坐标X 坐标Y


·npc命令收回宠物
#if
#act
RetakeGamePet
SENDMSG 6 你的宠物已经收回

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

#if
CheckCallGamePet
#act
SENDMSG 6 你的宠物等级是:<$GamePetLevel>
ChangeGamePetLevel + 10
SENDMSG 6 调整后的宠物等级是:<$GamePetLevel>
#elseact
RecallGamePet
OpenGamePetBag 10 10

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

·设置当前召唤的宠物是否可捡物 
SetGamePetEnablePick 参数值
参数值:
0:由宠物设置中的“允许宠物捡取物品”选项决定
1:允许捡物
2:禁止捡物

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

·修改当前召唤的宠物属性值:【修改的属性不保存,当收回宠物再重新召唤时,属性值还原】
ChangeGamePetAbility 属性类型 值
0: HP
1: MaxHP
2: MP
3: MaxMP
4: AC1
5: AC2
6: MAC1
7: MAC2
8: DC1
9: DC2
10: MC1
11: MC2
12: SC1
13: SC2
14: 攻击速度
15: 移动速度 
30: 属性有效时间(秒,空或0表示不检测时间)

·获取当前召唤宠物的属性修改值(ChangeGamePetAbility 命令增加的属性,可以理解为附加属性)
GetGamePetAbility 属性类型 变量

·获取当前召唤宠物的属性
GetGamePetAbilityEx 属性类型 变量

·重新计算宠物属性(重算属性是修改属性后重算修改的属性,可多次修改后一次计算):
RecalcGamePetAbility

#if
CheckCallGamePet
#act
GetGamePetAbility 1 N1
Inc N1 100
ChangeGamePetAbility 1 N1
RecalcGamePetAbility
SendMsg 6 修改宠物MaxHP增加值为:<$str(N1)>

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

·获取当前召唤宠物技能数量:
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 你还没有召唤宠物
;------------------------------------------------------------------------

·直接给一个宠物到宠物列表
GiveGamePetEx 宠物名称

[@直接给个宠物]
#act
GiveGamePetEx 红野猪
#if
not CheckCallGamePet
#act
RecallGamePet 红野猪
;------------------------------------------------------------------------

·修改当前召唤的宠物外观/脸型
ChangeGamePetAppr 新的脸型(Appr) 有效时间(分钟)

[@修改宠物脸型]
#if 
CheckCallGamePet
#act
ChangeGamePetAppr 10 1
sendmsg 6 你的宠物已经变成了食人花造型,有效时间1分钟

·宠物界面预留按钮9个 850-858
搜索帮助文档“预留按钮”,预留编号增加:
宠物界面 (850-858)
;------------------------------------------------------------------------

·收回指定宠物
#if 
equal 白野猪 <$GamePetName>
#act
RetakeGamePet


·自定义修改宠物名字(不保存,重新召唤恢复)
ChangeGamePetName 新名称

#if
CheckCallGamePet
#act
ChangeGamePetName 大花
SENDMSG 6 你的宠物名字更改为【大花】

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

·获取宠物列表中宠物数量 GetGamePetListCount 变量名
·获取当前召唤的宠物在列表中的顺序 GetRecalGamePetIndex 变量名

#act
GetGamePetListCount N0
GetRecalGamePetIndex N1
SendMsg 6 你的宠物列表共有宠物:<$str(N0)>个;当前召唤的宠物序号是:<$str(N1)>



·设置宠物不攻击
GamePetSetAttackOption 类型 值(0/1/2) 有效时间(0为在线有效)
类型:
  0: 允许宠物攻击  ;当值=0时,宠物是否攻击随全局参数;当值=1时,允许宠物攻击;当值=2时,禁止宠物攻击
  1: 怪物不攻击宠物  ;当值=0时,随全局参数;当值=1时,开启此功能
  2: 宠物不受任何攻击  ;当值=0时,随全局参数;当值=1时,开启此功能

#####################################################下方为2021-10-08增加############################################

宠物设置——》参数设置——》增加选项"杀怪触发[@GamePetKillMon]"

增加宠物(攻击-魔法)触发
@GamePetAttack
@GamePetMagicAttack

增加宠物(被攻击-被魔法)触发
@GamePetStruck
@GamePetMagicStruck

增加宠物(攻击-被攻击掉血前)触发、修改当前伤害血量
@GamePetAttackDamage
@GamePetStruckDamage

宠物自身坐标
<$Pet.X>
<$Pet.Y>

宠物血量
<$Pet.HP>
<$Pet.MaxHP>

宠物蓝:
<$Pet.MP>
<$Pet.MaxMP>

宠物攻击目标名称:
<$Pet.CurTargetName>; 不带数字
<$Pet.CurTargetFullName>

宠物当前攻击目标坐标
<$Pet.CurTargetX>
<$Pet.CurTargetY>

宠物当前击中目标HP
<$Pet.CurTargetHP>
<$Pet.CurTargetMaxHP>

宠物攻击目标掉血量
<$Pet.DamageValue>

宠物杀死的怪物名称
<$Pet.KillMonName>

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

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

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

注:常规普通的宠物捡物在引擎-列表信息1-设置允许捡取和优选捡起 (普通捡物品列表与常规英雄捡物同步(M2- 列表信息1设置允许捡起物品),特殊需求用户可同步玩家内挂设置进行捡物品)

相关阅读

最新评论