Reflex# Posted December 4, 2012 Posted December 4, 2012 In the previous topic,I maked a radio script and solidesnake helped me to make it. Now I had 1 more question : How I can make Radio off when player join? Player join and if he want,he ON radio with bind button. In my script,when player joined,radio script starting and player must press R to off it. local musicStream = "http://www.181.fm/winamp.pls?station=181-power&style=mp3&description=Power%20181%20(Top%2040)&file=181-power.pls" function onResourceStart ( ) sound = playSound ( musicStream, true ) end function makeRadioStayOff ( ) setRadioChannel ( 0 ) cancelEvent ( ) end function toggleSong ( ) removeEventHandler ( "onClientRender", root, renderText ) if ( isTimer ( hideTimer ) ) then killTimer ( hideTimer ) end if not songOff then setSoundVolume ( sound, 0 ) songOff = true removeEventHandler ( "onClientPlayerRadioSwitch", root, makeRadioStayOff ) addEventHandler ( "onClientRender", root, renderText ) hideTimer = setTimer ( function ( ) removeEventHandler ( "onClientRender", root, renderText ) end ,2000, 1 ) else setSoundVolume ( sound, 1 ) songOff = false setRadioChannel ( 0 ) addEventHandler ( "onClientPlayerRadioSwitch", root, makeRadioStayOff ) addEventHandler ( "onClientRender", root, renderText ) hideTimer = setTimer ( function ( ) removeEventHandler ( "onClientRender", root, renderText ) end ,2000, 1 ) end end function renderText ( ) dxDrawText ( "[RADIO] Radio is switched ".. ( songOff and "off" or "on" ), 230, 100, 400, 300, tocolor ( 255, 91, 3, 255 ), 2, "default-bold" ) end addEventHandler ( "onClientResourceStart", resourceRoot, onResourceStart ) addEventHandler ( "onClientPlayerRadioSwitch", root, makeRadioStayOff ) addEventHandler ( "onClientPlayerVehicleEnter", root, makeRadioStayOff ) bindKey ( "R", "down", toggleSong )
uhm Posted December 4, 2012 Posted December 4, 2012 simply look at this function onResourceStart ( ) sound = playSound ( musicStream, true ) end it says right here, when the resource starts (for example because a player just joined), then playSound. so just remove that part and you're good oh also to prevent errors/warnings you should also remove the following addEventHandler ( "onClientResourceStart", resourceRoot, onResourceStart )
deltamta Posted December 4, 2012 Posted December 4, 2012 Hey this is the one i made and gave to >VIP< Ages ago ( its based on that mappers script ) : local sx, sy = guiGetScreenSize () function dxDrawColorText(str, ax, ay, bx, by, color, scale, font, left, top, clip, wordbreak, postGUI) -- Reason for this is for using more than 1 color instead of using two dxDrawText Functions local pat = "(.-)#(%x%x%x%x%x%x)" local s, e, cap, col = str:find(pat, 1) local last = 1 while s do if cap == "" and col then color = tocolor( tonumber( "0x"..col:sub( 1, 2 ) ), tonumber( "0x"..col:sub( 3, 4 ) ), tonumber( "0x"..col:sub( 5, 6 ) ), 255 ) end if s ~= 1 or cap ~= "" then local w = dxGetTextWidth(cap, scale, font) dxDrawText( cap, ax, ay, ax + w, by, color, scale, font ) ax = ax + w color = tocolor( tonumber( "0x"..col:sub( 1, 2 ) ), tonumber( "0x"..col:sub( 3, 4 ) ), tonumber( "0x"..col:sub( 5, 6 ) ), 255 ) end last = e + 1 s, e, cap, col = str:find( pat, last ) end if last <= #str then cap = str:sub( last ) local w = dxGetTextWidth( cap, scale, font ) dxDrawText( cap, ax, ay, ax + w, by, color, scale, font, left, top, clip, wordbreak, postGUI ) end end function startMusic() outputChatBox ("#00aa46[RADIO] #ffffffPress #00aa46'R' #ffffffto Listen To The Radio", 255,137,0, true ) setRadioChannel(0) song = playSound ("http://www.181.fm/asx.php", true) setSoundVolume(song,0) end function makeRadioStayOff() setRadioChannel(0) cancelEvent() end function toggleSong() if not songOff then setSoundVolume(song,1) songOff = true removeEventHandler("onClientPlayerRadioSwitch",getRootElement(),makeRadioStayOff) function renderPlayerJoined ( ) dxDrawColorText(listening,sx/4, sy/23,sx,sy,tocolor(255,255,255),1.3,"sans","center","top",true,true,false) end listening = "#00aa46[RADIO] #ffffffYou are currently #00aa46listening #ffffffto the radio" addEventHandler ( "onClientRender", root, renderPlayerJoined ) setTimer ( function ( ) removeEventHandler ( "onClientRender", root, renderPlayerJoined ) end ,3000,1 ) if ( renderPlayerJoined ) then removeEventHandler ( "onClientRender", root, renderShit ) end else setSoundVolume(song,0) songOff = false setRadioChannel(0) addEventHandler("onClientPlayerRadioSwitch",getRootElement(),makeRadioStayOff) function renderShit ( ) dxDrawColorText(notlistening,sx/4, sy/23,sx,sy,tocolor(255,255,255),1.3,"sans","center","top",true,true,false) end notlistening = "#00aa46[RADIO] #ffffffYou are currently #00aa46not listening #ffffffto the radio" addEventHandler ( "onClientRender", root, renderShit ) setTimer ( function ( ) removeEventHandler ( "onClientRender", root, renderShit ) end ,3000,1 ) if ( renderShit ) then removeEventHandler ( "onClientRender", root, renderPlayerJoined ) end end end addEventHandler("onClientResourceStart",getResourceRootElement(getThisResource()),startMusic) addEventHandler("onClientPlayerRadioSwitch",getRootElement(),makeRadioStayOff) addEventHandler("onClientPlayerVehicleEnter",getRootElement(),makeRadioStayOff) bindKey("r","down",toggleSong) addEventHandler("onClientResourceStop",getResourceRootElement(getThisResource()),startMusic) My scripts are kind of messy but I hope u understood Good luck Hope I have helped.
Reflex# Posted December 5, 2012 Author Posted December 5, 2012 Hehe..I saw this script. Thanks you. You helped me so much :3
Reflex# Posted December 5, 2012 Author Posted December 5, 2012 Delta# your script don't work.. debugscript show : WARNING : Loading script failed : radio_new\stream.lua :58: unexpected symbol near ':' stream.lua : local sx, sy = guiGetScreenSize () function dxDrawColorText(str, ax, ay, bx, by, color, scale, font, left, top, clip, wordbreak, postGUI) -- Reason for this is for using more than 1 color instead of using two dxDrawText Functions local pat = "(.-)#(%x%x%x%x%x%x)" local s, e, cap, col = str:find(pat, 1) local last = 1 while s do if cap == "" and col then color = tocolor( tonumber( "0x"..col:sub( 1, 2 ) ), tonumber( "0x"..col:sub( 3, 4 ) ), tonumber( "0x"..col:sub( 5, 6 ) ), 255 ) end if s ~= 1 or cap ~= "" then local w = dxGetTextWidth(cap, scale, font) dxDrawText( cap, ax, ay, ax + w, by, color, scale, font ) ax = ax + w color = tocolor( tonumber( "0x"..col:sub( 1, 2 ) ), tonumber( "0x"..col:sub( 3, 4 ) ), tonumber( "0x"..col:sub( 5, 6 ) ), 255 ) end last = e + 1 s, e, cap, col = str:find( pat, last ) end if last <= #str then cap = str:sub( last ) local w = dxGetTextWidth( cap, scale, font ) dxDrawText( cap, ax, ay, ax + w, by, color, scale, font, left, top, clip, wordbreak, postGUI ) end end function startMusic() outputChatBox ("#ff5b03[RADIO] #ffffffPress #ff5b03'R' #ffffffto Listen To The Radio", 255,137,0, true ) setRadioChannel(0) song = playSound ("http://www.181.fm/winamp.pls?station=181-power&style=mp3&description=Power%20181%20(Top%2040)&file=181-power.pls", true) setSoundVolume(song,0) end function makeRadioStayOff() setRadioChannel(0) cancelEvent() end function toggleSong() if not songOff then setSoundVolume(song,1) songOff = true removeEventHandler("onClientPlayerRadioSwitch",getRootElement(),makeRadioStayOff) function renderPlayerJoined ( ) dxDrawColorText(listening,sx/4, sy/23,sx,sy,tocolor(255,255,255),1.3,"sans","center","top",true,true,false) end listening = "#ff5b03[RADIO] #ffffffYou are currently #ff5b03listening #ffffffto the radio" addEventHandler ( "onClientRender", root, renderPlayerJoined ) setTimer ( function ( ) removeEventHandler ( "onClientRender", root, renderPlayerJoined ) end ,3000,1 ) if ( renderPlayerJoined ) then removeEventHandler ( "onClientRender", root, :~ ) end else setSoundVolume(song,0) songOff = false setRadioChannel(0) addEventHandler("onClientPlayerRadioSwitch",getRootElement(),makeRadioStayOff) function :~ ( ) dxDrawColorText(notlistening,sx/4, sy/23,sx,sy,tocolor(255,255,255),1.3,"sans","center","top",true,true,false) end notlistening = "#ff5b03[RADIO] #ffffffYou are currently #ff5b03not listening #ffffffto the radio" addEventHandler ( "onClientRender", root, :~ ) setTimer ( function ( ) removeEventHandler ( "onClientRender", root, :~ ) end ,3000,1 ) if ( :~ ) then removeEventHandler ( "onClientRender", root, renderPlayerJoined ) end end end addEventHandler("onClientResourceStart",getResourceRootElement(getThisResource()),startMusic) addEventHandler("onClientPlayerRadioSwitch",getRootElement(),makeRadioStayOff) addEventHandler("onClientPlayerVehicleEnter",getRootElement(),makeRadioStayOff) bindKey("r","down",toggleSong) addEventHandler("onClientResourceStop",getResourceRootElement(getThisResource()),startMusic)
AhmadQTR Posted December 5, 2012 Posted December 5, 2012 local sx, sy = guiGetScreenSize () function dxDrawColorText(str, ax, ay, bx, by, color, scale, font, left, top, clip, wordbreak, postGUI) -- Reason for this is for using more than 1 color instead of using two dxDrawText Functions local pat = "(.-)#(%x%x%x%x%x%x)" local s, e, cap, col = str:find(pat, 1) local last = 1 while s do if cap == "" and col then color = tocolor( tonumber( "0x"..col:sub( 1, 2 ) ), tonumber( "0x"..col:sub( 3, 4 ) ), tonumber( "0x"..col:sub( 5, 6 ) ), 255 ) end if s ~= 1 or cap ~= "" then local w = dxGetTextWidth(cap, scale, font) dxDrawText( cap, ax, ay, ax + w, by, color, scale, font ) ax = ax + w color = tocolor( tonumber( "0x"..col:sub( 1, 2 ) ), tonumber( "0x"..col:sub( 3, 4 ) ), tonumber( "0x"..col:sub( 5, 6 ) ), 255 ) end last = e + 1 s, e, cap, col = str:find( pat, last ) end if last <= #str then cap = str:sub( last ) local w = dxGetTextWidth( cap, scale, font ) dxDrawText( cap, ax, ay, ax + w, by, color, scale, font, left, top, clip, wordbreak, postGUI ) end end function startMusic() outputChatBox ("#ff5b03[RADIO] #ffffffPress #ff5b03'R' #ffffffto Listen To The Radio", 255,137,0, true ) setRadioChannel(0) song = playSound ("http://www.181.fm/winamp.pls?station=181-power&style=mp3&description=Power%20181%20(Top%2040)&file=181-power.pls", true) setSoundVolume(song,0) end function makeRadioStayOff() setRadioChannel(0) cancelEvent() end function toggleSong() if not songOff then setSoundVolume(song,1) songOff = true removeEventHandler("onClientPlayerRadioSwitch",getRootElement(),makeRadioStayOff) function renderPlayerJoined ( ) dxDrawColorText(listening,sx/4, sy/23,sx,sy,tocolor(255,255,255),1.3,"sans","center","top",true,true,false) end listening = "#ff5b03[RADIO] #ffffffYou are currently #ff5b03listening #ffffffto the radio" addEventHandler ( "onClientRender", root, renderPlayerJoined ) setTimer ( function ( ) removeEventHandler ( "onClientRender", root, renderPlayerJoined ) end ,3000,1 ) if ( renderPlayerJoined ) then removeEventHandler ( "onClientRender", root, : ) end else setSoundVolume(song,0) songOff = false setRadioChannel(0) addEventHandler("onClientPlayerRadioSwitch",getRootElement(),makeRadioStayOff) function : ( ) dxDrawColorText(notlistening,sx/4, sy/23,sx,sy,tocolor(255,255,255),1.3,"sans","center","top",true,true,false) end notlistening = "#ff5b03[RADIO] #ffffffYou are currently #ff5b03not listening #ffffffto the radio" addEventHandler ( "onClientRender", root, : ) setTimer ( function ( ) removeEventHandler ( "onClientRender", root, : ) end ,3000,1 ) if ( : ) then removeEventHandler ( "onClientRender", root, renderPlayerJoined ) end end end addEventHandler("onClientResourceStart",getResourceRootElement(getThisResource()),startMusic) addEventHandler("onClientPlayerRadioSwitch",getRootElement(),makeRadioStayOff) addEventHandler("onClientPlayerVehicleEnter",getRootElement(),makeRadioStayOff) bindKey("r","down",toggleSong) addEventHandler("onClientResourceStop",getResourceRootElement(getThisResource()),startMusic)
Reflex# Posted December 5, 2012 Author Posted December 5, 2012 local sx, sy = guiGetScreenSize () function dxDrawColorText(str, ax, ay, bx, by, color, scale, font, left, top, clip, wordbreak, postGUI) -- Reason for this is for using more than 1 color instead of using two dxDrawText Functions local pat = "(.-)#(%x%x%x%x%x%x)" local s, e, cap, col = str:find(pat, 1) local last = 1 while s do if cap == "" and col then color = tocolor( tonumber( "0x"..col:sub( 1, 2 ) ), tonumber( "0x"..col:sub( 3, 4 ) ), tonumber( "0x"..col:sub( 5, 6 ) ), 255 ) end if s ~= 1 or cap ~= "" then local w = dxGetTextWidth(cap, scale, font) dxDrawText( cap, ax, ay, ax + w, by, color, scale, font ) ax = ax + w color = tocolor( tonumber( "0x"..col:sub( 1, 2 ) ), tonumber( "0x"..col:sub( 3, 4 ) ), tonumber( "0x"..col:sub( 5, 6 ) ), 255 ) end last = e + 1 s, e, cap, col = str:find( pat, last ) end if last <= #str then cap = str:sub( last ) local w = dxGetTextWidth( cap, scale, font ) dxDrawText( cap, ax, ay, ax + w, by, color, scale, font, left, top, clip, wordbreak, postGUI ) end end function startMusic() outputChatBox ("#ff5b03[RADIO] #ffffffPress #ff5b03'R' #ffffffto Listen To The Radio", 255,137,0, true ) setRadioChannel(0) song = playSound ("http://www.181.fm/winamp.pls?station=181-power&style=mp3&description=Power%20181%20(Top%2040)&file=181-power.pls", true) setSoundVolume(song,0) end function makeRadioStayOff() setRadioChannel(0) cancelEvent() end function toggleSong() if not songOff then setSoundVolume(song,1) songOff = true removeEventHandler("onClientPlayerRadioSwitch",getRootElement(),makeRadioStayOff) function renderPlayerJoined ( ) dxDrawColorText(listening,sx/4, sy/23,sx,sy,tocolor(255,255,255),1.3,"sans","center","top",true,true,false) end listening = "#ff5b03[RADIO] #ffffffYou are currently #ff5b03listening #ffffffto the radio" addEventHandler ( "onClientRender", root, renderPlayerJoined ) setTimer ( function ( ) removeEventHandler ( "onClientRender", root, renderPlayerJoined ) end ,3000,1 ) if ( renderPlayerJoined ) then removeEventHandler ( "onClientRender", root, : ) end else setSoundVolume(song,0) songOff = false setRadioChannel(0) addEventHandler("onClientPlayerRadioSwitch",getRootElement(),makeRadioStayOff) function : ( ) dxDrawColorText(notlistening,sx/4, sy/23,sx,sy,tocolor(255,255,255),1.3,"sans","center","top",true,true,false) end notlistening = "#ff5b03[RADIO] #ffffffYou are currently #ff5b03not listening #ffffffto the radio" addEventHandler ( "onClientRender", root, : ) setTimer ( function ( ) removeEventHandler ( "onClientRender", root, : ) end ,3000,1 ) if ( : ) then removeEventHandler ( "onClientRender", root, renderPlayerJoined ) end end end addEventHandler("onClientResourceStart",getResourceRootElement(getThisResource()),startMusic) addEventHandler("onClientPlayerRadioSwitch",getRootElement(),makeRadioStayOff) addEventHandler("onClientPlayerVehicleEnter",getRootElement(),makeRadioStayOff) bindKey("r","down",toggleSong) addEventHandler("onClientResourceStop",getResourceRootElement(getThisResource()),startMusic) same problem
Scripting Moderators Sarrum Posted December 5, 2012 Scripting Moderators Posted December 5, 2012 Replace ':~' with something other.
deltamta Posted December 5, 2012 Posted December 5, 2012 Im sure I didn't write that ':~' lol. but anyway just replace the values im sure you can figure that out urself since it's self explanatory.
Anderl Posted December 5, 2012 Posted December 5, 2012 Im sure I didn't write that ':~' lol. but anyway just replace the values im sure you can figure that out urself since it's self explanatory. It's because you CAN'T write words like fuc*, sh*t and others here.
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