Jump to content

zMpyster

Members
  • Posts

    111
  • Joined

  • Last visited

Recent Profile Visitors

698 profile views

zMpyster's Achievements

Sucka

Sucka (13/54)

12

Reputation

  1. http://prntscr.com/udy5x7 Aqui está a print da imagem, podem ver que eu apenas adicionei parte azul, não modifiquei as reais dimensões da imagem, apenas adicionei
  2. local enableBlips = true local renderNorthBlip = true local alwaysRenderMap = false local alwaysRenderOxygen = false local worldW, worldH = 3072, 3072 local blip = 8 local sx, sy = guiGetScreenSize() local rt = dxCreateRenderTarget(290, 175) local xFactor, yFactor = sx/1366, sy/768 local yFactor = xFactor function findRotation(x1,y1,x2,y2) local t = -math.deg(math.atan2(x2-x1,y2-y1)) if t < 0 then t = t + 360 end; return t; end function getPointFromDistanceRotation(x, y, dist, angle) local a = math.rad(90 - angle); local dx = math.cos(a) * dist; local dy = math.sin(a) * dist; return x+dx, y+dy; end newTab = {} function drawRadar() if (not isPlayerMapVisible()) then local mW, mH = dxGetMaterialSize(rt) local x, y = getElementPosition(localPlayer) local X, Y = mW/2 -(x/(6000/worldW)), mH/2 +(y/(6000/worldH)) local camX,camY,camZ = getElementRotation(getCamera()) dxSetRenderTarget(rt, true) if alwaysRenderMap or getElementInterior(localPlayer) == 0 then dxDrawRectangle(0, 0, mW, mH, 0xFF7CA7D1) dxDrawImage(X - worldW/2, mH/5 + (Y - worldH/2), worldW, worldH, "image/world.png", camZ, (x/(6000/worldW)), -(y/(6000/worldH))) end dxSetRenderTarget() dxDrawRectangle((30)*xFactor, sy-((198+10))*yFactor, (271)*xFactor, (164)*yFactor, tocolor(0, 0, 0, 160)) dxDrawImage((30+5)*xFactor, sy-((200+5))*yFactor, (270-10)*xFactor, (155)*yFactor, rt, 0, 0, 0, tocolor(139, 137, 137)) local rx, ry, rz = getElementRotation(localPlayer) local lB = (33)*xFactor local rB = (8+290)*xFactor local tB = sy-(208)*yFactor local bB = tB + (155)*yFactor local cX, cY = (rB+lB)/2, (tB+bB)/2 +(35)*yFactor local toLeft, toTop, toRight, toBottom = cX-lB, cY-tB, rB-cX, bB-cY for k, v in ipairs(getElementsByType("blip")) do local bx, by = getElementPosition(v) local actualDist = getDistanceBetweenPoints2D(x, y, bx, by) local maxDist = getBlipVisibleDistance(v) if actualDist <= maxDist and getElementDimension(v)==getElementDimension(localPlayer) and getElementInterior(v)==getElementInterior(localPlayer) then local dist = actualDist/(6000/((worldW+worldH)/2)) local rot = findRotation(bx, by, x, y)-camZ local bpx, bpy = getPointFromDistanceRotation(cX, cY, math.min(dist, math.sqrt(toTop^2 + toRight^2)), rot) local bpx = math.max(lB, math.min(rB, bpx)) local bpy = math.max(tB, math.min(bB, bpy)) local bid = getElementData(v, "customIcon") or getBlipIcon(v) local _, _, _, bcA = getBlipColor(v) local bcR, bcG, bcB = 255, 255, 255 if getBlipIcon(v) == 0 then bcR, bcG, bcB = getBlipColor(v) end if getBlipIcon(v) == 13 then setBlipSize(v, 6.4) end if getBlipIcon(v) == 25 then setBlipSize(v, 7) end local bS = getBlipSize(v) if getBlipIcon(v) ~= 34 then dxDrawImage(bpx -(blip*bS)*xFactor/2, bpy -(blip*bS)*yFactor/2, (blip*bS)*xFactor, (blip*bS)*yFactor, "image/blip/"..bid..".png", 0, 0, 0, tocolor(bcR, bcG, bcB, bcA)) end end end if renderNorthBlip then local rot = -camZ+180 local bpx, bpy = getPointFromDistanceRotation(cX, cY, math.sqrt(toTop^2 + toRight^2), rot) local bpx = math.max(lB, math.min(rB, bpx)) local bpy = math.max(tB, math.min(bB, bpy)) local dist = getDistanceBetweenPoints2D(cX, cY, bpx, bpy) local bpx, bpy = getPointFromDistanceRotation(cX, cY, dist, rot) if bpx and bpy then local bpx = math.max(lB, math.min(rB, bpx)) local bpy = math.max(tB, math.min(bB, bpy)) dxDrawImage(bpx -(blip*2)/2, bpy -(blip*2)/2, blip*2, blip*2, "image/blip/4.png", 0, 0, 0) --draw north (4) blip end end dxDrawImage(cX -(blip*2)*xFactor/2, cY -(blip*2)*yFactor/2, (blip*2)*xFactor, (blip*2)*yFactor, "image/player.png", camZ-rz, 0, 0) end end addEventHandler("onClientRender", root, drawRadar) Esse script cria um mini mapa com uma imagem 1536x1536. Eu editei essa imagem, adicionando 201 de largura, sendo assim a imagem atual está com 1737x1536 de tamanho, gostaria de saber de alguma forma conseguiria editar esse script para as novas dimensões da imagem Note: As coordenadas do mapa original permaneceram a mesma(1536x1536), ou seja, apenas foi adicionado 201 de largura. Note: Não foi eu o criador do script, apenas modifiquei o minimapa.
  3. Estava editando meu mod de trems e queria que de alguma forma quando tivesse 5 vagões o trem ficasse mais lento do que o normal. Eu já tentei usar setModelHandling e nada, muitos vão sugerir usar o setTrainSpeed, porém, eu quero que o player que esteja no trem seja livre para escolher a velocidade de andar e não que o script fique setando a velocidade do trem
  4. É uma comparação para eu ter uma noção do quão melhor é usar tabelas
  5. Tem como fazer assim, mas, eu me referia a um caso onde não tivesse alternativas, você só tinha 2 opções, usar 200 tabelas ou 1 elementData, qual seria mais viável?
  6. Então digamos que eu fosse salvar por exemplo lanches, se eu pudesse usar 200 tabelas diferentes ou 1 elementData, qual seria mais viável?
  7. Acho que todos sabem que o uso de muitos elementDatas acabam fazendo com o que o servidor fique "lagando", a minha dúvida é, quantas tabelas precisam ser criadas para o preço ficar igual ao de um elementData?
  8. Bom pessoal, tenho 2 scripts aqui, só que eu preciso quando o script 1 for desligado (lado do servidor), o script 2 retorne um valor (lado do cliente), eu tentei usar o trigger, mas, acaba que não dá tempo de finalizar a função e retornar o valor Os scripts que preciso de ligação é um de contagem de KM (funções no lado do cliente) e um de concessionária que receberá o valor de KM rodados quando for desligado (funções no lado do server) Espero ter conseguido deixar claro minha dúvida!
  9. posCars = { [1] = {-60.607, -1891.674, 7.345, -0, 0, 38.494, 589}, [2] = {-67.794, -1893.794, 7.373, -0, 0, 6.455, 402}, [3] = {-63.686, -1876.661, 7.145, -0, 0, 68.574, 492}, [4] = {-68.76, -1883.958, 7.231, -0, 0, 64.54, 546}, [5] = {-72.508, -1875.779, 7.144, -0, 0, 37.604, 400}, [6] = {-74.556, -1893.794, 7.375, -0, 0, 9.432, 579}, [7] = {-96.755, -1874.517, 7.059, -0, 0, 300.318, 580}, [8] = {-86.229, -1883.356, 7.192, -0, 0, 329.811, 550}, [9] = {-88.031, -1875.9, 7.092, -0, 0, 305.942, 494}, [10] = {-83.617, -1895.983, 7.36, -0, 0, 342, 474}, [11] = {-90.568, -1893.863, 7.321, -0, 0, 324.894, 603}, [12] = {-95.74, -1889.7, 7.257, -0, 0, 322.857, 549, 500}, [13] = {-102.904, -1884.16, 7.173, -0, 0, 316.183, 507}, [14] = {-115.831, -1879.266, 7.087, -0, 0, 320.578, 483}, [15] = {-113.032, -1883.835, 7.151, -0, 0, 309.337, 404}, [16] = {-87.334, -1907.68, 7.5, -0, 0, 350.368, 502}, [17] = {-81.205, -1913.04, 7.581, -0, 0, 9.733, 536}, [18] = {-93.914, -1914.425, 7.576, -0, 0, 339.613, 600}, [19] = {-100.304, -1902.246, 7.412, -0, 0, 323.16, 421}, [20] = {-108.174, -1900.021, 7.369, -0, 0, 307.313, 602}, [21] = {-102.732, -1916.18, 7.583, -0, 0, 330.774, 540}, [22] = {-112.588, -1910.002, 7.491, -0, 0, 311.229, 445}, [23] = {-119.002, -1905.607, 7.423, -0, 0, 304.179, 426}, [24] = {-115.182, -1917.262, 7.581, -0, 0, 294.489, 566}, [25] = {-122.122, -1914.214, 7.529, -0, 0, 315.483, 604}, [26] = {-116.957, -1892.801, 7.26, -0, 0, 305.495, 547}, [27] = {-118.075, -1899.84, 7.35, -0, 0, 303.497, 411}, [28] = {-124.798, -1891.835, 7.234, -0, 0, 314.033}, [29] = {-128.865, -1875.398, 7.014, -0, 0, 293.666}, [30] = {-131.948, -1881.229, 7.084, -0, 0, 312.091}, [31] = {-122.083, -1903.347, 12.111, -0, 0, 325.415}, [32] = {-104.14, -1914.299, 12.289, -0, 0, 344.294}, } function resourceStart() for k=1, #posCars do car[k] = createVehicle(posCars[k][7] or 411, posCars[k][1], posCars[k][2], posCars[k][3], posCars[k][4], posCars[k][5], posCars[k][6]) setVehicleDamageProof(car[k], true) setVehicleLocked(car[k], true) setVehicleColor(car[k], 255, 255, 255) setTimer (function() setElementFrozen(car[k], true) end, 3000, 1) end end addEventHandler("onResourceStart", resourceRoot, resourceStart) Esse script estava normal, porém hj fui iniciá-lo e começou a spawnar 2 carros ao invés de apenas 1 cliente: obj = createObject(1917, -100.8, -1879.4, -4.3, 0.75, 0, 187.75) objLowLOD = createObject ( 1917, -100.8, -1879.4, -4.3,0.75, 0, 187.75,true ) setLowLODElement ( obj, objLowLOD ) engineSetModelLODDistance ( 1917, 300 ) attempt to call global 'engineSetModelLODDistance' (a nil value) esse erro tbm, começou a dar apenas agr, eu queria deixar o debug limpo, esse erro não está interferindo em nada, porém fica dando no debug
  10. Sim, eu dei uma olhada e também vi essas funções, más, eu ainda tenho uma dúvida aqui, por que eles removeram essas funções? Alguém sabe se à algum projeto para novas funções parecidas como essas? O "Custom Train Tracks" ainda ta de pé? Talvez vocês saibam mais do que eu
  11. Alguém sabe se o MTA oferece algum suporte para criar trilhos personalizados, alguma função...?
  12. Comecei agora a mexer com o zmodeler, estou tendo um problema na parte de textura, meu carro estava com a porta invertida, o porta-malas tava como porta direita e a porta direita como porta-malas. Eu arrumei esse problema, exportei o dff tudo certo, porém quando iniciei o recurso do carro ele ficou sem textura, as portas estavam certas porém ele estava sem textura. Eu fiz aquilo de exportar o txd em bmp para ver se no zmodeler ele ficava com textura, porém nada, e as vezes dava esse erro aqui "invalid file signature. file:OpenSaveService.cpp. line:680" Eu tentei colocar a textura pela bola vermelha, porém fica tudo errado, coisas sobrepondo outras.
  13. é como eu disse kkkk, não tenho como testar, não tenho host
  14. Então, é que o que eu queria mesmo é por exemplo: Eu spawno um "linerunner" e um trailer, ai encaixando o trailer no caminhão ele fica preso pra todos, não fica aquela coisa bugada para os players sabe, será que então um código assim funcionaria: test = {} function detachTrailer(theTruck) if test[source] ~= true then attachTrailerToVehicle(theTruck, source) test[source] = true end end addEventHandler("onTrailerAttach", getRootElement(), detachTrailer) function reattachTrailer(theTruck) if test[source] == true then test[source] = false end end addEventHandler("onTrailerDetach", getRootElement(), reattachTrailer) Não testei, porém, creio eu que dessa forma acabaria com o loop infinito
×
×
  • Create New...