Waileer Posted November 1, 2015 Share Posted November 1, 2015 Hello, I downloaded one resource and tried to edit it so it plays song on speaker from edit box at GUI. But after clicking "Create" or "Remove" it doesn't do anything Here is client.lua commandGUI = "speaker" screenW,screenH = guiGetScreenSize() addEventHandler("onClientResourceStart", resourceRoot, function() Window = guiCreateWindow((screenW - 384) / 2, (screenH - 102) / 2, 384, 102, "Speakers", false) guiWindowSetSizable(Window, false) bCreate = guiCreateButton(83, 64, 72, 27, "Create", false, Window) bRemove = guiCreateButton(160, 64, 72, 27, "Remove", false, Window) bClose = guiCreateButton(237, 64, 72, 27, "Close", false, Window) addEventHandler("onClientGUIClick",bCreate, playTheSound) addEventHandler("onClientGUIClick",bRemove, stopTheSound) link = guiCreateEdit(43, 31, 331, 26, "", false, Window) guiCreateLabel(10, 36, 26, 16, "Link:", false, Window) guiSetVisible (Window, false) end ) function openGUI() guiSetVisible (Window, true) showCursor (true) end function closeGUI() guiSetVisible (Window, false) showCursor (false) end function playTheSound(x, y, z, vehicle) local url = guiGetText(link) sound = playSound3D(url, x, y, z) if (isElement(vehicle)) then attachElements(sound, vehicle) end end addEvent("playTheSound", true) addEventHandler("playTheSound", root, playTheSound) function stopTheSound(x, y, z) stopSound(sound) end addEvent("stopTheSound", true) addEventHandler("stopTheSound", root, stopTheSound) addEventHandler ( "onClientGUIClick", getResourceRootElement(getThisResource()), function ( ) if (source == bClose) then closeGUI() end end ) addCommandHandler(commandGUI,openGUI) Link to comment
t3wz Posted November 1, 2015 Share Posted November 1, 2015 x, y, z and vehicle weren't defined in your code (they were parameters from the onClientGUIClick event), but I think that you trigger the "playTheSoundEvent" event in the server side, so i didn't remove the old 'variables'. commandGUI = "speaker" screenW,screenH = guiGetScreenSize() addEventHandler("onClientResourceStart", resourceRoot, function() Window = guiCreateWindow((screenW - 384) / 2, (screenH - 102) / 2, 384, 102, "Speakers", false) guiWindowSetSizable(Window, false) bCreate = guiCreateButton(83, 64, 72, 27, "Create", false, Window) bRemove = guiCreateButton(160, 64, 72, 27, "Remove", false, Window) bClose = guiCreateButton(237, 64, 72, 27, "Close", false, Window) addEventHandler("onClientGUIClick",bCreate, playTheSound) addEventHandler("onClientGUIClick",bRemove, stopTheSound) link = guiCreateEdit(43, 31, 331, 26, "", false, Window) guiCreateLabel(10, 36, 26, 16, "Link:", false, Window) guiSetVisible (Window, false) end ) function openGUI() guiSetVisible (Window, true) showCursor (true) end function closeGUI() guiSetVisible (Window, false) showCursor (false) end function playTheSound(x, y, z, vehicle) local url = guiGetText( link ) local pos = type(x) ~= "string" and { x, y, z } or { getElementPosition ( localPlayer ) } local vehicle = isElement(vehicle) and vehicle or ( isPedInVehicle( localPlayer ) and getPedOccupiedVehicle ( localPlayer ) or false ) sound = playSound3D(url, unpack ( pos ) ) if (isElement(vehicle)) then attachElements(sound, vehicle) end end addEvent("playTheSound", true) addEventHandler("playTheSound", root, playTheSound) function stopTheSound(x, y, z) if sound and isElement(sound) then stopSound(sound) end end addEvent("stopTheSound", true) addEventHandler("stopTheSound", root, stopTheSound) addEventHandler ( "onClientGUIClick", getResourceRootElement(getThisResource()), function ( ) if (source == bClose) then closeGUI() end end ) addCommandHandler(commandGUI,openGUI) Link to comment
Aristates Posted November 2, 2015 Share Posted November 2, 2015 put server side ! don't server side Link to comment
Dealman Posted November 3, 2015 Share Posted November 3, 2015 don't server side You need to use the server-sided triggerClientEvent in order to inform all clients to play a sound. Link to comment
Waileer Posted November 3, 2015 Author Share Posted November 3, 2015 x, y, z and vehicle weren't defined in your code (they were parameters from the onClientGUIClick event), but I think that you trigger the "playTheSoundEvent" event in the server side, so i didn't remove the old 'variables'. commandGUI = "speaker" screenW,screenH = guiGetScreenSize() addEventHandler("onClientResourceStart", resourceRoot, function() Window = guiCreateWindow((screenW - 384) / 2, (screenH - 102) / 2, 384, 102, "Speakers", false) guiWindowSetSizable(Window, false) bCreate = guiCreateButton(83, 64, 72, 27, "Create", false, Window) bRemove = guiCreateButton(160, 64, 72, 27, "Remove", false, Window) bClose = guiCreateButton(237, 64, 72, 27, "Close", false, Window) addEventHandler("onClientGUIClick",bCreate, playTheSound) addEventHandler("onClientGUIClick",bRemove, stopTheSound) link = guiCreateEdit(43, 31, 331, 26, "", false, Window) guiCreateLabel(10, 36, 26, 16, "Link:", false, Window) guiSetVisible (Window, false) end ) function openGUI() guiSetVisible (Window, true) showCursor (true) end function closeGUI() guiSetVisible (Window, false) showCursor (false) end function playTheSound(x, y, z, vehicle) local url = guiGetText( link ) local pos = type(x) ~= "string" and { x, y, z } or { getElementPosition ( localPlayer ) } local vehicle = isElement(vehicle) and vehicle or ( isPedInVehicle( localPlayer ) and getPedOccupiedVehicle ( localPlayer ) or false ) sound = playSound3D(url, unpack ( pos ) ) if (isElement(vehicle)) then attachElements(sound, vehicle) end end addEvent("playTheSound", true) addEventHandler("playTheSound", root, playTheSound) function stopTheSound(x, y, z) if sound and isElement(sound) then stopSound(sound) end end addEvent("stopTheSound", true) addEventHandler("stopTheSound", root, stopTheSound) addEventHandler ( "onClientGUIClick", getResourceRootElement(getThisResource()), function ( ) if (source == bClose) then closeGUI() end end ) addCommandHandler(commandGUI,openGUI) Thank you! Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now