Jump to content

Jonas^

Members
  • Posts

    1,016
  • Joined

  • Last visited

  • Days Won

    9

Everything posted by Jonas^

  1. onPlayerLogin é somente server-side, você deve fazer uma conexão client-server com trigger. No server faça assim: addEventHandler( "onPlayerLogin", root, function() triggerClientEvent (source, "startRender", source, true) end ) E no client: local startRender = false function drawRender () local lvl = getElementData(localPlayer, "Level") or 1 local exp = getElementData(localPlayer, "Exp") or 0 local needexp = lvl * 1 dxDrawRectangle(x*12, y*495, x*298, y*27, tocolor(0, 0, 0, 207), false) -- Nivel dxDrawRectangle(567*sW, 700*sH, -540*sW, 30*sH, tocolor(0, 51, 153)) dxDrawRectangle(567*sW, 700*sH, -540*sW, 30*sH, tocolor(0, 51, 153)) dxDrawText(string.format("%d", 100/(needexp/exp)).."%", 670*sW, 1350*sH, 400*sW, 80*sH, tocolor(0, 0, 0), 1.20, "default-bold", "center", "center") end addEvent ("startRender", true) addEventHandler("startRender", root, function (showRender) if (showRender == startRender) then return end startRender = showRender if showRender then addEventHandler("onClientRender", root, drawRender) else removeEventHandler("onClientRender", root, drawRender) end end)
  2. Como esta seu código? talvez um removeEventHandler resolve o problema.
  3. Mostre a parte do marker pra gente ver caso não consiga fazer por conta própria com as funções que o @DNL291 citou acima.
  4. 1. Você deve estudar lógica de programação se você procurar no YouTube tem alguns vídeos, só não mando agora pois estou no celular, a partir dai você já vai ter uma noção. 2. Agora você deve estudar as funções do MTA acessando a wiki. 3. E último passo é baixar alguns recursos e tentar entender oque cada parte faz, aconselho ir comentando linha por linha e se tiver dúvidas fique a vontade para usar nosso lindo forum pt-br que todos aqui somos uma família e ajudamos uns aos outros.
  5. Tem +1 problema aí, use /debugscript 3 tente descobrir.
  6. Tente indentar o código @Laluis23 pra ficar mais fácil de entender e achar os erros exemplo: local ComandoDoChatGlobal = "olx" function adminchat (thePlayer, _, ...) local tbl = {...} local valor = tbl[#tbl] table.remove(tbl) local message = table.concat (tbl, " ") if (isPlayerOnGroup (thePlayer)) then conta = getAccountName(getPlayerAccount(thePlayer)) if isObjectInACLGroup ("user."..conta, aclGetGroup ("Console")) then outputChatBox ("#838B83[ #A020F0O#9ACD32L#FFA500X #838B83 ]#ffffff #00FF00» : #ffffffO Jogador #00FF00"..getPlayerName(thePlayer).. ", #ffffffestá vendendo #ffffff #DAA520"..message, player, 255, 255, 255, true) elseif isObjectInACLGroup ("user."..conta, aclGetGroup ("Everyone")) then outputChatBox ("#838B83[ #A020F0O#9ACD32L#FFA500X #838B83 ]#ffffff #00FF00» : #ffffffO Jogador #00FF00"..getPlayerName(thePlayer).. ", #ffffffestá vendendo #ffffff #DAA520"..message, player, 255, 255, 255, true) end end setElementData (thePlayer, "Chat:Avisado", true) setElementData (thePlayer, "Chat:Delay1", true) setTimer (setElementData, 5000, 1, thePlayer, "Chat:Delay1", false) end addCommandHandler (ComandoDoChatGlobal, adminchat) function isPlayerOnGroup (thePlayer) local account = getPlayerAccount (thePlayer) local inGroup = false for _, group in ipairs ( { "Everyone" } ) do if isObjectInACLGroup ( "user.".. getAccountName (account), aclGetGroup (group)) then inGroup = true break end end return inGroup end
  7. Me parece que tem uns end a mais ali na função 'adminchat'
  8. Você também pode usar a função SetClipboard para copiar o texto diretamente, dai o cara só cola no navegador usando CTRL + V e done.
  9. Sim. IsElementInWater -- Verifica se o jogador esta na água. GetElementModel -- Verifica a skin que o jogador está. CancelEvent -- Cancela o dano que você ira tomar. Acho que é isso.
  10. Se viu o tamanho do timer? ' Fora que você declarou thePlayer como argumento da função e manteve source no código inteiro. Em nem um momento você definiu o frozen como false para desabilitar, tente isto: function assaltar (thePlayer) outputChatBox("@Executou.", thePlayer, 0, 255, 0) givePlayerMoney (thePlayer, 1200) setPlayerWantedLevel (thePlayer, 5) setPedRotation (thePlayer, 270) setPedAnimation (thePlayer, "ped", "gang_gunstand", 10500, true, false, false, false) triggerClientEvent (root, alarmebanco, thePlayer) setElementFrozen (thePlayer, true) triggerClientEvent (root, avisoroubo, root, thePlayer) setElementPosition (thePlayer, 3099.97, - 3281.69, - 0.5) setTimer (setElementPosition, 5000000, 1, thePlayer, 1756.517578125,-1384.548828125,14.395313262939) setElementFrozen (thePlayer, false) end addEvent("assaltarbanco", true) addEventHandler("assaltarbanco", root, assaltar)
  11. Fica estranho né, tantas binds assim no teclado kk, o cara aperta 1 tecla sem querer e abre um chat apoksasa, sla eu não faria assim, mas enfim.
  12. Aconselho deixar sem binds, ou fazer uma coisa mais complexa como ao abrir o T mostrar os botões de cada chat e você selecionar.
  13. Da sim mano, não um gif precisamente mas você pode definir uma rotação pra ficar movimentando a imagem.
  14. Tem no GUI editor a a propriedade que você pode setar pra ajustar em todas as resoluções ou, você pode usar o calculo do Lord nesse vídeo: https://forum.multitheftauto.com/topic/113482-tutorial-em-vídeo-sobre-cegui/?tab=comments#comment-944331
  15. Você pode baixar o resource GUIEditor e fazer por ele.
  16. Se tiver alguma dúvida fique a vontade de perguntar.
  17. Pra fazer uma tela de download você pode usar uma propriedade no meta do resource de tela exemplo: <script> <script src="client.lua" type="client" cache="false"/> <download_priority_group>1</download_priority_group> </script> Repare nessa linha: <download_priority_group>1</download_priority_group> Setamos a propriedade para este resource ser baixado antes de todos, após ele ser baixado vai começar renderizar a tela, agora oque devemos fazer é um script pra ficar rodando em quanto os demais são baixados exemplo: function downScreen () if getElementData (localPlayer, "finishdown") then -- Se a data existir então: removeEventHandler ("onClientRender", getRootElement(), downScreen) -- Remove a render da tela setElementData (localPlayer, "finishdown", false) -- Seta a data como false end -- dxdraw da tela aqui! end addEventHandler( "onClientRender", root, downScreen) Repare nesta data, vamos usar ela pra saber se o cara esta ou não no download, agora vamos pegar um resource pra ser baixado por último e setar prioridade negativa nele, no meu caso eu uso o painel de login então ficaria assim no meta: <download_priority_group>-1</download_priority_group> E agora no resource: function disableDownScreen () setElementData (localPlayer, "finishdown", true) end addEventHandler ("onClientResourceStart", resourceRoot, disableDownScreen)
  18. Como este seu banco de dados? acredito que você tem que fazer uma nova coluna lá apenas para o admin. se for 1 = everyone, se for 2 Mod e assim por diante. OBS: Posso estar errado.
  19. Dai você já esta querendo de mais, você pode facilmente encontrar alguns chats deste tipo aqui pela internet, porém sem bindkey apenas com comando mesmo, desta forma: /tt - Twitter /dp - DeepWeb Enfim...
  20. Você pode obter o dinheiro de cada jogador facilmente usando: GetPlayerMoney
  21. setElementData(getLocalPlayer(), "mercadoCoisas"..d[1]..","..d[2]..","..d[3]..",1,"..d[5]..","..d[6]..","..d[7]..","..d[8]..","..d[9]..","..d[10])
  22. Olá, poste na sessão 83-client explique seu problema aqui detalhadamente em um tópico.
  23. Tente isso: local theMarker = createMarker (0, 0, 2.2, "cylinder", 1) function markerEnter (thePlayer) if isElementWithinMarker (thePlayer, markerEnter) then local vehicles = getElementsByType("vehicle") for i, v in ipairs (vehicles) do destroyElement(v) end end end addEventHandler( "onMarkerHit", theMarker, markerEnter)
  24. 1. Dúvida: Pra você fazer um recurso ser dependente do outro tem duas formas, uma delas é usar uma propriedade no meta desta forma: <include resource="Nome_Do_Resource"/> E a segunda maneira, é você usar um call de um resource para o outro. INFO: Call 2. Dúvida: Para você se teleportar do local que você esta a outro local você usa a função SetElementPosition Exemplo: function telePosition (thePlayer) setElementPosition (thePlayer, x, y, z) end addCommandHandler ("go", telePosition)
×
×
  • Create New...