簡體   English   中英

嘗試調用方法“find”(零值)

[英]attempt to call method 'find' (a nil value)

嘗試在 trAInsportedgame 中調用方法“find”(一個 nil 值)

function ai.foundPassengers(train, passengers)
    if train.passenger and train.passenger:find("Show me the money!") then return nil end

    for k, p in pairs(passengers) do
        print(p)
        if p.name:find("Show me the money!") then
            print("found VIP!")
            if train.passenger then
                dropPassenger(train)
            end
            return p
        end
    end
    return passengers[1]
end

https://github.com/Germanunkol/trAInsported/blob/e0ed49e73ffd447ba1024c8f08bcc0fb24bf3cdb/Scripts/ai.lua#L390

那里的代碼表明train.passenger是一個表,而不是一個字符串。

由於您的表 train.passenger 沒有實現 function ,因此find無法調用它。

幾行之后你調用p.name:find("Show me the money!")這對我來說沒有多大意義。 為什么乘客的名字會包含“給我錢?”?

乘客姓名是一個字符串。 也許你打算在上面做同樣的事情。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM