[M]ister Posted April 2, 2013 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)
DNL291 Posted April 2, 2013 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
[M]ister Posted April 2, 2013 Author 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)
manawydan Posted April 2, 2013 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.
[M]ister Posted April 2, 2013 Author 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 ?
DNL291 Posted April 3, 2013 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)
[M]ister Posted April 3, 2013 Author 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 !
DNL291 Posted April 3, 2013 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.
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