Jump to content

Help with SMS Menu


xXMADEXx

Recommended Posts

Posted

Hey guys, how can i make this, so that it will not send a message, if there is no text in "ed_msg"? And, how can i make it so that when they send a message, it will outputChatBox("You sent an SMS to "..who, but instead of it showing the player's id, it will show there name?

-- GUI 
local resX,resY = guiGetScreenSize() 
local width,height = 422,217 
local X = (resX/2) - (width/2) 
local Y = (resY/2) - (height/2) 
window = guiCreateWindow(X,Y,width,height,"Send A Message",false) 
guiWindowSetSizable(window,false) 
guiSetVisible(window,false) 
playerList = guiCreateGridList(10,25,403,109,false,window) 
guiGridListSetSelectionMode(playerList,2) 
column = guiGridListAddColumn(playerList,"Players",0.9) 
ed_msg = guiCreateEdit(89,138,320,38,"",false,window) 
btn_send = guiCreateButton(9,180,180,28,"Send!",false,window) 
btn_close = guiCreateButton(209,180,201,28,"Cancel",false,window) 
lbl_msg = guiCreateLabel(21,147,62,25,"Message:",false,window) 
guiSetProperty(btn_send,"HoverTextColour","ffffff000") 
guiSetProperty(btn_close,"HoverTextColour","fff000000") 
guiLabelSetColor(lbl_msg,0,255,0) 
guiSetFont(lbl_msg,"default-bold-small") 
guiEditSetMaxLength(ed_msg,80) 
  
-- Open GUI 
bindKey("h", "down", 
    function ( ) 
        guiSetVisible(window, not guiGetVisible ( window )) 
        showCursor(guiGetVisible ( window )) 
        if ( guiGetVisible ( window ) ) then 
            guiGridListClear ( playerList ) 
            if ( column ) then 
                for id, player in ipairs ( getElementsByType ( "player" ) ) do 
                    local row = guiGridListAddRow ( playerList ) 
                    local r, g, b = getPlayerNametagColor ( player ) 
                    guiGridListSetItemText ( playerList, row, column, getPlayerName ( player ), false, false ) 
                    guiGridListSetItemColor ( playerList, row, column, r, g, b ) 
                end 
            end 
        end 
    end 
) 
  
-- Close Button 
addEventHandler("onClientGUIClick",btn_close,  
    function () 
        if (source == btn_close) then 
            guiSetVisible(window, false) 
            showCursor(false,false) 
        end 
    end 
) 
  
-- Send 
function send() 
    local who = guiGridListGetSelectedItem(playerList)  
    local msg = tostring(guiGetText(ed_msg)) 
    if (source == btn_send) then 
        outputChatBox("Message sent to "..who,0,255,255) 
        if (msg == "") then 
            ouputChatBox("Error: You need to enter a message.",255,0,0) 
            cancelEvent() 
        end 
    end 
end 
addEventHandler("onClientGUIClick",btn_send,send) 
  

Posted
-- GUI 
local resX,resY = guiGetScreenSize() 
local width,height = 422,217 
local X = (resX/2) - (width/2) 
local Y = (resY/2) - (height/2) 
window = guiCreateWindow(X,Y,width,height,"Send A Message",false) 
guiWindowSetSizable(window,false) 
guiSetVisible(window,false) 
playerList = guiCreateGridList(10,25,403,109,false,window) 
guiGridListSetSelectionMode(playerList,2) 
column = guiGridListAddColumn(playerList,"Players",0.9) 
ed_msg = guiCreateEdit(89,138,320,38,"",false,window) 
btn_send = guiCreateButton(9,180,180,28,"Send!",false,window) 
btn_close = guiCreateButton(209,180,201,28,"Cancel",false,window) 
lbl_msg = guiCreateLabel(21,147,62,25,"Message:",false,window) 
guiSetProperty(btn_send,"HoverTextColour","ffffff000") 
guiSetProperty(btn_close,"HoverTextColour","fff000000") 
guiLabelSetColor(lbl_msg,0,255,0) 
guiSetFont(lbl_msg,"default-bold-small") 
guiEditSetMaxLength(ed_msg,80) 
  
-- Open GUI 
bindKey("h", "down", 
    function ( ) 
        guiSetVisible(window, not guiGetVisible ( window )) 
        showCursor(guiGetVisible ( window )) 
        if ( guiGetVisible ( window ) ) then 
            guiGridListClear ( playerList ) 
            if ( column ) then 
                for id, player in ipairs ( getElementsByType ( "player" ) ) do 
                    local row = guiGridListAddRow ( playerList ) 
                    local r, g, b = getPlayerNametagColor ( player ) 
                    guiGridListSetItemText ( playerList, row, column, getPlayerName ( player ), false, false ) 
                    guiGridListSetItemColor ( playerList, row, column, r, g, b ) 
                end 
            end 
        end 
    end 
) 
  
-- Close Button 
addEventHandler("onClientGUIClick",btn_close, 
    function () 
        if (source == btn_close) then 
            guiSetVisible(window, false) 
            showCursor(false,false) 
        end 
    end 
) 
  
-- Send 
function send() 
    local row, col = guiGridListGetSelectedItem ( playerList ) 
    if ( row and col and row ~= -1 and col ~= -1 ) then 
        local who = guiGridListGetItemText ( playerList, row, 1 ) 
        local msg = tostring(guiGetText(ed_msg)) 
        if ( msg == "" ) then 
            ouputChatBox ( "Error: You need to enter a message.",255,0,0 ) 
        else 
            outputChatBox("Message sent to "..who,0,255,255) 
        end 
    end 
end 
addEventHandler("onClientGUIClick",btn_send,send,false) 

Posted
Yes, that's right.

k, can you help me on the server side, i really dont have a clue what to do with it... This is baicly, what i got.

-- Client

    -- GUI 
    local resX,resY = guiGetScreenSize() 
    local width,height = 422,217 
    local X = (resX/2) - (width/2) 
    local Y = (resY/2) - (height/2) 
    window = guiCreateWindow(X,Y,width,height,"Send A Message",false) 
    guiWindowSetSizable(window,false) 
    guiSetVisible(window,false) 
    playerList = guiCreateGridList(10,25,403,109,false,window) 
    guiGridListSetSelectionMode(playerList,2) 
    column = guiGridListAddColumn(playerList,"Players",0.9) 
    ed_msg = guiCreateEdit(89,138,320,38,"",false,window) 
    btn_send = guiCreateButton(9,180,180,28,"Send!",false,window) 
    btn_close = guiCreateButton(209,180,201,28,"Cancel",false,window) 
    lbl_msg = guiCreateLabel(21,147,62,25,"Message:",false,window) 
    guiSetProperty(btn_send,"HoverTextColour","ffffff000") 
    guiSetProperty(btn_close,"HoverTextColour","fff000000") 
    guiLabelSetColor(lbl_msg,0,255,0) 
    guiSetFont(lbl_msg,"default-bold-small") 
    guiEditSetMaxLength(ed_msg,80) 
      
    -- Open GUI 
    bindKey("h", "down", 
        function ( ) 
            guiSetVisible(window, not guiGetVisible ( window )) 
            showCursor(guiGetVisible ( window )) 
            if ( guiGetVisible ( window ) ) then 
                guiGridListClear ( playerList ) 
                if ( column ) then 
                    for id, player in ipairs ( getElementsByType ( "player" ) ) do 
                        local row = guiGridListAddRow ( playerList ) 
                        local r, g, b = getPlayerNametagColor ( player ) 
                        guiGridListSetItemText ( playerList, row, column, getPlayerName ( player ), false, false ) 
                        guiGridListSetItemColor ( playerList, row, column, r, g, b ) 
                    end 
                end 
            end 
        end 
    ) 
      
    -- Close Button 
    addEventHandler("onClientGUIClick",btn_close, 
        function () 
            if (source == btn_close) then 
                guiSetVisible(window, false) 
                showCursor(false,false) 
            end 
        end 
    ) 
      
    -- Send 
    function send() 
        local row, col = guiGridListGetSelectedItem ( playerList ) 
        if ( row and col and row ~= -1 and col ~= -1 ) then 
            local who = guiGridListGetItemText ( playerList, row, 1 ) 
            local msg = tostring(guiGetText(ed_msg)) 
            triggerServerEvent("rog:sms:send",localplayer,localplayer) 
            if ( msg == "" ) then 
                ouputChatBox ( "Error: You need to enter a message.",255,0,0 ) 
            else 
                outputChatBox("Message sent to "..who,0,255,255) 
            end 
        end 
    end 
    addEventHandler("onClientGUIClick",btn_send,send,false) 

-- Server

function recive(player) 
 -- LOL -- 
end 
addEvent("rog:sms:send",true) 
addEventHandler("rog:sms:send",recive) 

Posted

-- client side:

-- GUI 
local resX,resY = guiGetScreenSize() 
local width,height = 422,217 
local X = (resX/2) - (width/2) 
local Y = (resY/2) - (height/2) 
window = guiCreateWindow(X,Y,width,height,"Send A Message",false) 
guiWindowSetSizable(window,false) 
guiSetVisible(window,false) 
playerList = guiCreateGridList(10,25,403,109,false,window) 
guiGridListSetSelectionMode(playerList,2) 
column = guiGridListAddColumn(playerList,"Players",0.9) 
ed_msg = guiCreateEdit(89,138,320,38,"",false,window) 
btn_send = guiCreateButton(9,180,180,28,"Send!",false,window) 
btn_close = guiCreateButton(209,180,201,28,"Cancel",false,window) 
lbl_msg = guiCreateLabel(21,147,62,25,"Message:",false,window) 
guiSetProperty(btn_send,"HoverTextColour","ffffff000") 
guiSetProperty(btn_close,"HoverTextColour","fff000000") 
guiLabelSetColor(lbl_msg,0,255,0) 
guiSetFont(lbl_msg,"default-bold-small") 
guiEditSetMaxLength(ed_msg,80) 
  
-- Open GUI 
bindKey("h", "down", 
    function ( ) 
        guiSetVisible(window, not guiGetVisible ( window )) 
        showCursor(guiGetVisible ( window )) 
        if ( guiGetVisible ( window ) ) then 
            guiGridListClear ( playerList ) 
            if ( column ) then 
                for id, player in ipairs ( getElementsByType ( "player" ) ) do 
                    local row = guiGridListAddRow ( playerList ) 
                    local r, g, b = getPlayerNametagColor ( player ) 
                    guiGridListSetItemText ( playerList, row, column, getPlayerName ( player ), false, false ) 
                    guiGridListSetItemColor ( playerList, row, column, r, g, b ) 
                end 
            end 
        end 
    end 
) 
  
-- Close Button 
addEventHandler("onClientGUIClick",btn_close, 
    function () 
        if (source == btn_close) then 
            guiSetVisible(window, false) 
            showCursor(false,false) 
        end 
    end 
) 
  
-- Send 
function send ( ) 
    local row, col = guiGridListGetSelectedItem ( playerList ) 
    if ( row and col and row ~= -1 and col ~= -1 ) then 
        local who = guiGridListGetItemText ( playerList, row, 1 ) 
        local msg = tostring ( guiGetText ( ed_msg ) ) 
        local playerWho = getPlayerFromName ( who ) 
        if ( not playerWho ) then 
            return outputChatBox ( "Player is no longer online." ) 
        end 
  
        if ( msg == "" ) then 
            ouputChatBox ( "Error: You need to enter a message.",255,0,0 ) 
        else 
            triggerServerEvent ( "rog:sms:send", localPlayer, playerWho, msg ) 
            outputChatBox ( "Message sent to ".. who, 0, 255, 255 ) 
        end 
    end 
end 
addEventHandler("onClientGUIClick",btn_send,send,false) 

-- server side:

function recive ( player, msg ) 
    outputChatBox ( "PM from: ".. getPlayerName ( source ) ..": ".. msg, player ) 
end 
addEvent ( "rog:sms:send", true ) 
addEventHandler ( "rog:sms:send", root, recive ) 

Posted

Thanks, but it didn't work :/ So i wrote the server side:

addEventHandler("rog:sms:send", 
    function (player) 
        outputChatBox ( "SMS From: ".. getPlayerName ( source) ..": ".. msg, player, 255, 255, 0 ) 
    end  
) 
addEvent("rog:sms:send",true) 

and its saying, something is wrong with the even handler.

Posted (edited)
addEventHandler("rog:sms:send", root, 
    function (player, msg) 
        outputChatBox ( "SMS From: ".. getPlayerName ( source) ..": ".. msg, player, 255, 255, 0 ) 
    end 
) 
addEvent("rog:sms:send",true) 

Edited by Guest
Posted
Thanks, but it didn't work :/ So i wrote the server side:
addEventHandler("rog:sms:send", 
    function (player) 
        outputChatBox ( "SMS From: ".. getPlayerName ( source) ..": ".. msg, player, 255, 255, 0 ) 
    end  
) 
addEvent("rog:sms:send",true) 

and its saying, something is wrong with the even handler.

Copy the server side again, you had forgot to put 'root' at addEventHandler.

Posted
Thanks, but it didn't work :/ So i wrote the server side:
addEventHandler("rog:sms:send", 
    function (player) 
        outputChatBox ( "SMS From: ".. getPlayerName ( source) ..": ".. msg, player, 255, 255, 0 ) 
    end  
) 
addEvent("rog:sms:send",true) 

and its saying, something is wrong with the even handler.

Copy the server side again, you had forgot to put 'root' at addEventHandler.

debugscript: sms\s.lua:4 attempt to concatenate global 'msg' (a nil value)

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