Cze?? mam taki kodzik i chcia?bym aby przy nadawa?o gr?b w 1 funkcji a w 2 usuwa?o - Kombinowa?em tutaj ale wtedy jak 2 graczy mia?o bw to mog?em uleczy? tylko 1 ;/
Gr?b - Obiekt o ID 2127
Wi?c tak je?eli graczowi HP do 0 wtedy dostaje tzw "BW" i przez czas "BW" podczas gdy 2 graczy dostawa?o BW tworzy? si? na jednym i drugim obiekty oczywi?cie obiekt znika? z 2 graczy ale drugi gracz non-stop mia? u?miercon? posta? nie mia? mo?liwo?ci poruszania si? nic kamera lecia?a w gor? i jedynie restart zasobu pomaga? ?adnych b??d?w w DB3 nie by?o
Poka? tre?? eventu "bw:zacznij".
Domy?lam si?, ?e wykonujesz tam tylko jeden timer, po ?mierci drugiego gracza one si? nadpisuj? i tylko jeden si? odradza.
Nie widz? nigdzie, aby owy obiekt si? tworzy? - masz gdzie? od niego kod? Chodzi mi tylko o fakt, czy on istnieje w og?le, pisa?e? co? o nim to wol??zapyta?.
local sx,sy = guiGetScreenSize()
local death = {}
function dli(x,a,b,c)
if (x==1) then return a end
if (x%10>1) and (x%10<5) and (not ((x%100>=10) and (x%100<=21))) then return b end
return c
end
local czyDodaneDoBazy = false
function bwUpdate()
local toBwEnd = (getElementData(getLocalPlayer(), "bwEndTime")-getTickCount())
local x, y, z = getElementPosition ( getLocalPlayer () )
-- setCameraMatrix ( x + 10, y + 10, z + 15, x, y, z )
setCameraMatrix(x-(10 * math.sin(toBwEnd/40000)),y+(10 * math.cos(toBwEnd/40000)),z+15,x,y,z)
if(toBwEnd <= 1) then
outputChatBox("?yjesz! Lecz masz tylko 1hp udaj si? do szpitala po leki.")
triggerEvent("onBwFinish", getRootElement())
removeEventHandler("onClientRender", getRootElement(), bwUpdate)
triggerServerEvent("bw:zakoncz",localPlayer)
return
end
local timeInt = math.floor(toBwEnd/1000)
local timeStr = (timeInt >= 60 and dli(timeInt/60+1, "minuta", "minuty", "minut") or dli(timeInt, "sekunda", "sekund", "sekund"))
local text = "Do ko?ca BW pozosta?o " .. tostring(math.floor((timeInt >= 60 and timeInt/60+1 or timeInt))) .. " " .. timeStr
local fX = (sx/2)-(dxGetTextWidth(text, 2)/2)
local fY = (sx/2)-200
dxDrawText(text, fX + 1, fY, fX + 1, fY, tocolor(0, 0, 0, 255), 2)
dxDrawText(text, fX - 1, fY, fX - 1, fY, tocolor(0, 0, 0, 255), 2)
dxDrawText(text, fX, fY + 1, fX, fY + 1, tocolor(0, 0, 0, 255), 2)
dxDrawText(text, fX, fY - 1, fX, fY - 1, tocolor(0, 0, 0, 255), 2)
dxDrawText(text, fX, fY, fX, fY, tocolor(255, 255, 255, 255), 2)
end
addEventHandler("onClientPlayerWasted", getRootElement(),
function(killer, weapon, bodypart)
if(source == getLocalPlayer()) then
local abs=getElementData(source,"abseiling")
if abs and abs~="" then
return
end
local bwSeconds = 10
if bodypart == 9 then -- g?owa
bwSeconds = (10 * 60)
elseif bodypart == 9 then -- ty?ek
bwSeconds = (2 * 60)
elseif tonumber(bodypart) and (tonumber(bodypart) >= 5 and tonumber(bodypart) <= 8) then -- ko?czyny
bwSeconds = (5 * 60)
elseif bodypart == 3 then -- klatka piersiowa
bwSeconds = (5 * 60)
else
bwSeconds = (5 * 60)
end
setElementData(getLocalPlayer(), "bwEndTime", getTickCount()+(bwSeconds * 1000))
triggerEvent("onGUIOptionChange", getRootElement(), "grayscale", true)
addEventHandler("onClientRender", getRootElement(), bwUpdate)
fadeCamera ( false, 1.0, 0, 0, 0 )
setTimer ( fadeCamera, 2000, 1, true, 0.5 )
triggerServerEvent("bw:zacznij",localPlayer)
death.heartBeat = playSound("audio/heartbeat.mp3", true)
end
end
)
addEvent("onBwFinish", true)
addEventHandler("onBwFinish", getRootElement(),
function()
setCameraTarget(getLocalPlayer())
destroyElement(death.heartBeat)
triggerServerEvent("onPlayerFinshBW", getLocalPlayer())
triggerEvent("onGUIOptionChange", getRootElement(), "grayscale", false)
removeEventHandler("onClientRender", getRootElement(), bwUpdate)
triggerServerEvent("bw:zakoncz",localPlayer)
end
)
addEvent("onScriptReset", true)
addEventHandler("onScriptReset", root,
function(bwTime)
setElementData(localPlayer, "bwEndTime", bwTime)
end
)
addEventHandler ( "onClientPlayerDamage", getRootElement(),
function()
if(source == getLocalPlayer()) then
fadeCamera ( false, 1.0, 255, 0, 0 )
setTimer ( fadeCamera, 500, 1, true, 0.5 )
end
end
)
ca?y c_side
[ Dodano: 2019-05-08, 18:14 ]
addEventHandler("onResourceStart", resourceRoot, function()
for i,v in ipairs(getElementsByType("player")) do
if getElementData(v,"character") and isPedDead(v) then
local x,y,z = getElementPosition(v)
local character = getElementData(v, "character")
spawnPlayer(v, x, y, z, 0, character.co_skin and tonumber(character.co_skin) or tonumber(character.skin), getElementInterior(v), getElementDimension(v))
setElementHealth(v, 50)
setCameraTarget(v,v)
end
end
end)
-- nazwa = onPlayerFinishBW
-- opis = event wykonywany po zako?czeniu bw.
-- argumenty = null
-- source = gracz
addEvent("bw:zakoncz",true)
addEventHandler("bw:zakoncz",getRootElement(),function()
exports.DB2:zapytanie("UPDATE `lss_users` SET `uo_bw`=0 WHERE id="..getElementData(source,"auth:uid"))
end)
addEvent("bw:zacznij",true)
addEventHandler("bw:zacznij",getRootElement(),function()
exports.DB2:zapytanie("UPDATE `lss_users` SET `uo_bw`=1 WHERE id="..getElementData(source,"auth:uid"))
end)
addEvent("onPlayerFinshBW", true)
addEventHandler("onPlayerFinshBW", getRootElement(),
function()
local x,y,z = getElementPosition(source)
local character = getElementData(source, "character")
exports["lss-achievements"]:checkAchievementForPlayer(source,"1stblood")
spawnPlayer(source, x, y, z, 0, character.co_skin and tonumber(character.co_skin) or character.faction_skin and tonumber(character.faction_skin) or getElementModel(source) or tonumber(character.skin), getElementInterior(source), getElementDimension(source))
setElementHealth(source, 1)
-- setElementModel(source, character.skin)
end)
-- W realnym ?wiecie je?li dostaniesz w ?eb to te? giniesz odrazu.;)
addEventHandler("onPlayerDamage", getRootElement(),
function ( attacker, weapon, bodypart, loss )
if ( bodypart == 9 ) then
killPed ( source, attacker, weapon, bodypart )
end
end
)
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach