Jump to content

Big Smoker

Members
  • Posts

    318
  • Joined

  • Last visited

Everything posted by Big Smoker

  1. deu certo, so que anulei essa função, pois tinha alguns bug nela, que dava pra bugar se reloga-se ai coloquei setTimer(function() for i,col in pairs(getElementsByType("colshape"))do if getElementData(col,"BaseCol") then for i,player in pairs(getElementsWithinColShape(col,"player"))do -- FUNÇÃO... end end end end,1000,0) MUITO OBRIGADO PELA AJUDA.
  2. eu corrigi mais nao corrigi aqui olhe https://ibb.co/gRWS2Lw
  3. function chePlayergr(player,x,y,z,baseName) cheTimer = setTimer(function(player,baseName) if isElement(player) and getElementType(player) == "player" and baseName then if not((checkPlayerPermission(player,"A08") and getElementData(player,"Group") == getGroupNameFromBaseName(baseName)) or isObjectInACLGroup("user."..getAccountName(getPlayerAccount(player)),aclGetGroup("Admin"))) then if isTimer(cheTimer) then killTimer(cheTimer) end setElementPosition(player,x,y,z+1) outputChatBox("Você não tem mais acesso a Base!",player,255,255,255,true) end else killTimer(cheTimer) end end,2000, 0,player,baseName) end FICARIA ASSIM?
  4. eu coloquei essa função num colhit, quando player entra em uma col ele executa essa função, para identificar se o player existe é essa função aqui? getElementType(player) == "player" and baseName then
  5. Pessoal ja postei 1 topico com esse aviso mais ele voltou os avisos Bad argument @ 'getPlayerAccount' [Expected element at argument 1] [DUP x2] Bad argument @ 'getAccountName' [Expected account at argument 1, got boolean] [DUP x2] attempt to concatenate a boolean value [DUP x2] Bad argument @ 'getPlayerAccount' [Expected element at argument 1] Bad argument @ 'getAccountName' [Expected account at argument 1, got boolean] attempt to concatenate a boolean value ===================================================================================================================== -- LINHA QUE DA O AVISO if not((checkPlayerPermission(player,"A08") and getElementData(player,"Group") == getGroupNameFromBaseName(baseName)) or isObjectInACLGroup("user."..getAccountName(getPlayerAccount(player)),aclGetGroup("Admin"))) then ===================================================================================================================== Script - server.Lua function chePlayergr(player,x,y,z,baseName) if isElement(player) and getElementType(player) == "player" and baseName then if isTimer(cheTimer) then return end cheTimer = setTimer(function(player,baseName) if not((checkPlayerPermission(player,"A08") and getElementData(player,"Group") == getGroupNameFromBaseName(baseName)) or isObjectInACLGroup("user."..getAccountName(getPlayerAccount(player)),aclGetGroup("Admin"))) then if isTimer(cheTimer) then killTimer(cheTimer) end setElementPosition(player,x,y,z+1) outputChatBox("Você não tem mais acesso a Base!",player,255,255,255,true) end end,2000, 0,player,baseName) end end
  6. Oi, to querendo fazer o sistema parecido, so que com tempo exemplo, a barra fica carregando com a demora de 10 segundos ate chegar no final. So que nao entendi como demovo começar com essa função InterpolateBetween no dxDrawRectangle pode me ajudar?
  7. aqui obejctItem = {} addEvent( "reloadPickaps", true ) addEventHandler( "reloadPickaps", getRootElement(), function (col) counter = 0 if getElementData(getLocalPlayer(),"logedin") then for i, item in ipairs(itemTable["other"]) do if getElementData(col,item[1]) and getElementData(col,item[1]) > 0 then if counter == 3 then break end counter = counter + 1 -- outputChatBox("ok"..counter) obejctItem = {} setTimer(function(col) local cx, cy, cz = getElementPosition (col) --Aqui você deve colocar a posição do loot.. local px, py, pz = getElementPosition (localPlayer) --Aqui você acha a localização do player. local distancia = math.floor(getDistanceBetweenPoints3D (cx, cy, cz, px, py, pz)) -- outputChatBox(distancia) if tonumber(distancia) <= 20 then --Caso a distância seja maior ou igual que "x", então.. outputChatBox("COL PROXIMA: "..distancia) obejctItem[counter] = createObject(item[2],cx+math.random(-1,1),cy+math.random(-1,1),cz-0.875,item[4]) setObjectScale(obejctItem[counter],item[3]) setElementCollisionsEnabled(obejctItem[counter], false) setElementFrozen (obejctItem[counter],true) outputChatBox("OBJETOS CRIADOS") else if (cx and cy and cz) then if isElement(obejctItem[counter]) then destroyElement(obejctItem[counter]) end end -- outputChatBox("COL FORA: "..distancia) end end,1000,0,col) setElementData(col,"objectsINloot",{obejctItem[1], obejctItem[2], obejctItem[3]}) end end end end)
  8. exato, por isso que vim no forum saber que elemento posso usar para identificar o objeto ja criado
  9. eu uso o 0 para ele executar varias vezes, nao 1 vez.
  10. Boa Noite, Eu to com problema, fiz um timer a onde cria o objeto quando chega proximo da col, e deu certo mais ele fica criando varias vezes o mesmo objeto e queria que cria-se apenas 1 vez, so que com o timer rodando ainda setTimer(function(col) local cx, cy, cz = getElementPosition (col) --Aqui você deve colocar a posição do loot.. local px, py, pz = getElementPosition (localPlayer) --Aqui você acha a localização do player. local distancia = math.floor(getDistanceBetweenPoints3D (cx, cy, cz, px, py, pz)) -- outputChatBox(distancia) if tonumber(distancia) <= 20 then --Caso a distância seja maior ou igual que "x", então.. outputChatBox("COL PROXIMA: "..distancia) -- if not(isElement(obejctItem[counter])) then obejctItem[counter] = createObject(item[2],cx,cy,cz,item[4]) setObjectScale(obejctItem[counter],item[3]) setElementCollisionsEnabled(obejctItem[counter], false) setElementFrozen (obejctItem[counter],true) outputChatBox("OBJETOS CRIADOS") -- end else -- if isTimer(timerObjetos) then -- killTimer(timerObjetos) -- end if (cx and cy and cz) then if isElement(obejctItem[counter]) then destroyElement(obejctItem[counter]) end end -- outputChatBox("COL FORA: "..distancia) end end,1000,0,col)
  11. deu certo obrigadooo pode me ajuda no outro tópico a questão da renderização de objetos proximos? Eu quero colocar para aparecer os objetos criados quando chega proximo e quando sai ele sumir para nao da bug igual esta dando
  12. Estou recebendo aviso no console direito de uma função que eu fiz quando o player entra no hit de uma col AVISOS QUE FLOODA O CONSOLE. WARNING: Bad argument @ 'getAccountName' [Expected account at argument 1, got boolean] ERROR: attempt to concatenate a boolean value --[[Aviso]] -- isObjectInACLGroup("user."..getAccountName(getPlayerAccount(player)),aclGetGroup("Admin")) function chePlayergr(player,x,y,z,baseName) if isElement(player) then cheTimer = setTimer(function(player,baseName) if not((getElementData(player,"Group") == getGroupNameFromBaseName(baseName)) or isObjectInACLGroup("user."..getAccountName(getPlayerAccount(player)),aclGetGroup("Admin"))) then if isTimer(cheTimer) then killTimer(cheTimer) end setElementPosition(player,x,y,z+1) end end,2000,0,player,baseName) end end
  13. SIM TA CERTO, Por isso nao entendi o porque desse erro
  14. Bom dia, Preciso de uma ajuda, eu tenho um sistema que eu fiz um modo Server.Lua e quero tirar ele e colocar como client so que da erro AVISO: Bad argument @'xmlNodeGetChildren' [Expected xml-node at argument 1, got boolean] blipBases = {} addEvent("blipsMapsBases",true) addEventHandler("blipsMapsBases",getRootElement(),function(typeB) if blipBases then for i,blip in pairs(blipBases)do destroyElement(blip) end blipBases = false end if tonumber(typeB) then if not blipBases then blipBases = {} end xml2 = xmlLoadFile("others/Save/Saves/Panel/Bases.xml") for i,node in ipairs(xmlNodeGetChildren(xml2)) do -------------- AVISO AQUI if xmlNodeGetAttribute(node,"ownerAccount") == "AvailableBase" then local baseName = xmlNodeGetName(node) local baseCol = getBaseColshape(baseName) outputChatBox("OK") end end xmlUnloadFile(xml2) end end)
  15. mais o meu script ele ta como server, nao acha que vai lagar o servidor? e outra tem todas as posição em Z,Y,Z em tabela
  16. como assim? devo usar a onde?
  17. O problema é a quantidade de Obejetos proximo, meu servidor é de dayz e os Itens dele e tudo com objeto do GTA e tem as Gear, que nada mais é que umas parte que vc pega loot no chao igual o Free Fire, ai quando eu desativo esse Loot da gamemod os Objetos renderiza normal, mais quando eu ativo o Loot da Gamemod a renderização buga, ela falha igual as PRINT > COM O LOOT "ATIVO" https://ibb.co/tDKn0Lg > COM LOOT "DESATIVADO" OBSERVE OS CARROS NO FUNDO https://ibb.co/YPsG9VH Uma solução que eu queria tentar é colocar para renderizar ou aparecer esses objetos do loot quando player chega proximo dele, ai eu acho que nao iria bugar os loot igual ta agora
  18. ALGUEM PRA ME AJUDA?
  19. EU ACHEI O PROBLEMA, MAIS PRECISO DE AJUDA. No meu servidor de DayZ ele tem objetos criados que são as GEAR itens que dropa em toda parte do mapa e na area 51 também e como a area 51 é editada com objetos também ela fica pistando eu vou mostrar imagens. UMA PARTE DO SCRIPT DA GAMEMODE, ESSE SCRIPT ABAIXO É AS 'GEAR' a onde dropa os itens dentro de uma Col. OBS: esse escript é server.Lua function createPickupsOnServerStart() iPickup = 0 for i,pos in ipairs(pickupPositions["residential"]) do iPickup = iPickup + 1 createItemLoot("residential",pos[1],pos[2],pos[3],iPickup) end for i,pos in ipairs(pickupPositions["industrial"]) do iPickup = iPickup + 1 createItemLoot("industrial",pos[1],pos[2],pos[3],iPickup) end for i,pos in ipairs(pickupPositions["farm"]) do iPickup = iPickup + 1 createItemLoot("farm",pos[1],pos[2],pos[3],iPickup) end for i,pos in ipairs(pickupPositions["supermarket"]) do iPickup = iPickup + 1 createItemLoot("supermarket",pos[1],pos[2],pos[3],iPickup) end for i,pos in ipairs(pickupPositions["military"]) do iPickup = iPickup + 1 createItemLoot("military",pos[1],pos[2],pos[3],iPickup) end end createPickupsOnServerStart() function createItemLoot(lootPlace,x,y,z) col = createColSphere(x,y,z,1.25) setElementData(col,"itemloot",true) setElementData(col,"parent",lootPlace) setElementData(col,"MAX_Slots",12) for i, item in pairs(itemTable[lootPlace]) do if not tonumber(item[5]) then outputServerLog(item[1]) end local value = math.percentChance (item[5],math.random(1,2)) setElementData(col,item[1],value) end refre:~emLoot (col,lootPlace,true) return col end > Essa imagem é com os objetos da gamemode(ITENS) ATIVADO, olhe como ela some os objetos. https://ibb.co/tDKn0Lg > Já essa aqui é com esse aqui é com os (ITENS) DESATIVADO DA GAMEMODE, ela renderiza certinho o mapa. https://ibb.co/YPsG9VH Ai queria se colocando uma função de distancia da col de cada GEAR, iria resolver ou o que? OBRIGADO DESDE DE JÁ
  20. EU ACHEI O PROBLEMA, MAIS PRECISO DE AJUDA. No meu servidor de DayZ ele tem objetos criados que são as GEAR itens que dropa em toda parte do mapa e na area 51 também e como a area 51 é editada com objetos também ela fica pistando eu vou mostrar imagens. UMA PARTE DO SCRIPT DA GAMEMODE, ESSE SCRIPT ABAIXO É AS 'GEAR' a onde dropa os itens dentro de uma Col. OBS: esse escript é server.Lua function createPickupsOnServerStart() iPickup = 0 for i,pos in ipairs(pickupPositions["residential"]) do iPickup = iPickup + 1 createItemLoot("residential",pos[1],pos[2],pos[3],iPickup) end for i,pos in ipairs(pickupPositions["industrial"]) do iPickup = iPickup + 1 createItemLoot("industrial",pos[1],pos[2],pos[3],iPickup) end for i,pos in ipairs(pickupPositions["farm"]) do iPickup = iPickup + 1 createItemLoot("farm",pos[1],pos[2],pos[3],iPickup) end for i,pos in ipairs(pickupPositions["supermarket"]) do iPickup = iPickup + 1 createItemLoot("supermarket",pos[1],pos[2],pos[3],iPickup) end for i,pos in ipairs(pickupPositions["military"]) do iPickup = iPickup + 1 createItemLoot("military",pos[1],pos[2],pos[3],iPickup) end end createPickupsOnServerStart() function createItemLoot(lootPlace,x,y,z) col = createColSphere(x,y,z,1.25) setElementData(col,"itemloot",true) setElementData(col,"parent",lootPlace) setElementData(col,"MAX_Slots",12) for i, item in pairs(itemTable[lootPlace]) do if not tonumber(item[5]) then outputServerLog(item[1]) end local value = math.percentChance (item[5],math.random(1,2)) setElementData(col,item[1],value) end refre:~emLoot (col,lootPlace,true) return col end > Essa imagem é com os objetos da gamemode(ITENS) ATIVADO, olhe como ela some os objetos. https://ibb.co/tDKn0Lg > Já essa aqui é com esse aqui é com os (ITENS) DESATIVADO DA GAMEMODE, ela renderiza certinho o mapa. https://ibb.co/YPsG9VH Ai queria se colocando uma função de distancia da col de cada GEAR, iria resolver ou o que?
  21. fiz de um jeito aqui e deu certo, so quero saber se isso vai provocar lag para o player Blibs = {} Blibs2 = {} addEventHandler("blipsMaps",getRootElement(),function(BlipType) if tonumber(BlipType) == 22 then for i, blip in pairs(Blibs) do if isElement(blip)then destroyElement(blip) blip = nil end end for i, v in pairs(blips["Hospital"]) do local x,y,z, icon = unpack(v) Blibs[i] = createBlip(x,y,z,icon) end end if tonumber(BlipType) == 18 then for i, blip in pairs(Blibs2) do if isElement(blip)then destroyElement(blip) blip = nil end end for i, v in pairs(blips["Emmetgun"]) do local x,y,z, icon = unpack(v) Blibs2[i] = createBlip(x,y,z,icon) end end end)
  22. addEvent("blipsMaps",true) addEventHandler("blipsMaps",getRootElement(),function(BlipType) if tonumber(BlipType) then for i, v in pairs(blips["Hospital"]) do local x,y,z, icon = unpack(v) blips["Hospital"][i][5] = createBlip(x,y,z,icon) -- o índice 11 será o que armazena o elemento-blip, automaticamente dará p/ verificar se os blips já estão -- mostrando ou não verificando esse index end end triggerEvent("blipsMaps",getLocalPlayer(),18) -- o ID: 18 é do blip que eu quero que apareça no f11 fiz tudo certinho a tabela e tals. local blips = { ["Hospital"] = { {-2652.4165039063,636.17047119141,14.453125, 22}, {-2201.490234375,-2307.5251464844,30.625, 22}, {-320.2223815918,1051.8776855469,20.340259552002, 22}, {-1514.7344970703,2521.041015625,55.868324279785, 22}, {1607.8454589844,1818.189453125,10.8203125, 22}, {1173.6856689453,-1308.4567871094,13.929533004761, 22}, {2036.3381347656,-1409.3599853516,17.1640625, 22}, {2116.1796875,927.25421142578,10.8203125, 22}, {1242.6859130859,328.00698852539,19.7578125, 22}, {3746.9582519531,-649.80511474609,11.30312538147, 22}, -- { x,y,z, icon, visDistance, size, r,g,b,a }, -- size,r,g,b e a são opcionais, que servem para o blip id 0 -- { x,y,z, icon, visDistance}, }, ["Emmetgun"] = { {-3743.5068359375,-53.42359161377,5.3647117614746, 18}, {-2615.8911132813,2228.9240722656,11.268750190735, 18}, {2800.5715332031,586.2119140625,11.155365943909, 18}, {3640.703125,-634.15173339844,11.137484550476, 31}, {2530.2333984375,-1272.9838867188,34.955368041992, 18}, {-2085.0515136719,-2826.5590820313,3.1553654670715, 18}, {2317.0417480469,66.542579650879,26.655364990234, 18}, }, } esta correto? Mais nao entendi a função que vc me enviou eu coloquei na minha que eu fiz, e enviei para vc ver como é
  23. Então igual a area 51, eu deletei no editor de mapas as torres, e galpões que tinha e coloquei tudo modelado com objetos do GTA. mais o problema que quando os players sobe ou entra dentro dessas corres modeladas fica piscando, e parece que o player ta flutando
  24. Bom Dia, Eu estou tentando fazer um sistema de dano, quando o jogador a parte do carro quebra o motor, o pneu etc.. Eu tenho um sistema desse, mais eu comprei ja faz 3 anos e resolvi fazer eu mesmo, pois ele ta bugado e sou muito curioso de aprender isso, alem do cara que me vendeu não me responder mais. ai queria saber eu preciso usar o onClientVehicleCollision ou o onClientVehicleDamage eu tava fazendo assim para identificar as partes do carro ESSE AQUI EU TAVA VENDO SE TAVA DANDO A COLISÃO CERTA addEventHandler("onClientVehicleCollision", root, function (attacker, force, part, X, Y, Z, NX, NY, NZ, HitElementForce, model) -- if force then if part == 3 then outputChatBox("MOTOR") end if part == 13 or part == 14 or part == 15 or part == 16 then outputChatBox("TIRES") end if part == 2 or part == 7 or part == 8 then outputChatBox("PARTS") end end) ESSA AQUI EU PEGUEI NO FORUM addEventHandler("onClientVehicleCollision", root, function(element, force, part) if element then if getElementByType("vehicle") then outputChatBox("Body part was "..part) end end end ) EU SO PRECISO DE UMA LUZ PARA SABER O QUE DEVO USAR E ESSE DANO TEM QUE FUNCIONAR PARA TIROS QUANDO ACERTA O VEICULO TAMBÉM É POSSÍVEL?
  25. como que eu faço para colocar de todos que ta na tabela? coloquei a das bases e hospitais mais ta assim for i, v in pairs(blips["Hospital"]) do if v[11] then -- remover os blips dessa chave na tabela destroyElement(v[11]) blips["Hospital"][i][11] = nil -- remove a referência do elemento destruído da tabela else -- caso não existam os blips desse local irá executar esse escopo print( "os blips de 'Hospital' não estão no radar!" ) end end apenas para os dos hospitais
×
×
  • Create New...