Jump to content

Spawn Menu Help!


killeryoyo

Recommended Posts

Hello guys,

when i was scripting a spawn menu for my new Server.

I had a problem in it.

Everytime i login it doesn't show, but when i die it shows.

When i tried to change the coding. it shows when i login but after i spawn the Spawn menu doesn't go idk what is the problem with it. Can you help me please?

Here is the coding in the client.

function drawSpawnScreen() 
    spawnWindow = guiCreateWindow(350,150,800,528, "Spawn Screen", false) 
       ----- Old pos 239,198,376,478  ----   
    infoMemo = guiCreateMemo(198,357,355,160,"",false, spawnWindow) 
    guiMemoSetReadOnly(infoMemo, true) 
    cityGridList = guiCreateGridList(60,40,171,269, false, spawnWindow) 
    guiGridListSetSelectionMode(cityGridList, 2) 
    guiGridListAddColumn(cityGridList, "City", 0.82) 
    classGridList = guiCreateGridList(250,40,171,269, false, spawnWindow) 
    guiGridListSetSelectionMode(classGridList, 2) 
    guiGridListAddColumn(classGridList, "Class", 0.82) 
    skinGridList = guiCreateGridList(450,40,171,269, false, spawnWindow) 
    guiGridListSetSelectionMode(skinGridList, 2) 
    guiGridListAddColumn(skinGridList, "Skin", 0.82) 
    guiWindowSetMovable(spawnWindow, true) 
    guiWindowSetSizable(spawnWindow, false) 
    spawnScreenOKButton = guiCreateButton(624,321,210,36, "Spawn", false, spawnWindow) 
    Image = guiCreateStaticImage(60,390,128,63,"logo.png",false,spawnWindow) 
    guiSetProperty(spawnScreenOKButton, "Disabled", "True") 
         
  
    for n, v in pairs(cities) do 
        local row = guiGridListAddRow(cityGridList) 
        guiGridListSetItemText(cityGridList, row, 1, n, false, false) 
    end 
    setTimer (drawSpawnScreen, 2500) 
  
  
    guiSetVisible(spawnWindow, false) 
    addEventHandler("onClientGUIClick", cityGridList, onCityClick) 
    addEventHandler("onClientGUIClick", classGridList, onClassClick) 
    addEventHandler("onClientGUIClick", skinGridList, onSkinClick) 
    addEventHandler("onClientGUIClick", spawnScreenOKButton, onSpawnButtonClick) 
    fadeCamera(true) 
    guiSetVisible(spawnWindow, true) 
    guiGridListSetSelectedItem(skinGridList, -1, 0) 
    showCursor(true) 
    showPlayerHudComponent ("all",false) 
end 
  
function onCityClick(button) 
    if source == cityGridList and button == "left" then 
        if guiGridListGetSelectedCount(cityGridList) > 0 then 
            guiGridListClear(classGridList) 
            local selectedRow, selectedCol = guiGridListGetSelectedItem( cityGridList ); -- get double clicked item in the gridlist 
            local cityName = guiGridListGetItemText( cityGridList, selectedRow, selectedCol ) -- get its text 
            local cityClasses = cities[cityName] 
            for x, y in pairs(cityClasses) do 
                local row = guiGridListAddRow(classGridList) 
                guiGridListSetItemText(classGridList, row, 1, x, false, false) 
            end 
            guiSetProperty(spawnScreenOKButton, "Disabled", "True") 
        end 
    end 
end 
  
function onClassClick(button) 
    if source == classGridList and button == "left" then 
        if guiGridListGetSelectedCount(cityGridList) > 0 and guiGridListGetSelectedCount(classGridList) > 0 then 
            guiGridListClear(skinGridList) 
  
            local selectedRow, selectedCol = guiGridListGetSelectedItem( cityGridList ); -- get double clicked item in the gridlist 
            local cityName = guiGridListGetItemText( cityGridList, selectedRow, selectedCol ) -- get its text 
  
            local selectedRow, selectedCol = guiGridListGetSelectedItem( classGridList ); -- get double clicked item in the gridlist 
            local className = guiGridListGetItemText( classGridList, selectedRow, selectedCol ) -- get its text 
  
            local classSkins = cities[cityName][className] 
            for x, y in pairs(classSkins) do 
                local row = guiGridListAddRow(skinGridList) 
  
                guiGridListSetItemText(skinGridList, row, 1, x, false, false) 
            end 
            guiSetProperty(spawnScreenOKButton, "Disabled", "True") 
        end 
    end 
end 
  
function onSkinClick(button) 
    if source == skinGridList and button == "left" then 
        if guiGridListGetSelectedCount(cityGridList) > 0 and guiGridListGetSelectedCount(classGridList) > 0 and guiGridListGetSelectedCount( skinGridList ) > 0 then 
            local selectedRow, selectedCol = guiGridListGetSelectedItem( cityGridList ); -- get double clicked item in the gridlist 
            local cityName = guiGridListGetItemText( cityGridList, selectedRow, selectedCol ) -- get its text 
  
            local selectedRow, selectedCol = guiGridListGetSelectedItem( classGridList ); -- get double clicked item in the gridlist 
            local className = guiGridListGetItemText( classGridList, selectedRow, selectedCol ) -- get its text 
  
            local selectedRow, selectedCol = guiGridListGetSelectedItem( skinGridList ); -- get double clicked item in the gridlist 
            local skinName = guiGridListGetItemText( skinGridList, selectedRow, selectedCol ) -- get its text 
  
            guiSetProperty(spawnScreenOKButton, "Disabled", "False") 
            guiSetText(infoMemo, cities[cityName][className][skinName]["information"]) 
        end 
    end 
end 
  
  
function onSpawnButtonClick(button) 
    if source == spawnScreenOKButton and button == "left" then 
        if guiGridListGetSelectedCount( cityGridList ) > 0 and guiGridListGetSelectedCount( classGridList ) > 0 and guiGridListGetSelectedCount( skinGridList ) > 0 then 
            local selectedRow, selectedCol = guiGridListGetSelectedItem( cityGridList ); -- get double clicked item in the gridlist 
            local cityName = guiGridListGetItemText( cityGridList, selectedRow, selectedCol ) -- get its text 
  
            local selectedRow, selectedCol = guiGridListGetSelectedItem( classGridList ); -- get double clicked item in the gridlist 
            local className = guiGridListGetItemText( classGridList, selectedRow, selectedCol ) -- get its text 
             
            local selectedRow, selectedCol = guiGridListGetSelectedItem( skinGridList ); -- get double clicked item in the gridlist 
            local skinName = guiGridListGetItemText( skinGridList, selectedRow, selectedCol ) -- get its text 
  
            local spawninfo = cities[cityName][className][skinName] 
            setElementData ( client, "Class", skinName ) 
            triggerServerEvent("onPlayerSpawnButton", getLocalPlayer(), spawninfo["spawnX"] , spawninfo["spawnY"], spawninfo["spawnZ"], className, spawninfo['permission'], spawninfo['skin'],spawninfo['weapons'], getLocalPlayer(), skinName) 
        else 
            displayError("Please make a selection!") 
        end 
    end 
end 
  
  
function hideSpawnScreen() 
    if spawnWindow then 
        guiSetVisible(spawnWindow, false) 
        showCursor(false) 
        if errorWindow then 
            guiSetVisible(errorWindow, false) 
        end 
        guiSetText(infoMemo, "") 
        currentSpawn = false 
        currentWeapons = false 
        currentColors = {} 
        currentLocation = {} 
    end 
    showPlayerHudComponent ("all",true) 
end 
  
addEvent("onSpawnSuccessful", true) 
addEventHandler("onSpawnSuccessful", getRootElement(), hideSpawnScreen()()) 
  
function createMessageBox() 
    errorWindow = guiCreateWindow(resX / 2 - 150, resY / 2 - 100, 300, 200, "OPS ERROR!!", false) 
    errorLabel = guiCreateMemo(5, 25, 295, 125, "", false, errorWindow) 
    guiMemoSetReadOnly(errorLabel, true) 
    errorWindowButton = guiCreateButton(110, 160, 80, 25, "OK", false, errorWindow) 
    guiWindowSetMovable(errorWindow, false) 
    guiWindowSetSizable(errorWindow, false) 
    guiSetVisible(errorWindow, false) 
    addEventHandler("onClientGUIClick", errorWindowButton, function() 
    guiSetVisible(errorWindow, false) 
    guiSetProperty(errorWindow, "AlwaysOnTop", "False") 
    end, false) 
end 
  
function displayError(error) 
    if not errorWindow then 
        createMessageBox() 
    end 
    guiSetText(errorLabel, error) 
    guiSetProperty(errorWindow, "AlwaysOnTop", "True") 
    guiSetVisible(errorWindow, true) 
end 
  
addEvent("onSpawnError", true) 
addEventHandler("onSpawnError", getRootElement(), displayError) 
  
  
addCommandHandler( "spawnerror",displayError) 
  
function checkPlayerAlive() 
    triggerServerEvent("wasPlayerAliveEvent", getLocalPlayer()) 
end 
  
  
addEvent("onPlayerLogin", true) 
addEventHandler("onPlayerLogin", getRootElement(), drawSpawnScreen()) 
addEventHandler("onClientPlayerLogin", getLocalPlayer(), drawSpawnScreen()) 
addEventHandler("onClientPlayerWasted", getLocalPlayer(), drawSpawnScreen) 
addEvent("onPlayerWasntAlive", true) 
addEventHandler("onPlayerWasntAlive", getRootElement(), drawSpawnScreen) 
  
function stopMinigunDamage ( attacker, weapon, bodypart ) 
    if ( getTeamName(getPlayerTeam(source)) == "Admin" ) then 
        if ( getTeamName(getPlayerTeam(attacker)) ~= "Admin" ) then 
            cancelEvent() 
        end 
    end 
end 
addEventHandler ( "onClientPlayerDamage", getLocalPlayer(), stopMinigunDamage ) 

i will really appreciate the help thank you ^^.

Link to comment

Wanted to see your Server-side too but try this..

  
function drawSpawnScreen() 
    spawnWindow = guiCreateWindow(350,150,800,528, "Spawn Screen", false) 
       ----- Old pos 239,198,376,478  ----   
    infoMemo = guiCreateMemo(198,357,355,160,"",false, spawnWindow) 
    guiMemoSetReadOnly(infoMemo, true) 
    cityGridList = guiCreateGridList(60,40,171,269, false, spawnWindow) 
    guiGridListSetSelectionMode(cityGridList, 2) 
    guiGridListAddColumn(cityGridList, "City", 0.82) 
    classGridList = guiCreateGridList(250,40,171,269, false, spawnWindow) 
    guiGridListSetSelectionMode(classGridList, 2) 
    guiGridListAddColumn(classGridList, "Class", 0.82) 
    skinGridList = guiCreateGridList(450,40,171,269, false, spawnWindow) 
    guiGridListSetSelectionMode(skinGridList, 2) 
    guiGridListAddColumn(skinGridList, "Skin", 0.82) 
    guiWindowSetMovable(spawnWindow, true) 
    guiWindowSetSizable(spawnWindow, false) 
    spawnScreenOKButton = guiCreateButton(624,321,210,36, "Spawn", false, spawnWindow) 
    Image = guiCreateStaticImage(60,390,128,63,"logo.png",false,spawnWindow) 
    guiSetProperty(spawnScreenOKButton, "Disabled", "True") 
        
  
    for n, v in pairs(cities) do 
        local row = guiGridListAddRow(cityGridList) 
        guiGridListSetItemText(cityGridList, row, 1, n, false, false) 
    end 
    setTimer (drawSpawnScreen, 2500) 
  
  
    guiSetVisible(spawnWindow, false) 
    addEventHandler("onClientGUIClick", cityGridList, onCityClick) 
    addEventHandler("onClientGUIClick", classGridList, onClassClick) 
    addEventHandler("onClientGUIClick", skinGridList, onSkinClick) 
    addEventHandler("onClientGUIClick", spawnScreenOKButton, onSpawnButtonClick) 
    fadeCamera(true) 
    guiSetVisible(spawnWindow, true) 
    guiGridListSetSelectedItem(skinGridList, -1, 0) 
    showCursor(true) 
    showPlayerHudComponent ("all",false) 
end 
addEventHandler("onClientResourceStart", getRootElement(), drawSpawnScreen) 
  
function onCityClick(button) 
    if source == cityGridList and button == "left" then 
        if guiGridListGetSelectedCount(cityGridList) > 0 then 
            guiGridListClear(classGridList) 
            local selectedRow, selectedCol = guiGridListGetSelectedItem( cityGridList ); -- get double clicked item in the gridlist 
            local cityName = guiGridListGetItemText( cityGridList, selectedRow, selectedCol ) -- get its text 
            local cityClasses = cities[cityName] 
            for x, y in pairs(cityClasses) do 
                local row = guiGridListAddRow(classGridList) 
                guiGridListSetItemText(classGridList, row, 1, x, false, false) 
            end 
            guiSetProperty(spawnScreenOKButton, "Disabled", "True") 
        end 
    end 
end 
  
function onClassClick(button) 
    if source == classGridList and button == "left" then 
        if guiGridListGetSelectedCount(cityGridList) > 0 and guiGridListGetSelectedCount(classGridList) > 0 then 
            guiGridListClear(skinGridList) 
  
            local selectedRow, selectedCol = guiGridListGetSelectedItem( cityGridList ); -- get double clicked item in the gridlist 
            local cityName = guiGridListGetItemText( cityGridList, selectedRow, selectedCol ) -- get its text 
  
            local selectedRow, selectedCol = guiGridListGetSelectedItem( classGridList ); -- get double clicked item in the gridlist 
            local className = guiGridListGetItemText( classGridList, selectedRow, selectedCol ) -- get its text 
  
            local classSkins = cities[cityName][className] 
            for x, y in pairs(classSkins) do 
                local row = guiGridListAddRow(skinGridList) 
  
                guiGridListSetItemText(skinGridList, row, 1, x, false, false) 
            end 
            guiSetProperty(spawnScreenOKButton, "Disabled", "True") 
        end 
    end 
end 
  
function onSkinClick(button) 
    if source == skinGridList and button == "left" then 
        if guiGridListGetSelectedCount(cityGridList) > 0 and guiGridListGetSelectedCount(classGridList) > 0 and guiGridListGetSelectedCount( skinGridList ) > 0 then 
            local selectedRow, selectedCol = guiGridListGetSelectedItem( cityGridList ); -- get double clicked item in the gridlist 
            local cityName = guiGridListGetItemText( cityGridList, selectedRow, selectedCol ) -- get its text 
  
            local selectedRow, selectedCol = guiGridListGetSelectedItem( classGridList ); -- get double clicked item in the gridlist 
            local className = guiGridListGetItemText( classGridList, selectedRow, selectedCol ) -- get its text 
  
            local selectedRow, selectedCol = guiGridListGetSelectedItem( skinGridList ); -- get double clicked item in the gridlist 
            local skinName = guiGridListGetItemText( skinGridList, selectedRow, selectedCol ) -- get its text 
  
            guiSetProperty(spawnScreenOKButton, "Disabled", "False") 
            guiSetText(infoMemo, cities[cityName][className][skinName]["information"]) 
        end 
    end 
end 
  
  
function onSpawnButtonClick(button) 
    if source == spawnScreenOKButton and button == "left" then 
        if guiGridListGetSelectedCount( cityGridList ) > 0 and guiGridListGetSelectedCount( classGridList ) > 0 and guiGridListGetSelectedCount( skinGridList ) > 0 then 
            local selectedRow, selectedCol = guiGridListGetSelectedItem( cityGridList ); -- get double clicked item in the gridlist 
            local cityName = guiGridListGetItemText( cityGridList, selectedRow, selectedCol ) -- get its text 
  
            local selectedRow, selectedCol = guiGridListGetSelectedItem( classGridList ); -- get double clicked item in the gridlist 
            local className = guiGridListGetItemText( classGridList, selectedRow, selectedCol ) -- get its text 
            
            local selectedRow, selectedCol = guiGridListGetSelectedItem( skinGridList ); -- get double clicked item in the gridlist 
            local skinName = guiGridListGetItemText( skinGridList, selectedRow, selectedCol ) -- get its text 
  
            local spawninfo = cities[cityName][className][skinName] 
            setElementData ( client, "Class", skinName ) 
            triggerServerEvent("onPlayerSpawnButton", getLocalPlayer(), spawninfo["spawnX"] , spawninfo["spawnY"], spawninfo["spawnZ"], className, spawninfo['permission'], spawninfo['skin'],spawninfo['weapons'], getLocalPlayer(), skinName) 
        else 
            displayError("Please make a selection!") 
        end 
    end 
end 
  
  
function hideSpawnScreen() 
    if spawnWindow then 
        guiSetVisible(spawnWindow, false) 
        showCursor(false) 
        if errorWindow then 
            guiSetVisible(errorWindow, false) 
        end 
        guiSetText(infoMemo, "") 
        currentSpawn = false 
        currentWeapons = false 
        currentColors = {} 
        currentLocation = {} 
    end 
    showPlayerHudComponent ("all",true) 
end 
  
addEvent("onSpawnSuccessful", true) 
addEventHandler("onSpawnSuccessful", getRootElement(), hideSpawnScreen()()) 
  
function createMessageBox() 
    errorWindow = guiCreateWindow(resX / 2 - 150, resY / 2 - 100, 300, 200, "OPS ERROR!!", false) 
    errorLabel = guiCreateMemo(5, 25, 295, 125, "", false, errorWindow) 
    guiMemoSetReadOnly(errorLabel, true) 
    errorWindowButton = guiCreateButton(110, 160, 80, 25, "OK", false, errorWindow) 
    guiWindowSetMovable(errorWindow, false) 
    guiWindowSetSizable(errorWindow, false) 
    guiSetVisible(errorWindow, false) 
    addEventHandler("onClientGUIClick", errorWindowButton, function() 
    guiSetVisible(errorWindow, false) 
    guiSetProperty(errorWindow, "AlwaysOnTop", "False") 
    end, false) 
end 
  
function displayError(error) 
    if not errorWindow then 
        createMessageBox() 
    end 
    guiSetText(errorLabel, error) 
    guiSetProperty(errorWindow, "AlwaysOnTop", "True") 
    guiSetVisible(errorWindow, true) 
end 
  
addEvent("onSpawnError", true) 
addEventHandler("onSpawnError", getRootElement(), displayError) 
  
  
addCommandHandler( "spawnerror",displayError) 
  
function checkPlayerAlive() 
    triggerServerEvent("wasPlayerAliveEvent", getLocalPlayer()) 
end 
  
  
addEvent("onPlayerLogin", true) 
addEventHandler("onPlayerLogin", getRootElement(), drawSpawnScreen) 
addEventHandler("onClientPlayerLogin", getLocalPlayer(), drawSpawnScreen) 
addEventHandler("onClientPlayerWasted", getLocalPlayer(), drawSpawnScreen) 
addEvent("onPlayerWasntAlive", true) 
addEventHandler("onPlayerWasntAlive", getRootElement(), drawSpawnScreen) 
  
function stopMinigunDamage ( attacker, weapon, bodypart ) 
    if ( getTeamName(getPlayerTeam(source)) == "Admin" ) then 
        if ( getTeamName(getPlayerTeam(attacker)) ~= "Admin" ) then 
            cancelEvent() 
        end 
    end 
end 
addEventHandler ( "onClientPlayerDamage", getLocalPlayer(), stopMinigunDamage ) 
  

Link to comment
Wanted to see your Server-side too but try this..

  
function drawSpawnScreen() 
    spawnWindow = guiCreateWindow(350,150,800,528, "Spawn Screen", false) 
       ----- Old pos 239,198,376,478  ----   
    infoMemo = guiCreateMemo(198,357,355,160,"",false, spawnWindow) 
    guiMemoSetReadOnly(infoMemo, true) 
    cityGridList = guiCreateGridList(60,40,171,269, false, spawnWindow) 
    guiGridListSetSelectionMode(cityGridList, 2) 
    guiGridListAddColumn(cityGridList, "City", 0.82) 
    classGridList = guiCreateGridList(250,40,171,269, false, spawnWindow) 
    guiGridListSetSelectionMode(classGridList, 2) 
    guiGridListAddColumn(classGridList, "Class", 0.82) 
    skinGridList = guiCreateGridList(450,40,171,269, false, spawnWindow) 
    guiGridListSetSelectionMode(skinGridList, 2) 
    guiGridListAddColumn(skinGridList, "Skin", 0.82) 
    guiWindowSetMovable(spawnWindow, true) 
    guiWindowSetSizable(spawnWindow, false) 
    spawnScreenOKButton = guiCreateButton(624,321,210,36, "Spawn", false, spawnWindow) 
    Image = guiCreateStaticImage(60,390,128,63,"logo.png",false,spawnWindow) 
    guiSetProperty(spawnScreenOKButton, "Disabled", "True") 
        
  
    for n, v in pairs(cities) do 
        local row = guiGridListAddRow(cityGridList) 
        guiGridListSetItemText(cityGridList, row, 1, n, false, false) 
    end 
    setTimer (drawSpawnScreen, 2500) 
  
  
    guiSetVisible(spawnWindow, false) 
    addEventHandler("onClientGUIClick", cityGridList, onCityClick) 
    addEventHandler("onClientGUIClick", classGridList, onClassClick) 
    addEventHandler("onClientGUIClick", skinGridList, onSkinClick) 
    addEventHandler("onClientGUIClick", spawnScreenOKButton, onSpawnButtonClick) 
    fadeCamera(true) 
    guiSetVisible(spawnWindow, true) 
    guiGridListSetSelectedItem(skinGridList, -1, 0) 
    showCursor(true) 
    showPlayerHudComponent ("all",false) 
end 
addEventHandler("onClientResourceStart", getRootElement(), drawSpawnScreen) 
  
function onCityClick(button) 
    if source == cityGridList and button == "left" then 
        if guiGridListGetSelectedCount(cityGridList) > 0 then 
            guiGridListClear(classGridList) 
            local selectedRow, selectedCol = guiGridListGetSelectedItem( cityGridList ); -- get double clicked item in the gridlist 
            local cityName = guiGridListGetItemText( cityGridList, selectedRow, selectedCol ) -- get its text 
            local cityClasses = cities[cityName] 
            for x, y in pairs(cityClasses) do 
                local row = guiGridListAddRow(classGridList) 
                guiGridListSetItemText(classGridList, row, 1, x, false, false) 
            end 
            guiSetProperty(spawnScreenOKButton, "Disabled", "True") 
        end 
    end 
end 
  
function onClassClick(button) 
    if source == classGridList and button == "left" then 
        if guiGridListGetSelectedCount(cityGridList) > 0 and guiGridListGetSelectedCount(classGridList) > 0 then 
            guiGridListClear(skinGridList) 
  
            local selectedRow, selectedCol = guiGridListGetSelectedItem( cityGridList ); -- get double clicked item in the gridlist 
            local cityName = guiGridListGetItemText( cityGridList, selectedRow, selectedCol ) -- get its text 
  
            local selectedRow, selectedCol = guiGridListGetSelectedItem( classGridList ); -- get double clicked item in the gridlist 
            local className = guiGridListGetItemText( classGridList, selectedRow, selectedCol ) -- get its text 
  
            local classSkins = cities[cityName][className] 
            for x, y in pairs(classSkins) do 
                local row = guiGridListAddRow(skinGridList) 
  
                guiGridListSetItemText(skinGridList, row, 1, x, false, false) 
            end 
            guiSetProperty(spawnScreenOKButton, "Disabled", "True") 
        end 
    end 
end 
  
function onSkinClick(button) 
    if source == skinGridList and button == "left" then 
        if guiGridListGetSelectedCount(cityGridList) > 0 and guiGridListGetSelectedCount(classGridList) > 0 and guiGridListGetSelectedCount( skinGridList ) > 0 then 
            local selectedRow, selectedCol = guiGridListGetSelectedItem( cityGridList ); -- get double clicked item in the gridlist 
            local cityName = guiGridListGetItemText( cityGridList, selectedRow, selectedCol ) -- get its text 
  
            local selectedRow, selectedCol = guiGridListGetSelectedItem( classGridList ); -- get double clicked item in the gridlist 
            local className = guiGridListGetItemText( classGridList, selectedRow, selectedCol ) -- get its text 
  
            local selectedRow, selectedCol = guiGridListGetSelectedItem( skinGridList ); -- get double clicked item in the gridlist 
            local skinName = guiGridListGetItemText( skinGridList, selectedRow, selectedCol ) -- get its text 
  
            guiSetProperty(spawnScreenOKButton, "Disabled", "False") 
            guiSetText(infoMemo, cities[cityName][className][skinName]["information"]) 
        end 
    end 
end 
  
  
function onSpawnButtonClick(button) 
    if source == spawnScreenOKButton and button == "left" then 
        if guiGridListGetSelectedCount( cityGridList ) > 0 and guiGridListGetSelectedCount( classGridList ) > 0 and guiGridListGetSelectedCount( skinGridList ) > 0 then 
            local selectedRow, selectedCol = guiGridListGetSelectedItem( cityGridList ); -- get double clicked item in the gridlist 
            local cityName = guiGridListGetItemText( cityGridList, selectedRow, selectedCol ) -- get its text 
  
            local selectedRow, selectedCol = guiGridListGetSelectedItem( classGridList ); -- get double clicked item in the gridlist 
            local className = guiGridListGetItemText( classGridList, selectedRow, selectedCol ) -- get its text 
            
            local selectedRow, selectedCol = guiGridListGetSelectedItem( skinGridList ); -- get double clicked item in the gridlist 
            local skinName = guiGridListGetItemText( skinGridList, selectedRow, selectedCol ) -- get its text 
  
            local spawninfo = cities[cityName][className][skinName] 
            setElementData ( client, "Class", skinName ) 
            triggerServerEvent("onPlayerSpawnButton", getLocalPlayer(), spawninfo["spawnX"] , spawninfo["spawnY"], spawninfo["spawnZ"], className, spawninfo['permission'], spawninfo['skin'],spawninfo['weapons'], getLocalPlayer(), skinName) 
        else 
            displayError("Please make a selection!") 
        end 
    end 
end 
  
  
function hideSpawnScreen() 
    if spawnWindow then 
        guiSetVisible(spawnWindow, false) 
        showCursor(false) 
        if errorWindow then 
            guiSetVisible(errorWindow, false) 
        end 
        guiSetText(infoMemo, "") 
        currentSpawn = false 
        currentWeapons = false 
        currentColors = {} 
        currentLocation = {} 
    end 
    showPlayerHudComponent ("all",true) 
end 
  
addEvent("onSpawnSuccessful", true) 
addEventHandler("onSpawnSuccessful", getRootElement(), hideSpawnScreen()()) 
  
function createMessageBox() 
    errorWindow = guiCreateWindow(resX / 2 - 150, resY / 2 - 100, 300, 200, "OPS ERROR!!", false) 
    errorLabel = guiCreateMemo(5, 25, 295, 125, "", false, errorWindow) 
    guiMemoSetReadOnly(errorLabel, true) 
    errorWindowButton = guiCreateButton(110, 160, 80, 25, "OK", false, errorWindow) 
    guiWindowSetMovable(errorWindow, false) 
    guiWindowSetSizable(errorWindow, false) 
    guiSetVisible(errorWindow, false) 
    addEventHandler("onClientGUIClick", errorWindowButton, function() 
    guiSetVisible(errorWindow, false) 
    guiSetProperty(errorWindow, "AlwaysOnTop", "False") 
    end, false) 
end 
  
function displayError(error) 
    if not errorWindow then 
        createMessageBox() 
    end 
    guiSetText(errorLabel, error) 
    guiSetProperty(errorWindow, "AlwaysOnTop", "True") 
    guiSetVisible(errorWindow, true) 
end 
  
addEvent("onSpawnError", true) 
addEventHandler("onSpawnError", getRootElement(), displayError) 
  
  
addCommandHandler( "spawnerror",displayError) 
  
function checkPlayerAlive() 
    triggerServerEvent("wasPlayerAliveEvent", getLocalPlayer()) 
end 
  
  
addEvent("onPlayerLogin", true) 
addEventHandler("onPlayerLogin", getRootElement(), drawSpawnScreen) 
addEventHandler("onClientPlayerLogin", getLocalPlayer(), drawSpawnScreen) 
addEventHandler("onClientPlayerWasted", getLocalPlayer(), drawSpawnScreen) 
addEvent("onPlayerWasntAlive", true) 
addEventHandler("onPlayerWasntAlive", getRootElement(), drawSpawnScreen) 
  
function stopMinigunDamage ( attacker, weapon, bodypart ) 
    if ( getTeamName(getPlayerTeam(source)) == "Admin" ) then 
        if ( getTeamName(getPlayerTeam(attacker)) ~= "Admin" ) then 
            cancelEvent() 
        end 
    end 
end 
addEventHandler ( "onClientPlayerDamage", getLocalPlayer(), stopMinigunDamage ) 
  

didnt work :( please anyone could help? i will post the server side.

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...