北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
查看: 1081|回复: 2

chatgpt写的按原路返回的代码

[复制链接]
发表于 2023-5-7 10:28:25 | 显示全部楼层 |阅读模式
新模式做完任务手动往回走很麻烦,用chatgpt弄了个按原路返回的代码。
function reverse_path(opath)
    local directions = {
        n = "s",
        s = "n",
        e = "w",
        w = "e",
        u = "d",
        d = "u",
        nw = "se",
        se = "nw",
        ne = "sw",
        sw = "ne",
        nu = "sd",
        sd = "nu",
        wu = "ed",
        ed = "wu",
        eu = "wd",
        wd = "eu",
        su = "nd",
        nd = "su",
        et = "ot",
        ot = "et"
    }

    local path_array = {}
    for direction in string.gmatch(opath, "%a+") do
        table.insert(path_array, 1, directions[direction])
    end

    return table.concat(path_array, ";")
end

function clear_variables()
    SetVariable("opath", "")
    SetVariable("newpath", "")
    Note("opath: " .. GetVariable("opath"))
    Note("newpath: " .. GetVariable("newpath"))
end

local opath = GetVariable("opath")
local reversed_path = reverse_path(opath)

local path_array = {}
for direction in string.gmatch(reversed_path, "%a+") do
    table.insert(path_array, direction)
end

-- 显示开始反向行走提示
Note("---开始反转行走---")

local delay = 0.5
for _, direction in ipairs(path_array) do
    DoAfterSpecial(delay, direction .. ";", 10) -- 使用DoAfterSpecial发送方向
    delay = delay + 0.5 -- 增加延迟
end

-- 在反向行走结束后,调用clear_variables函数
DoAfterSpecial(delay, "clear_vars", 10)
  

北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2023-5-8 13:13:18 | 显示全部楼层
好奇et 和 ot是什么方向
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2023-5-8 18:30:35 | 显示全部楼层
xfox 发表于 2023-5-8 01:13 PM
好奇et 和 ot是什么方向

应该是enter和out
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|北大侠客行MUD ( 京ICP备16065414号-1 )

GMT+8, 2024-4-29 01:58 AM , Processed in 0.012021 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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