Jump to content

Help with a simple edit :)


koragg

Recommended Posts

Hey guys, I need a little help with editing a live radio stations script so that when somebody enters my server radio is off by default (so map music can be heard) and it should be able to be turned on (the live radio) via the "N" key on keyboard if the client wishes so.

Also i don't know why but even if I put radio volume to 0% in ESC-Settings-Audio the live radio volume doesn't change at all. It's not linked with the ESC-Settings-Audio interface i guess.

I can't create scripts and can barely edit them so please tell me what code to write and where. Here is link to the resource : http://www.mediafire.com/download/n2v7k ... eradio.zip

PS Resource isn't created by me nor do I wish to publish it without giving proper credit or before asking it's author. I just need the above edits for my own training server. I hope someone can help me with this, cheers :)

Link to comment
Hey guys, I need a little help with editing a live radio stations script so that when somebody enters my server radio is off by default (so map music can be heard) and it should be able to be turned on (the live radio) via the "N" key on keyboard if the client wishes so.

Also i don't know why but even if I put radio volume to 0% in ESC-Settings-Audio the live radio volume doesn't change at all. It's not linked with the ESC-Settings-Audio interface i guess.

I can't create scripts and can barely edit them so please tell me what code to write and where. Here is link to the resource : http://www.mediafire.com/download/n2v7k ... eradio.zip

PS Resource isn't created by me nor do I wish to publish it without giving proper credit or before asking it's author. I just need the above edits for my own training server. I hope someone can help me with this, cheers :)

You should post the code here so we could take a look on it and help you with it.

Also if you don't understand and don't know anything about Lua then I suggest you to find someone who would make it for you.

This forum is just for helping people with broken code.

Good luck!

Link to comment
Also i don't know why but even if I put radio volume to 0% in ESC-Settings-Audio the live radio volume doesn't change at all. It's not linked with the ESC-Settings-Audio interface i guess.

That's because it only applies to the native radio player within GTA San Andreas. The volume slider you'll need to change is MTA Volume, which is any sound produced via MTA itself.

Link to comment

Well I know how to edit some parameters and such stuff but I can't create .lua scripts. I was same with .cs for single player :\

I'm trying to learn it step by step but here is the code below. Maybe you can highlight the parts (or put comments) on what needs to be done to do my request. Also, can volume be changed from MTA slider to normal GTA SA Radio slider in ESC?

local xml = xmlLoadFile ( "settings.xml" ) 
local nodeColor = xmlFindChild ( xml, "color", 0 ) 
local nodeFont = xmlFindChild ( xml, "font", 0 ) 
local nodeRealism = xmlFindChild ( xml, "realism", 0 ) 
local nodeStations = xmlFindChild ( xml, "stations", 0 ) 
local label = guiCreateLabel ( 0, 0, 1, 0.1, "Radio Off", true ) 
guiLabelSetColor ( label, xmlNodeGetAttribute ( nodeColor, "r" ), xmlNodeGetAttribute ( nodeColor, "g" ), xmlNodeGetAttribute ( nodeColor, "b" ) ) 
guiLabelSetHorizontalAlign ( label, "center" ) 
guiSetFont ( label, xmlNodeGetValue ( nodeFont ) ) 
guiSetVisible ( label, false ) 
  
addEventHandler ( "onClientResourceStart", getResourceRootElement (), 
    function () 
        showPlayerHudComponent ( "radio", false ) 
        setElementData ( getLocalPlayer (), "liveradio.radio", 0 ) 
  
        for k, v in ipairs ( getElementsByType ( "vehicle" ) ) do 
            setElementData ( v, "liveradio.radio0", false ) 
            setElementData ( v, "liveradio.radio1", false ) 
            setElementData ( v, "liveradio.radio2", false ) 
            setElementData ( v, "liveradio.radio3", false ) 
        end 
    end 
) 
  
addEventHandler ( "onClientResourceStop", getResourceRootElement (), 
    function () 
        showPlayerHudComponent ( "radio", true ) 
    end 
) 
  
addEventHandler ( "onClientPlayerVehicleEnter", getLocalPlayer (), 
    function ( vehicle, seat ) 
        setRadioChannel ( 0 ) 
        setElementData ( getLocalPlayer (), "liveradio.seat", seat ) 
  
        if sound then 
            if isElement ( sound ) then destroyElement ( sound ) end 
        end 
  
        if xmlNodeGetAttribute ( nodeRealism, "enabled" ) == "true" then 
            if getElementData ( vehicle, "liveradio.radio0" ) then 
                setElementData ( getLocalPlayer (), "liveradio.radio", getElementData ( vehicle, "liveradio.radio0" ) ) 
            else 
                for k, v in ipairs ( xmlNodeGetChildren ( nodeStations ) ) do setElementData ( getLocalPlayer (), "liveradio.radio", k ) end 
  
                setElementData ( getLocalPlayer (), "liveradio.radio", math.random ( getElementData ( getLocalPlayer (), "liveradio.radio" ) ) ) 
                setElementData ( vehicle, "liveradio.radio0", getElementData ( getLocalPlayer (), "liveradio.radio" ) ) 
                setElementData ( vehicle, "liveradio.radio1", getElementData ( getLocalPlayer (), "liveradio.radio" ) ) 
                setElementData ( vehicle, "liveradio.radio2", getElementData ( getLocalPlayer (), "liveradio.radio" ) ) 
                setElementData ( vehicle, "liveradio.radio3", getElementData ( getLocalPlayer (), "liveradio.radio" ) ) 
            end 
        else 
            if getElementData ( vehicle, "liveradio.radio" .. seat ) then 
                setElementData ( getLocalPlayer (), "liveradio.radio", getElementData ( vehicle, "liveradio.radio" .. seat ) ) 
            else 
                for k, v in ipairs ( xmlNodeGetChildren ( nodeStations ) ) do setElementData ( getLocalPlayer (), "liveradio.radio", k ) end 
  
                setElementData ( getLocalPlayer (), "liveradio.radio", math.random ( getElementData ( getLocalPlayer (), "liveradio.radio" ) ) ) 
                setElementData ( vehicle, "liveradio.radio" .. seat, getElementData ( getLocalPlayer (), "liveradio.radio" ) ) 
            end 
        end 
  
        local nodeStation = xmlFindChild ( nodeStations, "station", getElementData ( vehicle, "liveradio.radio" .. seat ) - 1 ) 
  
        if nodeStation then 
            local radioName = xmlNodeGetAttribute ( nodeStation, "name" ) 
            local radioURL = xmlNodeGetAttribute ( nodeStation, "URL" ) 
            sound = playSound ( radioURL ) 
            guiSetText ( label, radioName ) 
            guiSetVisible ( label, true ) 
  
            if isTimer ( timerLabel ) then killTimer ( timerLabel ) end 
  
            timerLabel = setTimer ( guiSetVisible, 5000, 1, label, false ) 
        else 
            guiSetText ( label, "Radio Off" ) 
            guiSetVisible ( label, true ) 
            setElementData ( getLocalPlayer (), "liveradio.radio", 0 ) 
  
            if isTimer ( timerLabel ) then killTimer ( timerLabel ) end 
  
            timerLabel = setTimer ( guiSetVisible, 5000, 1, label, false ) 
        end 
  
        timerVehicle = setTimer ( 
            function ( vehicle ) 
                if isPedInVehicle ( getLocalPlayer () ) == false or getPedOccupiedVehicle ( getLocalPlayer () ) ~= vehicle or getElementHealth ( getLocalPlayer () ) <= 0 then 
                    if sound then 
                        if isElement ( sound ) then destroyElement ( sound ) end 
                    end 
  
                    killTimer ( timerVehicle ) 
  
                    guiSetVisible ( label, false ) 
                    setElementData ( getLocalPlayer (), "liveradio.radio", 0 ) 
                end 
            end 
        , 50, 0, vehicle ) 
    end 
) 
  
addEventHandler ( "onClientPlayerRadioSwitch", getLocalPlayer (), 
    function ( station ) 
        if station ~= 0 then cancelEvent () end 
  
        if xmlNodeGetAttribute ( nodeRealism, "enabled" ) ~= "true" or getElementData ( getLocalPlayer (), "liveradio.seat" ) == 0 or getPedOccupiedVehicle ( getLocalPlayer () ) == false then 
            if station == 1 then 
                setElementData ( getLocalPlayer (), "liveradio.radio", getElementData ( getLocalPlayer (), "liveradio.radio" ) + 1 ) 
            elseif station == 12 then 
                setElementData ( getLocalPlayer (), "liveradio.radio", getElementData ( getLocalPlayer (), "liveradio.radio" ) - 1 ) 
  
                if getElementData ( getLocalPlayer (), "liveradio.radio" ) == -1 then 
                    for k, v in ipairs ( xmlNodeGetChildren ( nodeStations ) ) do setElementData ( getLocalPlayer (), "liveradio.radio", k ) end 
                end 
            end 
  
            if sound then 
                if isElement ( sound ) then destroyElement ( sound ) end 
            end 
  
            if getPedOccupiedVehicle ( getLocalPlayer () ) then 
                setElementData ( getPedOccupiedVehicle ( getLocalPlayer () ), "liveradio.radio" .. getElementData ( getLocalPlayer (), "liveradio.seat" ), getElementData ( getLocalPlayer (), "liveradio.radio" ) ) 
            end 
  
            local nodeStation = xmlFindChild ( nodeStations, "station", getElementData ( getLocalPlayer (), "liveradio.radio" ) - 1 ) 
  
            if nodeStation then 
                local radioName = xmlNodeGetAttribute ( nodeStation, "name" ) 
                local radioURL = xmlNodeGetAttribute ( nodeStation, "URL" ) 
                sound = playSound ( radioURL ) 
                guiSetText ( label, radioName ) 
                guiSetVisible ( label, true ) 
  
                if isTimer ( timerLabel ) then killTimer ( timerLabel ) end 
  
                timerLabel = setTimer ( guiSetVisible, 5000, 1, label, false ) 
            else 
                guiSetText ( label, "Radio Off" ) 
                guiSetVisible ( label, true ) 
                setElementData ( getLocalPlayer (), "liveradio.radio", 0 ) 
  
                if isTimer ( timerLabel ) then killTimer ( timerLabel ) end 
  
                timerLabel = setTimer ( guiSetVisible, 5000, 1, label, false ) 
            end 
  
            if xmlNodeGetAttribute ( nodeRealism, "enabled" ) == "true" and getPedOccupiedVehicle ( getLocalPlayer () ) then 
                setElementData ( getPedOccupiedVehicle ( getLocalPlayer () ), "liveradio.radio0", getElementData ( getLocalPlayer (), "liveradio.radio" ) ) 
                setElementData ( getPedOccupiedVehicle ( getLocalPlayer () ), "liveradio.radio1", getElementData ( getLocalPlayer (), "liveradio.radio" ) ) 
                setElementData ( getPedOccupiedVehicle ( getLocalPlayer () ), "liveradio.radio2", getElementData ( getLocalPlayer (), "liveradio.radio" ) ) 
                setElementData ( getPedOccupiedVehicle ( getLocalPlayer () ), "liveradio.radio3", getElementData ( getLocalPlayer (), "liveradio.radio" ) ) 
                triggerServerEvent ( "onPlayerRadioSwitch", getLocalPlayer (), getPedOccupiedVehicle ( getLocalPlayer () ) ) 
            end 
        end 
    end 
) 
  
addEventHandler ( "onClientVehicleStartExit", getRootElement (), 
    function ( player ) 
        if player == getLocalPlayer () then 
            if sound then 
                if isElement ( sound ) then destroyElement ( sound ) end 
            end 
  
            if isTimer ( timerVehicle ) then killTimer ( timerVehicle ) end 
  
            guiSetVisible ( label, false ) 
            setElementData ( player, "liveradio.radio", 0 ) 
        end 
    end 
) 
  
addEvent ( "switchRadioChannel", true ) 
addEventHandler ( "switchRadioChannel", getLocalPlayer (), 
    function () 
        if sound then 
            if isElement ( sound ) then destroyElement ( sound ) end 
        end 
  
        local nodeStation = xmlFindChild ( nodeStations, "station", getElementData ( getPedOccupiedVehicle ( getLocalPlayer () ), "liveradio.radio0" ) - 1 ) 
  
        if nodeStation then 
            local radioName = xmlNodeGetAttribute ( nodeStation, "name" ) 
            local radioURL = xmlNodeGetAttribute ( nodeStation, "URL" ) 
            sound = playSound ( radioURL ) 
            guiSetText ( label, radioName ) 
            guiSetVisible ( label, true ) 
            setElementData ( getLocalPlayer (), "liveradio.radio", getElementData ( getPedOccupiedVehicle ( getLocalPlayer () ), "liveradio.radio0" ) ) 
  
            if isTimer ( timerLabel ) then killTimer ( timerLabel ) end 
  
            timerLabel = setTimer ( guiSetVisible, 5000, 1, label, false ) 
        else 
            guiSetText ( label, "Radio Off" ) 
            guiSetVisible ( label, true ) 
            setElementData ( getLocalPlayer (), "liveradio.radio", 0 ) 
  
            if isTimer ( timerLabel ) then killTimer ( timerLabel ) end 
  
            timerLabel = setTimer ( guiSetVisible, 5000, 1, label, false ) 
        end 
    end 
) 

Thanks for anyone who helps with this :)

Btw this is the client.lua ^ as I think the things I need are both client sided.

Link to comment

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...