当前位置 : 145z游戏站 | 热血传奇 | 技术教程 | 

传奇物品DB类型设置脚本编写实战:从类别码到脚本码的详细指南

热度:
在传奇游戏开发或修改过程中,正确设置物品 DB 类型的脚本是非常重要的。这有助于准确地定义游戏中各类物品的属性和功能,使游戏世界中的物品系统更加丰富和有序。本教程将详细介绍如何编写传奇物品 DB 类型设置脚本。
二、脚本编写基础
(一)数据库结构
类别码与脚本码
在传奇物品 DB 类型设置中,每个物品都有对应的类别码和脚本码。类别码用于对物品进行大的分类,如 0 代表药品恢复类,2 代表次数使用物品类等。脚本码则是在类别码的基础上进一步定义物品的特性,例如药品恢复类中,shape = 1为快速恢复、shape = 0为慢速恢复,脚本码为+0。
物品类型详细说明
药品恢复类(类别码 0,脚本码 +0)
这类物品主要用于角色的生命值或魔法值的恢复。在脚本编写中,需要根据shape的值来区分快速恢复和慢速恢复的药品。例如,我们可以定义一个药品的数据库记录如下:
sql
复制
INSERT INTO Items (ItemID, Name, CategoryCode, ScriptCode, Shape)
VALUES (1001, '小型生命药水', 0, +0, 0);
-- 这里的1001是物品ID,'小型生命药水'是物品名称,0是类别码,+0是脚本码,0表示慢速恢复
次数使用物品类(类别码 2,脚本码 +2)
包括回城石、随机石、绳子等这类有使用次数限制的物品。编写脚本时,要设置物品的初始使用次数、使用后的效果等属性。例如:
sql
复制
INSERT INTO Items (ItemID, Name, CategoryCode, ScriptCode, UseTimes, Effect)
VALUES (2001, '回城石', 2, +2, 5, '回到绑定的城市');
-- 2001是物品ID,'回城石'是名称,2是类别码,+2是脚本码,5是初始使用次数,'回到绑定的城市'是使用效果
卷轴、油、CP 类(类别码 3,脚本码 +3)
对于卷轴可能要定义其传送的地图坐标、油对装备的加成效果、CP(可能是某种特殊属性点数)的增减效果等。例如:
sql
复制
INSERT INTO Items (ItemID, Name, CategoryCode, ScriptCode, MapX, MapY, Bonus)
VALUES (3001, '传送卷轴', 3, +3, 100, 200, '传送到坐标(100,200)');
-- 3001是物品ID,'传送卷轴'是名称,3是类别码,+3是脚本码,100和200是传送坐标,'传送到坐标(100,200)'是效果
书籍类(类别码 4,脚本码 +4)
要考虑书籍所教授的技能、技能的等级提升效果等。假设我们有一本技能书:
sql
复制
INSERT INTO Items (ItemID, Name, CategoryCode, ScriptCode, SkillName, SkillLevelUp)
VALUES (4001, '烈火剑法秘籍', 4, +4, '烈火剑法', 1);
-- 4001是物品ID,'烈火剑法秘籍'是名称,4是类别码,+4是脚本码,'烈火剑法'是技能名称,1是技能提升等级
武器类(类别码 5、6,脚本码 +5、+6)
在武器类物品的脚本编写中,需要定义武器的攻击力、攻击速度、特殊效果等属性。以一把剑为例:
sql
复制
INSERT INTO Items (ItemID, Name, CategoryCode, ScriptCode, AttackPower, AttackSpeed, SpecialEffect)
VALUES (5001, '青铜剑', 5, +5, 10, 2, '有一定几率造成双倍伤害');
-- 5001是物品ID,'青铜剑'是名称,5是类别码,+5是脚本码,10是攻击力,2是攻击速度,'有一定几率造成双倍伤害'是特殊效果
气、魔血石类(类别码 7,脚本码 +7)
要设定魔血石的回复量、回复速度等。例如:
sql
复制
INSERT INTO Items (ItemID, Name, CategoryCode, ScriptCode, RecoveryAmount, RecoverySpeed)
VALUES (7001, '小魔血石', 7, +7, 50, 1);
-- 7001是物品ID,'小魔血石'是名称,7是类别码,+7是脚本码,50是回复量,1是回复速度
男衣、女衣(类别码 10、11,脚本码 +10、+11)
对于衣服类物品,要定义防御力、魔法防御力、外观样式等属性。比如男衣:
sql
复制
INSERT INTO Items (ItemID, Name, CategoryCode, ScriptCode, Defense, MagicDefense, Style)
VALUES (10001, '皮甲(男)', 10, +10, 5, 3, '样式1');
-- 10001是物品ID,'皮甲(男)'是名称,10是类别码,+10是脚本码,5是防御力,3是魔法防御力,'样式1'是外观样式
头盔类(类别码 15,脚本码 +15)
头盔的脚本要包含防御属性、可能的特殊效果(如增加命中率等)。例如:
sql
复制
INSERT INTO Items (ItemID, Name, CategoryCode, ScriptCode, Defense, SpecialEffect)
VALUES (15001, '青铜头盔', 15, +15, 3, '增加5%命中率');
-- 15001是物品ID,'青铜头盔'是名称,15是类别码,+15是脚本码,3是防御属性,'增加5%命中率'是特殊效果
斗笠类(类别码 16,脚本码 +16)
类似头盔,定义其防御、魔法防御和特殊效果。假设斗笠有防晒效果(这是一种特殊效果示例):
sql
复制
INSERT INTO Items (ItemID, Name, CategoryCode, ScriptCode, Defense, MagicDefense, SpecialEffect)
VALUES (16001, '竹编斗笠', 16, +16, 2, 2, '防止晒伤(减少受到的火焰伤害10%)');
-- 16001是物品ID,'竹编斗笠'是名称,16是类别码,+16是脚本码,2是防御,2是魔法防御,'防止晒伤(减少受到的火焰伤害10%)'是特殊效果
项链类(类别码 19、20、21,脚本码 +19、+20、+21)
不同类型的项链有不同的属性。以躲避、幸运类项链为例:
sql
复制
INSERT INTO Items (ItemID, Name, CategoryCode, ScriptCode, DodgeRate, LuckRate)
VALUES (19001, '幸运项链', 19, +19, 0, 10);
-- 19001是物品ID,'幸运项链'是名称,19是类别码,+19是脚本码,0是躲避率,10是幸运率
戒指类(类别码 22、23,脚本码 +22、+23)
例如防御、魔御类戒指:
sql
复制
INSERT INTO Items (ItemID, Name, CategoryCode, ScriptCode, Defense, MagicDefense)
VALUES (22001, '铁戒指', 22, +22, 2, 1);
-- 22001是物品ID,'铁戒指'是名称,22是类别码,+22是脚本码,2是防御,1是魔法防御
手镯类(类别码 24、26,脚本码 +24、+26)
以准确、敏捷类手镯为例:
sql
复制
INSERT INTO Items (ItemID, Name, Category码, ScriptCode, Accuracy, Agility)
VALUES (24001, '皮手镯', 24, +24, 5, 3);
-- 24001是物品ID,'皮手镯'是名称,24是类别码,+24是脚本码,5是准确率,3是敏捷度
毒符类(类别码 25,脚本码 +25)
定义毒符的毒性强度、持续时间等属性。例如:
sql
复制
INSERT INTO Items (ItemID, Name, CategoryCode, ScriptCode, PoisonStrength, Duration)
VALUES (25001, '低级毒符', 25, +25, 10, 5);
-- 25001是物品ID,'低级毒符'是名称,25是类别码,+25是脚本码,10是毒性强度,5是持续时间
腰带类(类别码 27,脚本码 +27)
设定腰带的防御属性、可能的特殊效果(如增加负重上限等)。例如:
sql
复制
INSERT INTO Items (ItemID, Name, CategoryCode, ScriptCode, Defense, SpecialEffect)
VALUES (27001, '布腰带', 27, +27, 1, '增加10点负重上限');
-- 27001是物品ID,'布腰带'是名称,27是类别码,+27是脚本码,1是防御属性,'增加10点负重上限'是特殊效果
靴子类(类别码 28,脚本码 +28)
定义靴子的防御、移动速度加成等属性。例如:
sql
复制
INSERT INTO Items (ItemID, Name, CategoryCode, ScriptCode, Defense, MoveSpeedBonus)
VALUES (28001, '皮靴', 28, +28, 2, 5);
-- 28001是物品ID,'皮靴'是名称,28是类别码,+28是脚本码,2是防御属性,5是移动速度加成
勋章类(类别码 30,脚本码 +30)
勋章可能有多种属性加成,如攻击力、防御力、特殊技能等级提升等。例如:
sql
复制
INSERT INTO Items (ItemID, Name, CategoryCode, ScriptCode, AttackBonus, DefenseBonus, SkillLevelBonus)
VALUES (30001, '勇士勋章', 30, +30, 5, 3, 1);
-- 30001是物品ID,'勇士勋章'是名称,30是类别码,+30是脚本码,5是攻击力加成,3是防御力加成,1是特殊技能等级提升
可解包类(类别码 31,脚本码 +31)
对于可解包类物品,要定义解包后得到的物品、解包的条件等。假设一个宝箱类的可解包物品:
sql
复制
INSERT INTO Items (ItemID, Name, CategoryCode, ScriptCode, UnpackItems, UnpackCondition)
VALUES (31001, '神秘宝箱', 31, +31, '金币*100, 小型生命药水*2', '使用神秘钥匙');
-- 31001是物品ID,'神秘宝箱'是名称,31是类别码,+31是脚本码,'金币*100, 小型生命药水*2'是解包后得到的物品,'使用神秘钥匙'是解包条件
肉类(类别码 40,脚本码 +40)
可能用于宠物喂养或者角色在特殊状态下的恢复。例如:
sql
复制
INSERT INTO Items (ItemID, Name, CategoryCode, ScriptCode, RecoveryFor, Amount)
VALUES (40001, '生肉', 40, +40, '宠物', 20);
-- 40001是物品ID,'生肉'是名称,40是类别码,+40是脚本码,'宠物'是恢复对象,20是恢复量
未知(类别码 41、46、80,脚本码 +41、+46、+80)
对于这些未知类型的物品,在脚本编写时可以先预留相关属性,待确定用途后再进行详细设置。例如:
sql
复制
INSERT INTO Items (ItemID, Name, CategoryCode, ScriptCode)
VALUES (41001, '神秘物品1', 41, +41);
-- 41001是物品ID,'神秘物品1'是名称,41是类别码,+41是脚本码
药材类(类别码 42,脚本码 +42)
可以定义药材的采集地点、加工后的成品等属性。例如:
sql
复制
INSERT INTO Items (ItemID, Name, CategoryCode, ScriptCode, GatheringLocation, ProcessedProduct)
VALUES (42001, '草药', 42, +42, '森林', '小型生命药水');
-- 42001是物品ID,'草药'是名称,42是类别码,+42是脚本码,'森林'是采集地点,'小型生命药水'是加工后的成品
矿石类(类别码 43,脚本码 +43)
定义矿石的品质、可用于打造的装备类型等属性。例如:
sql
复制
INSERT INTO Items (ItemID, Name, CategoryCode, ScriptCode, Quality, ForgingEquipment)
VALUES (43001, '铜矿', 43, +43, '低', '铜剑');
-- 43001是物品ID,'铜矿'是名称,43是类别码,+43是脚本码,'低'是品质,'铜剑'是可用于打造的装备类型
号角、头像类(类别码 44,脚本码 +44)
对于号角可能与创建行会有关,头像可能与角色个性化展示有关。例如:
sql
复制
INSERT INTO Items (ItemID, Name, CategoryCode, ScriptCode, GuildCreation, AvatarEffect)
VALUES (44001, '行会号角', 44, +44, '可创建行会', '无');
-- 44001是物品ID,'行会号角'是名称,44是类别码,+44是脚本码,'可创建行会'是与行会创建的关系,'无'是头像效果
骰子、佛牌类(类别码 45,脚本码 +45)
可以定义骰子的点数范围、佛牌的特殊效果(如增加运势等)。例如:
sql
复制
INSERT INTO Items (ItemID, Name, CategoryCode, ScriptCode, DiceRange, BuddhaEffect)
VALUES (45001, '幸运骰子', 45, +45, '1 - 6', '增加10%暴击率');
-- 45001是物品ID,'幸运骰子'是名称,45是类别码,+45是脚本码,'1 - 6'是骰子点数范围,'增加10%暴击率'是佛牌的特殊效果
金砖类(类别码 47,脚本码 +47)
定义金砖的价值(换算成游戏货币的数量)等属性。例如:
sql
复制
INSERT INTO Items (ItemID, Name, CategoryCode, ScriptCode, Value)
VALUES (47001, '金砖', 47, +47, 10000);
-- 47001是物品ID,'金砖'是名称,47是类别码,+47是脚本码,10000是价值(换算成游戏货币的数量)
宝箱类(类别码 48,脚本码 +48)
要定义宝箱的外观、开启条件、可能的奖励范围等属性。例如:
sql
复制
INSERT INTO Items (ItemID, Name, CategoryCode, ScriptCode, Appearance, OpenCondition, RewardRange)
VALUES (48001, '华丽宝箱', 48, +48, '金色,镶嵌宝石', '使用金钥匙', '金币、装备、宝石');
-- 48001是物品ID,'华丽宝箱'是名称,48是类别码,+48是脚本码,'金色,镶嵌宝石'是外观,'使用金钥匙'是开启条件,'金币、装备、宝石'是可能的奖励范围
宝箱钥匙类(类别码 49,脚本码 +49)
定义钥匙对应的宝箱类型、是否可重复使用等属性。例如:
sql
复制
INSERT INTO Items (ItemID, Name, CategoryCode, ScriptCode, BoxType, Reusable)
VALUES (49001, '金钥匙', 49, +49, '华丽宝箱', false);
-- 49001是物品ID
[顶部]