飞飞之家(flyff.vip)

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 102|回复: 0

任务文件propQuest.inc解析

[复制链接]

40

帖子

97

人气

99

金币

贵宾

Rank: 10Rank: 10

在线时间
2 小时
注册时间
2018-6-17
发表于 2018-6-17 19:27:13 | 显示全部楼层 |阅读模式
飞飞任务文件主要设计三个分别是
propQuest.inc任务内同定义
propQuest.txt.txt任务名字定义
definequest.h任务编号定义
其中主要涉及到奖励和惩罚主要是propQuest.inc这个文件控制
一个完整的任务例子
QUES_JBAHSDGUBQUGUVS
{
///////////////////////////標題部分////////////////////////////
SetTitle
(
IDS_PROPQUEST_INC_004308
);
///////////////////////////標題部分////////////////////////////
setting
{
SetHeadQuest( 6005 );
SetCharacter( "MaFl_Boboku" ); //波哥接任務
SetBeginCondCharacter("MaFl_Boboku",WI_WORLD_MADRIGAL,6000, 4000 ); //接受NPC的位置(可有可無)
SetEndCondCharacter( "MaFl_Boboku", WI_WORLD_MADRIGAL,6000, 4000, QUEST_DESTINATION_ID_0000 ); //完成NPC的位置(可有可無)
SetBeginCondLevel( 1, 100 ); //接任務的等級
SetEndCondLevel  ( 1, 120 ); //完成任務時候的等級
SetBeginCondParty( 0, 0, 0, 0 ); //無效果
SetBeginCondJob( JOB_ELEMENTOR_HERO ); //接受任務的玩家職業
QuestItem( MI_AIBATT1, II_GEN_GEM_GEM_TWINKLESTONE, 3000000000, 1);  //特殊的任務掉落
SetEndCondKillNPC( 0, MI_MIA1, 5, 8138, 3004, QUEST_DESTINATION_ID_0000 );   //(未知,怪物真實名稱,数量,x坐标,y坐标,未知)   
SetEndCondItem( -1, 0, -1, II_SYS_SYS_QUE_MAGICSSTONE01, 1 ); //給玩家物品
SetEndRemoveItem( 0, II_SYS_SYS_QUE_MAGICSSTONE01, 10 ); //扣除玩家物品
SetEndRewardGold( 1500, 2000 );                                                //任务完成后奖励的金币
SetEndRewardExp( 784, 2000 ); //任務完成後獎勵的經驗
SetEndRewardSkillPoint(40);                                                     // 这里完成任务可转职为40战士 50弓箭手 60圣职 90魔法师
SetDialog
(
QSAY_BEGIN1,                                         //首先对话NPC的任务说明01"
IDS_PROPQUEST_INC_004309
);
SetDialog
(
QSAY_BEGIN2,                                         //首先对话NPC的任务说明02"
IDS_PROPQUEST_INC_004310
);
SetDialog
(
QSAY_BEGIN3,                                         //首先对话NPC的任务说明03"
IDS_PROPQUEST_INC_004311        
);  
SetDialog
(
QSAY_BEGIN_YES,                 //用户点是回答的话"
IDS_PROPQUEST_INC_004312
);

SetDialog
(
QSAY_BEGIN_NO,                  //用户否是回答的话"
IDS_PROPQUEST_INC_004313
);         
SetDialog
(
QSAY_END_COMPLETE1,            //玩家达到条件 完成任务对话1"
IDS_PROPQUEST_INC_004314
);
SetDialog
(
QSAY_END_FAILURE1,             //如果任务有要求(例如需要什么物品和杀什么怪),玩家没有达到条件所回答的话"
IDS_PROPQUEST_INC_004315
);                        
}
}

任务代码说明
SetCharacter( "MaSa_JeongHwa" );                                                 "  // 发布任务的NPC名称
SetEndCondCharacter( ""MaFl_Andy"", 6929, 3328,  QUEST_DESTINATION_ID_0000 );            // 完成任务后向谁(NPC)提交任务"
SetBeginCondLevel( 15, 15 );                                                  // 这是等级要求!
SetBeginCondParty( 0, 0, 0, 0 );                                                   // (未知)
SetBeginCondJob( JOB_VAGRANT );                                                      // 要求接受任务的职业
SetBeginCondPreviousQuest( 1, QUEST_VOCMER_BFTRN );                 //这里是完成活动或事项才能按任务的意思QUEST_VOCMER_BFTRN这个是任务项目名称!
QuestItem( MI_AIBATT1, II_GEN_GEM_GEM_TWINKLESTONE, 3000000000, 1);                        // [杀这个编号的怪物1,爆的物品标号,机率,数量] 850000000,1 测试26只怪爆6个"
QuestItem( MI_AIBATT2, II_GEN_GEM_GEM_TWINKLESTONE, 3000000000, 1);                       // [杀这个编号的怪物2,爆的物品标号,机率,数量] 数字越少爆率越低"
SetEndCondItem( -1, 0, -1, II_SYS_SYS_QUE_YORN, 1, 7068, 4125, QUEST_DESTINATION_ID_0000 );  // [未知,未知,未知,需要的任务品编号,数量,怪物的Y坐标,X坐标,未知]"
SetEndRemoveItem( 0, II_GEN_GEM_GEM_TWINKLESTONE, 5 );                                  // 结合上面,需要5个物品才能交还任务"
SetBeginCondPreviousQuest( 1, QUEST_FIND_REDBANGT );                                          // 条件显示需要完成 QUEST_FIND_REDBANGT 这个编号的任务才能显示这个任务
SetEndCondKillNPC( 0, MI_MIA1, 20, 8138, 3004, QUEST_DESTINATION_ID_0000 );                  // 需要杀指定的怪物后才能完成任务(未知,怪物标号,数量,x坐标,y坐标,未知)    "
SetEndRewardItem( -1, 0, 0, II_GEN_FOO_COO_DORIVINIG, 5 );                                   // 任务完成后所给的物品奖励"
SetEndRewardGold( 1500, 1500 );                                                              // 任务完成后奖励的金币"
SetEndRewardExp( 784, 784 );      // 任务完成后奖励的经验
SetHeadQuest( 1992 );  //这句的1992就是活动任务的意思,! 6005是任务 只能做一次
SetEndRewardSkillPoint(40);                                                                  // 这里完成任务可转职为40战士 50弓箭手 60圣职 90魔法师


SetHeadQuest( 1992 ); 这句的1992就是活动任务的意思,! 6005是任务 只能做一次
SetRemove( bTureOrFalse ); // 如果是0不要删除(默认为1)
SetRepeat( bRepeat ) // 1 任务是一个无限循环任务
SetBeginSetAddGold( 1000 ); // 设置开始将增加的金币
SetBeginSetDisguise( MI_AIBATT2 ); // 设置伪装怪物(怪物ID)
"SetBeginSetAddItem( nIdx, nItemIdx, nNum ); // 添加物品(,,数量)"
  "SetBeginCondSex( nSex ); // nSex == -1,, SEX_MALE, SEX_FEMALE"
SetDialog
(
QSAY_BEGIN1,                                         //首先对话NPC的任务说明01"
IDS_PROPQUEST_INC_000712
);
SetDialog
(
QSAY_BEGIN2,                                         //首先对话NPC的任务说明02"
IDS_PROPQUEST_INC_000713
);
SetDialog
(
QSAY_BEGIN3,                                         //首先对话NPC的任务说明03"
IDS_PROPQUEST_INC_000714        
);  
SetDialog
(
QSAY_BEGIN_YES,                 //用户点是回答的话"
IDS_PROPQUEST_INC_000715
);

SetDialog
(
QSAY_BEGIN_NO,                  //用户否是回答的话"
IDS_PROPQUEST_INC_000716
);         
SetDialog
(
QSAY_END_COMPLETE1,            //玩家达到条件 完成任务对话1"
IDS_PROPQUEST_INC_000718
);
SetDialog
(
QSAY_END_COMPLETE2,            //玩家达到条件 完成任务对话2"
IDS_PROPQUEST_INC_000718
);
SetDialog
(
QSAY_END_FAILURE1,             //如果任务有要求(例如需要什么物品和杀什么怪),玩家没有达到条件所回答的话"
IDS_PROPQUEST_INC_000720
);                        


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|小黑屋|万物互联 ( 豫ICP备17023930号 )

GMT+8, 2018-11-13 08:53 , Processed in 0.370353 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表