ODutii Posted August 2, 2019 Share Posted August 2, 2019 Estou com um problema que não consigo resolver, no client side, quando clico, o painel vai desaparecer ao clicar em trabalhar, so que no server side, quero que quando eu clico aparece uma mensagem, pode me ajudar? (OBS: O Painel está funcionando tudo certinho, mesmo eu excluindo esses funcoes, ele ira continuar funcionando.)CLIENT SIDE function TrabTaxista (_,state)if painel == true thenif ( state == "down" ) thenif ( isCursorOnElement(615, 224, 128, 32)) then removeEventHandler("onClientRender", root, Dx) showCursor(false)endendendendaddEventHandler ("onClientClick", root, TrabTaxista)addEvent("TrabTaxi", true)addEventHandler("TrabTaxi", root, TrabTaxista) SERVER SIDE --Acho que o erro está aqui (MINHA DÚVIDA: Mensagem não está aparecendo) function TrabTaxista(source,player) triggerClientEvent(source, "TrabTaxi", source) outputChatBox("Agora é taxista",player,255,255,255,true)endaddEventHandler ("onClientClick", player, TrabTaxista) Link to comment
DNL291 Posted August 2, 2019 Share Posted August 2, 2019 onClientClick é um evento do lado client apenas. Obs: quando for postar seu código, utilize o botão <>, cole o código e selecione a linguagem. Leia este tópico por favor. @ODutii Link to comment
Other Languages Moderators Lord Henry Posted August 2, 2019 Other Languages Moderators Share Posted August 2, 2019 Você está usando o evento onClientClick em um script server-side. Mas esse evento só funciona em script client-side. Link to comment
ODutii Posted August 2, 2019 Author Share Posted August 2, 2019 Eu percebi isso, so que oque estou tentando achar, no server side: function TrabTaxista(source) triggerClientEvent(source, "TrabTaxi", source) outputChatBox("Agora é taxista",source,255,255,255,true) end addEventHandler ("onClientClick", root, TrabTaxista) esse ai encima é o server side, ali no event handler, oque é coloco? Link to comment
ODutii Posted August 2, 2019 Author Share Posted August 2, 2019 SERVER-SIDE function TrabTaxista(source, player) triggerClientEvent(source, "TrabTaxi", source) outputChatBox("Agora é taxista",player,255,255,255,true) end addEvent("TrabTaxi", true) addEventHandler("TrabTaxi", root, TrabTaxista) CLIENT SIDE function TrabTaxista (_,state) if painel == true then if ( state == "down" ) then if ( isCursorOnElement(615, 224, 128, 32)) then removeEventHandler("onClientRender", root, Dx) showCursor(false) end end end end addEventHandler ("onClientClick", root, TrabTaxista) addEvent("TrabTaxi", true) addEventHandler("TrabTaxi", root, TrabTaxista) no client Quando o jogador clicar no botão do meu painel, o painel vai fechar, e no server side, quando apertar no mesmo botao, para mandar uma mensagem para ele, estou tentando consertar isso e não está funcionado Client side> Clicar botão taxi e fechar painel Server side> clicar botão taxi e mandar msg Link to comment
#DeltaSCR Posted August 2, 2019 Share Posted August 2, 2019 Olha só cara, nessa parte de clicar em botões, vamos usar somente client-side. Você quer que execute as duas funcionalidades no mesmo botão? Link to comment
ODutii Posted August 2, 2019 Author Share Posted August 2, 2019 + ou - isso, eu queria fazer funções sobre a Acl, e no client-side isso não funciona, ja tentei fazer muito, e pra min so funcionou no server-siude, então estou tentando fazer para que no client side ao clicar ele feche o botão e no server-side eu faça as funções Link to comment
#DeltaSCR Posted August 2, 2019 Share Posted August 2, 2019 Pelo o que eu entendi, o que vc quer fazer é mais ou menos isso ae: function executions(button, state, absoluteX, absoluteY, worldX, worldY, worldZ, clickedElement) if painel == true then if button == "left" and state == "down" then outputChatBox("Você agora trabalha de Taxi", 255, 255, 255) removeEventHandler("onClientRender", root, Dx) painel = false showCursor(false) end end end addEventHandler("onClientClick", root, executions) Link to comment
ODutii Posted August 2, 2019 Author Share Posted August 2, 2019 1 minute ago, #DeltaSCR said: Pelo o que eu entendi, o que vc quer fazer é mais ou menos isso ae: function executions(button, state, absoluteX, absoluteY, worldX, worldY, worldZ, clickedElement) if painel == true then if button == "left" and state == "down" then outputChatBox("Você agora trabalha de Taxi", 255, 255, 255) removeEventHandler("onClientRender", root, Dx) painel = false showCursor(false) end end end addEventHandler("onClientClick", root, executions) Se eu usar o isObjectInAcl vai funcionar? Link to comment
#DeltaSCR Posted August 2, 2019 Share Posted August 2, 2019 8 minutes ago, ODutii said: Se eu usar o isObjectInAcl vai funcionar? Não! Funções de ACL são somente server-side. 1 Link to comment
Other Languages Moderators Lord Henry Posted August 2, 2019 Other Languages Moderators Share Posted August 2, 2019 (edited) É mais fácil simplesmente abrir o painel pelo servidor com um triggerClientEvent. Só que antes desse trigger, fazer a verificação de ACL. Dessa forma, quem não estiver na ACL não vai nem conseguir abrir o painel. Edited August 2, 2019 by Lord Henry 1 Link to comment
ODutii Posted August 2, 2019 Author Share Posted August 2, 2019 (edited) Obrigado pela ajuda, a mensagem foi! Já foi um passo! Muito obrigado! Agora é lutar pra conseguir add na acl kk Daí pra quando clicar, no server-side, qual é os scripts para add na acl... ? Edited August 2, 2019 by ODutii a Link to comment
Other Languages Moderators Lord Henry Posted August 2, 2019 Other Languages Moderators Share Posted August 2, 2019 (edited) Esqueça a ideia de clicar no painel pelo server-side. Como eu falei, faça a verificação de ACL antes de abrir o painel, ao invés de verificar ao clicar no botão. Edited August 2, 2019 by Lord Henry Link to comment
ODutii Posted August 2, 2019 Author Share Posted August 2, 2019 ( SERVER SIDE ) function taxx(thePlayer) local accName = getAccountName ( getPlayerAccount (thePlayer) ) if aclGroupAddObject (aclGetGroup("Taxista"), "user."..accName) then outputChatBox("Added",thePlayer,255,255,255,true) end end addEvent("trabtax", true) addEventHandler("trabtax", root, taxx) ( CLIENT SIDE ) function TrabTaxista (_,state) if painel == true then if ( state == "down" ) then if ( isCursorOnElement(615, 224, 128, 32)) then removeEventHandler("onClientRender", root, Dx) showCursor(false) outputChatBox("Agora é taxista",255,255,255,true) painel = false triggerClientEvent ("trabtax", getLocalPlayer()) end end end end addEventHandler ("onClientClick", root, TrabTaxista) Não está adicionando na Acl... qual o erro Link to comment
Jonas^ Posted August 2, 2019 Share Posted August 2, 2019 Você esta usando triggerClientEvent no mesmo lado, nunca vai funcionar, fiz um upgrade no seu código: Client function TrabTaxista (_, state) if painel == true then if (state == "down") then if (isCursorOnElement (615, 224, 128, 32)) then removeEventHandler ("onClientRender", root, Dx) showCursor (false) painel = false triggerServerEvent ("trabtax", getLocalPlayer()) -- outputChatBox ("Agora é taxista", 255, 255, 255) -- triggerClientEvent ("trabtax", getLocalPlayer()) -- Erro aqui, ''triggerClientEvent''. end end end end addEventHandler ("onClientClick", root, TrabTaxista) Server function taxx () if (isObjectInACLGroup ("user."..getAccountName (getPlayerAccount (client)), aclGetGroup("Taxista"))) then -- Se o jogador já estiver na acl, então: outputChatBox ("Erro! Você já está no trabalho de taxista!", client, 255, 30, 30) else -- Senão: aclGroupAddObject (aclGetGroup("Taxista"), "user."..getAccountName (getPlayerAccount (client))) -- Adiciona o jogador na acl. outputChatBox ("Parabéns! Agora você é um taxista!", client, 0, 255, 0) end end addEvent ("trabtax", true) addEventHandler ("trabtax", root, taxx) 1 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