⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sds_keju.lua

📁 天龙八部扫地僧的挂机脚本
💻 LUA
字号:
--[[
说    明:这是一个从任意地图导航到大理循环参加科举的脚本
作    者:扫地僧工作组
创建日期:2008-01-20 
--]]
local City = SDS_GetValue("CurCity");
local Pos = SDS_GetValue("CurPos");
local Level = SDS_GetValue("CurLevel");
local RoleType = SDS_GetValue("RoleType");

SDS_ShowMsg("欢迎你使用扫地僧科举脚本!");
SDS_ShowMsg("你现在所在位置为:", City, "(", Pos, ")");
SDS_ShowMsg("你的等级为:", Level, ",职业为:", RoleType);

local date = os.date("*t", os.time());

local TimeIsMatch = 0;

--时间校验,科举是17:30点,留半个小时的提前量,以防止机器时间不对
if (date.hour >= 17) then
    if (date.hour <= 21) then
        TimeIsMatch = 1;
    end
end

if (TimeIsMatch == 0) then
    SDS_ShowMsg("还没到参加科举考试的时间!");
else 
	--如果角色不在大理,则导航到大理
    if (City ~= "大理") then
        SDS_DoAction("坐骑", "1");
        SDS_DoAction("手工导航", "大理", "1");
    end;
    
    if (tonumber(SDS_GetValue("PackageMoney")) < 50000) then
    	local retry_times = 0;
        SDS_DoAction("走向NPC", "仓库");
	    SDS_Sleep(3000);
        SDS_DoAction("对话NPC", "仓库");
        SDS_Sleep(1000);
        SDS_DoAction("选择", "打开银行");
        SDS_Sleep(1000);
        SDS_DoAction("取补给费用");
    end

    for i=1, 20 do
        if (SDS_ScriptIsStoped() == 1) then
            SDS_ShowMsg("脚本被手工中止!");
            break;
        end
        SDS_DoAction("走向NPC", "考官"..i);
        SDS_Sleep(3000);
        SDS_DoAction("对话NPC", "考官"..i);
        SDS_DoAction("选择", "科举", "1");
        --请选上自动科举,扫地僧就会自动回答科举问题

        local SelectBeginOnce = 0; --控制回答错误后,只点一次开始
        --2分钟内每隔1秒检测是否有回答错、问题是否回答完毕,如果有回答错,继续点开始,如果回答完毕,跳出循环,继续下一个考官
        for j=1,120 do 
            if (SDS_ScriptIsStoped() == 1) then
                SDS_ShowMsg("脚本被手工中止!");
                break;
            end

            if SDS_GetDialogItem("开始") == 1 then
                if (SelectBeginOnce == 0) then
                    SDS_DoAction("选择", "开始"); --出现错误答案后,继续科举
                    SelectBeginOnce = 1;
                end
            elseif SDS_GetDialogItem("科举") == 1 then
                --正确答案,不处理
            elseif SDS_GetDialogItem("离开") == 1 then
                SelectBeginOnce = 0;
                if (i == 20) then
                    SDS_ShowMsg("恭喜你,你已经回答完全部问题!");
                end
                break; --回答完毕
            end
            
            --等1秒
            SDS_Sleep(1000);
        end
    end
    
    --可以根据需要在后面添加挂机脚本,请事先设置好挂机设置
    --SDS_DoAction("执行任务", "1");
end;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -