BNR Athena Posted August 28, 2020 Share Posted August 28, 2020 Quando eu vou verificar se o dinheiro da pessoa, ele retorna que o getPlayerMoney() não pode ter o valor nil, no caso ele não reconhece o player que está fazendo a ação de comprar o carro, isso faz com que o script não funcione. Alguém pode me ajudar a arrumar o script, ficaria bem agradecida Quote Server function abriPainel0(source) triggerClientEvent(source, "Abrir_painel", source) end addEventHandler("onMarkerHit", mc0, abriPainel0) function comprarcarro0(source) local acc = getAccountPlayer(source) or "ninguém" local money = getPlayerMoney(source) or 0 if money >= c0[2] then if getElementData(source,"Comprou") == false then setElementData(source,"Comprou",true) setTimer(comprar, 10000, 1) takePlayerMoney(source, c0[2]) createVehicle(c0[3], g0[3], g0[4], g0[5]+2) else outputChatBox("Espere 10 segundos",source,255,255,255,true) end else outputChatBox("Você não possui dinheiro você precisa de R$ "..c0[2]-money,source,255,255,255,true) outputChatBox("O Player é o: "..tostring(acc)) end end addEvent("comprarc0", true) addEventHandler("comprarc0", root, comprarcarro0) function comprar() setElementData(source,"Comprou",false) outputChatBox("Você já pode comprar outro veiculo.",source,255,255,255,true) end Link to comment
Tommy. Posted August 28, 2020 Share Posted August 28, 2020 Mostra o triggerServerEvent do (comprarc0) olhando o seu código aí, parece estar tudo certo Link to comment
BNR Athena Posted August 28, 2020 Author Share Posted August 28, 2020 (edited) function tc0() local sX, sY = guiGetScreenSize() showCursor(true) guiSetVisible(tw, false) tw = guiCreateWindow (sX/2 -200, sY/2 +150, 400, 80, "Painel de Compra BNR", false) texto = guiCreateLabel (40, 20, 400, 40, "Você está olhando o "..c0[1]..", ele custa o valor de R$ "..c0[2], false, tw) bbcomprar = guiCreateButton(0 , 40, 200-10, 50, "comprar", false, tw) bbfechar = guiCreateButton(200+10 , 40, 200-10, 50, "Cancelar", false, tw) addEventHandler("onClientGUIClick", bbcomprar, comprar0, false) addEventHandler("onClientGUIClick", bbfechar, fechar0, false) end function ver0() guiSetVisible(tw, true) showCursor(true) end addEvent("Abrir_painel", true) addEventHandler("Abrir_painel", root, tc0) function comprar0(button, state) if button == "left" and state == "up" then triggerServerEvent("comprarc0", root) end end function fechar0(button, state) if button == "left" and state == "up" then guiSetVisible(tw, false) showCursor(false) end end Edited August 28, 2020 by BNR Athena Link to comment
Monteiro Brasil Vida Unica Posted August 28, 2020 Share Posted August 28, 2020 triggerServerEvent("comprarc0", root) está usando o root como parametro o root pega todos os players que tem online o certo e usar o localPlayer mais como a sua function tem 1 parametro function comprarcarro0(source) parmetro source e o triggerServerEvent ja pede um parametro obrigatorio entao o certo e triggerServerEvent("comprarc0",localPlayer ,localPlayer ) mais caso vc tire o parametro source function comprarcarro0() so sera preciso 1 localplayer no trigger triggerServerEvent("comprarc0",localPlayer ) mais ai vc tera que substituir o source por localPlayer 1 Link to comment
Tommy. Posted August 29, 2020 Share Posted August 29, 2020 16 hours ago, BNR Athena said: function tc0() local sX, sY = guiGetScreenSize() showCursor(true) guiSetVisible(tw, false) tw = guiCreateWindow (sX/2 -200, sY/2 +150, 400, 80, "Painel de Compra BNR", false) texto = guiCreateLabel (40, 20, 400, 40, "Você está olhando o "..c0[1]..", ele custa o valor de R$ "..c0[2], false, tw) bbcomprar = guiCreateButton(0 , 40, 200-10, 50, "comprar", false, tw) bbfechar = guiCreateButton(200+10 , 40, 200-10, 50, "Cancelar", false, tw) addEventHandler("onClientGUIClick", bbcomprar, comprar0, false) addEventHandler("onClientGUIClick", bbfechar, fechar0, false) end function ver0() guiSetVisible(tw, true) showCursor(true) end addEvent("Abrir_painel", true) addEventHandler("Abrir_painel", root, tc0) function comprar0(button, state) if button == "left" and state == "up" then triggerServerEvent("comprarc0", root) end end function fechar0(button, state) if button == "left" and state == "up" then guiSetVisible(tw, false) showCursor(false) end end Bem, vamos lá, no triggerServerEvent, você vai alterar o root para localPlayer, e na função comprarcarro0 você irá tirar o parâmetro source, por padrão o source já vai ser o player Link to comment
ber Posted August 31, 2020 Share Posted August 31, 2020 Em triggerEvents e addEventHandler é sempre bom usar resourceRoot, pois aquele evento só será acionado pelo mesmo script. Aí você passa o player ou qualquer outra variável através de argumento. 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