【__兑换码】的功能是,弹出输入框,玩家输入兑换码,直接获得指定的奖励,然后此兑换码失效。
此功能,主要用来,发放福利,吸引人气。比如在直播间发放,在群里发放,等等...
此功能可以做到NPC对话框,物品使用对话框,物体交互对话框。这次先做在NPC上。
(资料图片仅供参考)
先执行sql脚本,创建一个NPC模板:
INSERT INTO `acore_world`.`creature_template` (`entry`, `difficulty_entry_1`, `difficulty_entry_2`, `difficulty_entry_3`, `KillCredit1`, `KillCredit2`, `modelid1`, `modelid2`, `modelid3`, `modelid4`, `name`, `subname`, `IconName`, `gossip_menu_id`, `minlevel`, `maxlevel`, `exp`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `rank`, `mindmg`, `maxdmg`, `dmgschool`, `attackpower`, `DamageModifier`, `BaseAttackTime`, `RangeAttackTime`, `unit_class`, `unit_flags`, `unit_flags2`, `dynamicflags`, `family`, `trainer_type`, `trainer_spell`, `trainer_class`, `trainer_race`, `minrangedmg`, `maxrangedmg`, `rangedattackpower`, `type`, `type_flags`, `lootid`, `pickpocketloot`, `skinloot`, `resistance1`, `resistance2`, `resistance3`, `resistance4`, `resistance5`, `resistance6`, `spell1`, `spell2`, `spell3`, `spell4`, `spell5`, `spell6`, `spell7`, `spell8`, `PetSpellDataId`, `VehicleId`, `mingold`, `maxgold`, `AIName`, `MovementType`, `InhabitType`, `HoverHeight`, `HealthModifier`, `ManaModifier`, `ArmorModifier`, `RacialLeader`, `movementId`, `RegenHealth`, `mechanic_immune_mask`, `flags_extra`, `ScriptName`, `VerifiedBuild`) VALUES (99000, 0, 0, 0, 0, 0, 16135, 0, 0, 0, '功能测试', '', NULL, 0, 80, 80, 2, 35, 1, 1, , , 3, 0, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0, '', 0, 3, 1, 1, 1, 1, 0, 0, 1, 0, 0, 'Func_CreatureScript', 1);
这个NPC有两个要求:
1. 必须是可交互的,{npcflag}字段包含1 。
2. {ScriptName}字段必须是 'Func_CreatureScript'
在游戏中,使用 .npc add 99000 就会生成一个如下的NPC
然后在【__主功能配置】给这个NPC添加一个对话菜单:
INSERT INTO `acore_world`.`__主功能配置` (`类型`, `生物物品或物体ID`, `菜单ID`, `上级菜单ID`, `阵营`, `功能选择`, `需求模板ID`, `奖励模板ID`, `GM命令组`, `小图标ID`, `大图标`, `菜单文本`, `弹窗文本`, `联盟传送坐标ID`, `部落传送坐标ID`) VALUES ('NPC', 99000, 4, 0, '中立', '兑换码', 0, 0, NULL, 0, '', '兑换码', NULL, 0, 0);
游戏中,执行 .rl all 重载所有配置,然后再和NPC对话,发现他出现了一个“兑换码”选项,
点击后,弹出一个输入框,随便输入,会提示兑换码错误,
所有可用的兑换码,在数据表【__兑换码】里,这个表的字段是:【备注】【ID】【兑换码】【奖励模板ID】。
其他都很好理解,只有【奖励模板ID】需要重点说明,这里只有一个ID,那么奖励内容在哪里定义呢?
首先,魔兽世界的内容是非常丰富的,所以可以奖励给玩家的东西很多,比如,金币,物品,经验,等级,技能,等等...
为了统一管理和调用,小环端,专门做了一个数据表【_模板_奖励】,里面的字段,涵盖了常用的可以奖励的内容,最后还有【GM命令组】,基本可以满足99%的奖励需求了~
你可以在这里定义要奖励的内容, 然后把奖励id 填到兑换码表里的奖励模板ID里,当玩家输入这个兑换码的时候,就可以获得对应奖励模板里的物品。
整理下结构:
标签:
Copyright © 2015-2023 港澳物业网版权所有 备案号:京ICP备2023022245号-31 联系邮箱:435 226 40 @qq.com