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) 

San Andreas Utopia RPG (SAUR) Owner & Developer.

560x95_FFFFFF_FF9900_000000_000000.png

Education is the most powerful weapon which you can use to change the world.

Posted

Yes, that's right.

San Andreas Utopia RPG (SAUR) Owner & Developer.

560x95_FFFFFF_FF9900_000000_000000.png

Education is the most powerful weapon which you can use to change the world.

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 ) 

San Andreas Utopia RPG (SAUR) Owner & Developer.

560x95_FFFFFF_FF9900_000000_000000.png

Education is the most powerful weapon which you can use to change the world.

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

Looking for tutorials or information? check out: www.simpleask.co.uk

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.

San Andreas Utopia RPG (SAUR) Owner & Developer.

560x95_FFFFFF_FF9900_000000_000000.png

Education is the most powerful weapon which you can use to change the world.

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)

Posted

Mine works here.

San Andreas Utopia RPG (SAUR) Owner & Developer.

560x95_FFFFFF_FF9900_000000_000000.png

Education is the most powerful weapon which you can use to change the world.

Posted
Mine works here.

hum... weird.

You are obviously using manve's, since he forgot to define 'msg'.

San Andreas Utopia RPG (SAUR) Owner & Developer.

560x95_FFFFFF_FF9900_000000_000000.png

Education is the most powerful weapon which you can use to change the world.

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