- Версия MoonLoader
- .026-beta
Есть скрипт, который при появлении новой машины в зоне стрима добавляет ник и ид водилы в таблицу и после чего рейндерит их на экране. Проблема в том, что если покинуть зону стрима и вернуться обратно, то ник одного и того же игрока зарендерится еще раз.
p.s. Мне не нужно удалять ник игрока, который пропал из зоны стрима из рендера, мне нужно сделать так, чтобы этот ник не рендерился 2 раз, при повторном появлении этого игрока в стриме.
p.s. Мне не нужно удалять ник игрока, который пропал из зоны стрима из рендера, мне нужно сделать так, чтобы этот ник не рендерился 2 раз, при повторном появлении этого игрока в стриме.
Lua:
script_properties('work-in-pause')
require 'lib.moonLoader'
require 'sampfuncs'
local sampev = require('lib.samp.events')
local Font = renderCreateFont("Arial", 8, 1)
tablica = {}
function main()
while not isSampAvailable() do wait(100) end
while true do
wait(0)
if not isPauseMenuActive() then
renderPosY = 500
for k, v in pairs(tablica) do
local NickName = tablica[k]['Nick']
local PlayerID = tablica[k]['Id']
local inStream, Char = sampGetCharHandleBySampPlayerId(PlayerID)
renderFontDrawText(Font, NickName.."["..PlayerID.."] ", 800, renderPosY, 0xFFFFFFFF)
renderPosY = renderPosY + 15
end
end
end
end
function sampev.onVehicleStreamIn(vehid, data) -- при появлении новой машины в зоне стрима
lua_thread.create(function()
wait(200) -- задержка
bool, hand = sampGetCarHandleBySampVehicleId(vehid) -- получаем хендл тачки
if bool then
pPed = getDriverOfCar(hand) --получаем пед водилы
result, pID = sampGetPlayerIdByCharHandle(pPed) --получаем ид водителя
if result then
nik = sampGetPlayerNickname(pID)
table.insert(tablica, {Nick = nik, Id = pID})
end
end
end)
end