#DeltaSCR Posted May 29, 2019 Posted May 29, 2019 Olá, estou desenvolvendo um sistema de chat privado entre players, porém estou em dúvida com algumas coisas: A Janela da conversa, será uma Edit Box, correto? Como eu elaboro essa parte de o player enviar uma mensagem, e essa mesma mensagem chegar para o outro player? Ficaria grato com toda ajuda
Other Languages Moderators Lord Henry Posted May 29, 2019 Other Languages Moderators Posted May 29, 2019 1 hour ago, #DeltaSCR said: A Janela da conversa, será uma Edit Box, correto? A janela será uma Window º_º E dentro dela terá um Edit Box. Mas vc não deixou claro onde a mensagem irá aparecer, se é no chatbox do MTA ou se é dentro dessa janela. Se for dentro dessa janela, vai precisar também de um Memo para mostrar as mensagens e também vai precisar de um Button para enviar mensagem e outro pra fechar a janela. 1 hour ago, #DeltaSCR said: Como eu elaboro essa parte de o player enviar uma mensagem, e essa mesma mensagem chegar para o outro player? O que vc já tentou fazer?
#DeltaSCR Posted May 29, 2019 Author Posted May 29, 2019 É porque tipo, a Janela que eu quis dizer não foi a Window em Si, mas sim a parte onde vão ser trocadas as mensagens... E também por questões de estética, nesse sistema eu estou usando CEGUI, e DX.
Other Languages Moderators Lord Henry Posted May 29, 2019 Other Languages Moderators Posted May 29, 2019 (edited) 12 minutes ago, Lord Henry said: O que vc já tentou fazer? Up. Edited May 29, 2019 by Lord Henry 1
Jonas^ Posted May 29, 2019 Posted May 29, 2019 Painel admin tem o código pronto, basta ter vontade de dar ctrl + c + v e adaptar para jogadores falar entre eles já que lá esta entre admins.
[M]ister Posted May 29, 2019 Posted May 29, 2019 @Jonas^ O admin é um resource grande, com alguns trechos complexos e seus módulos todos interligados, certamente precisaria de um certo conhecimento para fazer corretamente essa “cópia”. @#DeltaSCR Sugiro que você pesquise por resources de mensagem privada, pois na comunidade/web existem vários. A lógica de um player escrever um texto em um painel, e chegar até outro player, utiliza-se: triggerClientEvent/triggerServerEvent
#DeltaSCR Posted May 29, 2019 Author Posted May 29, 2019 Eu havia dado uma olhada no admin, e realmente, é tudo muito complexo lá, vários arquivos, enfim...
brunob22 Posted May 30, 2019 Posted May 30, 2019 resource admin, complexa? paida kkkkk bom da uma olhada em resources " simples " na community sobre chat que tu acha 1
Jonas^ Posted May 31, 2019 Posted May 31, 2019 On 29/05/2019 at 18:05, MaligNos said: @Jonas^ O admin é um resource grande, com alguns trechos complexos e seus módulos todos interligados, certamente precisaria de um certo conhecimento para fazer corretamente essa “cópia”. @#DeltaSCR Sugiro que você pesquise por resources de mensagem privada, pois na comunidade/web existem vários. A lógica de um player escrever um texto em um painel, e chegar até outro player, utiliza-se: triggerClientEvent/triggerServerEvent Sim claro que é complexo, concordo totalmente com você, porém pelo que vi aqui os resources que ele posta na página dele, ele tem capacidade pra desmembrar esse sistema de admin todo. não entendi o porque da dificuldade, quero entender como ele mostra resources mais complexas que um simples sistema de chat e não consegue nem começar a parte mais básica.
[M]ister Posted May 31, 2019 Posted May 31, 2019 On 30/05/2019 at 13:10, brunob22 said: resource admin, complexa? paida kkkkk "paida" = piada ?? Sim, complexo! Errado quem pensa o contrário... o código ali é Lua, não tem nada de outro mundo, mas a grandeza da codificação/ligações já o torna complexo. 6 hours ago, Jonas^ said: Sim claro que é complexo, concordo totalmente com você, porém pelo que vi aqui os resources que ele posta na página dele, ele tem capacidade pra desmembrar esse sistema de admin todo. não entendi o porque da dificuldade, quero entender como ele mostra resources mais complexas que um simples sistema de chat e não consegue nem começar a parte mais básica. Ai já não sei, sugeri com base no perfil/dúvida. Na real tem muita gente que fica criando = (copiando/editando) uns painéis por ai, mas mal sabem lógica de programação... então se for o caso, não quer dizer nada.
#DeltaSCR Posted June 1, 2019 Author Posted June 1, 2019 14 hours ago, MaligNos said: Ai já não sei, sugeri com base no perfil/dúvida. Na real tem muita gente que fica criando = (copiando/editando) uns painéis por ai, mas mal sabem lógica de programação... então se for o caso, não quer dizer nada. Então, a minha ideia é ir criando ele do Zero mesmo, que ai eu vou entendo cada coisa colocada naquele código...
Other Languages Moderators Lord Henry Posted June 1, 2019 Other Languages Moderators Posted June 1, 2019 21 hours ago, Jonas^ said: pelo que vi aqui os resources que ele posta na página dele, ele tem capacidade pra desmembrar esse sistema de admin todo Opa, parece que temos algumas suspeitas de scripter ilegal. Vamos chamar nossa equipe do Xerox Holmes pra dar uma investigada. @#DeltaSCR o painel todo é feito em DX mas o campo de digitar a mensagem é em CEGUI, é isso? 1
#DeltaSCR Posted June 1, 2019 Author Posted June 1, 2019 1 minute ago, Lord Henry said: Opa, parece que temos algumas suspeitas de scripter ilegal. Vamos chamar nossa equipe do Xerox Holmes pra dar uma investigada. @#DeltaSCR o painel todo é feito em DX mas o campo de digitar a mensagem é em CEGUI, é isso? Positivo.
Other Languages Moderators Lord Henry Posted June 1, 2019 Other Languages Moderators Posted June 1, 2019 Isso é positivo pra qual parte? A do scripter ilegal ou do DX?
#DeltaSCR Posted June 1, 2019 Author Posted June 1, 2019 1 minute ago, Lord Henry said: Isso é positivo pra qual parte? A do scripter ilegal ou do DX? A do DX e CEGUI kk Outra coisa, estou usando onClientGUIClick, obrigatoriamente eu preciso ter uma função secundaria para ser chamada pelo evento?
Other Languages Moderators Lord Henry Posted June 1, 2019 Other Languages Moderators Posted June 1, 2019 7 minutes ago, #DeltaSCR said: onClientGUIClick Isso só funciona em elementos CEGUI. Se vc estiver criando botões em DX, não vai funcionar. 8 minutes ago, #DeltaSCR said: eu preciso ter uma função secundaria para ser chamada pelo evento? Óbvio. Todo evento precisa de uma função para ativar. Caso contrário não existe motivo para declarar este evento, já que ele não ativa função alguma.
#DeltaSCR Posted June 1, 2019 Author Posted June 1, 2019 Just now, Lord Henry said: Isso só funciona em elementos CEGUI. Se vc estiver criando botões em DX, não vai funcionar. Sim, mas é em CEGUI mesmo... Vou explicar um pouco melhor... (Havia esquecido de citar a GridList) O Jogador seleciona um dos players da GridList - Por isso o onClientGUIClick Após isso abre a janela de chat para os dois, tendo um botão(Em CEGUI) de envio...
Other Languages Moderators Lord Henry Posted June 1, 2019 Other Languages Moderators Posted June 1, 2019 Era mais fácil fazer tudo direto em CEGUI, hauahauhauahau Vc ta usando 70% do painel em CEGUI já.
#DeltaSCR Posted June 1, 2019 Author Posted June 1, 2019 7 minutes ago, Lord Henry said: Era mais fácil fazer tudo direto em CEGUI, hauahauhauahau Vc ta usando 70% do painel em CEGUI já. Realmente seria mais fácil, porém eu prezo um pouquinho pelo visual, pois no DX eu tenho uma maior liberdade digamos assim...
Other Languages Moderators Lord Henry Posted June 1, 2019 Other Languages Moderators Posted June 1, 2019 Eu prezo pela otimização acima de tudo. Se for pras coisas serem mais bonitas, vou pro GTA 5 de uma vez. Mas ta ok, vc que sabe.
#DeltaSCR Posted June 1, 2019 Author Posted June 1, 2019 Ai pra exibir a tela de mensagens pros dois players, no onClientRender, eu teria que colocar o argumento do player obtido na Grid? function createCEGUI() theWindow = guiCreateWindow(0.27, 0.23, 0.45, 0.53, "Companhia Telefonica TSB", true) guiWindowSetMovable(theWindow, false) guiWindowSetSizable(theWindow, false) --// EDITS memoChat = guiCreateMemo(0.02, 0.08, 0.96, 0.78, "\n", true, theWindow) editText = guiCreateEdit(0.02, 0.89, 0.97, 0.08, "Digite sua mensagem aqui...", true, theWindow) end function DeltaSCR_Click(button, state, absoluteX, absoluteY) if button ~= "left" then return end if state == "down" then local namePlayer = guiGridListGetItemText(playersList, row, column) local thePlayer = getPlayerFromName(namePlayer) end end addEventHandler("onClientGUIClick", playerList, DeltaSCR_Click, false)
Other Languages Moderators Lord Henry Posted June 1, 2019 Other Languages Moderators Posted June 1, 2019 (edited) Vai dar erro na linha 15. playerList, row e column não foram declarados em lugar nenhum. Edited June 1, 2019 by Lord Henry
#DeltaSCR Posted June 1, 2019 Author Posted June 1, 2019 28 minutes ago, Lord Henry said: Vai dar erro na linha 15. playerList, row e column não foram declarados em lugar nenhum. Ah sim, desculpa, é porque tava em outra parte do código... addEventHandler("onClientResourceStart", resourceRoot, function() playersList = guiCreateGridList(0.30, 0.28, 0.11, 0.49, true) local column = guiGridListAddColumn(playersList, "Jogadores", 0.9) if (column) then for _, player in ipairs(getElementsByType("player")) do local row = guiGridListAddRow(playersList) guiGridListSetItemText (playersList, row, 1, string.gsub(getPlayerName(player), "#%x%x%x%x%x%x", ""), false, false) end end guiSetAlpha(playersList, 0.80) guiSetVisible(playersList, false) end ) Porém teria que torná-las globais né?
Jonas^ Posted June 1, 2019 Posted June 1, 2019 (edited) 2 hours ago, Lord Henry said: Eu prezo pela otimização acima de tudo. Se for pras coisas serem mais bonitas, vou pro GTA 5 de uma vez. Mas ta ok, vc que sabe. Incrível como pensamos igual. (Desculpem eu sair fora do foco do tópico asuhusa) Se ela esta dentro de um escopo de outra função não vai adiantar de nada, coloque ela no mesmo escopo Edited June 1, 2019 by Jonas^ 1
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now