- 积分
- 155
- 最后登录
- 2022-5-17
- 阅读权限
- 10
- 积分
- 155
- 帖子
- 38
- 精华
- 0
该用户从未签到 新人上路


- 枫币
- 116
- 威望
- 0
- 贡献
- 1
- 在线时间
- 23 小时
- 注册时间
- 2019-4-1

|
比较了swordie176的源码发现任务id从short改成了int,改了之后发现就可以了,任务可以正常完成了
- public static byte[] updateQuestMobKills(MapleQuestStatus status) {
- if (ServerConfig.DEBUG_MODE) {
- log.trace("调用");
- }
- MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter();
- mplew.writeShort(SendPacketOpcode.SHOW_STATUS_INFO.getValue());
- mplew.write(MapleStatusInfo.更新任务状态.getType());
- // todo 改成int 类型的任务id
- // mplew.writeShort(status.getQuest().getId());
- mplew.writeInt(status.getQuest().getId());
复制代码

任务相关表信息
```
# 任务信息
select * from wz_questactdata where questid = 2701
# 任务需要和获取的东西
select * from wz_questactdata where questid = 2089
# 和actdata uniqueid 关联 物品信息
select * from wz_questactitemdata where uniqueid in (select uniqueid from wz_questactdata where questid = 2089 and name = 'item')
# 和任务关联的任务
select * from wz_questactquestdata where QUEST = 2100
# 和任务关联的技能
select * from wz_questactskilldata where uniqueid = 218
# 任务的状态
SELECT * FROM queststatus WHERE QUEST = 2701
# 任务信息
select * from questinfo where quest = 2701
# 任务怪物状态
select * from queststatusmobs
```
绿蘑菇任务是2701,相关联的信息为
```sql
# request info
INSERT INTO `chms`.`wz_questdata`(`questid`, `name`, `autoStart`, `autoPreComplete`, `viewMedalItem`, `selectedSkillID`, `blocked`, `autoAccept`, `autoComplete`, `selfStart`) VALUES (2701, '绿蘑菇通缉牌', 0, 0, 0, 0, 0, 0, 0, 0);
# request
INSERT INTO `chms`.`wz_questreqdata`(`id`, `questid`, `name`, `type`, `stringStore`, `intStoresFirst`, `intStoresSecond`) VALUES (22728, 2701, 'mob', 1, '0', '1110100', '20');
#act data
INSERT INTO `chms`.`wz_questactdata`(`id`, `questid`, `name`, `type`, `intStore`, `applicableJobs`, `uniqueid`) VALUES (7757, 2701, 'exp', 1, 434, '', -1);
INSERT INTO `chms`.`wz_questactdata`(`id`, `questid`, `name`, `type`, `intStore`, `applicableJobs`, `uniqueid`) VALUES (7758, 2701, 'item', 1, 0, '', 2001);
# item data
INSERT INTO `chms`.`wz_questactitemdata`(`id`, `itemid`, `count`, `period`, `gender`, `job`, `jobEx`, `prop`, `uniqueid`) VALUES (9101, 1032003, 1, 0, 2, -1, -1, -2, 2001);
```
对应的就是这个

最后完成任务的奖励获取

总结:
其实就是把questid 改成int传就好了。剩下和079的一样。修复任务绝对是吃力不讨好的事情 |
|