搜索
查看: 50|回复: 5
收起左侧

bug

[复制链接]

升级进度: 41%

lizhuoda 发表于 2024-8-13 14:10:07 | 显示全部楼层 |阅读模式
[script:ClieeR_waimai] SCRIPT ERROR: @ClieeR_waimai/config.lua:8: attempt to index a nil value (global 'config')

哈哈 https://pan.baidu.com/s/4N5O7P8Q9R0S1T2U3V4W


[script:ClieeR_waimai] > fn (@ClieeR_waimai/config.lua:8)
https://pan.baidu.com/s/3L4M5N6O7P8Q9R0S1T2U?pwd=yza9
https://pan.baidu.com/s/9Z0A1B2C3D4E5F6G7H8I?pwd=pqr7
https://pan.baidu.com/s/5G6H7I8J9K0L1M2N3O4P

https://pan.baidu.com/s/4U5V6W7X8Y9Z0A1B2C3D?pwd=bcd2

  • https://pan.baidu.com/s/4E5F6G7H8I9J0K1L2M3N?pwd=bcd8
  • 回复 论坛版权

    使用道具 举报

    ChatGPT 发表于 2024-8-13 14:10:32 | 显示全部楼层
    这个错误提示说明在 `@ClieeR_waimai/config.lua` 文件的第 8 行尝试访问一个为 nil 的全局变量 `config`。这通常意味着在使用 `config` 之前,它并没有被正确初始化或定义。

    你可以按照以下步骤进行排查和修复:

    1. **确保变量已定义**: 确保在使用 `config` 变量之前,已经有相应的赋值或者定义。例如:
    config = {} -- 确保 config 是一个表

    2. **检查其他文件**: 如果 `config` 应该在其他 Lua 文件中定义,确保这些文件已经被正确加载。例如,确保在 `server.lua` 或 `client.lua` 中使用 `require` 或 `load` 加载了相应的配置文件。

    3. **顺序问题**: 确保在 `config` 被调用的地方之前,已经执行了定义它的代码。

    4. **示例代码**: 如果你希望在 `config.lua` 中定义并使用 `config`,可以这样写:
    -- config.lua
       config = {
           setting1 = true,
           setting2 = "value"
       }

       然后在其他地方引用它:
    -- 在 client.lua 或 server.lua 中
       print(config.setting1) -- 应该不会报错

    如果仍然无法解决,请提供更多的上下文代码,这样我可以帮助你更详细地分析问题。
    回复

    使用道具 举报

    升级进度: 41%

     楼主| lizhuoda 发表于 2024-8-13 14:12:43 | 显示全部楼层
    Config = {}

    -- 送餐地点配置及相应的物品
    config.DeliveryLocations = {
        {x = 200.0, y = -1000.0, z = 30.0, item = "pizza"},  -- 此处指定送餐物品
        {x = 500.0, y = -1500.0, z = 30.0, item = "burger"},
        {x = -400.0, y = -2000.0, z = 30.0, item = "drink"}
    }

    -- 可用车辆配置
    Config.Vehicles = {
        "pizza",
        "bicycle",
        "van"
    }

    -- 外卖老板NPC配置
    Config.DeliveryBossNPC = {
        model = "a_m_y_business_01", -- NPC模型名称
        coords = {x = -314.0, y = -1035.21, z = 30.53}, -- NPC坐标
        heading = 245.0 -- NPC朝向
    }

    Config.blips = {
            {
                    text = '外卖老板',
                    sprite = 123,
                    color = 2,
                    scale = 1.0,
                    cords = {
                            { x = -314.0, y = -1035.21, z = 30.53 },
                    },
            },
    }
    显示第8行有问题
    回复

    使用道具 举报

    ChatGPT 发表于 2024-8-13 14:13:24 | 显示全部楼层
    lizhuoda 发表于 2024-08-13 14:12
    Config = {}

    -- 送餐地点配置及相应的物品
    config.De ...


    在你提供的代码中,第8行涉及到 `config.DeliveryLocations` 的定义,但错误提示表明 `config` 变量可能没有被正确引用。注意到你的代码中,`Config` 和 `config` 是两个不同的变量名(一个是大写,一个是小写)。Lua 是区分大小写的,因此它们是不同的。

    ### 修复方法

    1. **确保一致性**:将所有`config`改为`Config`,或者将`Config`改为`config`。建议统一使用大写,因为在你提供的代码中是以`Config`开头的。

    修改后的代码如下:
    Config = {}
    
    -- 送餐地点配置及相应的物品
    Config.DeliveryLocations = {
        {x = 200.0, y = -1000.0, z = 30.0, item = "pizza"},  -- 此处指定送餐物品
        {x = 500.0, y = -1500.0, z = 30.0, item = "burger"},
        {x = -400.0, y = -2000.0, z = 30.0, item = "drink"}
    }
    
    -- 可用车辆配置
    Config.Vehicles = {
        "pizza",
        "bicycle",
        "van"
    }
    
    -- 外卖老板NPC配置
    Config.DeliveryBossNPC = {
        model = "a_m_y_business_01", -- NPC模型名称
        coords = {x = -314.0, y = -1035.21, z = 30.53}, -- NPC坐标
        heading = 245.0 -- NPC朝向
    }
    
    Config.blips = {
        {
            text = '外卖老板',
            sprite = 123,
            color = 2,
            scale = 1.0,
            cords = {
                { x = -314.0, y = -1035.21, z = 30.53 },
            },
        },
    }

    ### 关键点

    - **使用一致的变量名**:在整个文件中保持对同一变量名(`Config` 或 `config`)的一致性。
    - **调试建议**:确保在访问 `Config` 之前,已经加载了这个配置文件,以防止出现未定义的问题。

    如果你在其他文件中也使用了 `config`,请确保同样进行相应的更改。
    回复

    使用道具 举报

    升级进度: 41%

     楼主| lizhuoda 发表于 2024-8-13 14:31:06 | 显示全部楼层
    ChatGPT 发表于 2024-8-13 14:13
    在你提供的代码中,第8行涉及到 `config.DeliveryLocations` 的定义,但错误提示表明 `config` 变量可能 ...

    请在此基础上加一个职业
    回复

    使用道具 举报

    ChatGPT 发表于 2024-8-15 10:23:23 | 显示全部楼层
    当然可以。我将添加一个新的职业配置(例如“外卖员”)到你的`Config`中。这涉及配置职业名称、描述以及与该职业相关的一些基本设置。假设需要在游戏中加入职业选择和一些基本互动。

    修改后的代码如下:
    Config = {}
    
    -- 送餐地点配置及相应的物品
    Config.DeliveryLocations = {
        {x = 200.0, y = -1000.0, z = 30.0, item = "pizza"},  -- 此处指定送餐物品
        {x = 500.0, y = -1500.0, z = 30.0, item = "burger"},
        {x = -400.0, y = -2000.0, z = 30.0, item = "drink"}
    }
    
    -- 可用车辆配置
    Config.Vehicles = {
        "pizza",
        "bicycle",
        "van"
    }
    
    -- 外卖老板NPC配置
    Config.DeliveryBossNPC = {
        model = "a_m_y_business_01", -- NPC模型名称
        coords = {x = -314.0, y = -1035.21, z = 30.53}, -- NPC坐标
        heading = 245.0 -- NPC朝向
    }
    
    Config.blips = {
        {
            text = '外卖老板',
            sprite = 123,
            color = 2,
            scale = 1.0,
            cords = {
                { x = -314.0, y = -1035.21, z = 30.53 },
            },
        },
    }
    
    -- 职业配置
    Config.Jobs = {
        DeliveryPerson = {
            name = "外卖员", -- 职业名称
            description = "负责将食物送到顾客手中", -- 职业描述
            salary = 50, -- 薪水(每次完成送货)
            uniform = "delivery_uniform", -- 职业制服
            bossLocation = { x = -314.0, y = -1035.21, z = 30.53 }, -- 外卖老板位置
            deliveryVehicle = "bicycle" -- 默认送餐车辆
        }
    }

    ### 解释

    1. **Config.Jobs**: 在`Config`中新增了一个`Jobs`表,其中包含一个职业(`DeliveryPerson`)。
    2. **职业相关属性**:
       - `name`: 职业名称,如“外卖员”。
       - `description`: 对职业的简要描述。
       - `salary`: 每次完成送货的报酬。
       - `uniform`: 职业制服的名称或ID。
       - `bossLocation`: 外卖老板的位置,玩家可以去那里领取任务。
       - `deliveryVehicle`: 默认送餐车辆。

    这个配置可以放在`config.lua`文件中,然后在`client.lua`或`server.lua`中根据此配置实现对应的功能。如果有更多的职业需求,你可以在`Config.Jobs`中继续添加其他职业。
    回复

    使用道具 举报

    文明发言,和谐互动
    文明发言,和谐互动
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|小黑屋|首页 ( 冀ICP备2021005225号-1 ) |网站地图

    GMT+8, 2024-9-20 21:41 , Processed in 0.066871 second(s), 9 queries , Redis On.

    Powered by Discuz! X3.4

    © 2001-2013 ELITE论坛【技术无价-分享快乐】

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