Jump to content

[HELP]Speaker


Best-Killer1

Recommended Posts

How I can make this speaker system work only for acl groups ?

this is code

defaultlinks = {}       
defaultlinks[1] = {"", "Edit these from client.lua file"}
defaultlinks[2] = {"", ""}
defaultlinks[3] = {"", ""}
defaultlinks[4] = {"", ""}
defaultlinks[5] = {"", ""}
defaultlinks[6] = {"", ""}
defaultlinks[7] = {"", ""}
defaultlinks[8] = {"", ""}
 
openKey = "f5"
maxdistance = 100
defaultdistance = 50
 
--//Dont edit these!
triggerServerEvent ("clientIsReady", getRootElement())
width, height = guiGetScreenSize ()
speakers = {}
linkTable = {}
selectedURLName = "N/A"
 
function startScript ()
    --//Create main GUI
    mainWindow = guiCreateWindow ((width/2) - (500/2), (height/2) - (417/2), 500, 417, "Speaker system", false)
    guiWindowSetSizable (mainWindow, false)
    --Buttons and event handlers
    closeButton = guiCreateButton (450, 25, 40, 35, "Close", false, mainWindow)
    addEventHandler ("onClientGUIClick", closeButton, closeGUI)
   
    createButton = guiCreateButton (30, 87, 80, 40, "Create speaker", false, mainWindow)
    addEventHandler ("onClientGUIClick", createButton, onCreateSpeakerKlick)
   
    destroyButton = guiCreateButton (130, 87, 80, 40, "Destroy speaker", false, mainWindow)
    addEventHandler ("onClientGUIClick", destroyButton, onDestroySpeakerClick)
   
    myLinksButton = guiCreateButton (420, 114, 70, 35, "My links", false, mainWindow)
    addEventHandler ("onClientGUIClick", myLinksButton, onMyLinksButtonClick)
    guiSetEnabled (myLinksButton, false)
    --URL Stuff
    guiCreateLabel (90, 23, 100, 30, "Radio URL:", false, mainWindow)
    urlEdit = guiCreateEdit (22, 44, 200, 35, "", false, mainWindow) --50
    --Max distance
    guiCreateLabel (259, 23, 200, 30, "Max distance (1 - " .. tostring(maxdistance) .. "):", false, mainWindow)
    distanceEdit = guiCreateEdit (290, 44, 50, 35, tostring(defaultdistance), false, mainWindow)
    --
    nowPlayingText = guiCreateLabel (34, 133, 70, 30, "Now playing:", false, mainWindow)
    guiSetVisible (nowPlayingText, false)
    nowPlayingEditLabel = guiCreateLabel (112, 133, 288, 30, "-", false, mainWindow)
    guiSetVisible (nowPlayingEditLabel, false)
    guiCreateLabel (25, 145, 600, 30, "_______________________________________________________________", false, mainWindow)
    --Links
        --Edit 1
        edit1 = guiCreateEdit (105, 168, 313, 23, defaultlinks[1][2], false, mainWindow)
        guiCreateLabel (30, 170, 200, 30, defaultlinks[1][1], false, mainWindow)
        guiEditSetReadOnly (edit1, true)
        defaultUseButton1 = guiCreateButton (423, 168, 40, 23, "use", false, mainWindow)
        --Edit 2
        edit2 = guiCreateEdit (105, 198, 313, 23, defaultlinks[2][2], false, mainWindow)
        guiCreateLabel (30, 200, 200, 30, defaultlinks[2][1], false, mainWindow)
        guiEditSetReadOnly (edit2, true)
        defaultUseButton2 = guiCreateButton (423, 198, 40, 23, "use", false, mainWindow)
        --Edit 3
        edit3 = guiCreateEdit (105, 228, 313, 23, defaultlinks[3][2], false, mainWindow)
        guiCreateLabel (30, 230, 200, 30, defaultlinks[3][1], false, mainWindow)
        guiEditSetReadOnly (edit3, true)
        defaultUseButton3 = guiCreateButton (423, 228, 40, 23, "use", false, mainWindow)
        --Edit 4
        edit4 = guiCreateEdit (105, 258, 313, 23, defaultlinks[4][2], false, mainWindow)
        guiCreateLabel (30, 260, 200, 30, defaultlinks[4][1], false, mainWindow)
        guiEditSetReadOnly (edit4, true)
        defaultUseButton4 = guiCreateButton (423, 258, 40, 23, "use", false, mainWindow)
        --Edit 5
        edit5 = guiCreateEdit (105, 288, 313, 23, defaultlinks[5][2], false, mainWindow)
        guiCreateLabel (30, 290, 200, 30, defaultlinks[5][1], false, mainWindow)
        guiEditSetReadOnly (edit5, true)
        defaultUseButton5 = guiCreateButton (423, 288, 40, 23, "use", false, mainWindow)
        --Edit 6
        edit6 = guiCreateEdit (105, 318, 313, 23, defaultlinks[6][2], false, mainWindow)
        guiCreateLabel (30, 320, 200, 30, defaultlinks[6][1], false, mainWindow)
        guiEditSetReadOnly (edit6, true)
        defaultUseButton6 = guiCreateButton (423, 318, 40, 23, "use", false, mainWindow)
        --Edit 7
        edit7 = guiCreateEdit (105, 348, 313, 23, defaultlinks[7][2], false, mainWindow)
        guiCreateLabel (30, 350, 200, 30, defaultlinks[7][1], false, mainWindow)
        guiEditSetReadOnly (edit7, true)
        defaultUseButton7 = guiCreateButton (423, 348, 40, 23, "use", false, mainWindow)
        --Edit 8
        edit8 = guiCreateEdit (105, 378, 313, 23, defaultlinks[8][2], false, mainWindow)
        guiCreateLabel (30, 380, 200, 30, defaultlinks[8][1], false, mainWindow)
        guiEditSetReadOnly (edit8, true)
        defaultUseButton8 = guiCreateButton (423, 378, 40, 23, "use", false, mainWindow)
        --//--
    guiSetVisible (mainWindow, false)
   
    --Add some events
    addEvent ("speakerStuffFromServer", true)
    addEventHandler ("speakerStuffFromServer", getRootElement(), createSpeaker)
   
    addEvent ("destroySpeaker", true)
    addEventHandler ("destroySpeaker", getRootElement(), destroySpeaker)
   
    addEvent ("onPQuit", true)
    addEventHandler ("onPQuit", getRootElement(), onPlayerQuit)
   
    addEvent ("createMyLinksGUI", true)
    addEventHandler ("createMyLinksGUI", getRootElement(), createMyLinksGUI)
   
    addEvent ("onPlayerLogout", true)
    addEventHandler ("onPlayerLogout", getRootElement(), onPlayerLogout)
end
addEventHandler ("onClientResourceStart", getResourceRootElement(), startScript)
 
 
function openOrCloseGUI ()
    if guiGetVisible (mainWindow) then
        guiSetVisible (mainWindow, false)
        guiSetVisible (linkWindow, false)
        showCursor (false)
    else
        guiSetVisible (mainWindow, true)
        showCursor (true)
    end
end
addCommandHandler ("speaker", openOrCloseGUI)
bindKey (openKey, "down", openOrCloseGUI)
 
 
function closeGUI ()
    if source == closeButton then
        guiSetVisible (mainWindow, false)
        showCursor (false)
    end
end
 
 
function createMyLinksGUI (tableoflinks)
    linkTable = tableoflinks
    guiSetEnabled (myLinksButton, true)
   
    --//Create my links window
    linkWindow = guiCreateWindow ((width/2) - (483/2), (height/2) - (375/2), 483, 375, "My links", false)
    guiWindowSetSizable (linkWindow, false)
    guiSetAlpha (linkWindow, 0.-- s8) -->
    guiSetVisible (linkWindow, false)
    saveLinksButton = guiCreateButton (428, 25, 40, 35, "Close", false, linkWindow)
    guiCreateLabel (63, 48, 100, 30, "Name", false, linkWindow)
    guiCreateLabel (260, 48, 100, 30, "Link", false, linkWindow)
   
    --Link pad 1
    linkname1 = guiCreateEdit (17, 70, 125, 23, linkTable[1]["name"], false, linkWindow)
    linkedit1 = guiCreateEdit (145, 70, 253, 23, linkTable[1]["link"], false, linkWindow)
    linkUseButton1 = guiCreateButton (428, 70, 40, 23, "use", false, linkWindow)
    removeButton1 = guiCreateButton (400.5, 70, 23, 23, "X", false, linkWindow)
   
    --Link pad 2
    linkname2 = guiCreateEdit (17, 100, 125, 23, linkTable[2]["name"], false, linkWindow)
    linkedit2 = guiCreateEdit (145, 100, 253, 23, linkTable[2]["link"], false, linkWindow)
    linkUseButton2 = guiCreateButton (428, 100, 40, 23, "use", false, linkWindow)
    removeButton2 = guiCreateButton (400.5, 100, 23, 23, "X", false, linkWindow)
   
    --Link pad 3
    linkname3 = guiCreateEdit (17, 130, 125, 23, linkTable[3]["name"], false, linkWindow)
    linkedit3 = guiCreateEdit (145, 130, 253, 23, linkTable[3]["link"], false, linkWindow)
    linkUseButton3 = guiCreateButton (428, 130, 40, 23, "use", false, linkWindow)
    removeButton3 = guiCreateButton (400.5, 130, 23, 23, "X", false, linkWindow)
   
    --Link pad 4
    linkname4 = guiCreateEdit (17, 160, 125, 23, linkTable[4]["name"], false, linkWindow)
    linkedit4 = guiCreateEdit (145, 160, 253, 23, linkTable[4]["link"], false, linkWindow)
    linkUseButton4 = guiCreateButton (428, 160, 40, 23, "use", false, linkWindow)
    removeButton4 = guiCreateButton (400.5, 160, 23, 23, "X", false, linkWindow)
   
    --Link pad 5
    linkname5 = guiCreateEdit (17, 190, 125, 23, linkTable[5]["name"], false, linkWindow)
    linkedit5 = guiCreateEdit (145, 190, 253, 23, linkTable[5]["link"], false, linkWindow)
    linkUseButton5 = guiCreateButton (428, 190, 40, 23, "use", false, linkWindow)
    removeButton5 = guiCreateButton (400.5, 190, 23, 23, "X", false, linkWindow)
   
    --Link pad 6
    linkname6 = guiCreateEdit (17, 220, 125, 23, linkTable[6]["name"], false, linkWindow)
    linkedit6 = guiCreateEdit (145, 220, 253, 23, linkTable[6]["link"], false, linkWindow)
    linkUseButton6 = guiCreateButton (428, 220, 40, 23, "use", false, linkWindow)
    removeButton6 = guiCreateButton (400.5, 220, 23, 23, "X", false, linkWindow)
   
    --Link pad 7
    linkname7 = guiCreateEdit (17, 250, 125, 23, linkTable[7]["name"], false, linkWindow)
    linkedit7 = guiCreateEdit (145, 250, 253, 23, linkTable[7]["link"], false, linkWindow)
    linkUseButton7 = guiCreateButton (428, 250, 40, 23, "use", false, linkWindow)
    removeButton7 = guiCreateButton (400.5, 250, 23, 23, "X", false, linkWindow)
   
    --Link pa d8
    linkname8 = guiCreateEdit (17, 280, 125, 23, linkTable[8]["name"], false, linkWindow)
    linkedit8 = guiCreateEdit (145, 280, 253, 23, linkTable[8]["link"], false, linkWindow)
    linkUseButton8 = guiCreateButton (428, 280, 40, 23, "use", false, linkWindow)
    removeButton8 = guiCreateButton (400.5, 280, 23, 23, "X", false, linkWindow)
   
    --Link pad 9
    linkname9 = guiCreateEdit (17, 310, 125, 23, linkTable[9]["name"], false, linkWindow)
    linkedit9 = guiCreateEdit (145, 310, 253, 23, linkTable[9]["link"], false, linkWindow)
    linkUseButton9 = guiCreateButton (428, 310, 40, 23, "use", false, linkWindow)
    removeButton9 = guiCreateButton (400.5, 310, 23, 23, "X", false, linkWindow)
   
    --Link pad 10
    linkname10 = guiCreateEdit (17, 340, 125, 23, linkTable[10]["name"], false, linkWindow)
    linkedit10 = guiCreateEdit (145, 340, 253, 23, linkTable[10]["link"], false, linkWindow)
    linkUseButton10 = guiCreateButton (428, 340, 40, 23, "use", false, linkWindow)
    removeButton10 = guiCreateButton (400.5, 340, 23, 23, "X", false, linkWindow)
end
 
 
function onMyLinksButtonClick ()
    if source == myLinksButton then
        guiSetVisible (linkWindow, true)
        guiMoveToBack (mainWindow)
    end
end
 
 
function closeLinkWindow ()
    if source == closeLinkWindowButton then
        guiSetVisible (linkWindow, false)
        reloadLinkPads ()
    end
end
 
 
function onCreateSpeakerKlick ()
    if source == createButton then
        if speakers[player] then
            outputChatBox ("You already have a speaker!", 255, 0, 0)
        else
            local guiText = guiGetText (urlEdit)
            if guiText == "" then
                outputChatBox ("You need to type radio url!", 255, 0, 0)
            else
                local distance = guiGetText (distanceEdit)
                distance = tonumber (distance)
                if type (distance) ~= "number" then
                    outputChatBox ("Distance have to be number!", 255, 0, 0)
                else
                    if distance > maxdistance then
                        outputChatBox ("Distance have to be between 1 - " .. maxdistance .. "!", 255, 0, 0)
                        return false
                    else
                        if distance < 1 then
                            outputChatBox ("Distance have to be between 1 - " .. maxdistance .. "!", 255, 0, 0)
                            return false
                        else
                            player = localPlayer
                            local url = guiGetText (urlEdit)
                           
Link to comment

You can achieve this by using some server-side functions. You would have been able to figure this out if you had looked at the MTA Wiki for functions that seem relevant - or by searching this forum(this has been asked quite a lot).

Either way, these functions in particular is what you'll want;

addEvent  -- Create a custom event 
addEventHandler -- Handle custom event 
triggerServerEvent -- Tell the Server to check if the client is in the specific ACL group 
getPlayerAccount -- Get the player's account pointer 
getAccountName -- Get the account's username 
isObjectInACLGroup -- Check if the above name is in the required ACL group 
triggerClientEvent -- Have the server trigger a client-side event if true or false 

Link to comment
Kariiim please can do it for me i will try to learn please i need it pls pls pls :'( :'(

You didn't even look at one of the functions, did you? Use the MTA Wiki, it has examples - learn from that. I sincerely doubt you'll learn much if you rely on people to give you complete code all the time.

Visit this link, and do some reading; isObjectInACLGroup. You can't expect everything to be served on a silver platter ;)

Link to comment
Help Please :'( only this pls

Try something and we'll help, i see like you want a full code, like that you'll not learn

i tried with this code :

defaultlinks = {}       
defaultlinks[1] = {"", "Edit these from client.lua file"}
defaultlinks[2] = {"", ""}
defaultlinks[3] = {"", ""}
defaultlinks[4] = {"", ""}
defaultlinks[5] = {"", ""}
defaultlinks[6] = {"", ""}
defaultlinks[7] = {"", ""}
defaultlinks[8] = {"", ""}
 
maxdistance = 100
defaultdistance = 50
 
--//Dont edit these!
triggerServerEvent ("clientIsReady", getRootElement())
width, height = guiGetScreenSize ()
speakers = {}
linkTable = {}
selectedURLName = "N/A"
 
function startScript ()
    --//Create main GUI
    mainWindow = guiCreateWindow ((width/2) - (500/2), (height/2) - (417/2), 500, 417, "Speaker system", false)
    guiWindowSetSizable (mainWindow, false)
    --Buttons and event handlers
    closeButton = guiCreateButton (450, 25, 40, 35, "Close", false, mainWindow)
    addEventHandler ("onClientGUIClick", closeButton, closeGUI)
   
    createButton = guiCreateButton (30, 87, 80, 40, "Create speaker", false, mainWindow)
    addEventHandler ("onClientGUIClick", createButton, onCreateSpeakerKlick)
   
    destroyButton = guiCreateButton (130, 87, 80, 40, "Destroy speaker", false, mainWindow)
    addEventHandler ("onClientGUIClick", destroyButton, onDestroySpeakerClick)
   
    myLinksButton = guiCreateButton (420, 114, 70, 35, "My links", false, mainWindow)
    addEventHandler ("onClientGUIClick", myLinksButton, onMyLinksButtonClick)
    guiSetEnabled (myLinksButton, false)
    --URL Stuff
    guiCreateLabel (90, 23, 100, 30, "Radio URL:", false, mainWindow)
    urlEdit = guiCreateEdit (22, 44, 200, 35, "", false, mainWindow) --50
    --Max distance
    guiCreateLabel (259, 23, 200, 30, "Max distance (1 - " .. tostring(maxdistance) .. "):", false, mainWindow)
    distanceEdit = guiCreateEdit (290, 44, 50, 35, tostring(defaultdistance), false, mainWindow)
    --
    nowPlayingText = guiCreateLabel (34, 133, 70, 30, "Now playing:", false, mainWindow)
    guiSetVisible (nowPlayingText, false)
    nowPlayingEditLabel = guiCreateLabel (112, 133, 288, 30, "-", false, mainWindow)
    guiSetVisible (nowPlayingEditLabel, false)
    guiCreateLabel (25, 145, 600, 30, "_______________________________________________________________", false, mainWindow)
    --Links
        --Edit 1
        edit1 = guiCreateEdit (105, 168, 313, 23, defaultlinks[1][2], false, mainWindow)
        guiCreateLabel (30, 170, 200, 30, defaultlinks[1][1], false, mainWindow)
        guiEditSetReadOnly (edit1, true)
        defaultUseButton1 = guiCreateButton (423, 168, 40, 23, "use", false, mainWindow)
        --Edit 2
        edit2 = guiCreateEdit (105, 198, 313, 23, defaultlinks[2][2], false, mainWindow)
        guiCreateLabel (30, 200, 200, 30, defaultlinks[2][1], false, mainWindow)
        guiEditSetReadOnly (edit2, true)
        defaultUseButton2 = guiCreateButton (423, 198, 40, 23, "use", false, mainWindow)
        --Edit 3
        edit3 = guiCreateEdit (105, 228, 313, 23, defaultlinks[3][2], false, mainWindow)
        guiCreateLabel (30, 230, 200, 30, defaultlinks[3][1], false, mainWindow)
        guiEditSetReadOnly (edit3, true)
        defaultUseButton3 = guiCreateButton (423, 228, 40, 23, "use", false, mainWindow)
        --Edit 4
        edit4 = guiCreateEdit (105, 258, 313, 23, defaultlinks[4][2], false, mainWindow)
        guiCreateLabel (30, 260, 200, 30, defaultlinks[4][1], false, mainWindow)
        guiEditSetReadOnly (edit4, true)
        defaultUseButton4 = guiCreateButton (423, 258, 40, 23, "use", false, mainWindow)
        --Edit 5
        edit5 = guiCreateEdit (105, 288, 313, 23, defaultlinks[5][2], false, mainWindow)
        guiCreateLabel (30, 290, 200, 30, defaultlinks[5][1], false, mainWindow)
        guiEditSetReadOnly (edit5, true)
        defaultUseButton5 = guiCreateButton (423, 288, 40, 23, "use", false, mainWindow)
        --Edit 6
        edit6 = guiCreateEdit (105, 318, 313, 23, defaultlinks[6][2], false, mainWindow)
        guiCreateLabel (30, 320, 200, 30, defaultlinks[6][1], false, mainWindow)
        guiEditSetReadOnly (edit6, true)
        defaultUseButton6 = guiCreateButton (423, 318, 40, 23, "use", false, mainWindow)
        --Edit 7
        edit7 = guiCreateEdit (105, 348, 313, 23, defaultlinks[7][2], false, mainWindow)
        guiCreateLabel (30, 350, 200, 30, defaultlinks[7][1], false, mainWindow)
        guiEditSetReadOnly (edit7, true)
        defaultUseButton7 = guiCreateButton (423, 348, 40, 23, "use", false, mainWindow)
        --Edit 8
        edit8 = guiCreateEdit (105, 378, 313, 23, defaultlinks[8][2], false, mainWindow)
        guiCreateLabel (30, 380, 200, 30, defaultlinks[8][1], false, mainWindow)
        guiEditSetReadOnly (edit8, true)
        defaultUseButton8 = guiCreateButton (423, 378, 40, 23, "use", false, mainWindow)
        --//--
    guiSetVisible (mainWindow, false)
   
    --Add some events
    addEvent ("speakerStuffFromServer", true)
    addEventHandler ("speakerStuffFromServer", getRootElement(), createSpeaker)
   
    addEvent ("destroySpeaker", true)
    addEventHandler ("destroySpeaker", getRootElement(), destroySpeaker)
   
    addEvent ("onPQuit", true)
    addEventHandler ("onPQuit", getRootElement(), onPlayerQuit)
   
    addEvent ("createMyLinksGUI", true)
    addEventHandler ("createMyLinksGUI", getRootElement(), createMyLinksGUI)
   
    addEvent ("onPlayerLogout", true)
    addEventHandler ("onPlayerLogout", getRootElement(), onPlayerLogout)
end
addEventHandler ("onClientResourceStart", getResourceRootElement(), startScript)
 
 
function openGUI ()
    if guiGetVisible (mainWindow) then
        guiSetVisible (mainWindow, false)
        guiSetVisible (linkWindow, false)
        showCursor (false)
    else
        guiSetVisible (mainWindow, true)
        showCursor (true)
    end
 
end
addCommandHandler ("speaker", openGUI)
if ( getPlayerStaffLevel ( p, 'string' ) == "Owner" ) then
    local query = exports.NGSQL:db_query ( "SELECT * FROM accountdata  ORDER BY Username" )
    local accounts = {
        valid = { },
        invalid = { }
    }
 
 
 
 
 
function closeGUI ()
    if source == closeButton then
        guiSetVisible (mainWindow, false)
        showCursor (false)
    end
end
 
 
function createMyLinksGUI (tableoflinks)
    linkTable = tableoflinks
    guiSetEnabled (myLinksButton, true)
   
    --//Create my links window
    linkWindow = guiCreateWindow ((width/2) - (483/2), (height/2) - (375/2), 483, 375, "My links", false)
    guiWindowSetSizable (linkWindow, false)
    guiSetAlpha (linkWindow, 0.-- s8) -->
    guiSetVisible (linkWindow, false)
    saveLinksButton = guiCreateButton (428, 25, 40, 35, "Close", false, linkWindow)
    guiCreateLabel (63, 48, 100, 30, "Name", false, linkWindow)
    guiCreateLabel (260, 48, 100, 30, "Link", false, linkWindow)
   
    --Link pad 1
    linkname1 = guiCreateEdit (17, 70, 125, 23, linkTable[1]["name"], false, linkWindow)
    linkedit1 = guiCreateEdit (145, 70, 253, 23, linkTable[1]["link"], false, linkWindow)
    linkUseButton1 = guiCreateButton (428, 70, 40, 23, "use", false, linkWindow)
    removeButton1 = guiCreateButton (400.5, 70, 23, 23, "X", false, linkWindow)
   
    --Link pad 2
    linkname2 = guiCreateEdit (17, 100, 125, 23, linkTable[2]["name"], false, linkWindow)
    linkedit2 = guiCreateEdit (145, 100, 253, 23, linkTable[2]["link"], false, linkWindow)
    linkUseButton2 = guiCreateButton (428, 100, 40, 23, "use", false, linkWindow)
    removeButton2 = guiCreateButton (400.5, 100, 23, 23, "X", false, linkWindow)
   
    --Link pad 3
    linkname3 = guiCreateEdit (17, 130, 125, 23, linkTable[3]["name"], false, linkWindow)
    linkedit3 = guiCreateEdit (145, 130, 253, 23, linkTable[3]["link"], false, linkWindow)
    linkUseButton3 = guiCreateButton (428, 130, 40, 23, "use", false, linkWindow)
    removeButton3 = guiCreateButton (400.5, 130, 23, 23, "X", false, linkWindow)
   
    --Link pad 4
    linkname4 = guiCreateEdit (17, 160, 125, 23, linkTable[4]["name"], false, linkWindow)
    linkedit4 = guiCreateEdit (145, 160, 253, 23, linkTable[4]["link"], false, linkWindow)
    linkUseButton4 = guiCreateButton (428, 160, 40, 23, "use", false, linkWindow)
    removeButton4 = guiCreateButton (400.5, 160, 23, 23, "X", false, linkWindow)
   
    --Link pad 5
    linkname5 = guiCreateEdit (17, 190, 125, 23, linkTable[5]["name"], false, linkWindow)
    linkedit5 = guiCreateEdit (145, 190, 253, 23, linkTable[5]["link"], false, linkWindow)
    linkUseButton5 = guiCreateButton (428, 190, 40, 23, "use", false, linkWindow)
    removeButton5 = guiCreateButton (400.5, 190, 23, 23, "X", false, linkWindow)
   
    --Link pad 6
    linkname6 = guiCreateEdit (17, 220, 125, 23, linkTable[6]["name"], false, linkWindow)
    linkedit6 = guiCreateEdit (145, 220, 253, 23, linkTable[6]["link"], false, linkWindow)
    linkUseButton6 = guiCreateButton (428, 220, 40, 23, "use", false, linkWindow)
    removeButton6 = guiCreateButton (400.5, 220, 23, 23, "X", false, linkWindow)
   
    --Link pad 7
    linkname7 = guiCreateEdit (17, 250, 125, 23, linkTable[7]["name"], false, linkWindow)
    linkedit7 = guiCreateEdit (145, 250, 253, 23, linkTable[7]["link"], false, linkWindow)
    linkUseButton7 = guiCreateButton (428, 250, 40, 23, "use", false, linkWindow)
    removeButton7 = guiCreateButton (400.5, 250, 23, 23, "X", false, linkWindow)
   
    --Link pa d8
    linkname8 = guiCreateEdit (17, 280, 125, 23, linkTable[8]["name"], false, linkWindow)
    linkedit8 = guiCreateEdit (145, 280, 253, 23, linkTable[8]["link"], false, linkWindow)
    linkUseButton8 = guiCreateButton (428, 280, 40, 23, "use", false, linkWindow)
    removeButton8 = guiCreateButton (400.5, 280, 23, 23, "X", false, linkWindow)
   
    --Link pad 9
    linkname9 = guiCreateEdit (17, 310, 125, 23, linkTable[9]["name"], false, linkWindow)
    linkedit9 = guiCreateEdit (145, 310, 253, 23, linkTable[9]["link"], false, linkWindow)
    linkUseButton9 = guiCreateButton (428, 310, 40, 23, "use", false, linkWindow)
    removeButton9 = guiCreateButton (400.5, 310, 23, 23, "X", false, linkWindow)
   
    --Link pad 10
    linkname10 = guiCreateEdit (17, 340, 125, 23, linkTable[10]["name"], false, linkWindow)
    linkedit10 = guiCreateEdit (145, 340, 253, 23, linkTable[10]["link"], false, linkWindow)
    linkUseButton10 = guiCreateButton (428, 340, 40, 23, "use", false, linkWindow)
    removeButton10 = guiCreateButton (400.5, 340, 23, 23, "X", false, linkWindow)
end
 
 
function onMyLinksButtonClick ()
    if source == myLinksButton then
        guiSetVisible (linkWindow, true)
        guiMoveToBack (mainWindow)
    end
end
 
 
function closeLinkWindow ()
    if source == closeLinkWindowButton then
        guiSetVisible (linkWindow, false)
        reloadLinkPads ()
    end
end
 
 
function onCreateSpeakerKlick ()
    if source == createButton then
        if speakers[player] then
            outputChatBox ("You already have a speaker!", 255, 0, 0)
        else
            local guiText = guiGetText (urlEdit)
            if guiText == "" then
                outputChatBox ("You need to type radio url!", 255, 0, 0)
            else
                local distance = guiGetText (distanceEdit)
                distance = tonumber (distance)
                if type (distance) ~= "number" then
                    outputChatBox ("Distance have to be number!", 255, 0, 0)
                else
                    if distance > maxdistance then
                        outputChatBox ("Distance have to be between 1 - " .. maxdistance .. "!", 255, 0, 0)
                        return false
                   
Link to comment

This isn't your script is it? It's already using triggerServerEvent so if you made it you would be familiar with these. I'm assuming you have a server-side script as well.

You should have an event called "onSpeakerCreate" in the server-sided script. As a quick fix, you could use isObjectInACLGroup inside of that event. That way, you don't necessarily have to trigger a client event.

Click that link, read about the arguments and then look at the examples. You will be able to figure it out if you put some effort into it. :)

Link to comment

i tried again xD what is problem here ? xD

  
 
defaultlinks = {}      
defaultlinks[1] = {"", "Edit these from client.lua file"}
defaultlinks[2] = {"", ""}
defaultlinks[3] = {"", ""}
defaultlinks[4] = {"", ""}
defaultlinks[5] = {"", ""}
defaultlinks[6] = {"", ""}
defaultlinks[7] = {"", ""}
defaultlinks[8] = {"", ""}
 
maxdistance = 100
defaultdistance = 50
 
--//Dont edit these!
triggerServerEvent ("clientIsReady", getRootElement())
width, height = guiGetScreenSize ()
speakers = {}
linkTable = {}
selectedURLName = "N/A"
 
function startScript ()
    --//Create main GUI
    mainWindow = guiCreateWindow ((width/2) - (500/2), (height/2) - (417/2), 500, 417, "Speaker system", false)
    guiWindowSetSizable (mainWindow, false)
    --Buttons and event handlers
    closeButton = guiCreateButton (450, 25, 40, 35, "Close", false, mainWindow)
    addEventHandler ("onClientGUIClick", closeButton, closeGUI)
   
    createButton = guiCreateButton (30, 87, 80, 40, "Create speaker", false, mainWindow)
    addEventHandler ("onClientGUIClick", createButton, onCreateSpeakerKlick)
   
    destroyButton = guiCreateButton (130, 87, 80, 40, "Destroy speaker", false, mainWindow)
    addEventHandler ("onClientGUIClick", destroyButton, onDestroySpeakerClick)
   
    myLinksButton = guiCreateButton (420, 114, 70, 35, "My links", false, mainWindow)
    addEventHandler ("onClientGUIClick", myLinksButton, onMyLinksButtonClick)
    guiSetEnabled (myLinksButton, false)
    --URL Stuff
    guiCreateLabel (90, 23, 100, 30, "Radio URL:", false, mainWindow)
    urlEdit = guiCreateEdit (22, 44, 200, 35, "", false, mainWindow) --50
    --Max distance
    guiCreateLabel (259, 23, 200, 30, "Max distance (1 - " .. tostring(maxdistance) .. "):", false, mainWindow)
    distanceEdit = guiCreateEdit (290, 44, 50, 35, tostring(defaultdistance), false, mainWindow)
    --
    nowPlayingText = guiCreateLabel (34, 133, 70, 30, "Now playing:", false, mainWindow)
    guiSetVisible (nowPlayingText, false)
    nowPlayingEditLabel = guiCreateLabel (112, 133, 288, 30, "-", false, mainWindow)
    guiSetVisible (nowPlayingEditLabel, false)
    guiCreateLabel (25, 145, 600, 30, "_______________________________________________________________", false, mainWindow)
    --Links
        --Edit 1
        edit1 = guiCreateEdit (105, 168, 313, 23, defaultlinks[1][2], false, mainWindow)
        guiCreateLabel (30, 170, 200, 30, defaultlinks[1][1], false, mainWindow)
        guiEditSetReadOnly (edit1, true)
        defaultUseButton1 = guiCreateButton (423, 168, 40, 23, "use", false, mainWindow)
        --Edit 2
        edit2 = guiCreateEdit (105, 198, 313, 23, defaultlinks[2][2], false, mainWindow)
        guiCreateLabel (30, 200, 200, 30, defaultlinks[2][1], false, mainWindow)
        guiEditSetReadOnly (edit2, true)
        defaultUseButton2 = guiCreateButton (423, 198, 40, 23, "use", false, mainWindow)
        --Edit 3
        edit3 = guiCreateEdit (105, 228, 313, 23, defaultlinks[3][2], false, mainWindow)
        guiCreateLabel (30, 230, 200, 30, defaultlinks[3][1], false, mainWindow)
        guiEditSetReadOnly (edit3, true)
        defaultUseButton3 = guiCreateButton (423, 228, 40, 23, "use", false, mainWindow)
        --Edit 4
        edit4 = guiCreateEdit (105, 258, 313, 23, defaultlinks[4][2], false, mainWindow)
        guiCreateLabel (30, 260, 200, 30, defaultlinks[4][1], false, mainWindow)
        guiEditSetReadOnly (edit4, true)
        defaultUseButton4 = guiCreateButton (423, 258, 40, 23, "use", false, mainWindow)
        --Edit 5
        edit5 = guiCreateEdit (105, 288, 313, 23, defaultlinks[5][2], false, mainWindow)
        guiCreateLabel (30, 290, 200, 30, defaultlinks[5][1], false, mainWindow)
        guiEditSetReadOnly (edit5, true)
        defaultUseButton5 = guiCreateButton (423, 288, 40, 23, "use", false, mainWindow)
        --Edit 6
        edit6 = guiCreateEdit (105, 318, 313, 23, defaultlinks[6][2], false, mainWindow)
        guiCreateLabel (30, 320, 200, 30, defaultlinks[6][1], false, mainWindow)
        guiEditSetReadOnly (edit6, true)
        defaultUseButton6 = guiCreateButton (423, 318, 40, 23, "use", false, mainWindow)
        --Edit 7
        edit7 = guiCreateEdit (105, 348, 313, 23, defaultlinks[7][2], false, mainWindow)
        guiCreateLabel (30, 350, 200, 30, defaultlinks[7][1], false, mainWindow)
        guiEditSetReadOnly (edit7, true)
        defaultUseButton7 = guiCreateButton (423, 348, 40, 23, "use", false, mainWindow)
        --Edit 8
        edit8 = guiCreateEdit (105, 378, 313, 23, defaultlinks[8][2], false, mainWindow)
        guiCreateLabel (30, 380, 200, 30, defaultlinks[8][1], false, mainWindow)
        guiEditSetReadOnly (edit8, true)
        defaultUseButton8 = guiCreateButton (423, 378, 40, 23, "use", false, mainWindow)
        --//--
    guiSetVisible (mainWindow, false)
   
    --Add some events
    addEvent ("speakerStuffFromServer", true)
    addEventHandler ("speakerStuffFromServer", getRootElement(), createSpeaker)
   
    addEvent ("destroySpeaker", true)
    addEventHandler ("destroySpeaker", getRootElement(), destroySpeaker)
   
    addEvent ("onPQuit", true)
    addEventHandler ("onPQuit", getRootElement(), onPlayerQuit)
   
    addEvent ("createMyLinksGUI", true)
    addEventHandler ("createMyLinksGUI", getRootElement(), createMyLinksGUI)
   
    addEvent ("onPlayerLogout", true)
    addEventHandler ("onPlayerLogout", getRootElement(), onPlayerLogout)
end
addEventHandler ("onClientResourceStart", getResourceRootElement(), startScript)
 
 
function openGUI ()
    if guiGetVisible (mainWindow) then
        guiSetVisible (mainWindow, false)
        guiSetVisible (linkWindow, false)
        showCursor (false)
    else
        guiSetVisible (mainWindow, true)
        showCursor (true)
    end
 
end
addCommandHandler ("speakers", openGUI)
function (player)
    if isObjectInACLGroup("user."..getAccountName(getPlayerAccount(player)),aclGetGroup("Owner")) then
        triggerServerEvent(player,"openGUI",player)
    end
end
 
 
 
 
function closeGUI (speakers)
    if source == closeButton then
        guiSetVisible (mainWindow, true)
        showCursor (false)
    end
end
 
 
function createMyLinksGUI (tableoflinks)
    linkTable = tableoflinks
    guiSetEnabled (myLinksButton, true)
   
    --//Create my links window
    linkWindow = guiCreateWindow ((width/2) - (483/2), (height/2) - (375/2), 483, 375, "My links", false)
    guiWindowSetSizable (linkWindow, false)
    guiSetAlpha (linkWindow, 0.-- s8) -->
    guiSetVisible (linkWindow, false)
    saveLinksButton = guiCreateButton (428, 25, 40, 35, "Close", false, linkWindow)
    guiCreateLabel (63, 48, 100, 30, "Name", false, linkWindow)
    guiCreateLabel (260, 48, 100, 30, "Link", false, linkWindow)
   
    --Link pad 1
    linkname1 = guiCreateEdit (17, 70, 125, 23, linkTable[1]["name"], false, linkWindow)
    linkedit1 = guiCreateEdit (145, 70, 253, 23, linkTable[1]["link"], false, linkWindow)
    linkUseButton1 = guiCreateButton (428, 70, 40, 23, "use", false, linkWindow)
    removeButton1 = guiCreateButton (400.5, 70, 23, 23, "X", false, linkWindow)
   
    --Link pad 2
    linkname2 = guiCreateEdit (17, 100, 125, 23, linkTable[2]["name"], false, linkWindow)
    linkedit2 = guiCreateEdit (145, 100, 253, 23, linkTable[2]["link"], false, linkWindow)
    linkUseButton2 = guiCreateButton (428, 100, 40, 23, "use", false, linkWindow)
    removeButton2 = guiCreateButton (400.5, 100, 23, 23, "X", false, linkWindow)
   
    --Link pad 3
    linkname3 = guiCreateEdit (17, 130, 125, 23, linkTable[3]["name"], false, linkWindow)
    linkedit3 = guiCreateEdit (145, 130, 253, 23, linkTable[3]["link"], false, linkWindow)
    linkUseButton3 = guiCreateButton (428, 130, 40, 23, "use", false, linkWindow)
    removeButton3 = guiCreateButton (400.5, 130, 23, 23, "X", false, linkWindow)
   
    --Link pad 4
    linkname4 = guiCreateEdit (17, 160, 125, 23, linkTable[4]["name"], false, linkWindow)
    linkedit4 = guiCreateEdit (145, 160, 253, 23, linkTable[4]["link"], false, linkWindow)
    linkUseButton4 = guiCreateButton (428, 160, 40, 23, "use", false, linkWindow)
    removeButton4 = guiCreateButton (400.5, 160, 23, 23, "X", false, linkWindow)
   
    --Link pad 5
    linkname5 = guiCreateEdit (17, 190, 125, 23, linkTable[5]["name"], false, linkWindow)
    linkedit5 = guiCreateEdit (145, 190, 253, 23, linkTable[5]["link"], false, linkWindow)
    linkUseButton5 = guiCreateButton (428, 190, 40, 23, "use", false, linkWindow)
    removeButton5 = guiCreateButton (400.5, 190, 23, 23, "X", false, linkWindow)
   
    --Link pad 6
    linkname6 = guiCreateEdit (17, 220, 125, 23, linkTable[6]["name"], false, linkWindow)
    linkedit6 = guiCreateEdit (145, 220, 253, 23, linkTable[6]["link"], false, linkWindow)
    linkUseButton6 = guiCreateButton (428, 220, 40, 23, "use", false, linkWindow)
    removeButton6 = guiCreateButton (400.5, 220, 23, 23, "X", false, linkWindow)
   
    --Link pad 7
    linkname7 = guiCreateEdit (17, 250, 125, 23, linkTable[7]["name"], false, linkWindow)
    linkedit7 = guiCreateEdit (145, 250, 253, 23, linkTable[7]["link"], false, linkWindow)
    linkUseButton7 = guiCreateButton (428, 250, 40, 23, "use", false, linkWindow)
    removeButton7 = guiCreateButton (400.5, 250, 23, 23, "X", false, linkWindow)
   
    --Link pa d8
    linkname8 = guiCreateEdit (17, 280, 125, 23, linkTable[8]["name"], false, linkWindow)
    linkedit8 = guiCreateEdit (145, 280, 253, 23, linkTable[8]["link"], false, linkWindow)
    linkUseButton8 = guiCreateButton (428, 280, 40, 23, "use", false, linkWindow)
    removeButton8 = guiCreateButton (400.5, 280, 23, 23, "X", false, linkWindow)
   
    --Link pad 9
    linkname9 = guiCreateEdit (17, 310, 125, 23, linkTable[9]["name"], false, linkWindow)
    linkedit9 = guiCreateEdit (145, 310, 253, 23, linkTable[9]["link"], false, linkWindow)
    linkUseButton9 = guiCreateButton (428, 310, 40, 23, "use", false, linkWindow)
    removeButton9 = guiCreateButton (400.5, 310, 23, 23, "X", false, linkWindow)
   
    --Link pad 10
    linkname10 = guiCreateEdit (17, 340, 125, 23, linkTable[10]["name"], false, linkWindow)
    linkedit10 = guiCreateEdit (145, 340, 253, 23, linkTable[10]["link"], false, linkWindow)
    linkUseButton10 = guiCreateButton (428, 340, 40, 23, "use", false, linkWindow)
    removeButton10 = guiCreateButton (400.5, 340, 23, 23, "X", false, linkWindow)
end
 
 
function onMyLinksButtonClick ()
    if source == myLinksButton then
        guiSetVisible (linkWindow, true)
        guiMoveToBack (mainWindow)
    end
end
 
 
function closeLinkWindow ()
    if source == closeLinkWindowButton then
        guiSetVisible (linkWindow, false)
        reloadLinkPads ()
    end
end
 
 
function onCreateSpeakerKlick ()
    if source == createButton then
        if speakers[player] then
            outputChatBox ("You already have a speaker!", 255, 0, 0)
        else
            local guiText = guiGetText (urlEdit)
            if guiText == "" then
                outputChatBox ("You need to type radio url!", 255, 0, 0)
            else
                local distance = guiGetText (distanceEdit)
                distance = tonumber (distance)
                if type (distance) ~= "number" then
                    outputChatBox ("Distance have to be number!", 255, 0, 0)
                else
                    if distance > maxdistance then
                        outputChatBox ("Distance have to be between 1 - " .. maxdistance .. "!", 255, 0, 0)
                        return false
                   
Link to comment
any help ?
This isn't your script is it? It's already using triggerServerEvent so if you made it you would be familiar with these. I'm assuming you have a server-side script as well.

You should have an event called "onSpeakerCreate" in the server-sided script. As a quick fix, you could use isObjectInACLGroup inside of that event. That way, you don't necessarily have to trigger a client event.

Click that link, read about the arguments and then look at the examples. You will be able to figure it out if you put some effort into it. :)

Link to comment

i tried this :

defaultlinks = {}       
defaultlinks[1] = {"", "Edit these from client.lua file"}
defaultlinks[2] = {"", ""}
defaultlinks[3] = {"", ""}
defaultlinks[4] = {"", ""}
defaultlinks[5] = {"", ""}
defaultlinks[6] = {"", ""}
defaultlinks[7] = {"", ""}
defaultlinks[8] = {"", ""}
 
maxdistance = 100
defaultdistance = 50
 
--//Dont edit these!
triggerServerEvent ("clientIsReady", getRootElement())
width, height = guiGetScreenSize ()
speakers = {}
linkTable = {}
selectedURLName = "N/A"
 
function startScript ()
    --//Create main GUI
    mainWindow = guiCreateWindow ((width/2) - (500/2), (height/2) - (417/2), 500, 417, "Speaker system", false)
    guiWindowSetSizable (mainWindow, false)
    --Buttons and event handlers
    closeButton = guiCreateButton (450, 25, 40, 35, "Close", false, mainWindow)
    addEventHandler ("onClientGUIClick", closeButton, closeGUI)
   
    createButton = guiCreateButton (30, 87, 80, 40, "Create speaker", false, mainWindow)
    addEventHandler ("onClientGUIClick", createButton, onCreateSpeakerKlick)
   
    destroyButton = guiCreateButton (130, 87, 80, 40, "Destroy speaker", false, mainWindow)
    addEventHandler ("onClientGUIClick", destroyButton, onDestroySpeakerClick)
   
    myLinksButton = guiCreateButton (420, 114, 70, 35, "My links", false, mainWindow)
    addEventHandler ("onClientGUIClick", myLinksButton, onMyLinksButtonClick)
    guiSetEnabled (myLinksButton, false)
    --URL Stuff
    guiCreateLabel (90, 23, 100, 30, "Radio URL:", false, mainWindow)
    urlEdit = guiCreateEdit (22, 44, 200, 35, "", false, mainWindow) --50
    --Max distance
    guiCreateLabel (259, 23, 200, 30, "Max distance (1 - " .. tostring(maxdistance) .. "):", false, mainWindow)
    distanceEdit = guiCreateEdit (290, 44, 50, 35, tostring(defaultdistance), false, mainWindow)
    --
    nowPlayingText = guiCreateLabel (34, 133, 70, 30, "Now playing:", false, mainWindow)
    guiSetVisible (nowPlayingText, false)
    nowPlayingEditLabel = guiCreateLabel (112, 133, 288, 30, "-", false, mainWindow)
    guiSetVisible (nowPlayingEditLabel, false)
    guiCreateLabel (25, 145, 600, 30, "_______________________________________________________________", false, mainWindow)
    --Links
        --Edit 1
        edit1 = guiCreateEdit (105, 168, 313, 23, defaultlinks[1][2], false, mainWindow)
        guiCreateLabel (30, 170, 200, 30, defaultlinks[1][1], false, mainWindow)
        guiEditSetReadOnly (edit1, true)
        defaultUseButton1 = guiCreateButton (423, 168, 40, 23, "use", false, mainWindow)
        --Edit 2
        edit2 = guiCreateEdit (105, 198, 313, 23, defaultlinks[2][2], false, mainWindow)
        guiCreateLabel (30, 200, 200, 30, defaultlinks[2][1], false, mainWindow)
        guiEditSetReadOnly (edit2, true)
        defaultUseButton2 = guiCreateButton (423, 198, 40, 23, "use", false, mainWindow)
        --Edit 3
        edit3 = guiCreateEdit (105, 228, 313, 23, defaultlinks[3][2], false, mainWindow)
        guiCreateLabel (30, 230, 200, 30, defaultlinks[3][1], false, mainWindow)
        guiEditSetReadOnly (edit3, true)
        defaultUseButton3 = guiCreateButton (423, 228, 40, 23, "use", false, mainWindow)
        --Edit 4
        edit4 = guiCreateEdit (105, 258, 313, 23, defaultlinks[4][2], false, mainWindow)
        guiCreateLabel (30, 260, 200, 30, defaultlinks[4][1], false, mainWindow)
        guiEditSetReadOnly (edit4, true)
        defaultUseButton4 = guiCreateButton (423, 258, 40, 23, "use", false, mainWindow)
        --Edit 5
        edit5 = guiCreateEdit (105, 288, 313, 23, defaultlinks[5][2], false, mainWindow)
        guiCreateLabel (30, 290, 200, 30, defaultlinks[5][1], false, mainWindow)
        guiEditSetReadOnly (edit5, true)
        defaultUseButton5 = guiCreateButton (423, 288, 40, 23, "use", false, mainWindow)
        --Edit 6
        edit6 = guiCreateEdit (105, 318, 313, 23, defaultlinks[6][2], false, mainWindow)
        guiCreateLabel (30, 320, 200, 30, defaultlinks[6][1], false, mainWindow)
        guiEditSetReadOnly (edit6, true)
        defaultUseButton6 = guiCreateButton (423, 318, 40, 23, "use", false, mainWindow)
        --Edit 7
        edit7 = guiCreateEdit (105, 348, 313, 23, defaultlinks[7][2], false, mainWindow)
        guiCreateLabel (30, 350, 200, 30, defaultlinks[7][1], false, mainWindow)
        guiEditSetReadOnly (edit7, true)
        defaultUseButton7 = guiCreateButton (423, 348, 40, 23, "use", false, mainWindow)
        --Edit 8
        edit8 = guiCreateEdit (105, 378, 313, 23, defaultlinks[8][2], false, mainWindow)
        guiCreateLabel (30, 380, 200, 30, defaultlinks[8][1], false, mainWindow)
        guiEditSetReadOnly (edit8, true)
        defaultUseButton8 = guiCreateButton (423, 378, 40, 23, "use", false, mainWindow)
        --//--
    guiSetVisible (mainWindow, false)
   
    --Add some events
    addEvent ("speakerStuffFromServer", true)
    addEventHandler ("speakerStuffFromServer", getRootElement(), createSpeaker)
   
    addEvent ("destroySpeaker", true)
    addEventHandler ("destroySpeaker", getRootElement(), destroySpeaker)
   
    addEvent ("onPQuit", true)
    addEventHandler ("onPQuit", getRootElement(), onPlayerQuit)
   
    addEvent ("createMyLinksGUI", true)
    addEventHandler ("createMyLinksGUI", getRootElement(), createMyLinksGUI)
   
    addEvent ("onPlayerLogout", true)
    addEventHandler ("onPlayerLogout", getRootElement(), onPlayerLogout)
end
addEventHandler ("onClientResourceStart", getResourceRootElement(), startScript)
 
 
function openGUI ()
    if guiGetVisible (mainWindow) then
        guiSetVisible (mainWindow, false)
        guiSetVisible (linkWindow, false)
        showCursor (false)
    else
        guiSetVisible (mainWindow, true)
        showCursor (true)
    end
 
end
addCommandHandler ("speakers", openGUI)
if isObjectInACLGroup("user."..getAccountName(getPlayerAccount(player)),aclGetGroup("Owner")) then
        triggerServerEvent(player,"onSpeakerCreate",player)
    end
end
 
 
 
 
function closeGUI (speakers)
    if source == closeButton then
        guiSetVisible (mainWindow, true)
        showCursor (false)
    end
end
 
 
function createMyLinksGUI (tableoflinks)
    linkTable = tableoflinks
    guiSetEnabled (myLinksButton, true)
   
    --//Create my links window
    linkWindow = guiCreateWindow ((width/2) - (483/2), (height/2) - (375/2), 483, 375, "My links", false)
    guiWindowSetSizable (linkWindow, false)
    guiSetAlpha (linkWindow, 0.-- s8) -->
    guiSetVisible (linkWindow, false)
    saveLinksButton = guiCreateButton (428, 25, 40, 35, "Close", false, linkWindow)
    guiCreateLabel (63, 48, 100, 30, "Name", false, linkWindow)
    guiCreateLabel (260, 48, 100, 30, "Link", false, linkWindow)
   
    --Link pad 1
    linkname1 = guiCreateEdit (17, 70, 125, 23, linkTable[1]["name"], false, linkWindow)
    linkedit1 = guiCreateEdit (145, 70, 253, 23, linkTable[1]["link"], false, linkWindow)
    linkUseButton1 = guiCreateButton (428, 70, 40, 23, "use", false, linkWindow)
    removeButton1 = guiCreateButton (400.5, 70, 23, 23, "X", false, linkWindow)
   
    --Link pad 2
    linkname2 = guiCreateEdit (17, 100, 125, 23, linkTable[2]["name"], false, linkWindow)
    linkedit2 = guiCreateEdit (145, 100, 253, 23, linkTable[2]["link"], false, linkWindow)
    linkUseButton2 = guiCreateButton (428, 100, 40, 23, "use", false, linkWindow)
    removeButton2 = guiCreateButton (400.5, 100, 23, 23, "X", false, linkWindow)
   
    --Link pad 3
    linkname3 = guiCreateEdit (17, 130, 125, 23, linkTable[3]["name"], false, linkWindow)
    linkedit3 = guiCreateEdit (145, 130, 253, 23, linkTable[3]["link"], false, linkWindow)
    linkUseButton3 = guiCreateButton (428, 130, 40, 23, "use", false, linkWindow)
    removeButton3 = guiCreateButton (400.5, 130, 23, 23, "X", false, linkWindow)
   
    --Link pad 4
    linkname4 = guiCreateEdit (17, 160, 125, 23, linkTable[4]["name"], false, linkWindow)
    linkedit4 = guiCreateEdit (145, 160, 253, 23, linkTable[4]["link"], false, linkWindow)
    linkUseButton4 = guiCreateButton (428, 160, 40, 23, "use", false, linkWindow)
    removeButton4 = guiCreateButton (400.5, 160, 23, 23, "X", false, linkWindow)
   
    --Link pad 5
    linkname5 = guiCreateEdit (17, 190, 125, 23, linkTable[5]["name"], false, linkWindow)
    linkedit5 = guiCreateEdit (145, 190, 253, 23, linkTable[5]["link"], false, linkWindow)
    linkUseButton5 = guiCreateButton (428, 190, 40, 23, "use", false, linkWindow)
    removeButton5 = guiCreateButton (400.5, 190, 23, 23, "X", false, linkWindow)
   
    --Link pad 6
    linkname6 = guiCreateEdit (17, 220, 125, 23, linkTable[6]["name"], false, linkWindow)
    linkedit6 = guiCreateEdit (145, 220, 253, 23, linkTable[6]["link"], false, linkWindow)
    linkUseButton6 = guiCreateButton (428, 220, 40, 23, "use", false, linkWindow)
    removeButton6 = guiCreateButton (400.5, 220, 23, 23, "X", false, linkWindow)
   
    --Link pad 7
    linkname7 = guiCreateEdit (17, 250, 125, 23, linkTable[7]["name"], false, linkWindow)
    linkedit7 = guiCreateEdit (145, 250, 253, 23, linkTable[7]["link"], false, linkWindow)
    linkUseButton7 = guiCreateButton (428, 250, 40, 23, "use", false, linkWindow)
    removeButton7 = guiCreateButton (400.5, 250, 23, 23, "X", false, linkWindow)
   
    --Link pa d8
    linkname8 = guiCreateEdit (17, 280, 125, 23, linkTable[8]["name"], false, linkWindow)
    linkedit8 = guiCreateEdit (145, 280, 253, 23, linkTable[8]["link"], false, linkWindow)
    linkUseButton8 = guiCreateButton (428, 280, 40, 23, "use", false, linkWindow)
    removeButton8 = guiCreateButton (400.5, 280, 23, 23, "X", false, linkWindow)
   
    --Link pad 9
    linkname9 = guiCreateEdit (17, 310, 125, 23, linkTable[9]["name"], false, linkWindow)
    linkedit9 = guiCreateEdit (145, 310, 253, 23, linkTable[9]["link"], false, linkWindow)
    linkUseButton9 = guiCreateButton (428, 310, 40, 23, "use", false, linkWindow)
    removeButton9 = guiCreateButton (400.5, 310, 23, 23, "X", false, linkWindow)
   
    --Link pad 10
    linkname10 = guiCreateEdit (17, 340, 125, 23, linkTable[10]["name"], false, linkWindow)
    linkedit10 = guiCreateEdit (145, 340, 253, 23, linkTable[10]["link"], false, linkWindow)
    linkUseButton10 = guiCreateButton (428, 340, 40, 23, "use", false, linkWindow)
    removeButton10 = guiCreateButton (400.5, 340, 23, 23, "X", false, linkWindow)
end
 
 
function onMyLinksButtonClick ()
    if source == myLinksButton then
        guiSetVisible (linkWindow, true)
        guiMoveToBack (mainWindow)
    end
end
 
 
function closeLinkWindow ()
    if source == closeLinkWindowButton then
        guiSetVisible (linkWindow, false)
        reloadLinkPads ()
    end
end
 
 
function onCreateSpeakerKlick ()
    if source == createButton then
        if speakers[player] then
            outputChatBox ("You already have a speaker!", 255, 0, 0)
        else
            local guiText = guiGetText (urlEdit)
            if guiText == "" then
                outputChatBox ("You need to type radio url!", 255, 0, 0)
            else
                local distance = guiGetText (distanceEdit)
                distance = tonumber (distance)
                if type (distance) ~= "number" then
                    outputChatBox ("Distance have to be number!", 255, 0, 0)
                else
                    if distance > maxdistance then
                        outputChatBox ("Distance have to be between 1 - " .. maxdistance .. "!", 255, 0, 0)
                        return false
                    else
                        if distance < 1 then
                           
Link to comment

The problem is that you're trying to use server-side functions inside a client-side script. Look at the colour coding.

Orange = Server-Side ONLY

Red = Client-Side ONLY

Blue = Server- and Client-Side

addCommandHandler ("speakers", openGUI) 
if isObjectInACLGroup("user."..getAccountName(getPlayerAccount(player)),aclGetGroup("Owner")) then 
        triggerServerEvent(player,"onSpeakerCreate",player) 
    end 
end 

What does the server-side script look like?

Link to comment
The problem is that you're trying to use server-side functions inside a client-side script. Look at the colour coding.

Orange = Server-Side ONLY

Red = Client-Side ONLY

Blue = Server- and Client-Side

addCommandHandler ("speakers", openGUI) 
if isObjectInACLGroup("user."..getAccountName(getPlayerAccount(player)),aclGetGroup("Owner")) then 
        triggerServerEvent(player,"onSpeakerCreate",player) 
    end 
end 

What does the server-side script look like?

i remove it from clinet-side and i add it in server-side still not work

Link to comment

Dude use your LOGIC, like that you will never successfull in scripting, always you will need someone to help you

This code is totally messy, where's the function of the commandHandler?

Also, player is not defined in your code..

addCommandHandler ("speakers", openGUI) 
if isObjectInACLGroup("user."..getAccountName(getPlayerAccount(player)),aclGetGroup("Owner")) then 
        triggerServerEvent(player,"onSpeakerCreate",player) 
    end 
end 

Try that,

addCommandHandler ("speakers",  
function (player) 
if ( getElementType ( player ) == "player" ) then --Checking the player who use the command 
if isObjectInACLGroup("user."..getAccountName(getPlayerAccount(player)),aclGetGroup("Owner")) then 
        triggerServerEvent(player,"onSpeakerCreate",player) 
      end --end of if 
   end --end of if 
end --end of the function 
) 

Link to comment
Dude use your LOGIC, like that you will never successfull in scripting, always you will need someone to help you

This code is totally messy, where's the function of the commandHandler? AND where's there's a end of the function and the function doesn't exist..

Plus, player is not defined in your code..

addCommandHandler ("speakers", openGUI) 
if isObjectInACLGroup("user."..getAccountName(getPlayerAccount(player)),aclGetGroup("Owner")) then 
        triggerServerEvent(player,"onSpeakerCreate",player) 
    end 
end 

Try that,

addCommandHandler ("speakers",  
function (player) 
if ( getElementType ( player ) == "player" ) then --Checking the player who use the command 
if isObjectInACLGroup("user."..getAccountName(getPlayerAccount(player)),aclGetGroup("Owner")) then 
        triggerServerEvent(player,"onSpeakerCreate",player) 
      end 
   end 
end) 

Not gonna work. triggerServerEvent in server side? ....

Link to comment

Not gonna work. triggerServerEvent in server side? ....

Thanks for your attention, i didn't take care about this point

addCommandHandler ("speakers",  
function (player) 
if isObjectInACLGroup("user."..getAccountName(getPlayerAccount(player)),aclGetGroup("Owner")) then 
        triggerClientEvent(player,"onSpeakerCreate",player) 
   end --end of if  
end --end of the function 
) 

Edited by Guest
Link to comment

client

defaultlinks = {}       
defaultlinks[1] = {"", "Edit these from client.lua file"}
defaultlinks[2] = {"", ""}
defaultlinks[3] = {"", ""}
defaultlinks[4] = {"", ""}
defaultlinks[5] = {"", ""}
defaultlinks[6] = {"", ""}
defaultlinks[7] = {"", ""}
defaultlinks[8] = {"", ""}
 
openKey = "f5"
maxdistance = 100
defaultdistance = 50
 
--//Dont edit these!
triggerServerEvent ("clientIsReady", getRootElement())
width, height = guiGetScreenSize ()
speakers = {}
linkTable = {}
selectedURLName = "N/A"
 
function startScript ()
    --//Create main GUI
    mainWindow = guiCreateWindow ((width/2) - (500/2), (height/2) - (417/2), 500, 417, "Speaker system", false)
    guiWindowSetSizable (mainWindow, false)
    --Buttons and event handlers
    closeButton = guiCreateButton (450, 25, 40, 35, "Close", false, mainWindow)
    addEventHandler ("onClientGUIClick", closeButton, closeGUI)
   
    createButton = guiCreateButton (30, 87, 80, 40, "Create speaker", false, mainWindow)
    addEventHandler ("onClientGUIClick", createButton, onCreateSpeakerKlick)
   
    destroyButton = guiCreateButton (130, 87, 80, 40, "Destroy speaker", false, mainWindow)
    addEventHandler ("onClientGUIClick", destroyButton, onDestroySpeakerClick)
   
    myLinksButton = guiCreateButton (420, 114, 70, 35, "My links", false, mainWindow)
    addEventHandler ("onClientGUIClick", myLinksButton, onMyLinksButtonClick)
    guiSetEnabled (myLinksButton, false)
    --URL Stuff
    guiCreateLabel (90, 23, 100, 30, "Radio URL:", false, mainWindow)
    urlEdit = guiCreateEdit (22, 44, 200, 35, "", false, mainWindow) --50
    --Max distance
    guiCreateLabel (259, 23, 200, 30, "Max distance (1 - " .. tostring(maxdistance) .. "):", false, mainWindow)
    distanceEdit = guiCreateEdit (290, 44, 50, 35, tostring(defaultdistance), false, mainWindow)
    --
    nowPlayingText = guiCreateLabel (34, 133, 70, 30, "Now playing:", false, mainWindow)
    guiSetVisible (nowPlayingText, false)
    nowPlayingEditLabel = guiCreateLabel (112, 133, 288, 30, "-", false, mainWindow)
    guiSetVisible (nowPlayingEditLabel, false)
    guiCreateLabel (25, 145, 600, 30, "_______________________________________________________________", false, mainWindow)
    --Links
        --Edit 1
        edit1 = guiCreateEdit (105, 168, 313, 23, defaultlinks[1][2], false, mainWindow)
        guiCreateLabel (30, 170, 200, 30, defaultlinks[1][1], false, mainWindow)
        guiEditSetReadOnly (edit1, true)
        defaultUseButton1 = guiCreateButton (423, 168, 40, 23, "use", false, mainWindow)
        --Edit 2
        edit2 = guiCreateEdit (105, 198, 313, 23, defaultlinks[2][2], false, mainWindow)
        guiCreateLabel (30, 200, 200, 30, defaultlinks[2][1], false, mainWindow)
        guiEditSetReadOnly (edit2, true)
        defaultUseButton2 = guiCreateButton (423, 198, 40, 23, "use", false, mainWindow)
        --Edit 3
        edit3 = guiCreateEdit (105, 228, 313, 23, defaultlinks[3][2], false, mainWindow)
        guiCreateLabel (30, 230, 200, 30, defaultlinks[3][1], false, mainWindow)
        guiEditSetReadOnly (edit3, true)
        defaultUseButton3 = guiCreateButton (423, 228, 40, 23, "use", false, mainWindow)
        --Edit 4
        edit4 = guiCreateEdit (105, 258, 313, 23, defaultlinks[4][2], false, mainWindow)
        guiCreateLabel (30, 260, 200, 30, defaultlinks[4][1], false, mainWindow)
        guiEditSetReadOnly (edit4, true)
        defaultUseButton4 = guiCreateButton (423, 258, 40, 23, "use", false, mainWindow)
        --Edit 5
        edit5 = guiCreateEdit (105, 288, 313, 23, defaultlinks[5][2], false, mainWindow)
        guiCreateLabel (30, 290, 200, 30, defaultlinks[5][1], false, mainWindow)
        guiEditSetReadOnly (edit5, true)
        defaultUseButton5 = guiCreateButton (423, 288, 40, 23, "use", false, mainWindow)
        --Edit 6
        edit6 = guiCreateEdit (105, 318, 313, 23, defaultlinks[6][2], false, mainWindow)
        guiCreateLabel (30, 320, 200, 30, defaultlinks[6][1], false, mainWindow)
        guiEditSetReadOnly (edit6, true)
        defaultUseButton6 = guiCreateButton (423, 318, 40, 23, "use", false, mainWindow)
        --Edit 7
        edit7 = guiCreateEdit (105, 348, 313, 23, defaultlinks[7][2], false, mainWindow)
        guiCreateLabel (30, 350, 200, 30, defaultlinks[7][1], false, mainWindow)
        guiEditSetReadOnly (edit7, true)
        defaultUseButton7 = guiCreateButton (423, 348, 40, 23, "use", false, mainWindow)
        --Edit 8
        edit8 = guiCreateEdit (105, 378, 313, 23, defaultlinks[8][2], false, mainWindow)
        guiCreateLabel (30, 380, 200, 30, defaultlinks[8][1], false, mainWindow)
        guiEditSetReadOnly (edit8, true)
        defaultUseButton8 = guiCreateButton (423, 378, 40, 23, "use", false, mainWindow)
        --//--
    guiSetVisible (mainWindow, false)
   
    --Add some events
    addEvent ("speakerStuffFromServer", true)
    addEventHandler ("speakerStuffFromServer", getRootElement(), createSpeaker)
   
    addEvent ("destroySpeaker", true)
    addEventHandler ("destroySpeaker", getRootElement(), destroySpeaker)
   
    addEvent ("onPQuit", true)
    addEventHandler ("onPQuit", getRootElement(), onPlayerQuit)
   
    addEvent ("createMyLinksGUI", true)
    addEventHandler ("createMyLinksGUI", getRootElement(), createMyLinksGUI)
   
    addEvent ("onPlayerLogout", true)
    addEventHandler ("onPlayerLogout", getRootElement(), onPlayerLogout)
end
addEventHandler ("onClientResourceStart", getResourceRootElement(), startScript)
 
 
function openOrCloseGUI ()
    if guiGetVisible (mainWindow) then
        guiSetVisible (mainWindow, false)
        guiSetVisible (linkWindow, false)
        showCursor (false)
    else
        guiSetVisible (mainWindow, true)
        showCursor (true)
    end
end
addEvent("openWindow",true)
addEventHandler("openWindow",root,openOrCloseGUI)
 
 
 
function closeGUI ()
    if source == closeButton then
        guiSetVisible (mainWindow, false)
        showCursor (false)
    end
end
 
 
function createMyLinksGUI (tableoflinks)
    linkTable = tableoflinks
    guiSetEnabled (myLinksButton, true)
   
    --//Create my links window
    linkWindow = guiCreateWindow ((width/2) - (483/2), (height/2) - (375/2), 483, 375, "My links", false)
    guiWindowSetSizable (linkWindow, false)
    guiSetAlpha (linkWindow, 0.-- s8) -->
    guiSetVisible (linkWindow, false)
    saveLinksButton = guiCreateButton (428, 25, 40, 35, "Close", false, linkWindow)
    guiCreateLabel (63, 48, 100, 30, "Name", false, linkWindow)
    guiCreateLabel (260, 48, 100, 30, "Link", false, linkWindow)
   
    --Link pad 1
    linkname1 = guiCreateEdit (17, 70, 125, 23, linkTable[1]["name"], false, linkWindow)
    linkedit1 = guiCreateEdit (145, 70, 253, 23, linkTable[1]["link"], false, linkWindow)
    linkUseButton1 = guiCreateButton (428, 70, 40, 23, "use", false, linkWindow)
    removeButton1 = guiCreateButton (400.5, 70, 23, 23, "X", false, linkWindow)
   
    --Link pad 2
    linkname2 = guiCreateEdit (17, 100, 125, 23, linkTable[2]["name"], false, linkWindow)
    linkedit2 = guiCreateEdit (145, 100, 253, 23, linkTable[2]["link"], false, linkWindow)
    linkUseButton2 = guiCreateButton (428, 100, 40, 23, "use", false, linkWindow)
    removeButton2 = guiCreateButton (400.5, 100, 23, 23, "X", false, linkWindow)
   
    --Link pad 3
    linkname3 = guiCreateEdit (17, 130, 125, 23, linkTable[3]["name"], false, linkWindow)
    linkedit3 = guiCreateEdit (145, 130, 253, 23, linkTable[3]["link"], false, linkWindow)
    linkUseButton3 = guiCreateButton (428, 130, 40, 23, "use", false, linkWindow)
    removeButton3 = guiCreateButton (400.5, 130, 23, 23, "X", false, linkWindow)
   
    --Link pad 4
    linkname4 = guiCreateEdit (17, 160, 125, 23, linkTable[4]["name"], false, linkWindow)
    linkedit4 = guiCreateEdit (145, 160, 253, 23, linkTable[4]["link"], false, linkWindow)
    linkUseButton4 = guiCreateButton (428, 160, 40, 23, "use", false, linkWindow)
    removeButton4 = guiCreateButton (400.5, 160, 23, 23, "X", false, linkWindow)
   
    --Link pad 5
    linkname5 = guiCreateEdit (17, 190, 125, 23, linkTable[5]["name"], false, linkWindow)
    linkedit5 = guiCreateEdit (145, 190, 253, 23, linkTable[5]["link"], false, linkWindow)
    linkUseButton5 = guiCreateButton (428, 190, 40, 23, "use", false, linkWindow)
    removeButton5 = guiCreateButton (400.5, 190, 23, 23, "X", false, linkWindow)
   
    --Link pad 6
    linkname6 = guiCreateEdit (17, 220, 125, 23, linkTable[6]["name"], false, linkWindow)
    linkedit6 = guiCreateEdit (145, 220, 253, 23, linkTable[6]["link"], false, linkWindow)
    linkUseButton6 = guiCreateButton (428, 220, 40, 23, "use", false, linkWindow)
    removeButton6 = guiCreateButton (400.5, 220, 23, 23, "X", false, linkWindow)
   
    --Link pad 7
    linkname7 = guiCreateEdit (17, 250, 125, 23, linkTable[7]["name"], false, linkWindow)
    linkedit7 = guiCreateEdit (145, 250, 253, 23, linkTable[7]["link"], false, linkWindow)
    linkUseButton7 = guiCreateButton (428, 250, 40, 23, "use", false, linkWindow)
    removeButton7 = guiCreateButton (400.5, 250, 23, 23, "X", false, linkWindow)
   
    --Link pa d8
    linkname8 = guiCreateEdit (17, 280, 125, 23, linkTable[8]["name"], false, linkWindow)
    linkedit8 = guiCreateEdit (145, 280, 253, 23, linkTable[8]["link"], false, linkWindow)
    linkUseButton8 = guiCreateButton (428, 280, 40, 23, "use", false, linkWindow)
    removeButton8 = guiCreateButton (400.5, 280, 23, 23, "X", false, linkWindow)
   
    --Link pad 9
    linkname9 = guiCreateEdit (17, 310, 125, 23, linkTable[9]["name"], false, linkWindow)
    linkedit9 = guiCreateEdit (145, 310, 253, 23, linkTable[9]["link"], false, linkWindow)
    linkUseButton9 = guiCreateButton (428, 310, 40, 23, "use", false, linkWindow)
    removeButton9 = guiCreateButton (400.5, 310, 23, 23, "X", false, linkWindow)
   
    --Link pad 10
    linkname10 = guiCreateEdit (17, 340, 125, 23, linkTable[10]["name"], false, linkWindow)
    linkedit10 = guiCreateEdit (145, 340, 253, 23, linkTable[10]["link"], false, linkWindow)
    linkUseButton10 = guiCreateButton (428, 340, 40, 23, "use", false, linkWindow)
    removeButton10 = guiCreateButton (400.5, 340, 23, 23, "X", false, linkWindow)
end
 
 
function onMyLinksButtonClick ()
    if source == myLinksButton then
        guiSetVisible (linkWindow, true)
        guiMoveToBack (mainWindow)
    end
end
 
 
function closeLinkWindow ()
    if source == closeLinkWindowButton then
        guiSetVisible (linkWindow, false)
        reloadLinkPads ()
    end
end
 
 
function onCreateSpeakerKlick ()
    if source == createButton then
        if speakers[player] then
            outputChatBox ("You already have a speaker!", 255, 0, 0)
        else
            local guiText = guiGetText (urlEdit)
            if guiText == "" then
                outputChatBox ("You need to type radio url!", 255, 0, 0)
            else
                local distance = guiGetText (distanceEdit)
                distance = tonumber (distance)
                if type (distance) ~= "number" then
                    outputChatBox ("Distance have to be number!", 255, 0, 0)
                else
                    if distance > maxdistance then
                        outputChatBox ("Distance have to be between 1 - " .. maxdistance .. "!", 255, 0, 0)
                        return false
                    else
                        if distance < 1 then
                            outputChatBox ("Distance have to be between 1 - " .. maxdistance .. "!", 255, 0, 0)
                            return false
                        else
                            player = localPlayer
                           
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...