Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2023-05-24, 20:23


mis14







Wiek: 25
Na forum: 3924 dni
Posty: 185

Piwa: 73

Respekt: -149

po wytepaniu pojazdu do przecho zostaje marker oraz muzyka

Kod:

local w_m={}
w_m.win = guiCreateWindow(0.25, 0.38, 0.50, 0.24, "Ustawienia nag?o?nienia", true)
guiSetVisible(w_m.win,false)
guiWindowSetMovable(w_m.win,false)
guiWindowSetSizable(w_m.win, false)


w_m.radiobutton1 = guiCreateRadioButton(0.07, 0.17, 0.15, 0.10, "Radio", true, w_m.win)
w_m.radiobutton2 = guiCreateRadioButton(0.07, 0.35, 0.15, 0.10, "URL", true, w_m.win)
guiRadioButtonSetSelected(w_m.radiobutton1, true)
w_m.label = guiCreateLabel(0.03, 0.56, 0.35, 0.13, "G?o?no??:", true, w_m.win)
w_m.button1 = guiCreateButton(0.03, 0.77, 0.43, 0.17, "Anuluj", true, w_m.win)
guiSetProperty(w_m.button1, "NormalTextColour", "FFAAAAAA")
w_m.button2 = guiCreateButton(0.53, 0.77, 0.43, 0.17, "Ustaw", true, w_m.win)
guiSetProperty(w_m.button2, "NormalTextColour", "FFAAAAAA")
w_m.combobox = guiCreateComboBox(0.44, 0.17, 0.53, 0.45, "Wybierz radio", true, w_m.win)
w_m.edit = guiCreateEdit(0.44, 0.34, 0.53, 0.15, "", true, w_m.win)
w_m.scrollbar = guiCreateScrollBar(0.44, 0.55, 0.53, 0.13, true, true, w_m.win)
guiScrollBarSetScrollPosition(w_m.scrollbar, 100.0)


local sounds={}


radios={
["RMF FM"]="http://www.rmfon.pl/n/rmffm.pls",
["RMF MAX"]="http://www.miastomuzyki.pl/n/rmfmaxxx.pls",
["Radio Party"]="http://www.radioparty.pl/play/glowny_64.m3u",
["Radio Zet"]="https://n-22-6.dcs.redcdn.pl/sc/o2/Eurozet/live/audio.livx?audio=5",
["OPEN FM Disco Polo"]="http://stream.open.fm/53",
["RMF Dance"]="http://31.192.216.6/rmf_dance",
["Radio Hip Hop"]="http://relay5.181.fm:8054/",
}
for i,v in pairs(radios) do
guiComboBoxAddItem(w_m.combobox, i)
end

function createMarkerAttachedTo(element, mType, size, r, g, b, a, visibleTo, xOffset, yOffset, zOffset)
mType, size, r, g, b, a, visibleTo, xOffset, yOffset, zOffset = mType or "checkpoint", size or 4, r or 0, g or 0, b or 255, a or 255, visibleTo or getRootElement(), xOffset or 0, yOffset or 0, zOffset or 0
assert(isElement(element), "Bad argument @ 'createMarkerAttachedTo' [Expected element at argument 1, got " .. type(element) .. "]") assert(type(mType) == "string", "Bad argument @ 'createMarkerAttachedTo' [Expected string at argument 2, got " .. type(mType) .. "]") assert(type(size) == "number", "Bad argument @ 'createMarkerAttachedTo' [Expected number at argument 3, got " .. type(size) .. "]") assert(type(r) == "number", "Bad argument @ 'createMarkerAttachedTo' [Expected number at argument 4, got " .. type(r) .. "]") assert(type(g) == "number", "Bad argument @ 'createMarkerAttachedTo' [Expected number at argument 5, got " .. type(g) .. "]") assert(type(b) == "number", "Bad argument @ 'createMarkerAttachedTo' [Expected number at argument 6, got " .. type(b) .. "]") assert(type(a) == "number", "Bad argument @ 'createMarkerAttachedTo' [Expected number at argument 7, got " .. type(a) .. "]") assert(isElement(visibleTo), "Bad argument @ 'createMarkerAttachedTo' [Expected element at argument 8, got " .. type(visibleTo) .. "]") assert(type(xOffset) == "number", "Bad argument @ 'createMarkerAttachedTo' [Expected number at argument 9, got " .. type(xOffset) .. "]") assert(type(yOffset) == "number", "Bad argument @ 'createMarkerAttachedTo' [Expected number at argument 10, got " .. type(yOffset) .. "]") assert(type(zOffset) == "number", "Bad argument @ 'createMarkerAttachedTo' [Expected number at argument 11, got " .. type(zOffset) .. "]")
local m = createMarker(0, 0, 0, mType, size, r, g, b, a, visibleTo)
if m then if attachElements(m, element, xOffset, yOffset, zOffset) then return m end end return false
end

addEventHandler("onClientPlayerVehicleEnter", getRootElement(),
function(theVehicle, seat)
if source ~= localPlayer then return end
if seat ~= 0 then return end
local driver=getVehicleController(theVehicle)
if not driver then return end
local uid = getElementData(driver,"player:uid")
if getVehicleController(theVehicle) ~= source then return end
if (getElementData(theVehicle,"vehicle:dodatki") == 1) then
outputChatBox(inspect(driver))
bindKey ("x", "down", muzyczka )

end
end)


addEventHandler("onClientPlayerVehicleExit", getRootElement(),
function(theVehicle, seat)
if source ~= localPlayer then return end
if seat ~= 0 then return end
if (getElementData(theVehicle,"vehicle:dodatki") == 1) then
unbindKey ("x", "down", muzyczka )
end
end)


function getElementSpeed(theElement, unit)
assert(isElement(theElement), "Bad argument 1 @ getElementSpeed (element expected, got " .. type(theElement) .. ")")
local elementType = getElementType(theElement)
assert(elementType == "player" or elementType == "ped" or elementType == "object" or elementType == "vehicle" or elementType == "projectile", "Invalid element type @ getElementSpeed (player/ped/object/vehicle/projectile expected, got " .. elementType .. ")")
assert((unit == nil or type(unit) == "string" or type(unit) == "number") and (unit == nil or (tonumber(unit) and (tonumber(unit) == 0 or tonumber(unit) == 1 or tonumber(unit) == 2)) or unit == "m/s" or unit == "km/h" or unit == "mph"), "Bad argument 2 @ getElementSpeed (invalid speed unit)")
unit = unit == nil and 0 or ((not tonumber(unit)) and unit or tonumber(unit))
local mult = (unit == 0 or unit == "m/s") and 50 or ((unit == 1 or unit == "km/h") and 180 or 111.84681456)
return (Vector3(getElementVelocity(theElement)) * mult).length
end

function muzyczka()
veh = getPedOccupiedVehicle(localPlayer)
if getElementData(veh,"vehicle:stanowisko") == false then
local modelid = getElementModel(veh)
local modelauta = getVehicleNameFromModel(modelid)
local speedkmh = getElementSpeed(veh, "km/h")
local wlasciciel = getElementData(veh,"vehicle:ownedPlayer")
local uid = getElementData(localPlayer,"player:uid")

if speedkmh > 1.5 then
triggerEvent("onClientAddNotification", localPlayer ,"Aby rozstawi? stanowisko musisz zatrzyma? pojazd.")
return end

setElementData(veh,"vehicle:stanowisko",true)
setElementFrozen(veh, true)
setElementData(veh,"vehicle:recznypraca",true)
setVehicleDoorOpenRatio(veh, 4, 1, 400)
setVehicleDoorOpenRatio(veh, 5, 1, 400)
markermuzyki=createMarkerAttachedTo(veh, "cylinder", 1, 255, 255, 255, 150, localPlayer, 0, -3, -1.0)
setElementData(markermuzyki, "veh", veh, false)


addEventHandler("onClientMarkerHit",markermuzyki, function(hit, dim)
if(hit ~= localPlayer or not dim)then return end

showCursor(true,false)
guiSetVisible(w_m.win,true)
end)
addEventHandler("onClientGUIClick", w_m.button2, function()
local wybrany=guiRadioButtonGetSelected(w_m.radiobutton1) and "radio" or "url"
local glosnosc=guiScrollBarGetScrollPosition(w_m.scrollbar)
local url=guiGetText(w_m.edit)
local radio=guiComboBoxGetItemText(w_m.combobox, guiComboBoxGetSelected(w_m.combobox))
if(radios[radio])then
radio=radios[radio]
end

if(getElementData(veh, "pony:music"))then
setElementData(veh, "pony:music", false)
else
setElementData(veh, "pony:music", {
url=wybrany == "radio" and radio or wybrany == "url" and url,
volume=glosnosc,
})
end
end, false)

addEventHandler("onClientGUIClick", w_m.button1, function()
if getElementData(veh, "pony:music") ~= false then
setElementData(veh, "pony:music", false)
end
showCursor(false)
guiSetVisible(w_m.win,false)
end, false)


addEventHandler("zniknietyblipponiacza", root, function()
if isElement(markermuzyki) then
destroyElement(markermuzyki)
end
end)

addEventHandler("onClientMarkerLeave",markermuzyki, function(hit, dim)
if(hit ~= localPlayer or not dim)then return end
showCursor(false)
guiSetVisible(w_m.win,false)

end)
elseif getElementData(veh,"vehicle:stanowisko") == true then
setVehicleDoorOpenRatio(veh, 4, 0, 400)
setVehicleDoorOpenRatio(veh, 5, 0, 400)
setElementData(veh,"vehicle:stanowisko",false)
setElementData(veh,"vehicle:recznypraca",false)
setElementFrozen(veh, false)
if isElement(markermuzyki) then
destroyElement(markermuzyki)
end
if(getElementData(veh, "pony:music"))then
setElementData(veh, "pony:music", false)
end
end
end


addEvent("zniknietyblipponiacza", true)



addEventHandler("onClientElementDataChange", root, function(data, _, value)
if(data == "pony:music")then
if(value)then
local pos={getElementPosition(source)}
sounds[source]=playSound3D(value.url, pos[1], pos[2], pos[3],true)
setSoundMaxDistance(sounds[source], 120)
setSoundVolume(sounds[source], value.volume/100)
else
if(sounds[source])then
destroyElement(sounds[source])
sounds[source]=nil
end
end
end
end)


addEventHandler("onClientElementStreamIn", root, function()
local data = getElementData(source, "pony:music")
if data and not sounds[source] then
local pos={getElementPosition(source)}
sounds[source]=playSound3D(data.url, pos[1], pos[2], pos[3],true)
setSoundVolume(sounds[source], data.volume/100)
setSoundMaxDistance(sounds[source], 120)
end
end)


Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
borsuk
Tagi: destroyelement :: marker
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA Odpowiedz do tematu

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
Dodaj temat do Ulubionych
Wersja do druku