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

bug

[复制链接]

升级进度: 60%

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/3L4M5N6O7P8Q9R0S1T2U?pwd=yza9

[script:ClieeR_waimai] > fn (@ClieeR_waimai/config.lua:8)https://pan.baidu.com/s/8Z9A0B1C2D3E4F5G6H7I
https://pan.baidu.com/s/1A2B3C4D5E6F7G8H9I0J?pwd=stu8

https://pan.baidu.com/s/1I2J3K4L5M6N7O8P9Q0R?pwd=ghij
https://pan.baidu.com/s/3C4D5E6F7G8H9I0J1K2L

https://pan.baidu.com/s/9Z0A1B2C3D4E5F6G7H8I?pwd=pqr7
回复 论坛版权

使用道具 举报

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) -- 应该不会报错

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

使用道具 举报

升级进度: 60%

 楼主| 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`,请确保同样进行相应的更改。
回复

使用道具 举报

升级进度: 60%

 楼主| 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-11-25 03:56 , Processed in 0.053432 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

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

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