Jump to content

Gw8

Members
  • Posts

    95
  • Joined

  • Last visited

4 Followers

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Gw8's Achievements

Punk-@ss B*tch

Punk-@ss B*tch (12/54)

32

Reputation

  1. EI Daleste entra em contato cmg aqui nesse dc, tenho uma equipe preparada e altamente treinada e trabalhamos por demanda. Lucas Machado#4683
  2. Isso tem várias maneiras de ser feito, mas recomendo que crie um backend que faça essas operações direto no bando do servidor, exemplo crie um bando mysql que sirva para o site e o servidor.
  3. getElementsByType("vehicle") retorna uma tabela de todos os carros criados no mapa, agora pra armas já é um pouco mais complexo pois depende da forma que ela foi criada no mapa.
  4. legal, isso acontece porque você está calculando um texto que é tamanho fixo com tamanho o da tela que não é fixo kkk enfim tente isto local textW = dxGetTextWidth ( " MTA:SA 1.5.9*", 1, "default", false ) local sx_, sy_ = guiGetScreenSize() --local sx, sy = sx_/1440, sy_/900 addEventHandler("onClientRender", root, function() local a = string.format("FPS: %d PING: %d", fps, getPlayerPing(localPlayer)) dxDrawText(a, 0, 0, sx - textW, sy, tocolor(255, 255, 255, 255), 1.00, "default", "right", "bottom", true, false, false, false, false) end )
  5. Eu trabalhei com muitos sistemas desse modelo, para Multi GameMode especificamente o melhor resultado é você criar o gerenciador de arquivos(mapas) fora mta, em um webservice php por exemplo, já para as arenas a melhor opção é utilizar eventos com base em resourceRoot, vai precisar tbm fazer tudo que o mta já faz nativamente porém fazendo alguns override em funções para conseguir carregar mapas e scripts com êxito, resumindo baixar mapas e script utilizando fetchremote e controlar o sistema utilizando eventos com resourceRoot, caso deseja comprar um sistema pode entrar em contato comigo, tenho um pronto, tmj.
  6. https://discord.com/developers/docs/resources/webhook
  7. use the information you need, then save the complete table in the created object. car = createVehicle(v.model, v.x, v.y, v.z) car:setData("dbData",result[ i ])
  8. use este evento https://wiki.multitheftauto.com/wiki/OnClientClick
  9. Gw8

    Peds

    seta loop na animação e depois testa de novo
  10. altera o 'thePlayer' para 'source' e testa de novo
  11. ItensNaoRemoviveis = { ["identidade"] = true, ["porte"] = true, ["cnh"] = true, ["ak47natal"] = true, } inventario = { {"hamburguer", 2}, {"suco", 3}, {"glock", 5}, {"kit_reparo", 2} } function teste() for i=#inventario,1,-1 do local item = inventario[i][1] if not ItensNaoRemoviveis[item] then table.remove(inventario,i) end end end addCommandHandler("test", teste) testa ae!
  12. depois dessa ultima atualizacao do mta tem ocorrido muito isso, tenta fazer o seguinte, seta a configuracao de atulizacao do mta para nightly e testa dnv.
  13. Na verdade vocês estão interpretando o sistema errado. Para voce criar um sistema onde pode aparecer uma lista de mensagens, primeiramente voce deve salvar estas mensagens em uma lista. Depois disso para voce deve montar um o dx das mensagens dentro de um FOR para que consiga atualizar as posicoes do dx confome à lista. Com isso voces conseguem fazer a lista de um tamanho infinito e garantir que o usuario veja todas as mensagens, da forma que voces pensaram pode ocorrer de sobre a mensagem ou até nao formar uma lista. local sx,sy = guiGetScreenSize() notify = { cache = {}, tick = getTickCount(), create = function(type,img,title,msg) if type and img and title and msg then notify.tick = getTickCount(), table.insert(notify.cache,1,{type=type,img=img,title=title,msg=msg,posX=sx,posY=-resY(60),alpha=1,tick=getTickCount()}) end end, render = function() for i,info in ipairs(notify.cache) do local progress = math.min((getTickCount()-notify.tick)/1500,1) local pg2 = 0 if progress >= 1 then pg2 = math.min((getTickCount()-(notify.tick+1500))/1500,1) end local check = getTickCount()-info.tick local posY = resY(61)*i-resY(61)+resY(5) local w = dxGetTextWidth(info.msg:gsub("#%x%x%x%x%x%x",""),1,createFont("default",12),false)+resX(25) local _w = resX(180) local h = resY(52) if w < _w then w = _w end info.posX,info.posY = interpolateBetween(info.posX,info.posY,0,sx-w-resY(5),posY,0,progress,"Linear") if progress == 1 and check >= 7000 then local progress = math.min((check-7000)/1500,1) info.alpha = interpolateBetween(info.alpha,0,0,0,0,0,progress,"Linear") if info.alpha <= 0.1 then table.remove(notify.cache,i) end end if info.type == "error" then r,g,b = 255,0,0 --playSound("files/error_notification.mp3") elseif info.type == "info" then r,g,b = 255,255,255 --playSound("files/notification.mp3") elseif info.type == "success" then r,g,b = 0,255,0 --playSound("files/success_notification.mp3") elseif info.type == "warning" then r,g,b = 255,190,0 --playSound("files/warning_notification.mp3") else r,g,b = 255,255,255 --playSound("files/error_notification.mp3") end -- background dxDrawImageSection(info.posX,info.posY,w,h,10,10,1,1,"img/border.png",0,0,0,tocolor(0,0,0,220*info.alpha),true) -- backgroud -- img bell dxDrawImage(info.posX+resY(5)-resX(7)*pg2,info.posY+resY(5)-resY(7)*pg2,resX(13)+resX(13)*pg2,resY(13)+resX(13)*pg2,"img/bell.png",0,0,0,tocolor(255,255,255,(220-220*pg2)*info.alpha),true) dxDrawImage(info.posX+resY(5),info.posY+resY(5),resX(13),resY(13),"img/bell.png",0,0,0,tocolor(255,255,255,220*info.alpha),true) -- title dxDrawText(info.title:upper(),info.posX+resX(25)+1,info.posY+resY(5)+1,info.posX+resX(1)+w-resX(3)+1,info.posY+resY(61)+1,tocolor(0,0,0,220*info.alpha),1,createFont("default",14),"left","top",true,false,true,true) dxDrawText(info.title:upper(),info.posX+resX(25),info.posY+resY(5),info.posX+resX(1)+w-resX(3),info.posY+resY(61),tocolor(240,240,240,220*info.alpha),1,createFont("default",14),"left","top",true,false,true,true) -- msg dxDrawText(info.msg:gsub("#%x%x%x%x%x%x","#000000"),info.posX+resX(25)+1,info.posY+resY(30)+1,info.posX+resX(1)+w-resX(3)+1,info.posY+resY(61)+1,tocolor(0,0,0,220*info.alpha),1,createFont("default",12),"left","top",true,false,true,true) dxDrawText(info.msg,info.posX+resX(25),info.posY+resY(30),info.posX+resX(1)+w-resX(3),info.posY+resY(61),tocolor(255,255,255,220*info.alpha),1,createFont("default",12),"left","top",true,false,true,true) --border dxRectangleLine(info.posX,info.posY,w,h,tocolor(r,g,b,20*info.alpha),true) end end } addEventHandler("onClientRender",root,notify.render) function createNotification(type,img,title,msg) notify.create(type,img,title,msg) end addEvent("createNotification",true) addEventHandler("createNotification",root,createNotification) Não teste este código, pois ele não vai funcionar no seu sistema, mas a lógica de criação da mensagem que você deve implementar é a mesma. Duvidas só manda é nois.
×
×
  • Create New...