PDA

View Full Version : [JX] Xin file này : taskui_fresh.lua



OldGamer
25-04-21, 07:17 PM
Như tiêu đề, mình đã unpack các client về jx nhưng không tìm ra được file này taskui_fresh.lua
Ai có cho mình xin để sửa và hiển thị được Tiếng Việt trong khung quest ạ.

Cảm ơn rất nhiều !

Kenizzle
25-04-21, 09:15 PM
Như tiêu đề, mình đã unpack các client về jx nhưng không tìm ra được file này taskui_fresh.lua
Ai có cho mình xin để sửa và hiển thị được Tiếng Việt trong khung quest ạ.

Cảm ơn rất nhiều !

mình tìm trong client của VN thì ko thấy, nhưng trong client KS thì có file này. Nội dung đây


IncludeLib("FILESYS");
Include("\\script\\lib\\string.lua");
Include("\\UI\\npcpos.lua");


-- 新手任务
tbFreshTask =
{
--nTaskID_CurStep = 1797,
nTaskID_CurStep = 357,
nTaskID_StepState = 1798,
nTaskID_Count = 1800,
nFreshFinish = 12,
nAllFinish = 26,
tbStep = {},
};


for i = 0, 26 do
tbFreshTask.tbStep[i] = {};
end


tbFreshTask.tbStep[0][0]=
{
szName = "与包十八对话",
szInfo = "四月的江南绿草如茵,熏风和煦。你� �起两年前救助过被人追杀身负重伤的� ��客,剑客伤势痊愈后,为了报答你的 救命之恩,传授给你一些玄门的呼吸� �纳之法、静坐敛虑之术,以及基本的� ��脚功夫。临走的时候还告诉你可以来 这里寻找一个叫包十八的人。于是这� �天,你来了。等待你的会是什么呢.... ..",
szReminder = "左键点击下面寻路提示就可以自动走� �那人面前。",
tbAutoFindPath = {["包十八"] = tbNpcPosSet.BaoShiBa},
};


tbFreshTask.tbStep[1][0]=
{
szName = "初见包十八",
szInfo = "拾起大石头(先走到大石头旁边,然� �左键点击地上的大石头)",
szAward = "最高3600经验值",
szReminder = "鼠标左键点击地上可以进行移动,鼠� �左键点击屏幕右上的小地图后会自动� ��到指定地点,点击F12面板可以看到新 手任务的当前步骤。",
tbAutoFindPath = {["大石头"] = tbNpcPosSet.DaShiTou},
};


tbFreshTask.tbStep[2][0]=
{
szName = "初见包十八",
szInfo = "拾起大石头后回去找包十八",
szAward = "最高3600经验值",
szReminder = "鼠标左键点击地上可以进行移动,鼠� �左键点击屏幕右上的小地图后会自动� ��到指定地点,点击F12面板可以看到新 手任务的当前步骤。",
tbAutoFindPath = {["包十八"] = tbNpcPosSet.BaoShiBa},
};


tbFreshTask.tbStep[3][0]=
{
szName = "包十八的试炼",
szInfo = "同包十八对话",
szAward = "最高28500经验值,神行符,玄猿令一个",
szReminder = "屏幕最下方中间有一排按钮,点击第� �个按钮打开人物界面,点击第二个按� ��打开背包,左键点击背包里的武器可 以把它拖动到人物界面的武器栏里,� �左键选中怪物,会自动开始攻击。",
tbAutoFindPath = {["包十八"] = tbNpcPosSet.BaoShiBa},
};


tbFreshTask.tbStep[4][0]=
{
szName = "包十八的试炼",
szInfo = "杀死两只白猪",
szAward = "最高28500经验值,神行符,玄猿令一个",
szReminder = "屏幕最下方中间有一排按钮,点击第� �个按钮打开人物界面,点击第二个按� ��打开背包,左键点击背包里的武器可 以把它拖动到人物界面的武器栏里,� �左键选中怪物,会自动开始攻击。",
tbAutoFindPath = {["白猪"] = tbNpcPosSet.BaiZhu},
};


tbFreshTask.tbStep[5][0]=
{
szName = "包十八的试炼",
szInfo = "回去找包十八复命",
szAward = "最高28500经验值,神行符,玄猿令一个",
szReminder = "屏幕最下方中间有一排按钮,点击第� �个按钮打开人物界面,点击第二个按� ��打开背包,左键点击背包里的武器可 以把它拖动到人物界面的武器栏里,� �左键选中怪物,会自动开始攻击。",
tbAutoFindPath = {["包十八"] = tbNpcPosSet.BaoShiBa},
};


tbFreshTask.tbStep[6][0]=
{
szName = "加入门派",
szAward = "最高80500经验值,500两银子,玄猿令一 个",
szReminder = "剑网总共有10个门派,天王少林属金系 、五毒唐门属木系、峨眉翠烟属水系� �天忍丐帮属火系、昆仑武当属土系,� ��行相生相克,奥妙无穷。学习10级门� ��技能先要完成门派10级任务。",
szInfo = "在新手村找到门派接引弟子加入门派� �根据指引进行技能加点后,再和包十� ��对话",
tbAutoFindPath = {["包十八"] = tbNpcPosSet.BaoShiBa},
};


tbFreshTask.tbStep[7][0]=
{
szName = "修理武器",
szAward = "最高175500经验值,100两银子,劣白马� �匹,玄猿令一个",
szReminder = "所有店铺NPC都可以修理装备,点击“� �易”选项再点击界面下方的“修”字� ��钮就可以修理装备了。修理装备需要 花费银两,如果银两不够的话可以到� �外打怪获得。按ESC出现游戏相关选项� ��其中在“游戏选项”中可以对游戏亮 度音效和快捷键进行设置,如果快捷� �选择默认配置则会使用字母键进行技� ��操作,如果是配置模式1则会使用F2-F10等键进行操作。学习20级门派技能先 要完成门派20级任务。",
szInfo = "同包十八对话",
tbAutoFindPath = {["包十八"] = tbNpcPosSet.BaoShiBa},
};


tbFreshTask.tbStep[8][0]=
{
szName = "修理武器",
szAward = "最高175500经验值,100两银子,劣白马� �匹,玄猿令一个",
szReminder = "所有店铺NPC都可以修理装备,点击“� �易”选项再点击界面下方的“修”字� ��钮就可以修理装备了。修理装备需要 花费银两,如果银两不够的话可以到� �外打怪获得。按ESC出现游戏相关选项� ��其中在“游戏选项”中可以对游戏亮 度音效和快捷键进行设置,如果快捷� �选择默认配置则会使用字母键进行技� ��操作,如果是配置模式1则会使用F2-F10等键进行操作。学习20级门派技能先 要完成门派20级任务。",
szInfo = "找到商店修理武器后和包十八对话",
tbAutoFindPath = {["包十八"] = tbNpcPosSet.BaoShiBa, ["铁匠铺"] = tbNpcPosSet.TieJiangPu},
};


tbFreshTask.tbStep[9][0]=
{
szName = "疗伤之药",
szAward = "最高860000经验值,低级辉煌之果一个� �玄猿令一个,初级药包一个",
szReminder = "屏幕最下方中间的第4个按钮是技能面� ��,点击该按钮打开技能面板可以看到 你已经学到的技能和你的技能点数,� �键点击技能图标给技能加点,加点之� ��左键点击屏幕右下角的技能快捷栏会 出现可以使用的技能,左键点击你想� �用的技能就可以把该技能设到左键。� ��习30级门派技能先要完成门派30级任� �。",
szInfo = "找到药铺购买2个金创药(小)后和包� ��八对话",
tbAutoFindPath = {["包十八"] = tbNpcPosSet.BaoShiBa, ["药铺"] = tbNpcPosSet.YaoPu},
};


tbFreshTask.tbStep[10][0]=
{
szName = "初显神通",
szAward = "最高2080000经验值,玄猿令一个,中级� ��包一个",
szReminder = "点击屏幕最下方中间的第1个按钮,打� ��属性装备界面是技能面板,可以看到 左下角红色的潜能点数,如果你有尚� �加点的潜能点数,可以相应地加到上� ��量、身法、外功、内功,点击力量、 身法、外功、内功后面的小加号就能� �潜能点加上。学习40级门派技能先要� �成门派40级任务。",
szInfo = "同包十八对话",
tbAutoFindPath = {["包十八"] = tbNpcPosSet.BaoShiBa},
};


tbFreshTask.tbStep[11][0]=
{
szName = "初显神通",
szAward = "最高2080000经验值,玄猿令一个,中级� ��包一个",
szReminder = "点击屏幕最下方中间的第1个按钮,打� ��属性装备界面是技能面板,可以看到 左下角红色的潜能点数,如果你有尚� �加点的潜能点数,可以相应地加到上� ��量、身法、外功、内功,点击力量、 身法、外功、内功后面的小加号就能� �潜能点加上。学习40级门派技能先要� �成门派40级任务。",
szInfo = "杀死武陵山(可从巴陵县前往武陵山� �推荐使用神行符)的苍鹰1个",
tbAutoFindPath = {["武陵山入口点"] = tbNpcPosSet.WuLingShan},
};


tbFreshTask.tbStep[12][0]=
{
szName = "初显神通",
szAward = "最高2080000经验值,玄猿令一个,中级� ��包一个",
szReminder = "点击屏幕最下方中间的第1个按钮,打� ��属性装备界面是技能面板,可以看到 左下角红色的潜能点数,如果你有尚� �加点的潜能点数,可以相应地加到上� ��量、身法、外功、内功,点击力量、 身法、外功、内功后面的小加号就能� �潜能点加上。学习40级门派技能先要� �成门派40级任务。",
szInfo = "回去找包十八复命",
tbAutoFindPath = {["巴陵县入口点"] = tbNpcPosSet.BaLingXian, ["包十八"] = tbNpcPosSet.BaoShiBa},
};


tbFreshTask.tbStep[13][0]=
{
szName = "寻回佩剑",
szAward = "最高4500000经验值,玄猿令一个,高级� ��包一个,修炼锦囊一个",
szReminder = "屏幕最上方有绿红蓝三条,分别对应� �力、生命和内力,使用轻功会消耗体� ��,体力耗尽则行动速度降低,打坐可 以恢复体力。学习50级门派技能先要完 成门派50级任务。",
szInfo = "同包十八对话",
tbAutoFindPath = {["包十八"] = tbNpcPosSet.BaoShiBa},
};


tbFreshTask.tbStep[14][0]=
{
szName = "寻回佩剑",
szAward = "最高4500000经验值,玄猿令一个,高级� ��包一个,修炼锦囊一个",
szReminder = "屏幕最上方有绿红蓝三条,分别对应� �力、生命和内力,使用轻功会消耗体� ��,体力耗尽则行动速度降低,打坐可 以恢复体力。学习50级门派技能先要完 成门派50级任务。",
szInfo = "击败燕子洞(可从巴陵县经苗岭到达� �子洞)的强盗首领豹子头,夺回包十� ��的佩剑",
tbAutoFindPath = {["豹子头"] = tbNpcPosSet.BaoZhiTou},
};


tbFreshTask.tbStep[15][0]=
{
szName = "寻回佩剑",
szAward = "最高4500000经验值,玄猿令一个,高级� ��包一个,修炼锦囊一个",
szReminder = "屏幕最上方有绿红蓝三条,分别对应� �力、生命和内力,使用轻功会消耗体� ��,体力耗尽则行动速度降低,打坐可 以恢复体力。学习50级门派技能先要完 成门派50级任务。",
szInfo = "将包十八的佩剑还给包十八",
tbAutoFindPath = {["包十八"] = tbNpcPosSet.BaoShiBa},
};


tbFreshTask.tbStep[16][0]=
{
szName = "出师任务",
szAward = "最高88000000经验值,玄猿令一个",
szReminder = "完成所有门派任务学到前50级门派技能 以及完成出师任务后回来找包十八。",
szInfo = "同包十八对话",
tbAutoFindPath = {["包十八"] = tbNpcPosSet.BaoShiBa},
};


tbFreshTask.tbStep[17][0]=
{
szName = "出师任务",
szAward = "最高88000000经验值,玄猿令",
szReminder = "完成所有门派任务学到前50级门派技能 以及完成出师任务后回来找包十八。",
szInfo = "依次完成以下任务后再回来找包十八",
tbAutoFindPath = {["包十八"] = tbNpcPosSet.BaoShiBa},
};


function show_fresh_taskinfo(nTaskIdx, nTaskGenre)


local nTaskCurStep = GetTask(tbFreshTask.nTaskID_CurStep);
local nTaskStepState = GetTask(tbFreshTask.nTaskID_StepState);
local nTaskCount = GetTask(tbFreshTask.nTaskID_Count);
local tbStepInfo = tbFreshTask.tbStep[nTaskCurStep];
local nMsgIndex = 0;


if 18 == nTaskCurStep then
NewTask_DetailTextOut(nTaskGenre, "<color=gold>恭喜侠士已经完成了全部行走江湖任� �<color>")
NewTask_SetFinishedTask(nTaskGenre, nTaskIdx)
return
end
-- 出错处理
if tbStepInfo == nil then
NewTask_DetailTextOut(nTaskGenre, "系统错误,请联系游戏客服!");
return
end
tbStepInfo = tbStepInfo[nTaskStepState];

if tbStepInfo == nil then
NewTask_DetailTextOut(nTaskGenre, "系统错误,请联系游戏客服!");
return
end

-- 打印任务名称
if tbStepInfo.szName ~= nil then
NewTask_DetailTextOut(nTaskGenre, format("<color=green>任务名称<color>: %s", tbStepInfo.szName));
nMsgIndex = nMsgIndex + 1;
end

-- 打印任务简介
if tbStepInfo.szInfo ~= nil then
local szInfo = tbStepInfo.szInfo
if (nTaskCurStep == 8 and nTaskStepState == 1) then
local szTempInfo = getfactionstring()
szInfo = format("%s%s", szInfo, szTempInfo)
end
NewTask_DetailTextOut(nTaskGenre, format("<color=green>当前步骤<color>: %s", szInfo));
nMsgIndex = nMsgIndex + 1;
end

-- 打印任务奖励
if tbStepInfo.szAward ~= nil then
NewTask_DetailTextOut(nTaskGenre, format("<color=green>任务奖励<color>: %s", tbStepInfo.szAward));
nMsgIndex = nMsgIndex + 1;
end

-- 打印提示信息
if tbStepInfo.szReminder ~= nil then
local szReminder = tbStepInfo.szReminder
if nTaskCurStep == 25 and nTaskStepState == 1 then
szReminder = get_xingzoujianghu_info(tbStepInfo.tbReminderInfo)
end
NewTask_DetailTextOut(nTaskGenre, format("<color=green>新手提示<color>: %s", szReminder));
nMsgIndex = nMsgIndex + 1;
end

-- 打印自动寻路
if tbStepInfo.tbAutoFindPath ~= nil then
--如果是出师任务,加入10-50级门派任务和出师任务的领取npc的寻 路
if (nTaskCurStep == 8 and nTaskStepState == 1) then
local nFactionId = GetLastFactionNumber()
if tbNpcPosSet.Faction[nFactionId] ~= nil then
for key, tbNpcPos in tbNpcPosSet.Faction[nFactionId] do
if type(key) == "number" then
tbStepInfo.tbAutoFindPath[tbNpcPos.szName] = tbNpcPos
end
end
end
end

NewTask_DetailTextOut(nTaskGenre, "<enter>");
nMsgIndex = nMsgIndex + 1;

local nWorld, _, _ = GetWorldPos();
for szNpcName, tbNpcPos in tbStepInfo.tbAutoFindPath do
if szNpcName ~= "包十八" then
addnpcfindpath(tbNpcPos, nWorld, nTaskGenre, nMsgIndex, szNpcName)
nMsgIndex = nMsgIndex + 1;
end
end
if tbStepInfo.tbAutoFindPath["包十八"] ~= nil then
addnpcfindpath(tbStepInfo.tbAutoFindPath["包十八"], nWorld, nTaskGenre, nMsgIndex, "包十八")
nMsgIndex = nMsgIndex + 1;
end
end
end


function addnpcfindpath1(tbNpcPos, nWorld, nTaskGenre, nMsgIndex, szNpcName)
-- 查找NPC位置
local bMapIndex = -1;
for i =1, getn(tbNpcPos.tbPosSet) do
if nWorld == tbNpcPos.tbPosSet[i][1] then
bMapIndex = i;
end
end

-- 登记寻路位置
if bMapIndex >= 0 then
NewTask_AddNpcFindPath(nTaskGenre, nMsgIndex, tbNpcPos.tbPosSet[bMapIndex][1], tbNpcPos.tbPosSet[bMapIndex][2], tbNpcPos.tbPosSet[bMapIndex][3])
end

-- 输出信息
local szMsg = format("%s <color=green>带我去找 <color><color=gold>%s<color>", AEXP_TASKDESCCOMPLETE, szNpcName);
if bMapIndex < 0 then
szMsg = format("%s <color=red>请打开背包点击使用背包中的神行符� �到%s再开启自动寻路<color>", AEXP_TASKDESCCOMPLETE, tbNpcPos.szMapName);
end
NewTask_DetailTextOut(nTaskGenre, szMsg);
end


function addnpcfindpath(tbNpcPos, nWorld, nTaskIdx, nMsgIndex, szNpcName)
local nIndex = tbTaskGuide:FindPosInMap(tbNpcPos, nWorld)
if nIndex <= 0 then
return 0
end
local nMapId = tbNpcPos.tbPosSet[nIndex][1]
local nX = tbNpcPos.tbPosSet[nIndex][2]
local nY = tbNpcPos.tbPosSet[nIndex][3]
NewTask_AddNpcFindPath(nTaskIdx, nMsgIndex, nMapId, nX, nY)
local szMsg = format("%s点击前往<color=gold>%s(%s,%d,%d)<color>", AEXP_TASKDESCCOMPLETE, szNpcName, tbNpcPos.szMapName, floor(nX/8), floor(nY/16))
NewTask_DetailTextOut(nTaskIdx, szMsg)
return 1
end


function getfactionstring()
local nFactionId = GetLastFactionNumber()
local szResult = ""
if tbNpcPosSet.Faction[nFactionId] == nil then
szResult = "<enter>您还未加入任务门派,请先加入门派� �来做出师任务"
return szResult
end
local nTaskId = tbNpcPosSet.Faction[nFactionId]["nTaskId"]
for i = 10, 60, 10 do
local nFinishValue = (i + 10) * 256
local szNpcName = tbNpcPosSet.Faction[nFactionId][i]["szName"]
if GetTask(nTaskId) < nFinishValue then
if i == 60 then
szResult = format("%s<enter>%s任务(未完成,领取处:%s)", szResult, "出师", szNpcName)
else
szResult = format("%s<enter>%d级门派任务(未完成,领取处:%s)", szResult, i, szNpcName)
end
else
if i == 60 then
szResult = format("%s<enter>%s任务(已完成,领取处:%s)", szResult, "出师", szNpcName)
else
szResult = format("%s<enter>%d级门派任务(已完成,领取处:%s)", szResult, i, szNpcName)
end
end
end
return szResult
end


function get_xingzoujianghu_info(tbReminderInfo)
local szInfo = "<enter>"
local nTaskValue = GetTask(1800)
for i = 1, getn(tbReminderInfo) do
local nNumber = floor(nTaskValue / tbReminderInfo[i].nDivisor)
nNumber = mod(nNumber, 10)
local szTempInfo = format("已完成%d次", nNumber)
szTempInfo = format(tbReminderInfo[i].szInfo, szTempInfo)
szInfo = format("%s%s", szInfo, szTempInfo)
end
return szInfo
end

OldGamer
25-04-21, 09:29 PM
Client của mình cũng file như thế này, mình không hiểu nội dung quest để điều chinh lại và đồng bộ với server.
Unpack trong các client của VN thì không thấy á, mà thấy có những file của loai quest khác. Chắc do tools !


mình tìm trong client của VN thì ko thấy, nhưng trong client KS thì có file này. Nội dung đây


IncludeLib("FILESYS");
Include("\\script\\lib\\string.lua");
Include("\\UI\\npcpos.lua");


-- 新手任务
tbFreshTask =
{
--nTaskID_CurStep = 1797,
nTaskID_CurStep = 357,
nTaskID_StepState = 1798,
nTaskID_Count = 1800,
nFreshFinish = 12,
nAllFinish = 26,
tbStep = {},
};


for i = 0, 26 do
tbFreshTask.tbStep[i] = {};
end


tbFreshTask.tbStep[0][0]=
{
szName = "与包十八对话",
szInfo = "四月的江南绿草如茵,熏风和煦。你� �起两年前救助过被人追杀身负重伤的� ��客,剑客伤势痊愈后,为了报答你的 救命之恩,传授给你一些玄门的呼吸� �纳之法、静坐敛虑之术,以及基本的� ��脚功夫。临走的时候还告诉你可以来 这里寻找一个叫包十八的人。于是这� �天,你来了。等待你的会是什么呢.... ..",
szReminder = "左键点击下面寻路提示就可以自动走� �那人面前。",
tbAutoFindPath = {["包十八"] = tbNpcPosSet.BaoShiBa},
};


tbFreshTask.tbStep[1][0]=
{
szName = "初见包十八",
szInfo = "拾起大石头(先走到大石头旁边,然� �左键点击地上的大石头)",
szAward = "最高3600经验值",
szReminder = "鼠标左键点击地上可以进行移动,鼠� �左键点击屏幕右上的小地图后会自动� ��到指定地点,点击F12面板可以看到新 手任务的当前步骤。",
tbAutoFindPath = {["大石头"] = tbNpcPosSet.DaShiTou},
};


tbFreshTask.tbStep[2][0]=
{
szName = "初见包十八",
szInfo = "拾起大石头后回去找包十八",
szAward = "最高3600经验值",
szReminder = "鼠标左键点击地上可以进行移动,鼠� �左键点击屏幕右上的小地图后会自动� ��到指定地点,点击F12面板可以看到新 手任务的当前步骤。",
tbAutoFindPath = {["包十八"] = tbNpcPosSet.BaoShiBa},
};


tbFreshTask.tbStep[3][0]=
{
szName = "包十八的试炼",
szInfo = "同包十八对话",
szAward = "最高28500经验值,神行符,玄猿令一个",
szReminder = "屏幕最下方中间有一排按钮,点击第� �个按钮打开人物界面,点击第二个按� ��打开背包,左键点击背包里的武器可 以把它拖动到人物界面的武器栏里,� �左键选中怪物,会自动开始攻击。",
tbAutoFindPath = {["包十八"] = tbNpcPosSet.BaoShiBa},
};


tbFreshTask.tbStep[4][0]=
{
szName = "包十八的试炼",
szInfo = "杀死两只白猪",
szAward = "最高28500经验值,神行符,玄猿令一个",
szReminder = "屏幕最下方中间有一排按钮,点击第� �个按钮打开人物界面,点击第二个按� ��打开背包,左键点击背包里的武器可 以把它拖动到人物界面的武器栏里,� �左键选中怪物,会自动开始攻击。",
tbAutoFindPath = {["白猪"] = tbNpcPosSet.BaiZhu},
};


tbFreshTask.tbStep[5][0]=
{
szName = "包十八的试炼",
szInfo = "回去找包十八复命",
szAward = "最高28500经验值,神行符,玄猿令一个",
szReminder = "屏幕最下方中间有一排按钮,点击第� �个按钮打开人物界面,点击第二个按� ��打开背包,左键点击背包里的武器可 以把它拖动到人物界面的武器栏里,� �左键选中怪物,会自动开始攻击。",
tbAutoFindPath = {["包十八"] = tbNpcPosSet.BaoShiBa},
};


tbFreshTask.tbStep[6][0]=
{
szName = "加入门派",
szAward = "最高80500经验值,500两银子,玄猿令一 个",
szReminder = "剑网总共有10个门派,天王少林属金系 、五毒唐门属木系、峨眉翠烟属水系� �天忍丐帮属火系、昆仑武当属土系,� ��行相生相克,奥妙无穷。学习10级门� ��技能先要完成门派10级任务。",
szInfo = "在新手村找到门派接引弟子加入门派� �根据指引进行技能加点后,再和包十� ��对话",
tbAutoFindPath = {["包十八"] = tbNpcPosSet.BaoShiBa},
};


tbFreshTask.tbStep[7][0]=
{
szName = "修理武器",
szAward = "最高175500经验值,100两银子,劣白马� �匹,玄猿令一个",
szReminder = "所有店铺NPC都可以修理装备,点击“� �易”选项再点击界面下方的“修”字� ��钮就可以修理装备了。修理装备需要 花费银两,如果银两不够的话可以到� �外打怪获得。按ESC出现游戏相关选项� ��其中在“游戏选项”中可以对游戏亮 度音效和快捷键进行设置,如果快捷� �选择默认配置则会使用字母键进行技� ��操作,如果是配置模式1则会使用F2-F10等键进行操作。学习20级门派技能先 要完成门派20级任务。",
szInfo = "同包十八对话",
tbAutoFindPath = {["包十八"] = tbNpcPosSet.BaoShiBa},
};


tbFreshTask.tbStep[8][0]=
{
szName = "修理武器",
szAward = "最高175500经验值,100两银子,劣白马� �匹,玄猿令一个",
szReminder = "所有店铺NPC都可以修理装备,点击“� �易”选项再点击界面下方的“修”字� ��钮就可以修理装备了。修理装备需要 花费银两,如果银两不够的话可以到� �外打怪获得。按ESC出现游戏相关选项� ��其中在“游戏选项”中可以对游戏亮 度音效和快捷键进行设置,如果快捷� �选择默认配置则会使用字母键进行技� ��操作,如果是配置模式1则会使用F2-F10等键进行操作。学习20级门派技能先 要完成门派20级任务。",
szInfo = "找到商店修理武器后和包十八对话",
tbAutoFindPath = {["包十八"] = tbNpcPosSet.BaoShiBa, ["铁匠铺"] = tbNpcPosSet.TieJiangPu},
};


tbFreshTask.tbStep[9][0]=
{
szName = "疗伤之药",
szAward = "最高860000经验值,低级辉煌之果一个� �玄猿令一个,初级药包一个",
szReminder = "屏幕最下方中间的第4个按钮是技能面� ��,点击该按钮打开技能面板可以看到 你已经学到的技能和你的技能点数,� �键点击技能图标给技能加点,加点之� ��左键点击屏幕右下角的技能快捷栏会 出现可以使用的技能,左键点击你想� �用的技能就可以把该技能设到左键。� ��习30级门派技能先要完成门派30级任� �。",
szInfo = "找到药铺购买2个金创药(小)后和包� ��八对话",
tbAutoFindPath = {["包十八"] = tbNpcPosSet.BaoShiBa, ["药铺"] = tbNpcPosSet.YaoPu},
};


tbFreshTask.tbStep[10][0]=
{
szName = "初显神通",
szAward = "最高2080000经验值,玄猿令一个,中级� ��包一个",
szReminder = "点击屏幕最下方中间的第1个按钮,打� ��属性装备界面是技能面板,可以看到 左下角红色的潜能点数,如果你有尚� �加点的潜能点数,可以相应地加到上� ��量、身法、外功、内功,点击力量、 身法、外功、内功后面的小加号就能� �潜能点加上。学习40级门派技能先要� �成门派40级任务。",
szInfo = "同包十八对话",
tbAutoFindPath = {["包十八"] = tbNpcPosSet.BaoShiBa},
};


tbFreshTask.tbStep[11][0]=
{
szName = "初显神通",
szAward = "最高2080000经验值,玄猿令一个,中级� ��包一个",
szReminder = "点击屏幕最下方中间的第1个按钮,打� ��属性装备界面是技能面板,可以看到 左下角红色的潜能点数,如果你有尚� �加点的潜能点数,可以相应地加到上� ��量、身法、外功、内功,点击力量、 身法、外功、内功后面的小加号就能� �潜能点加上。学习40级门派技能先要� �成门派40级任务。",
szInfo = "杀死武陵山(可从巴陵县前往武陵山� �推荐使用神行符)的苍鹰1个",
tbAutoFindPath = {["武陵山入口点"] = tbNpcPosSet.WuLingShan},
};


tbFreshTask.tbStep[12][0]=
{
szName = "初显神通",
szAward = "最高2080000经验值,玄猿令一个,中级� ��包一个",
szReminder = "点击屏幕最下方中间的第1个按钮,打� ��属性装备界面是技能面板,可以看到 左下角红色的潜能点数,如果你有尚� �加点的潜能点数,可以相应地加到上� ��量、身法、外功、内功,点击力量、 身法、外功、内功后面的小加号就能� �潜能点加上。学习40级门派技能先要� �成门派40级任务。",
szInfo = "回去找包十八复命",
tbAutoFindPath = {["巴陵县入口点"] = tbNpcPosSet.BaLingXian, ["包十八"] = tbNpcPosSet.BaoShiBa},
};


tbFreshTask.tbStep[13][0]=
{
szName = "寻回佩剑",
szAward = "最高4500000经验值,玄猿令一个,高级� ��包一个,修炼锦囊一个",
szReminder = "屏幕最上方有绿红蓝三条,分别对应� �力、生命和内力,使用轻功会消耗体� ��,体力耗尽则行动速度降低,打坐可 以恢复体力。学习50级门派技能先要完 成门派50级任务。",
szInfo = "同包十八对话",
tbAutoFindPath = {["包十八"] = tbNpcPosSet.BaoShiBa},
};


tbFreshTask.tbStep[14][0]=
{
szName = "寻回佩剑",
szAward = "最高4500000经验值,玄猿令一个,高级� ��包一个,修炼锦囊一个",
szReminder = "屏幕最上方有绿红蓝三条,分别对应� �力、生命和内力,使用轻功会消耗体� ��,体力耗尽则行动速度降低,打坐可 以恢复体力。学习50级门派技能先要完 成门派50级任务。",
szInfo = "击败燕子洞(可从巴陵县经苗岭到达� �子洞)的强盗首领豹子头,夺回包十� ��的佩剑",
tbAutoFindPath = {["豹子头"] = tbNpcPosSet.BaoZhiTou},
};


tbFreshTask.tbStep[15][0]=
{
szName = "寻回佩剑",
szAward = "最高4500000经验值,玄猿令一个,高级� ��包一个,修炼锦囊一个",
szReminder = "屏幕最上方有绿红蓝三条,分别对应� �力、生命和内力,使用轻功会消耗体� ��,体力耗尽则行动速度降低,打坐可 以恢复体力。学习50级门派技能先要完 成门派50级任务。",
szInfo = "将包十八的佩剑还给包十八",
tbAutoFindPath = {["包十八"] = tbNpcPosSet.BaoShiBa},
};


tbFreshTask.tbStep[16][0]=
{
szName = "出师任务",
szAward = "最高88000000经验值,玄猿令一个",
szReminder = "完成所有门派任务学到前50级门派技能 以及完成出师任务后回来找包十八。",
szInfo = "同包十八对话",
tbAutoFindPath = {["包十八"] = tbNpcPosSet.BaoShiBa},
};


tbFreshTask.tbStep[17][0]=
{
szName = "出师任务",
szAward = "最高88000000经验值,玄猿令",
szReminder = "完成所有门派任务学到前50级门派技能 以及完成出师任务后回来找包十八。",
szInfo = "依次完成以下任务后再回来找包十八",
tbAutoFindPath = {["包十八"] = tbNpcPosSet.BaoShiBa},
};


function show_fresh_taskinfo(nTaskIdx, nTaskGenre)


local nTaskCurStep = GetTask(tbFreshTask.nTaskID_CurStep);
local nTaskStepState = GetTask(tbFreshTask.nTaskID_StepState);
local nTaskCount = GetTask(tbFreshTask.nTaskID_Count);
local tbStepInfo = tbFreshTask.tbStep[nTaskCurStep];
local nMsgIndex = 0;


if 18 == nTaskCurStep then
NewTask_DetailTextOut(nTaskGenre, "<color=gold>恭喜侠士已经完成了全部行走江湖任� �<color>")
NewTask_SetFinishedTask(nTaskGenre, nTaskIdx)
return
end
-- 出错处理
if tbStepInfo == nil then
NewTask_DetailTextOut(nTaskGenre, "系统错误,请联系游戏客服!");
return
end
tbStepInfo = tbStepInfo[nTaskStepState];

if tbStepInfo == nil then
NewTask_DetailTextOut(nTaskGenre, "系统错误,请联系游戏客服!");
return
end

-- 打印任务名称
if tbStepInfo.szName ~= nil then
NewTask_DetailTextOut(nTaskGenre, format("<color=green>任务名称<color>: %s", tbStepInfo.szName));
nMsgIndex = nMsgIndex + 1;
end

-- 打印任务简介
if tbStepInfo.szInfo ~= nil then
local szInfo = tbStepInfo.szInfo
if (nTaskCurStep == 8 and nTaskStepState == 1) then
local szTempInfo = getfactionstring()
szInfo = format("%s%s", szInfo, szTempInfo)
end
NewTask_DetailTextOut(nTaskGenre, format("<color=green>当前步骤<color>: %s", szInfo));
nMsgIndex = nMsgIndex + 1;
end

-- 打印任务奖励
if tbStepInfo.szAward ~= nil then
NewTask_DetailTextOut(nTaskGenre, format("<color=green>任务奖励<color>: %s", tbStepInfo.szAward));
nMsgIndex = nMsgIndex + 1;
end

-- 打印提示信息
if tbStepInfo.szReminder ~= nil then
local szReminder = tbStepInfo.szReminder
if nTaskCurStep == 25 and nTaskStepState == 1 then
szReminder = get_xingzoujianghu_info(tbStepInfo.tbReminderInfo)
end
NewTask_DetailTextOut(nTaskGenre, format("<color=green>新手提示<color>: %s", szReminder));
nMsgIndex = nMsgIndex + 1;
end

-- 打印自动寻路
if tbStepInfo.tbAutoFindPath ~= nil then
--如果是出师任务,加入10-50级门派任务和出师任务的领取npc的寻 路
if (nTaskCurStep == 8 and nTaskStepState == 1) then
local nFactionId = GetLastFactionNumber()
if tbNpcPosSet.Faction[nFactionId] ~= nil then
for key, tbNpcPos in tbNpcPosSet.Faction[nFactionId] do
if type(key) == "number" then
tbStepInfo.tbAutoFindPath[tbNpcPos.szName] = tbNpcPos
end
end
end
end

NewTask_DetailTextOut(nTaskGenre, "<enter>");
nMsgIndex = nMsgIndex + 1;

local nWorld, _, _ = GetWorldPos();
for szNpcName, tbNpcPos in tbStepInfo.tbAutoFindPath do
if szNpcName ~= "包十八" then
addnpcfindpath(tbNpcPos, nWorld, nTaskGenre, nMsgIndex, szNpcName)
nMsgIndex = nMsgIndex + 1;
end
end
if tbStepInfo.tbAutoFindPath["包十八"] ~= nil then
addnpcfindpath(tbStepInfo.tbAutoFindPath["包十八"], nWorld, nTaskGenre, nMsgIndex, "包十八")
nMsgIndex = nMsgIndex + 1;
end
end
end


function addnpcfindpath1(tbNpcPos, nWorld, nTaskGenre, nMsgIndex, szNpcName)
-- 查找NPC位置
local bMapIndex = -1;
for i =1, getn(tbNpcPos.tbPosSet) do
if nWorld == tbNpcPos.tbPosSet[i][1] then
bMapIndex = i;
end
end

-- 登记寻路位置
if bMapIndex >= 0 then
NewTask_AddNpcFindPath(nTaskGenre, nMsgIndex, tbNpcPos.tbPosSet[bMapIndex][1], tbNpcPos.tbPosSet[bMapIndex][2], tbNpcPos.tbPosSet[bMapIndex][3])
end

-- 输出信息
local szMsg = format("%s <color=green>带我去找 <color><color=gold>%s<color>", AEXP_TASKDESCCOMPLETE, szNpcName);
if bMapIndex < 0 then
szMsg = format("%s <color=red>请打开背包点击使用背包中的神行符� �到%s再开启自动寻路<color>", AEXP_TASKDESCCOMPLETE, tbNpcPos.szMapName);
end
NewTask_DetailTextOut(nTaskGenre, szMsg);
end


function addnpcfindpath(tbNpcPos, nWorld, nTaskIdx, nMsgIndex, szNpcName)
local nIndex = tbTaskGuide:FindPosInMap(tbNpcPos, nWorld)
if nIndex <= 0 then
return 0
end
local nMapId = tbNpcPos.tbPosSet[nIndex][1]
local nX = tbNpcPos.tbPosSet[nIndex][2]
local nY = tbNpcPos.tbPosSet[nIndex][3]
NewTask_AddNpcFindPath(nTaskIdx, nMsgIndex, nMapId, nX, nY)
local szMsg = format("%s点击前往<color=gold>%s(%s,%d,%d)<color>", AEXP_TASKDESCCOMPLETE, szNpcName, tbNpcPos.szMapName, floor(nX/8), floor(nY/16))
NewTask_DetailTextOut(nTaskIdx, szMsg)
return 1
end


function getfactionstring()
local nFactionId = GetLastFactionNumber()
local szResult = ""
if tbNpcPosSet.Faction[nFactionId] == nil then
szResult = "<enter>您还未加入任务门派,请先加入门派� �来做出师任务"
return szResult
end
local nTaskId = tbNpcPosSet.Faction[nFactionId]["nTaskId"]
for i = 10, 60, 10 do
local nFinishValue = (i + 10) * 256
local szNpcName = tbNpcPosSet.Faction[nFactionId][i]["szName"]
if GetTask(nTaskId) < nFinishValue then
if i == 60 then
szResult = format("%s<enter>%s任务(未完成,领取处:%s)", szResult, "出师", szNpcName)
else
szResult = format("%s<enter>%d级门派任务(未完成,领取处:%s)", szResult, i, szNpcName)
end
else
if i == 60 then
szResult = format("%s<enter>%s任务(已完成,领取处:%s)", szResult, "出师", szNpcName)
else
szResult = format("%s<enter>%d级门派任务(已完成,领取处:%s)", szResult, i, szNpcName)
end
end
end
return szResult
end


function get_xingzoujianghu_info(tbReminderInfo)
local szInfo = "<enter>"
local nTaskValue = GetTask(1800)
for i = 1, getn(tbReminderInfo) do
local nNumber = floor(nTaskValue / tbReminderInfo[i].nDivisor)
nNumber = mod(nNumber, 10)
local szTempInfo = format("已完成%d次", nNumber)
szTempInfo = format(tbReminderInfo[i].szInfo, szTempInfo)
szInfo = format("%s%s", szInfo, szTempInfo)
end
return szInfo
end