IShiftey Posted January 26, 2020 Share Posted January 26, 2020 (edited) Rapaziada me ajuda ae to fazendo um script de painel de armas,fiz o painel no GuiEditor e quero adicionar o comando que eu tenho pro cara passar em cima do marker e aparecer. Comando que quero adicionar: function pegarm4(player) if isElementWithinMarker(player, markerWeapon) then if getPlayerMoney(player) >= 12000 then takePlayerMoney(player, 12000) --Remover Dinheiro giveWeapon(player, 31, 300, true) --Pegar Arma outputChatBox("#ffffffVocê comprou uma M4 com 300 munições.", player, 255,255,255,true) else outputChatBox("#ff0000Você não tem dinheiro suficiente para comprar.", player, 255,255,255,true) end end end addCommandHandler("m4", pegarm4) GuiEditor: GUIEditor = { button = {}, window = {} } addEventHandler("onClientResourceStart", resourceRoot, function() GUIEditor.window[1] = guiCreateWindow(0.32, 0.26, 0.41, 0.46, "LOJA DE ARMAS", true) guiWindowSetSizable(GUIEditor.window[1], false) GUIEditor.button[1] = guiCreateButton(0.37, 0.12, 0.22, 0.11, "M4 = 12000R$", true, GUIEditor.window[1]) guiSetProperty(GUIEditor.button[1], "NormalTextColour", "FF25FC02") GUIEditor.button[2] = guiCreateButton(0.38, 0.26, 0.21, 0.11, "Deagle = 7000R$", true, GUIEditor.window[1]) guiSetProperty(GUIEditor.button[2], "NormalTextColour", "FF25FC02") GUIEditor.button[3] = guiCreateButton(0.38, 0.40, 0.20, 0.10, "Ak-47 = 15000R$", true, GUIEditor.window[1]) guiSetProperty(GUIEditor.button[3], "NormalTextColour", "FF25FC02") GUIEditor.button[4] = guiCreateButton(0.38, 0.53, 0.20, 0.10, "MP5 = 30000", true, GUIEditor.window[1]) guiSetProperty(GUIEditor.button[4], "NormalTextColour", "FF25FC02") end ) Edited January 26, 2020 by IShiftey Link to comment
beast99 Posted January 26, 2020 Share Posted January 26, 2020 Use a Função de code na proxima que for postar seu código "<>", e poste ele por completo. function pegarm4(player) if isElementWithinMarker(player, markerWeapon) then guiEdit() if getPlayerMoney(player) >= 12000 then takePlayerMoney(player, 12000) --Remover Dinheiro giveWeapon(player, 31, 300, true) --Pegar Arma outputChatBox("#ffffffVocê comprou uma M4 com 300 munições.", player, 255,255,255,true) else outputChatBox("#ff0000Você não tem dinheiro suficiente para comprar.", player, 255,255,255,true) end end end addCommandHandler("m4", pegarm4) function guiEdit() GUIEditor.window[1] = guiCreateWindow(0.32, 0.26, 0.41, 0.46, "LOJA DE ARMAS", true) guiWindowSetSizable(GUIEditor.window[1], false) GUIEditor.button[1] = guiCreateButton(0.37, 0.12, 0.22, 0.11, "M4 = 12000R$", true, GUIEditor.window[1]) guiSetProperty(GUIEditor.button[1], "NormalTextColour", "FF25FC02") GUIEditor.button[2] = guiCreateButton(0.38, 0.26, 0.21, 0.11, "Deagle = 7000R$", true, GUIEditor.window[1]) guiSetProperty(GUIEditor.button[2], "NormalTextColour", "FF25FC02") GUIEditor.button[3] = guiCreateButton(0.38, 0.40, 0.20, 0.10, "Ak-47 = 15000R$", true, GUIEditor.window[1]) guiSetProperty(GUIEditor.button[3], "NormalTextColour", "FF25FC02") GUIEditor.button[4] = guiCreateButton(0.38, 0.53, 0.20, 0.10, "MP5 = 30000", true, GUIEditor.window[1]) guiSetProperty(GUIEditor.button[4], "NormalTextColour", "FF25FC02") end É isso? Link to comment
Jonas^ Posted January 26, 2020 Share Posted January 26, 2020 @MesaDowNComo você acha que esse código ira funcionar usando funções server-side em client-side? Link to comment
beast99 Posted January 26, 2020 Share Posted January 26, 2020 Ah mds, agora que eu vi kkkk Just now, Jonas^ said: @MesaDowNComo você acha que esse código ira funcionar usando funções server-side em client-side? Link to comment
Jonas^ Posted January 26, 2020 Share Posted January 26, 2020 (edited) E assim esta longe de funcionar, faça assim: client-side local sX, sY = guiGetScreenSize () addEventHandler ("onClientResourceStart", resourceRoot, function () mainWindow = guiCreateWindow (sX/2 - 140, sY/2 - 135, 280, 270, "Loja de Armas", false) guiWindowSetSizable (mainWindow, false) guiSetProperty (mainWindow, "CaptionColour", "FF00FF00") btnM4 = guiCreateButton (59, 46, 163, 37, "M4 = 12000R$", false, mainWindow) guiSetProperty (btnM4, "HoverTextColour", "FF00FF00") btnDeagle = guiCreateButton (59, 93, 163, 37, "Deagle = 7000R$", false, mainWindow) guiSetProperty (btnDeagle, "HoverTextColour", "FF00FF00") btnAk = guiCreateButton (59, 140, 163, 37, "Ak-47 = 15000R$", false, mainWindow) guiSetProperty (btnAk, "HoverTextColour", "FF00FF00") btnMP5 = guiCreateButton (59, 187, 163, 37, "MP5 = 30000$", false, mainWindow) guiSetProperty (btnMP5, "HoverTextColour", "FF00FF00") btnClose = guiCreateButton (244, 240, 26, 20, "x", false, mainWindow) guiSetProperty (btnClose, "HoverTextColour", "FFFF0000") end) addEventHandler ("onClientGUIClick", root, function (btn) if btn ~= "left" then return end -- Se o botão clicado do mouse não for o esquerdo, nada acontece. if (source == btnM4) then -- Se o botão clicado for o botão de comprar a m4, então: triggerServerEvent ("onBuyWeapon", localPlayer, "m4") elseif (source == btnDeagle) then -- Se o botão clicado for o botão de comprar a deagle, então: triggerServerEvent ("onBuyWeapon", localPlayer, "deagle") elseif (source == btnAk) then -- Se o botão clicado for o botão de comprar a ak, então: triggerServerEvent ("onBuyWeapon", localPlayer, "ak") elseif (source == btnMP5) then -- Se o botão clicado for o botão de comprar a mp5, então: triggerServerEvent ("onBuyWeapon", localPlayer, "mp5") elseif (source == btnClose) then -- Se o botão clicado for o botão de fechar o painel, então: guiSetVisible (mainWindow, false) -- Seta a janela principal como false (desativada). showCursor (false) -- Seta o cursor como false (desativado). end end) function showPanel () if guiGetVisible (mainWindow) then -- Se o painel estiver aberto, então: guiSetVisible (mainWindow, false) -- Seta a janela principal como false (desativada). showCursor (false) -- Seta o cursor como false (desativado). else -- Se ela não estiver aberta ainda, entao: guiSetVisible (mainWindow, true) -- Seta a janela principal como true (ativada). showCursor (true) -- Seta o cursor como true (ativado). end end addEvent ("openShopWindow", true) addEventHandler ("openShopWindow", getRootElement(), showPanel) server-side local markerShop = createMarker (-714, 960, 11, "cylinder", 2, 0, 255, 0) local comandoComprar = "comprar" -- Comando que ira abrir o painel function weaponGive (string, weapon, ammo) if (string == "m4") then -- Se for a string 'm4' enviada pelo client, então: if getPlayerMoney(client) >= 12000 then -- Se o jogador tiver 12000 ou mais, então: takePlayerMoney (client, 12000) -- Retira a quantia de 12000 do saldo do jogador. giveWeapon (client, 31, 300) -- Da ao jogador uma m4 com 300 munições. outputChatBox ("Você comprou uma M4 com 300 munições.", client, 0, 255, 0) -- Feedback informando a compra com sucesso da arma. else outputChatBox ("Você não tem dinheiro suficiente!", client, 255, 0, 0) end elseif (string == "deagle") then if getPlayerMoney(client) >= 7000 then -- Se o jogador tiver 7000 ou mais, então: takePlayerMoney (client, 7000) -- Retira a quantia de 7000 do saldo do jogador. giveWeapon (client, 24, 300) -- Da ao jogador uma deagle com 300 munições. outputChatBox ("Você comprou uma Deagle com 300 munições.", client, 0, 255, 0) -- Feedback informando a compra com sucesso da arma. else outputChatBox ("Você não tem dinheiro suficiente!", client, 255, 0, 0) end elseif (string == "ak") then if getPlayerMoney(client) >= 15000 then -- Se o jogador tiver 15000 ou mais, então: takePlayerMoney (client, 15000) -- Retira a quantia de 15000 do saldo do jogador. giveWeapon (client, 30, 300) -- Da ao jogador uma ak com 300 munições. outputChatBox ("Você comprou uma AK com 300 munições.", client, 0, 255, 0) -- Feedback informando a compra com sucesso da arma. else outputChatBox ("Você não tem dinheiro suficiente!", client, 255, 0, 0) end elseif (string == "mp5") then if getPlayerMoney(client) >= 30000 then -- Se o jogador tiver 30000 ou mais, então: takePlayerMoney (client, 30000) -- Retira a quantia de 30000 do saldo do jogador. giveWeapon (client, 29, 300) -- Da ao jogador uma MP5 com 300 munições. outputChatBox ("Você comprou uma MP5 com 300 munições.", client, 0, 255, 0) -- Feedback informando a compra com sucesso da arma. else outputChatBox ("Você não tem dinheiro suficiente!", client, 255, 0, 0) end end end addEvent ("onBuyWeapon", true) addEventHandler ("onBuyWeapon", getRootElement(), weaponGive) addCommandHandler (comandoComprar, function (thePlayer, cmd) if isElementWithinMarker (thePlayer, markerShop) then -- Se o jogador estiver no marker "MarkerShop", então: triggerClientEvent (thePlayer, "openShopWindow", thePlayer) -- Inicia conexão com o client pra exibir o painel. else outputChatBox ("Você não esta no shop de armas!", thePlayer, 255, 0, 0) end end) @IShiftey Você pode mudar o comando pra exibir o painel e as coordenadas do marker no começo do código, pra exibir o painel precisa estar encima do marker como você queria, quando chegar encima do marker use o botão /comprar por padrão definido por mim! Edited January 26, 2020 by Jonas^ Adicionando pra alterar o comando no começo do código + instruções! 1 Link to comment
IShiftey Posted January 26, 2020 Author Share Posted January 26, 2020 4 hours ago, Jonas^ said: krl vlw<3 entt assim vai funcionar? poderia me passar dc? se eu estiver com alguma duvida.. tipo como sou novo nessa area comecei ontem praticamente... Queria saber se era pra tacar tudo em um arquivo so ou criar 2 arquivos e tacar o client side em um e o server-side em outro Link to comment
Angelo Pereira Posted January 27, 2020 Share Posted January 27, 2020 (edited) 15 hours ago, IShiftey said: tipo como sou novo nessa area comecei ontem praticamente... Queria saber se era pra tacar tudo em um arquivo so ou criar 2 arquivos e tacar o client side em um e o server-side em outro Nesta correção do Jonas, você precisa criar 2 arquivos, um para o lado do servidor, e o outro para o lado do client. Ou seja, você cria um arquivo para o lado server de exemplo : "armas.Lua", e para o lado client exemplo de : "dx_painel.Lua", então seu "meta.xml" precisa está apontando seus arquivos: <meta> <script src="armas.Lua" type="server" /> <script src="dx_painel.Lua" type="client" /> </meta> O que for server-side, adicione em "armas.Lua", e o que for client-side, adicione em "dx_painel.Lua". Observação Importante : Você pode saber para qual lado vai a função/evento, indo até wiki, e no canto superior direita da tela estará as seguintes informações : Clientside event - Evento Apenas para o lado Client. Serverside event - Evento Apenas para o lado Server. Client-only function - Função Apenas para o lado Client. Server-only function - Função Apenas para o lado Server. Shared function - Função Compartilhada entre Server e Client. Shared Event - Evento Compartilhado entre Server e Client. .Lua - minusculo. Edited January 27, 2020 by Lord Henry Link to comment
IShiftey Posted January 27, 2020 Author Share Posted January 27, 2020 ok,so que quando chego no marker estou dando /compra e não está indo. se puder ajudar. Jubiscreudo#1901 meu dc Link to comment
Angelo Pereira Posted January 27, 2020 Share Posted January 27, 2020 (edited) Da /debugscript 3 e envia a linha do erro Testei aqui está funcionando perfeitamente, apenas faltou um guiSetVisible() na hora de o resource start no client. addEventHandler ("onClientResourceStart", resourceRoot, function () mainWindow = guiCreateWindow (sX/2 - 140, sY/2 - 135, 280, 270, "Loja de Armas", false) guiWindowSetSizable (mainWindow, false) guiSetProperty (mainWindow, "CaptionColour", "FF00FF00") btnM4 = guiCreateButton (59, 46, 163, 37, "M4 = 12000R$", false, mainWindow) guiSetProperty (btnM4, "HoverTextColour", "FF00FF00") btnDeagle = guiCreateButton (59, 93, 163, 37, "Deagle = 7000R$", false, mainWindow) guiSetProperty (btnDeagle, "HoverTextColour", "FF00FF00") btnAk = guiCreateButton (59, 140, 163, 37, "Ak-47 = 15000R$", false, mainWindow) guiSetProperty (btnAk, "HoverTextColour", "FF00FF00") btnMP5 = guiCreateButton (59, 187, 163, 37, "MP5 = 30000$", false, mainWindow) guiSetProperty (btnMP5, "HoverTextColour", "FF00FF00") btnClose = guiCreateButton (244, 240, 26, 20, "x", false, mainWindow) guiSetProperty (btnClose, "HoverTextColour", "FFFF0000") guiSetVisible (mainWindow, false) --/> Adicionando ! end) Edited January 27, 2020 by Angelo Pereira Link to comment
IShiftey Posted January 27, 2020 Author Share Posted January 27, 2020 ta falando que Server triggered clientside event openShopWindow,but event is not added clientside, acho q algum evento no foi adicionado! Link to comment
Angelo Pereira Posted January 27, 2020 Share Posted January 27, 2020 48 minutes ago, IShiftey said: ta falando que Server triggered clientside event openShopWindow,but event is not added clientside, acho q algum evento no foi adicionado! Você deve está errando em alguma coisa, eu testei aqui é esta funcionando. Verifique se você fez certo. Caso não encontra o problema, envie print do seu resource e meta. Link to comment
IShiftey Posted January 27, 2020 Author Share Posted January 27, 2020 ok,vou copiar tudo dnv krl eu que tinha copiado errado nem pra isso eu sirvo *_* obrigado ai pela ajuda pessoal e obg pela paciência. 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