当前位置 : 745v传奇网 | 传奇教程 | 

传奇GEEM2引擎宠物系统升级指南:功能开启、设置与操作详解

来源: 作者: 点击:
一、宠物功能开启与设置

在传奇GEEM2引擎中,开启宠物功能只需简单几步:

进入游戏设置,选择“选项”。
点击“宠物设置”,开启宠物相关功能。
在“引擎-列表信息1”中设置允许捡取和优选捡起物品。
二、宠物操作详细说明

宠物数据库说明:

StdItems表中包含了宠物蛋、宠物、捕捉网等条目。
自定义宠物蛋的Stdmode应设置为92,且名称需与数据库中已有的怪物名称一致。
宠物技能物品的Stdmode应设置为93,用于加成主人的属性。
QFunction触发说明:

@GamePetRecall:召唤宠物触发。
@GamePetRetake:收回宠物或宠物死亡触发。
@GamePetLevelUp:宠物升级触发。
@GamePetTrainingMagic:双击宠物技能物品触发。
@GamePetSelect:宠物列表选择触发。
宠物操作命令:

GamePetToBag:从宠物列表中删除宠物。
GamePetToBag:将宠物变成蛋放回背包。
CheckGamePetSkillMagic:检测宠物技能。
GiveGamePet:给予宠物蛋。
ClearGamePetMagic:清除当前召唤的宠物技能。
GamePetChangeExp:给予宠物经验。
SetGamePetAttackHumPowerRate:设置宠物攻击力倍数。
ChangeGamePetLevel:调整宠物等级。
RecallGamePet:召唤宠物。
ChangeGamePetEggAbil:调整宠物蛋属性。
GetGamePetEggAbil:获取宠物蛋属性。
OpenGamePetDlg:打开宠物界面。
OpenGamePetBag:打开宠物背包。
RetakeGamePet:NPC命令收回宠物。
三、宠物属性与技能操作

使用ChangeGamePetAbility命令修改宠物属性,如HP、MP、AC等。
使用GetGamePetAbility获取宠物当前属性修改值。
使用RecalcGamePetAbility重新计算宠物属性。
使用GetGamePetMagicCount获取当前召唤宠物技能数量。
使用GetGamePetMagicInfo获取宠物技能详细信息。
使用GiveGamePetMagic设置当前召唤宠物某个技能位置的技能。
四、宠物外观与名称修改

使用ChangeGamePetAppr修改宠物外观或脸型。
使用ChangeGamePetName自定义修改宠物名称(不保存,重新召唤后恢复)。
五、其他操作

使用SetGamePetEnablePick设置当前召唤的宠物是否可捡物。
使用GetGamePetListCount获取宠物列表中宠物数量。
使用GetRecalGamePetIndex获取当前召唤的宠物在列表中的顺序。
使用GamePetSetAttackOption设置宠物攻击选项。

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

1.数据库说明

StdItems:

【★★★★默认宠物蛋必加,名字不要变★★★★★】

100宠物蛋9103710255000000000000000000000000000000
101白野猪9203710255000000000000000000000000000000
103宠物技能93011710001196402295000000000000251000001234567890000000000000
102捕捉网9431163011951000025000000000000251000000000000000000000000000

宠物技能物品(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宠物捕捉2705506022020018502110024200264002880030160033320036640039128004225600465120050102400552048006040960066819200603技能

---------------------------------------------------------------------------------------------------------------------------------------------------------------------

2.QFunction触发说明

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

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

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

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

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

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

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

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

@PickUpItem
@PickUpItems
@PickUpItemEx

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

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

3.宠物操作命令说明

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

#if
#act
DeleteGamePet0

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

#if
#act
GamePetToBag0

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

·给予宠物蛋

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

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

[@测试给宠物]
#IF
#ACT
GiveGamePet白野猪N1
LinkBagItem<$STR(N1)>
SetCustomItemAbil-100250
SetCustomItemAbil-10150
SetCustomItemAbil-1020
SetCustomItemValue-10=1500
UpdateItem-1
Sendmsg7返回一个蛋并修改资质为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-1uelement3N$技能1
GetItemFieldValue-1uelement4N$技能2
GetItemFieldValue-1uelement5N$技能3
GetItemFieldValue-1uelement6N$技能4
GetItemFieldValue-1uelement7N$技能5
GetItemFieldValue-1uelement8N$技能6
GetItemFieldValue-1uelement9N$技能7
GetItemFieldValue-1uelement10N$技能8

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

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

属性支持duraduramaxupgradecountValue0……Value13uelement0……uelement23
说明:Value0……Value13为极品属性;uelement0……uelement23为元素属性

SetItemFieldValue-1uelement3N$技能1
SetItemFieldValue-1uelement4N$技能2
SetItemFieldValue-1uelement5N$技能3
SetItemFieldValue-1uelement6N$技能4
SetItemFieldValue-1uelement7N$技能5
SetItemFieldValue-1uelement8N$技能6
SetItemFieldValue-1uelement9N$技能7
SetItemFieldValue-1uelement10N$技能8

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

·打开宠物界面命令
OpenGamePetDlg

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

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

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

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

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

·设置当前召唤的宠物是否可捡物
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
GetGamePetAbility1N1
IncN1100
ChangeGamePetAbility1N1
RecalcGamePetAbility
SendMsg6修改宠物MaxHP增加值为:<$str(N1)>

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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