[M]ister Posted April 2, 2013 Share Posted April 2, 2013 Olá pessoal, boa noite. Pessoal eu estava querendo criar um Checkbox que quando eu marcasse eu ganhava um JetPack e quando eu desmarcar-se ele removia meu JetPack, mas quando eu clico na Checkbox não acontece nada!! Client: ... jetpack = guiCreateCheckBox(25, 70, 73, 23, "Jetpack", false, false, MaligNosWindow) ... function JetPack() if guiCheckBoxGetSelected(jetpack) == true then triggerServerEvent("jetpack", resourceRoot, localPlayer) else triggerServerEvent("jetpack1", resourceRoot, localPlayer) end end addEventHandler("onClientGUIClick", velocidade, JetPack, false) Server: function jetpackk(source) if not ( doesPedHaveJetPack (source)) then givePedJetPack (source) end end addEvent("jetpack", true) addEventHandler("jetpack", resourceRoot, jetpackk) function jetpackk1(source) if ( doesPedHaveJetPack (source)) then removePedJetPack (source) end end addEvent("jetpack1", true) addEventHandler("jetpack1", resourceRoot, jetpackk1) Link to comment
DNL291 Posted April 2, 2013 Share Posted April 2, 2013 (edited) Client: ... jetpack = guiCreateCheckBox(25, 70, 73, 23, "Jetpack", false, false, MaligNosWindow) ... function JetPack() local selected = guiCheckBoxGetSelected(jetpack) if selected then -- Enviará o valor selected para o evento do lado server -- selected retornará um valor booleano, ou seja: true ou false. triggerServerEvent("jetpack", localPlayer, selected) -- Dar o jetpack elseif ( not selected ) then local selected = not selected -- selected será false triggerServerEvent("jetpack", localPlayer, selected) -- Tirar o jetpack end end addEventHandler("onClientGUIClick", velocidade, JetPack, false) Server: function jetpackk(selected) if ( selected and (not doesPedHaveJetPack(source)) ) then givePedJetPack(source) elseif ( (not selected) and doesPedHaveJetPack(source) ) then removePedJetPack(source) end end addEvent("jetpack", true) addEventHandler("jetpack", root, jetpackk) -- root é uma variável pré-definida de getRootElement() Leia os comentários no código. Esquece sobre o resourceRoot substituir pelo getRootElement() não foi isso que eu quis dizer. Use apenas no evento onResourceStart/onClientResourceStart (Menos se você quiser por exemplo, ver qual resource foi iniciado). Obs: resourceRoot é uma variável pré-definida de getResourceRootElement( getThisResource() ) Para mais informações sobre variáveis pré-definidas veja isso: https://forum.multitheftauto.com/viewtopic.php?f=91&t=39678 Edited April 2, 2013 by Guest Link to comment
[M]ister Posted April 2, 2013 Author Share Posted April 2, 2013 Aew pegou !!, cara você é foda... Queria pedir a ajuda de vocês de novo , mas para eu não ficar floodando tópicos novos, vou pedir por este, É o seguinte eu estou querendo criar uma outra Checkbox tambêm, mais eu queria que quando o jogador marcar-se a Checkbox a velocidade do jogo dele passa-se para 3x, mas quando eu faço isso a velocidade do server inteiro muda, e eu só queria que mudasse a velocidade do player que marcar-se Client: velocidade = guiCreateCheckBox(25, 55, 73, 23, "Velocidade 3x", false, false, MaligNosWindow) function velo() local selected = guiCheckBoxGetSelected(velocidade) if selected then triggerServerEvent("velo", localPlayer, selected) elseif ( not selected ) then local selected = not selected triggerServerEvent("velo", localPlayer, selected) end end addEventHandler("onClientGUIClick", velocidade, velo, false) Server: function velocidade(selected) if ( selected and (not setGameSpeed(tonumber(3)) )) then setGameSpeed(tonumber(3)) elseif ( (not selected) and setGameSpeed(tonumber(3)) ) then setGameSpeed(tonumber(1)) end end addEvent("velo", true) addEventHandler("velo", root, velocidade) Link to comment
manawydan Posted April 2, 2013 Share Posted April 2, 2013 eu acho que não existe uma função para mudar a velocidade de um jogador em especial. mas voce pode cria uma com funções matematicas. Link to comment
DNL291 Posted April 2, 2013 Share Posted April 2, 2013 Use setGameSpeed do lado client. Link to comment
[M]ister Posted April 2, 2013 Author Share Posted April 2, 2013 Use setGameSpeed do lado client. Eu passei ele pro lado Client e continua a mesma coisa, você não poderia estar me explicando melhor ?. Tem que adicionar mais alguma coisa além do que estava do lado server ? Link to comment
DNL291 Posted April 3, 2013 Share Posted April 3, 2013 Não é possível que a velocidade do jogo seja definida para todos no lado client (no Freeroam define apenas para o jogador local). velocidade = guiCreateCheckBox(25, 55, 73, 23, "Velocidade 3x", false, false, MaligNosWindow) function velo() local selected = guiCheckBoxGetSelected(velocidade) if selected then setGameSpeed(3) elseif ( not selected ) then setGameSpeed(1) end end addEventHandler("onClientGUIClick", velocidade, velo, false) Link to comment
[M]ister Posted April 3, 2013 Author Share Posted April 3, 2013 tava certo mesmo, é porque na hora que eu clicava na Checkbox e aumentava a velocidade, e eu entrava no Painel de Admin, e ia ver na aba Server o Game Speed, e lá mostrava 3, mas na verdade só mudava para mim ! Link to comment
DNL291 Posted April 3, 2013 Share Posted April 3, 2013 Sim, no client é apenas para o jogador local. Eu fiz um script há um tempo, que o jogo fica em slow para o jogador que leva um headshot. No lado client fica apenas para o jogador local. Link to comment
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