-
Posts
95 -
Joined
-
Last visited
Everything posted by Gw8
-
PedLoja = { {0, 1398.5822753906, -1630.8250732422, 14.102245330811, 88}, -- i = 1 {0, 1398.5822753906, -1630.8250732422, 14.102245330811, 88}, -- i = 2 } essa forma que voce fez voce ler apenas a linha 1, logo nao é necessario for, pode acessar a informação direta. PedLoja[2] = 1398.5822753906 isso voce fez , -> https://forum.multitheftauto.com/topic/36659-navegando-pelos-elementos-de-uma-tabela/
-
local lastChatMessage = {} function ChatSystem ( text, msgType) local name = _getPlayerName( source ) local text = string.gsub( text,'#%x%x%x%x%x%x', " ") if ( msgType == 1 ) then return cancelEvent(true) end if ( msgType == 0 ) then cancelEvent(true) if chatTime[source] and chatTime[source] + tonumber(150) > getTickCount() then return outputChatBox("Please dont spam.",source,255,0,0) else chatTime[source] = getTickCount() end if lastChatMessage[source] and lastChatMessage[source] == text then return outputChatBox("You can't repeat that message so soon.",source,255,0,0,true) else lastChatMessage[source] = text end cancelEvent(true) local x,y,z = getElementPosition(source) for i,player in pairs(getElementsByType("player")) do local px,py,pz = getElementPosition(player) local distance = getDistanceBetweenPoints3D(x,y,z,px,py,pz) if distance < 100 then outputChatBox(name.."#FFFFFF: "..text,player,255,255,255,true) end end end end addEventHandler("onPlayerChat",root,ChatSystem) function _getPlayerName(player) local playerTeam = getPlayerTeam(player) if (playerTeam) then local r,g,b = getTeamColor(playerTeam) local color = RGBToHex(r,g,b) playerName = color..getPlayerName(player) else playerName = "#FFFFFF"..getPlayerName(player) end return playerName end function RGBToHex(red,green,blue) return string.format("#%.2X%.2X%.2X",red,green,blue) end Nem testei blz familiaa testa ai ver oque da!
-
meu deuss dksjdk muda la guiCreateBrowser(0, 0, sx, sy, true, true, false)
-
apaga essa linha e ver se o botao aparece. background-image: url("../img/background.jpg");
-
entao a questao do background tampar o seu botao pode ter varios motivos exemplo: element createBrowser ( int width, int height, bool isLocal [, bool transparent = false ] ) o browser nao ser criado com fundo transparente, voce tem que ser mais especifico. Sua html tem fundo como img encima do botao? utiliza o proprio gui ou dx para renderizar?
-
O post foi mais uma opcao pro cara ver a execucao do codigo que voce fez mano, nao quis dizer que o seu ta errado, a forma que voce fez tambem ta certa fez em pilha( o ultimo a entrar eo primeiro a sair), eu pensei em fila ai so aproveitei oque voce escreveu mais nada. elementos a,b,c,d,e,f pilha table.insert a,b,c,d,e,f se remover ultimo eo 'f' que sai. fila table.insert 1 f,e,d,c,b,a se remover o ultimo eo 'a' que sai. Eh nOiss parca vlww
-
table.insert(objs,1,o)
-
Uma outra forma de escrever o seu exemplo @SrPattif eh nois manoo for i=0,12 do local arma = getPedWeapon(player,i) if arma == 0 then guiSetProperty(GUIEditor.label[4+i],"Text","-") else guiSetProperty(GUIEditor.label[4+i],"Text",getWeaponNameFromID(arma)) end end
-
ué exemplo de config.Lua config = { id = 500; } exemplo do arquivo compilado: function getConfigId() return config.id end print(getConfigId()) -- ou print(config.id)
-
Simples, o arquivo config.Lua nada mais é que um script normal com variáveis globais.
-
exemplo de um botao em dx ele é ativado pelo evento onClientCLick certo, no seu caso é diferente só é necessario mudar o ID da aba com bindkey. abaAtual = 1 abas={ {carros}, {motos}, {avioes} } function up () abaAtual = abaAtual - 1 end bindKey("arrow_u","down",up) function down() abaAtual = abaAtual - 1 end bindKey("arrow_d","down",down) -- minha pagina sendo mostrada abas[abaAtual] espero que de para entender kk obs: nao construir a funcao para ser utilizada é somente como exemplo basico de como deve ser construido
-
tem como sim, mas voce vai precisar criar ele e nao usar um resource que gera pra voce
-
me mostra a parte do seu codigo ai o progesso ta errado por isso ta doidao assim kkk testa isso local vida= math.min(getElementHealth(localPlayer)/1000,1)
-
function _dxDrawImageSection(x,y,w,h,x1,y1,x2,y2,img,rx,ry,rz,r,g,b,a,postGUI,percent) local y1 = y1 + y2*percent local y2 = y2 - y2*percent local y = y + h*percent local h = h - h*percent dxDrawImageSection(x,y,w,h,x1,y1,x2,y2,img,rx,ry,rz,tocolor(r,g,b,a),postGUI) end exemplo: local nitro = getVehicleNitroLevel(vehicle) if nitro ~= false and nitro ~= nil and nitro > 0 then _dxDrawImageSection(sX-sY*0.12,sY*0.935-sY*0.045,sY*0.04,sY*0.04,0,0,256,256,"img/nitro.png",0,0,0,99,150,255,alpha,false,1-nitro) end espero ter ajudado é nois jovem!!
-
cara não sei se vou conseguir te ajudar porque minha especialidade é race certo, mas se fosse race seria isso local lightsShader = {} for i=1,6 do local shader = dxCreateShader("lights/lights.fx") local texture = dxCreateTexture("lights/"..i..".png","dxt3") dxSetShaderValue(shader,"gTexture",texture) lightsShader[i] = shader end function setLight(vehicle,id) engineApplyShaderToWorldTexture(lightsShader[id],"vehiclelights128",vehicle) engineApplyShaderToWorldTexture(lightsShader[id],"vehiclelightson128",vehicle) end function loadVehicleCustoms(vehicle) local player = vehicle:getController() if player then if player:getData("lightID") then setLight(vehicle,tonumber(player:getData("lightID"))) end end end addEventHandler("onClientVehicleEnter",root, function () loadVehicleCustoms(source) end ) player:setData("lightID",5) no seu caso voce precisa setar um elementData nos players que vao usar o shader e escolher um evento tipo onClientElementStreamIn ou onClientElementStreamOut pra fazer ele aparecer.
-
Nota: Os veículos (e outros elementos) criados no lado do cliente são vistos apenas pelo cliente que os criou, não são sincronizados e os jogadores não podem entrar neles. Eles são essencialmente apenas para exibição. Essa informação jaé mostrada em createVehicle acho que você deixou passar XD
- 1 reply
-
- 1
-
Como faço um Painel de Login que Loga pelo site
Gw8 replied to ytjuliocesar's topic in Programação em Lua
Faça uma API no site que verifique se exista login e se a senha esta correta, assim que ela estiver pronta voce faz um script chamando ela no servidor. *Porque uma API? Resposta simples, assim voce pode utilizar o mesmo sistema de login do SITE sem perder tempo integrando DbConnect e gerando sistema de encrypt oque seria complexo. Em questao dos Status voce deve utilizar este sistema MTA PHP_SDK pelo menos e esse que eu utilizo no meu. $server = new Server('127.0.0.1', 22005); $auth = new Authentication('login', 'senha'); $mta = new Mta($server, $auth); $resposta = $mta->getResource('nome_do_resource')->call('nome_da_funcao', $arg1, $arg2, $arg3, ...); se sua função no servidor tiver argumentos deve ser preenchido ali o $arg1, $arg2... e a $resposta é oque a função que você chamou te retorna eo 'return' dela. exemplo $response = $mta->getResource('executaCalculo')->call('soma',5,5); -- funcao no servidor dentro do resource executaCalculo function soma(a,b) return (a+b) end -- $resposta = 10. tem outras questoes tambem voce deve verificar como o Meta(<export function="soma" type="server" http="true" />) para habilitar a funcao eo user que e um user somente para http. Espero ter ajudado. -
Boa noite pessoal, Pense na seguinte situação: Voce tem os resources A, B e C, todos eles utlizam browser, cada um com um fim especifico para o sistema. Para manter tudo funcionando perfeitamente, sem um click interferir em 2 browser ao mesmo tempo foi integrado o focusBrowser, mas isso me causou um outro problema que é "Eu preciso saber qual browser está com o focus no momento indepente do resource que esteja com ele e salvar o elemento dele para assim que eu fechar o browser atual retornar o focus pro anterior". Vou postar a classe do browser que criei, e duas prints dos sistemas. se alguem tiver uma solução simples que me atenda para um grande numero de browsers eh nois. browser = {} browser.__index = browser function browser.create(x,y,w,h,localy,url) local self = setmetatable({},browser) self.x = x self.y = y self.w = w self.h = h self.url = url self.tick = getTickCount() self.element = createBrowser(self.w,self.h,localy,true) self.init = function() self:setUrl(url) end self.cursorMove = function(_,_,x,y) if self.element:isFocused() then self:onCursorMove(x,y) end end self.scrol = function(key) if self.element:isFocused() then self:key(key) end end self.onClick = function(button,state) if self.element:isFocused() then self:click(button,state) end end addEventHandler("onClientClick",root,self.onClick) addEventHandler("onClientKey",root,self.scrol) addEventHandler("onClientBrowserCreated",self.element,self.init) addEventHandler("onClientCursorMove",root,self.cursorMove) return self end function browser:render() local posX,posY,alpha = self.x,self.y,1 dxDrawImage(posX,posY,self.w,self.h,self.element,0,0,0,tocolor(255,255,255,255*alpha)) end function browser:setUrl(url) self.element:loadURL(url,"",false) self:requestFocus(true) end function browser:requestFocus(bool) if bool then focusBrowser(self.element) else focusBrowser(nil) end end function browser:execJS(string) executeBrowserJavascript(self.element,string) end function browser:checkPageName(name) if string.find(self.element:getURL():lower(),name,1,true) then return true end return false end function browser:key(key) if key == "mouse_wheel_down" then self.element:injectMouseWheel(-40,0) elseif key == "mouse_wheel_up" then self.element:injectMouseWheel(40,0) end end function browser:onCursorMove(x,y) local posX,posY = self.x,self.y self.element:injectMouseMove(x-posX,y-posY) end function browser:click(button,state) if state == "down" then self.element:injectMouseDown(button) else self.element:injectMouseUp(button) end end function browser:getUrl() return self.element.url end function browser:destroy() removeEventHandler("onClientClick",root,self.onClick) removeEventHandler("onClientKey",root,self.scrol) removeEventHandler("onClientBrowserCreated",self.element,self.init) removeEventHandler("onClientCursorMove",root,self.cursorMove) self.element:destroy() setmetatable(self,nil) end
-
@Angelo Pereira por mais que pareça que o código que você criou está certo, ele ainda não está executando corretamente oque ele solicitou, tente interpretar o texto corretamente desta vez.