проверка на убийство

zakatov

zkt-team
Автор темы
Проверенный
1,695
525
Версия MoonLoader
.026-beta
Хочу сделать скрипт, чтоб при убийстве вызывался звук. Так вот.. Как сделать проверку на то, что ты убил игрока?
 
Решение
Lua:
local ev = require "moonloader".audiostream_state
local kill = loadAudioStream("moonloader/resource/Kill.mp3")
local sampev = require('samp.events')

function main()
    if not isSampLoaded() then return end
    
    while not isSampAvailable() do
        wait(5000)
        thisScript():reload()
    end
end

function sampev.onPlayerDeathNotification(killerId, killedId, reason)
    local _, iid = sampGetPlayerIdByCharHandle(PLAYER_PED)
    if killerId == iid then
    setAudioStreamState(kill, ev.PLAY)
    end
end

Попробуй

zakatov

zkt-team
Автор темы
Проверенный
1,695
525
Lua:
function require('samp.events').onPlayerDeathNotification(killerId, killedId, reason)
    local _, iid = sampGetPlayerIdByCharHandle(PLAYER_PED)
    if killerId == iid then
        -- Вот тут воспроизводишь звук
    end
end
Не тестил, но должно работать
[23:32:38.380501] (error) kill sound.lua: F:\winter skybox\moonloader\kill sound.lua:13: <name> or '...' expected near '"samp.events"'
[23:32:38.380501] (error) kill sound.lua: Script died due to an error. (05D411B4)
 

zakatov

zkt-team
Автор темы
Проверенный
1,695
525
подключал библеотему samp.events?
Да

вот. это я пытался сделать но оно не работает:
local ev = require "moonloader".audiostream_state
local kill = loadAudioStream("moonloader/resource/Kill.mp3")
local sampev = require('samp.events')

function main()
    if not isSampLoaded() then return end
    
    while not isSampAvailable() do
        wait(5000)
        thisScript():reload()
    end
end

function require('samp.events').onPlayerDeathNotification(killerId, killedId, reason)
    local _, iid = sampGetPlayerIdByCharHandle(PLAYER_PED)
    if killerId == iid then
    setAudioStreamState(kill, ev.PLAY)
    end
end
 

VanoKLR

Известный
681
403
Lua:
local ev = require "moonloader".audiostream_state
local kill = loadAudioStream("moonloader/resource/Kill.mp3")
local sampev = require('samp.events')

function main()
    if not isSampLoaded() then return end
    
    while not isSampAvailable() do
        wait(5000)
        thisScript():reload()
    end
end

function sampev.onPlayerDeathNotification(killerId, killedId, reason)
    local _, iid = sampGetPlayerIdByCharHandle(PLAYER_PED)
    if killerId == iid then
    setAudioStreamState(kill, ev.PLAY)
    end
end

Попробуй
 
  • Нравится
Реакции: zakatov