Jump to content

mg20023

Members
  • Posts

    6
  • Joined

  • Last visited

Details

  • Gang
    Gang

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

mg20023's Achievements

Vic

Vic (3/54)

0

Reputation

  1. It did help BUT now another error came: c_dispatch.lue:131: attempt to index global 'dispatchTable' (a nil value)
  2. I've had this problem for a long time now and I can't seem to figure it out. The error I receive is: c_dispatch.lua:84: attempt to index global 'dispatchTable' (a nil value) Help would be appreciated DispatchUI = { label = {}, edit = {}, button = {}, window = {}, gridlist = {}, combobox = {}, checkbox = {} } cooldownDispatch = false function cooldownDispatchT() cooldownDispatch = false end function dispatchGUI() -- to prevent double if isElement(DispatchUI.window[1]) then return end -- to center the gui window local screenX, screenY = guiGetScreenSize() local width = 410 local height = 299 local x = ( screenX - width ) / 2 local y = ( screenY - height ) / 2 -- to avoid using the function all the time local localPlayer = getLocalPlayer() -- multifactions won't play well with this if exports.factions:isPlayerInFaction(localPlayer, 59) and exports.factions:isPlayerInFaction(localPlayer, 1) then outputChatBox("You can only be in one law faction at a time to use /dispatch.", 255, 0, 0) return end -- so you can type freely guiSetInputMode("no_binds_when_editing") -- getting user's name local name = getPlayerName(localPlayer) local processedName = string.gsub(name, "_", " ") local isFactionLeader = exports.factions:isPlayerFactionLeader(localPlayer) -- getting the table local dispatchTable = getElementData(root, "dispatch:table") or { } -- building the gui elements DispatchUI.window[1] = guiCreateWindow(x, y, width, height, "Remote Dispatch Device - Powered by Tree Technology", false) guiWindowSetSizable(DispatchUI.window[1], false) DispatchUI.gridlist[1] = guiCreateGridList(9, 23, 392, 177, false, DispatchUI.window[1]) guiGridListAddColumn(DispatchUI.gridlist[1], "Callsign", 0.3) guiGridListAddColumn(DispatchUI.gridlist[1], "Full name", 0.3) guiGridListAddColumn(DispatchUI.gridlist[1], "Availability", 0.3) DispatchUI.label[1] = guiCreateLabel(11, 206, 40, 19, "Status:", false, DispatchUI.window[1]) DispatchUI.label[2] = guiCreateLabel(11, 234, 47, 19, "Call sign:", false, DispatchUI.window[1]) DispatchUI.label[3] = guiCreateLabel(11, 261, 61, 19, "Availability:", false, DispatchUI.window[1]) DispatchUI.button[1] = guiCreateButton(302, 206, 78, 45, "Close", false, DispatchUI.window[1]) DispatchUI.button[2] = guiCreateButton(214, 206, 78, 45, "Update", false, DispatchUI.window[1]) DispatchUI.combobox[1] = guiCreateComboBox(74, 205, 134, 100, "", false, DispatchUI.window[1]) guiComboBoxAddItem(DispatchUI.combobox[1], "On duty") guiComboBoxAddItem(DispatchUI.combobox[1], "Off duty") DispatchUI.edit[1] = guiCreateEdit(74, 230, 134, 27, "", false, DispatchUI.window[1]) DispatchUI.edit[2] = guiCreateEdit(74, 261, 134, 27, "", false, DispatchUI.window[1]) DispatchUI.checkbox[1] = guiCreateCheckBox( 239, 253, 150, 16, "Joint Operations", getElementData(root, "dispatch:"), false, DispatchUI.window[1] ) DispatchUI.label[4] = guiCreateLabel(275, 270, 47, 19, "", false, DispatchUI.window[1]) -- Setting the operations getJointOperation() if not isFactionLeader then guiSetEnabled(DispatchUI.checkbox[1], false) end -- displaying the table in gridlist if dispatchTable then for k, v in pairs(dispatchTable) do local row = guiGridListAddRow(DispatchUI.gridlist[1]) guiGridListSetItemText(DispatchUI.gridlist[1], row, 1, v["callsign"], false, false) guiGridListSetItemText(DispatchUI.gridlist[1], row, 2, k, false, false) guiGridListSetItemText(DispatchUI.gridlist[1], row, 3, v["availability"], false, false) end end end -- displaying current status for localPlayer, if any if type(dispatchTable[processedName]) == "table" then guiComboBoxSetSelected(DispatchUI.combobox[1], 0) guiSetText(DispatchUI.edit[1], dispatchTable[processedName]["callsign"]) guiSetText(DispatchUI.edit[2], dispatchTable[processedName]["availability"]) else guiComboBoxSetSelected(DispatchUI.combobox[1], 1) end -- close button addEventHandler("onClientGUIClick", DispatchUI.button[1], function () if isElement(DispatchUI.window[1]) then destroyElement(DispatchUI.window[1]) guiSetInputMode("allow_binds") end end, false) -- Joint addEventHandler("onClientGUIClick", DispatchUI.checkbox[1], function() if isFactionLeader then if guiCheckBoxGetSelected( DispatchUI.checkbox[1] ) then setElementData(root, "dispatch:", true) if (not getElementData(root, "dispatch:joint")) and getElementData(root, "dispatch:1") and getElementData(root, "dispatch:59") then setElementData(root, "dispatch:joint", true) end else setElementData(root, "dispatch:", false) if getElementData(root, "dispatch:joint") then setElementData(root, "dispatch:joint", false) end end getJointOperation() end end, false) -- update button addEventHandler("onClientGUIClick", DispatchUI.button[2]) if cooldownDispatch then outputChatBox("Please wait!", 255, 0 ,0) return end local status = guiGetText( DispatchUI.combobox[1] ) if status == "Off duty" then if dispatchTable[processedName] then dispatchTable[processedName] = nil setElementData(getLocalPlayer(), "dispatch:onDuty", false) setElementData(root, "dispatch:table", dispatchTable) end else if not dispatchTable[processedName] then dispatchTable[processedName] = { } end dispatchTable[processedName]["callsign"] = string.upper(guiGetText(DispatchUI.edit[1])) dispatchTable[processedName]["availability"] = guiGetText(DispatchUI.edit[2]) if not getElementData(getLocalPlayer(), "dispatch:onDuty") then setElementData(getLocalPlayer(), "dispatch:onDuty", true) end setElementData( getLocalPlayer(), "dispatch:callsign", string.upper(guiGetText(DispatchUI.edit[1])), true) setElementData(root, "dispatch:table", dispatchTable) end if not isTimer(cooldownDispatchTimer) then cooldownDispatchTimer = setTimer(cooldownDispatchT, 3000, 1) cooldownDispatch = true end refreshClientGUI() function getJointOperation() if getElementData(root, "dispatch:joint") then guiSetText(DispatchUI.label[4], "Enabled") guiLabelSetColor( DispatchUI.label[4], 0, 255, 0 ) elseif getElementData(root, "dispatch:1") or getElementData(root, "dispatch:59") then guiSetText(DispatchUI.label[4], "Pending") guiLabelSetColor( DispatchUI.label[4], 255, 255, 0 ) else guiSetText(DispatchUI.label[4], "Disabled") guiLabelSetColor( DispatchUI.label[4], 255, 0, 0 ) end end function canUseDispatch() if exports.global:hasItem(localPlayer, 177) and (exports.factions:isPlayerInFaction(localPlayer, 59) or exports.factions:isPlayerInFaction(localPlayer, 1)) then dispatchGUI() else outputChatBox("Dispatching through thin air does not seem to work well...", 255, 0, 0) end end addCommandHandler("dispatch", canUseDispatch) function refreshClientGUI() if isElement(DispatchUI.window[1]) then destroyElement(DispatchUI.window[1]) dispatchGUI() end end -- so it refreshes for all clients using it addEventHandler("onClientElementDataChange", root, function (dataName) if dataName == "dispatch:table" then refreshClientGUI() end end ) -- so it removes you from the list if you change character also blip stuff addEventHandler("onClientPlayerChangeNick", getLocalPlayer(), function (oldNick) local dispatchTable = getElementData(root, "dispatch:table") or { } local processedName = string.gsub(oldNick, "_", " ") if dispatchTable[processedName] then dispatchTable[processedName] = nil setElementData(root, "dispatch:table", dispatchTable) refreshClientGUI() end end) -- so it removes you from the list if you leave the server function removeFromDispatch(source) local dispatchTable = getElementData(root, "dispatch:table") or { } local processedName = string.gsub(getPlayerName(source), "_", " ") if dispatchTable[processedName] then dispatchTable[processedName] = nil setElementData(root, "dispatch:table", dispatchTable) refreshClientGUI() end end local dispatchBlips = {} local allowedFactions = { [1] = true, [59] = true } function isInAllowedFactions(element) for k,v in pairs(allowedFactions) do if exports.factions:isPlayerInFaction(element, k) then return true end end end function isSameFaction(thePlayer) if getElementType(thePlayer) == "player" then for key,value in pairs(getElementData(thePlayer, "faction")) do for k,v in pairs(getElementData(getLocalPlayer(), "faction")) do if key == k then return true end end end return getElementData(root, "dispatch:joint") else return getElementData(thePlayer, "faction") == getElementData(getLocalPlayer(), "faction") or getElementData(root, "dispatch:joint") end end function getCallSign(element) if getElementType(element) == "player" then callSign = getElementData(element, "dispatch:callsign") or "" if callSign == "" then for a, b in ipairs(split(getPlayerName(element):gsub("_"," "), ' ')) do if tonumber(a) == 1 then callSign = callSign .. b:sub( 1, 1) .. ". " else callSign = callSign .. b:sub( 1, #b) end end end elseif getElementType(element) == "vehicle" then callSign = ""
  3. If somebody knows the Roleplay server called OWL Gaming then you had to fill in an application to join. Do you know the script that is used there? I dont know how to make it. If you dont know the server it is a system that you need to fill in an application to join the server. When you answered all question it will be send to all staff members and they can accept or deny it.
  4. It worked Thanks for helping Close topic please.
  5. Is there a MTA server hosting that supports PaySafeCard? I can't find one.
  6. Hello all. I created some lines in the login file that is playing sound when you login. How can i make it so when the player logged in the music stops? Here is the CLIENT SIDE script: addEventHandler("accounts:login:request", getRootElement(), function () setElementDimension ( getLocalPlayer(), 1 ) setElementInterior( getLocalPlayer(), 0 ) setCameraMatrix( -422.671875, 1033.791015625, 78.619026184082, -289.427734375, 1110.6357421875, 24.005138397217) setCloudsEnabled(false) fadeCamera(true) guiSetInputEnabled(true) clearChat() LoginScreen_openLoginScreen() local sound = playSound ( "http://localhost/files/sounds/roleplay/gtav.mp3", true ) -- Convidence setSoundVolume(sound, 0.3) setSoundMaxDistance(sound, 100) setElementDimension(sound, 1) setElementInterior(sound, 0) -- Old end );
×
×
  • Create New...