-
Posts
318 -
Joined
-
Last visited
Everything posted by Big Smoker
-
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.
-
eu corrigi mais nao corrigi aqui olhe https://ibb.co/gRWS2Lw
-
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?
-
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
-
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
-
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?
-
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)
-
exato, por isso que vim no forum saber que elemento posso usar para identificar o objeto ja criado
-
eu uso o 0 para ele executar varias vezes, nao 1 vez.
-
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)
-
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
-
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
-
SIM TA CERTO, Por isso nao entendi o porque desse erro
-
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)
-
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
-
como assim? devo usar a onde?
-
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
-
ALGUEM PRA ME AJUDA?
-
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Á
-
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?
-
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)
-
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 é
-
script RENDERIZAÇÃO
Big Smoker replied to Big Smoker's topic in Ajudas relacionadas ao MTA:SA (Cliente/Servidor)
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 -
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?
-
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