Jump to content

Jonas^

Members
  • Posts

    1,016
  • Joined

  • Last visited

  • Days Won

    9

Everything posted by Jonas^

  1. Já expliquei como faz isso, só não mando link porque tô no celular mas da uma procurada que você acha rapidinho.
  2. Estranho, eu testei aqui, desloguei do server e loguei novamente e não necessitou baixar, talvez seja porque não desliguei o computador.
  3. Não, ele vai baixar apenas uma vez.
  4. Apenas arquivos client-side's são baixados e executados no PC do cara, ou seja, se o script tiver 2 lados, server e client o script não vai funcionar, agora se for apenas client se o cara for esperto ele apenas adicionar no meta, sim é capaz de funcionar tranquilamente. -- Para resolver isso, é bem simples, você pode simplesmente declarar cache=false no meta e claro compilar o arquivo quanto + segurança melhor, exemplo: <meta> <info author="Jonas^" version="1.0" name="Staff Mode" type="script"/> <script src="server.luac" type="server"/> <script src="client.luac" type="client" cache="false"/> </meta> Pode ver que na linha do client tem o atributo cashe=false ou seja, ele não vai ser colocado na pasta no pc do cara, basicamente isso explicando a grosso modo. E tem a forma complexa, que é por proteção por IP, ou seja, os arquivos só vão startar naquele devido IP.
  5. Ok, então o exemplo do malignos deve servir, tenha em mente que XML não é nada seguro em usar para esse tipo de coisa, pois é fácil burlar, aconselho que faça isso em um script onde você dentro do servidor libera a base pro cara exemplo: /criarbase nome conta - O jogador dono tera acesso a um painel onde ele poderá definir quem pode acessar o colshape da base ou não, aqui tem um resource de exemplo: E tem a versão v2 onde o painel é refeito e tem a opção do dono da base poder alterar a senha dos portões. Você pode se basear nele pra fazer, ou se quiser, pode comprar claro .
  6. Depende, me responde uma coisa oque você esta tentando fazer na realidade? você tem um painel de bases dentro do servidor onde você libera pro jogador? dai ele pode fazer as ações dentro do servidor? trocarsenha etc? é isso?
  7. Oi! Você deve fazer spawns de veículos usando CreateVehicle e claro você deve fazer algumas funções pra quando o veiculo explodir voltar para o lugar de origem e assim por diante, se tiver dúvidas poste aqui como você tentou.
  8. Não adianta fazer gambiarra, o certo é você obter o tempo que falta pra acabar a prisão do jogador com GetTimerDetails e salvar o tempo restante na conta do jogador quando ele deslogar com SetAccountData e quando ele logar usar getAccountData pra obter o valor que falta pra ele ser solto e setar esse tempo restante, assim impossibilitando que burlem o sistema de prisão e só realmente vão ser solto quando o tempo acabar, exemplo: https://youtu.be/sQx1dZfK-QQ OBS: Está a venda, caso se interesse entre em contato pelo discord: Evolution Scripting#4527
  9. Como você disse + de 2x no tópico ele é nativo, por tanto não tem como remove-lo, você pode alterar, mostre o sistema de chat que você esta fazendo.
  10. Não faz sentido seu código, não vai funcionar a verificação de comando errado, é a mesma coisa que isto versão um pouco melhorada xD: local destroyM = createMarker (-2411.38, -626.55, 132.38, "cylinder", 1.5, 255, 255, 255, 50) addEventHandler ("onMarkerHit", destroyM, function (hitElement, matchingDimension) if isElementWithinMarker (hitElement, destroyM) then outputChatBox ("Digite /destruir para destruir o veículo!", hitElement, 255, 0, 0) end end) addCommandHandler ("destruir", function (thePlayer, cmd) if isElementWithinMarker (thePlayer, destroyM) then local veiculo = getPedOccupiedVehicle (thePlayer) if (veiculo) then destroyElement (veiculo) outputChatBox ("Você removeu o veículo!", thePlayer, 0, 255, 0) else outputChatBox ("Você não esta em um veículo!", thePlayer, 255, 0, 0) end end end) Só pra ressaltar, isso ira remover todos veículos que o cara passar pelo marker, portanto não é nada viável, pois qualquer veículo irá poder ser deletado, então é melhor fazer da forma que já foi dito por tabela, basta ele adicionar os veículos na tabela quando for criado e o código dele ira funcionar, mas se quiser usar esse, o servidor é dele ele que sabe.
  11. Você cria um tópico na sessão BR obtem resposta e vem pra sessão scripting, esperando com que alguém te de código pronto. Vai dar erro pois não tem nenhum veículo na tabela veh, portanto onde você cria o veículo você deve adiciona-lo na tabela para que possa ser removido, seu código esta certo, só remova a tabela, use a tabela onde você cria os veículos.
  12. Resumindo você meio que clica 1 vez mas é acionado 2x pois inclui a janela também, se colocar false é assinado somente o botão e não a janela junto assim fazendo com que ative 1x...... enfim simples.
  13. OBS: Eu deixei a linha do onClientMarkerLeave, retire-a ou coloque pra fechar o painel quando o jogador colidir em determinado marker com o onClientMarkerLeave.
  14. Adicione um botão para fechar o painel, ou use o evento onClientMarkerLeave. local dp = createMarker (1579.9151611328, -1635.1785888672, 13.561134338379, "cylinder", 1.5, 0, 85, 0, 255) addEventHandler ("onClientResourceStart", resourceRoot, function () windowPolice = guiCreateWindow (79, 76, 398, 380, "Equipamentos", false) guiWindowSetSizable (windowPolice, false) f1 = guiCreateButton (36, 54, 145, 29, "Farda 1", false, windowPolice) f2 = guiCreateButton (36, 93, 145, 29, "Farda 2", false, windowPolice) f3 = guiCreateButton (36, 132, 145, 29, "Farda 3", false, windowPolice) f4 = guiCreateButton (36, 171, 145, 29, "Farda 4", false, windowPolice) vtr1 = guiCreateButton (230, 54, 145, 29, "viatura 1", false, windowPolice) vtr2 = guiCreateButton (230, 93, 145, 29, "viatura 2", false, windowPolice) vtr3 = guiCreateButton (230, 132, 145, 29, "viatura 3", false, windowPolice) aguia = guiCreateButton (230, 171, 145, 29, "Aguia", false, windowPolice) Equipamento = guiCreateButton (130, 307, 284, 49, "Pegar Equipamento", false, windowPolice) colete = guiCreateButton (131, 375, 283, 46, "Pegar colete", false, windowPolice) end) addEventHandler ("onClientMarkerHit", dp, function (hitPlayer, matchingDimension) if hitPlayer and getElementType (hitPlayer) == "player" and matchingDimension then render () end end) addEventHandler ( "onClientMarkerLeave", getRootElement(), markerLeave ) function render () if not guiGetVisible (windowPolice) then -- Seta a janela principal não estiver ativa, então: guiSetVisible (windowPolice, true) -- Seta a janela principal como true (ativada). showCursor (true) -- Seta o cursor como true (ativado). else -- Senão: guiSetVisible (windowPolice, false) -- Seta a janela principal como false (desativada). showCursor (false) -- Seta o cursor como false (desativado). end end addEventHandler ("onClientGUIClick", root, function (btn) if btn ~= "left" then return end -- Se o botão clicado do mouse não for o esquerdo, cancela a função e nada acontece. if source == aguia then -- Se o botão clicado for o botão aguia, então: --createVehicle (432, 1601.6129150391,-1699.3563232422,5.890625) elseif source == vtr1 then -- Se o botão clicado for o botão vtr1, então: -- createVehicle (432, 1603.0577392578, -1684.6134033203, 5.890625) elseif source == vtr2 then -- Se o botão clicado for o botão vtr2, então: -- createVehicle (432, 1601.2092285156, -1692.5222167969, 5.890625) elseif source == vtr3 then -- Se o botão clicado for o botão vtr3, então: -- createVehicle (432, 1601.6129150391, -1699.3563232422, 5.890625) -- OBS: Veículos tem que ser criados server-side pois client-side são apenas enfeites. (não funcionam) -- Mande um trigger para o server pra criar os veículos. elseif source == f1 then -- Se o botão clicado for o botão f1, então: setElementModel (localPlayer, 2) elseif source == f2 then -- Se o botão clicado for o botão f2, então: setElementModel (localPlayer, 4) elseif source == f3 then -- Se o botão clicado for o botão f3, então: setElementModel (localPlayer, 1) elseif source == f4 then -- Se o botão clicado for o botão f4, então: setElementModel (localPlayer, 4) end end)
  15. Claro, ta dentro de um onclientrender..
  16. Mostre o código todo. Como esta atualmente.
  17. addEventHandler ("onClientGUIClick", root, function (btn) if btn ~= "left" then return end -- Se o botão clicado do mouse não for o esquerdo, cancela a função e nada acontece. if source == buttonSkin then -- Se o botão clicado for o botão buttonSkin, então: setElementModel (localPlayer, id) end end)
  18. ''O bonito as vezes sai caro'', faça em GUI, se tiver dificuldades poste o código que te ajudo. 1. Faça o ambiente de trabalho. (Janelas, botões, labels, editboxs se tiver, enfim) e poste aqui se não souber continuar...
  19. Jonas^

    Interior

    Try: function lv (thePlayer, cmd) if isElementWithinMarker (thePlayer, Saida) then if getPlayerMoney (thePlayer) >= 5000 then takePlayerMoney (thePlayer, 5000) theTimer = setTimer (function () setElementInterior (thePlayer, 0, 1679.1728515625, 1501.638671875, 10.769113540649) outputChatBox ("( #00ff00INFO#ffffff ) #ffff00Obrigado Por Usar A UBI Bom Dia", thePlayer, 255, 255, 255, true) end, 100, 1) else outputChatBox "( #00ff00INFO#ffffff ) #ffff00Você não tem dinheiro Suficiente", thePlayer, 255, 255, 255, true) end end end addCommandHandler ("comprar", lv) @zThyPvpTK
  20. Falta eventos e funções ainda... lembrando que uma parte do código é cliente-side por se tratar de um painel. @#DeltaSCR
  21. Gostei dessa ideia de SMS, parece ser viável.
  22. Sim pois esta dentro de um loop, e qual necessidade de fazer um loop? e falta verificação se o jogador tem money, e se o jogador esta em um veículo or not, faça assim: local arrumar1 = createMarker (2063.10, -1831.18, 13.54 -1, "cylinder", 1.5, 255, 255, 0, 170) function Consertar (hitElement, matchingDimension) if (getElementType (hitElement) ~= "player") then return end if isElementWithinMarker (hitElement, arrumar1) then -- Se o jogador estiver no marker, então: local theVehicle = getPedOccupiedVehicle (hitElement) if (theVehicle) then -- Se o jogador estiver em um veículo, então: if getPlayerMoney (hitElement) >= 3000 then -- Se o jogador estiver 3k ou +, então: local preco = 3000 takePlayerMoney (hitElement, preco) -- Retira o valor da variável definida (preço = 3000) fixVehicle (theVehicle) -- Repara o veículo do jogador. outputChatBox ("Você consertou seu carro por $"..preco, hitElement, 0, 255, 0) else -- Senão: outputChatBox ("Erro! Você não tem dinheiro suficiente!", hitElement, 255, 30, 30) end else -- Senão: outputChatBox ("Erro! Você não está em um veículo!", hitElement, 255, 30, 30) end end end addEventHandler ("onMarkerHit", arrumar1, Consertar) OBS: Não testado.
  23. Isso é skin... você modifica uma skin do jogo por uma skin de uma vaca.
  24. Incrível como pensamos igual. (Desculpem eu sair fora do foco do tópico asuhusa) Se ela esta dentro de um escopo de outra função não vai adiantar de nada, coloque ela no mesmo escopo
×
×
  • Create New...