attempt to call global 'find'

shadow80962

Известный
Автор темы
127
13
Версия MoonLoader
.026-beta
Хочу словить сообщение с чата но получаю только краш скрипта

Сам код
Lua:
require("lib.moonloader")
local sampev = require("lib.samp.events")
local encoding = require("encoding")
local effil = require("effil")

encoding.default  = 'CP1251'
u8 = encoding.UTF8

function sampev.onServerMessage(color, text)
  if find(text, "__________Банковский чек__________") then
    print('[PayDay]\nНазвание сервера: '.. sampGetCurrentServerName() ..' \nНик: ' .. sampGetPlayerNickname(select(2, sampGetPlayerIdByCharHandle(PLAYER_PED))) .. '')
  end
end

Lua:
[ML] (error) SampEvents: D:\GTA 140K BY DAPO SHOW\moonloader\SampEvents.lua:27: attempt to call global 'find' (a nil value)
stack traceback:
    D:\GTA 140K BY DAPO SHOW\moonloader\SampEvents.lua:27: in function 'callback'
    ...TA 140K BY DAPO SHOW\moonloader\lib\samp\events\core.lua:79: in function <...TA 140K BY DAPO SHOW\moonloader\lib\samp\events\core.lua:53>
 

ARMOR

kjor32 is legend
Модератор
4,827
6,013
Lua:
local ev = require 'lib.samp.events"

function ev.onServerMessage(color, text)
    if text:find("__________Банковский чек__________") then
        print('[PayDay]\nНазвание сервера: '.. sampGetCurrentServerName() ..' \nНик: ' .. sampGetPlayerNickname(select(2, sampGetPlayerIdByCharHandle(PLAYER_PED))) .. '\nДеньги на руках: ' .. tostring(getPlayerMoney(PLAYER_PED)) .. '\nУровень: ' .. sampGetPlayerScore(sampGetPlayerIdByCharHandle(PLAYER_PED))
    end
end
Код может неработать, просто при отлове строки нужно ещё и цвет строки указывать. Если он работать не будет - скинь строчку которую нужно отловить из чатлога
 

DeKzer

Известный
518
220
Lua:
local ev = require 'lib.samp.events"

function ev.onServerMessage(color, text)
    if text:find("__________Банковский чек__________") then
        print('[PayDay]\nНазвание сервера: '.. sampGetCurrentServerName() ..' \nНик: ' .. sampGetPlayerNickname(select(2, sampGetPlayerIdByCharHandle(PLAYER_PED))) .. '\nДеньги на руках: ' .. tostring(getPlayerMoney(PLAYER_PED)) .. '\nУровень: ' .. sampGetPlayerScore(sampGetPlayerIdByCharHandle(PLAYER_PED))
    end
end
Код может неработать, просто при отлове строки нужно ещё и цвет строки указывать. Если он работать не будет - скинь строчку которую нужно отловить из чатлога
Нужно было сразу сделать отлов по цвету. Ибо любой желаюющий напишет в чат "__________Банковский чек__________" и у него в самп функс это выведеться