[M]ister

Members
  • Content Count

    426
  • Joined

  • Last visited

  • Days Won

    3

Everything posted by [M]ister

  1. Boa 👏, nem notei esse texto "skinp" na função do setPedSkin, replace all dá nisso kkk
  2. Você definindo uma variável chamada "root", você está sobrescrevendo a variável de mesmo nome pre-definida pelo MTA que seria a raiz de todos elementos (LINK), impossibilitando seu uso caso necessite. Marker = createMarker(2193.9870605469, -1000.0881958008, 62.851928710938 - 1, "cylinder", 2, 117, 254, 0, 255) MarkerF = createMarker(2603.4150390625, -1918.1767578125, 13.549844741821 - 1, "cylinder", 2, 0, 255, 0, 255) setElementVisibleTo(MarkerF, root, false) trab = createBlipAttachedTo(Marker, 42) setElementVisibleTo(Bfim, source, true) Bfim = createBlipAttachedTo(MarkerF, 19) setElementVisibleTo(Bfim, root, false) veh = {} skins = {} function inicio(thePlayer) if isElementWithinMarker(thePlayer, Marker) then if veh[thePlayer] and isElement(veh[thePlayer]) then destroyElement(veh[thePlayer]) veh[thePlayer] = nil end x, y, z = getElementPosition(thePlayer) Trabalho = true veh[thePlayer] = createVehicle(459, 2192.45703125, -1007.572265625, 64.420482635498, 0, 0, 81.835632324219) skins[thePlayer] = getElementModel(thePlayer) setPedSkin(thePlayer, 280) setElementVisibleTo(Bfim, thePlayer, true) setElementVisibleTo(MarkerF, thePlayer, true) warpPedIntoVehicle(thePlayer, veh[thePlayer]) outputChatBox("#ff00ff-------------------------------------------------------------", thePlayer, 0, 0, 0, true) outputChatBox("#ffb200Você Pegou o Trabalho de Vendedor de Drogas,", thePlayer, 0, 0, 0, true) outputChatBox("#ffb200Leve as drogas, para os local indicado,", thePlayer, 0, 0, 0, true) outputChatBox("#ffb200A ser entregada, ganhara 8000R$", thePlayer, 0, 0, 0, true) outputChatBox("#ff00ff-------------------------------------------------------------", thePlayer, 0, 0, 0, true) end end addEventHandler("onMarkerHit", Marker, inicio) function fim(thePlayer) if veh[thePlayer] and isElement(veh[thePlayer]) then destroyElement(veh[thePlayer]) givePlayerMoney(thePlayer, 8000) setPedSkin(thePlayer, "skinp", skins[thePlayer] or 0) setElementVisibleTo(Bfim, thePlayer, false) setElementVisibleTo(MarkerF, thePlayer, false) outputChatBox("#ff00ff-------------------------------------------------------------", thePlayer, 0, 0, 0, true) outputChatBox("#ffb200Você Entregou todas as encomendas,", thePlayer, 0, 0, 0, true) outputChatBox("#ffb200E Recebeu 8000R$ de Pagamento!", thePlayer, 0, 0, 0, true) outputChatBox("#ff00ff-------------------------------------------------------------", thePlayer, 0, 0, 0, true) else end end addEventHandler("onMarkerHit", MarkerF, fim) function sair(thePlayer) if (veh[thePlayer]) and isElement(veh[thePlayer]) then setElementVisibleTo(Bfim, thePlayer, false) setElementVisibleTo(MarkerF, thePlayer, false) destroyElement(veh[thePlayer]) setPedSkin(thePlayer, "skinp", skins[thePlayer] or 0) outputChatBox("#ffb200-------------------------------------------------------------", thePlayer, 0, 0, 0, true) outputChatBox("#00ff00Voce perdeu seu trabalho, Pois saiu do carro!", thePlayer, 0, 0, 0, true) outputChatBox("#ffb200-------------------------------------------------------------", thePlayer, 0, 0, 0, true) else end end addEventHandler("onVehicleExit", getRootElement(), sair) addEventHandler("onPlayerQuit", root, function() if (veh[source]) and isElement(veh[source]) then destroyElement(veh[source]) veh[source] = nil end if (skins[source]) then skins[source] = nil end end )
  3. Logado como administrador, execute os seguintes comandos no console (F8): start runcode srun for _, jogador in ipairs(getElementsByType("player")) do removeElementData (jogador, "Bank:Caixa") end srun for _, conta in ipairs(getAccounts()) do setAccountData(conta, "Bank:Caixa", false) end stop runcode Dica: faça com o resource desligado.
  4. Troque o trecho "table.unpack" por apenas "unpack". O MTA roda a versão 5.1 de Lua, sendo que o unpack só foi alterado para table.unpack na v5.2. E como foi usado ? Ali estamos trabalhando com array multidimensional, fazendo unpack na tabela raiz retornara as tabelas filhas, e não os elementos "desempacotados" dessa sub-tabela. local x, y, z = unpack (arr, math.random (#arr)) É igual à: x = arr[math.random(#arr)) y = arr[math.random(#arr)+1) ... arr[#arr]
  5. Tente: function adicionarCorp(thePlayer, _, id) if (isObjectInACLGroup("user." ..getAccountName(getPlayerAccount(thePlayer)), aclGetGroup("Admin"))) then if (setElementData(getPlayerID(tonumber(id)), "INT:BTS", true)) then outputChatBox("[INT]: #ffffffVocê colocou o jogador [ID]:"..id.." na corporação!", thePlayer,255,255,255, true) end end end addCommandHandler("corp", adicionarCorp) function removeCorp(thePlayer, _, id) if (isObjectInACLGroup("user." ..getAccountName(getPlayerAccount(thePlayer)), aclGetGroup("Admin"))) then if (removeElementData(getPlayerID(tonumber(id)), "INT:BTS")) then outputChatBox("[INT]: #ffffffVocê removeu o jogador [ID]:"..id.." da corporação!", thePlayer,255,255,255, true) end end end addCommandHandler("rcorp", removeCorp) Obs: getPlayerID não é uma função nativa do MTA, espero que esteja importando/incluindo no seu código.
  6. local arr = { { 2455.423, -2079.331, 12.547 }, { 2458.529, -2078.655, 12.547 }, { 2462.126, -2078.502, 12.547 }, } function test () local index = math.random(#arr) local x,y,z = table.unpack(arr[index]) createMarker(x, y, z, "cylinder", 1.5, 50, 100, 255, 100) end addCommandHandler("teste", test)
  7. Please remove: https://community.multitheftauto.com/index.php?p=resources&s=details&id=4193 DONE
  8. Tente: itens [ tostring(weaponID) ] = nil Se não resolver, tente depurar o código... exiba os itens, verifica se tal index/valor existe na tabela antes de remover, etc.
  9. O ID que tentou remover era algum destes: 31,32,29 ?
  10. E como ficou o conteúdo do json quando salvou ?
  11. A ideia é sempre obter o que já está salvo, efetuar as operações em cima do que obteve e então salvar todos novamente. -- Exemplo addCommandHandler("inventario", function(thePlayer, _, action, WeaponID, ammo) local houseName = playersInInterior[thePlayer] local itens = fromJSON(getHouseData(houseName, "houseWeapons")) if (action == "incluir") itens[WeaponID] = ammo else if (action == "remover") then itens[WeaponID] = nil end setHouseData(houseName, "houseWeapons", toJSON(itens)) end )
  12. local marker = createMarker (1684.8952636719, -2082.3459472656, 12.546875, "cylinder", 6, 0, 0, 0, 100) function antbug1(thePlayer) if isElementWithinMarker(source, marker) then outputChatBox("*Veículo bloqueado!", thePlayer, 255, 0, 0) cancelEvent() end end addEventHandler("onVehicleStartEnter",root, antbug1)
  13. Não está esquecendo de nada @GM_Goulart ? Pena que já lhe ajudaram, juro que fiquei super tentado com essa oferta.
  14. veh = {} for i=1,30 do veh[createVehicle(481, 1505.42102 + i, -1753.69446, 13.54688)] = true end
  15. @dener189, o seu código é muito repetitivo... o uso de tabelas é sugerido para otimização/manutenção: local comandos = { ["adiconarSAMU"] = { acl = "SAMU", restrito = {"Admin","Console"} }, ["adiconarVIP"] = { acl = "VIP", restrito = {"Admin","Console"} }, ["adiconarVIPOuro"] = { acl = "Ouro", restrito = {"Admin","Console"} }, ["adiconarVIPPrata"] = { acl = "Prata", restrito = {"Admin","Console"} }, ["adiconarVIPBronze"] = { acl = "Bronze", restrito = {"Admin","Console"} }, ["adiconarYoutuber"] = { acl = "Youtuber", restrito = {"Admin","Console"} }, ["adiconarComandosPolicia"] = { acl = "ComandosPolicia", restrito = {"Admin","Console"} }, ["adiconarTraficante"] = { acl = "Traficante", restrito = {"Admin","Console"} } } addEventHandler("onResourceStart", resourceRoot, function() for cmd,_ in pairs(comandos) do addCommandHandler(cmd,adicionar) end end ) function adicionar(playerSource, commandName, accountName) local permissao = false if (not isGuestAccount(getPlayerAccount(playerSource))) then local playerSourceAccount = getAccountName(getPlayerAccount(playerSource)) for _,acl in ipairs(comandos[commandName].restrito) do if isObjectInACLGroup ( "user." .. playerSourceAccount, aclGetGroup ( acl ) ) then permissao = true break end end end if (not permissao) then outputChatBox("Erro. Você não tem permissão para utilizar esse comando!", playerSource) return false end if (not accountName) then outputChatBox("Erro. Nenhuma conta informada!", playerSource) outputChatBox("Para dar TAG digite: /" .. comandos[commandName].acl .. " [CONTA]", playerSource) return false end if (not getAccount(accountName)) then outputChatBox("Erro. Conta não encontrada!", playerSource) return false end aclGroupAddObject(aclGetGroup(comandos[commandName].acl), "user."..accountName) outputChatBox("A conta '"..accountName.."' foi adicionado no grupo " .. comandos[commandName].acl .. " com sucesso!", playerSource) end (não testado)
  16. Basta clicar em cima da função que você será redirecionado à respectiva página da Wiki que informa o que faz, como utiliza e etc.
  17. local candidato1 = getElementsByType("candidato1",resourceRoot)[1] local votos1 = getElementData(candidato1,"votos") or 0
  18. local values = { [234] = 100, [211] = 200 } local theMarker = createMarker(0, 0, 0, "cylinder", 1.5, 255, 255, 0, 170) addEventHandler("onPlayerMarkerHit",root, function(markerHit, matchingDimension) if (markerHit == theMarker and matchingDimension) then local veh = getPedOccupiedVehicle(source) if (veh and values[getElementModel(veh)) then givePlayerMoney(source,values[getElementModel(veh)]) end end end ) Leia: https://www.Lua.org/pil/2.5.html
  19. Para desabilitar o F11: toggleControl("radar", false) Já para criar um personalizado envolve um conhecimento avançado (coordenadas/dimensionamento etc...). Sugiro utilizar algum da internet como base.
  20. Sim, através do isObjectInACLGroup
  21. @OSKHNAV Além de não seguir as normas do fórum ainda age sem educação… como espera ser ajudado ?
  22. Como mencionei, não vai influenciar no funcionamento do script, mas seria bom ajustar isso...
  23. Adicione o bind também no player que entrar no servidor: onPlayerJoin Isso: "motoronagora" or "motoroffagora" apesar de funcionar, não é uma lógica correta, pois para o computador ambos são valores válidos (verdadeiros) o que torna o uso do or indiferente. Ali ele sempre vai utilizar o "motoronagora" pelo simples fato de estar mais à esquerda e não por uma comparação lógica.
  24. http://crystalmv.net84.net:80/pages/scripts/npc_hlc.php