Gw8

Members
  • Content Count

    44
  • Joined

  • Last visited

Community Reputation

15 Decent

3 Followers

About Gw8

  • Rank
    Rat

Recent Profile Visitors

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

  1. Gw8

    random for letter

    function asd() local bb = {"A", "B", "C", "F", "G"} local z = bb[math.random(1,#bb)] outputChatBox(z) end addCommandHandler ( "ss", asd )
  2. Gw8

    random for letter

    function asd() local bb = {"A", "B", "C", "F", "G"} local z = "" for _, i in ipairs( bb ) do z = i end outputChatBox(z) end addCommandHandler ( "ss", asd )
  3. mano tudo depende do quando voce usa por exemplo, se voce usa element data pra fazer um sistema no serverside tente emplementar ele usando tabelas, é uma alternativa, agora se voce usa elementdata que intergram client-server nao tem outra opção. por exemplo uma data com nome 'cash' onde voce atualiza ela no serverside e mostra ela com um dx no client, é muito melhor usar o element mesmo do que uma função que fica atualizando.
  4. Gw8

    MessageDx

    Cara a solução para o seu problema é simples, você deve criar um setElementData no player salvando o nome do seu trabalho, como a função de verificação é feita atraves da acl isso so funciona no serverside e nao clientside como estava ali. No client voce so verifica se ele existe, se sim mostra o nome. local myJob = localPlayer:getData("myJob") or false if myJob then dxDrawText(myJob) end
  5. Gw8

    Me ajudem

    local inRender = false function render() dxDrawRectangle(0,0,300,200,tocolor(0,220,0,150)) end function setRender(cmd) removeEventHandler("onClientRender",root,render) inRender = not inRender if inRender then addEventHandler("onClientRender",root,render) end end addCommandHandler("show",setRender)
  6. não faz sentido isso que voce escreveu, ninguem usa exports em um resource aleatorio, voce precisa do nome dele previamente. call ( getResourceFromName ( "resource" ), "exportedFunction", 1, "2", "three" ) exports.resource:exportedFunction ( 1, "2", "three" ) exports["resource"]:exportedFunction ( 1, "2", "three" ) e tambem voce consegue utilizar o getResourceFromName e getResourceState para uma pre checagem antes de executar o exports via client.
  7. eu colocaria exports só porque o sistema ficaria melhor encapsulado, e também eliminaria o serverside.
  8. impossivel, quando foi criada a função da senha por exemplo function acesso(player,cmd,pass) end addCommandHandler("senha",acesso) foi atribuido o cmd "senha" a função acesso, se voce tentar remover ele, as senhas reais vao virar comandos primarios, por exemplo /1, ele vai procurar uma função que foi atribuido o cmd "1".
  9. button = {} button.__index = button function button.create(x,y,w,h,string,font,cr,cg,cb,exeCode) local self = setmetatable({},button) self.x = x self.y = y self.w = w self.h = h self.text = string or "" self.font = font self.cr = cr or 255 self.cg = cg or 255 self.cb = cb or 255 self.state = true self.exeCode = loadstring(exeCode) self.funcClick = function(but,state) self:clickHere(but,state) end addEventHandler("onClientClick",root,self.funcClick) return self end function button:setState(bool) self.state = bool end function button:render() local posX,posY,alpha = self.x,self.y,1 dxDrawRectangle(posX,posY,self.w,self.h,tocolor(0,0,0,35*alpha)) if isMousePosition(posX,posY,self.w,self.h) then dxDrawRectangle(posX,posY,self.w,self.h,tocolor(self.cr,self.cg,self.cb,220*alpha)) dxDrawText(self.text,posX+1,posY+1,posX+self.w+1,posY+self.h+1,tocolor(0,0,0,240*alpha),1,self.font,"center","center",true) dxDrawText(self.text,posX,posY,posX+self.w,posY+self.h,tocolor(255,255,255,240*alpha),1,self.font,"center","center",true) else dxDrawRectangle(posX,posY,self.w,self.h,tocolor(self.cr,self.cg,self.cb,190*alpha)) dxDrawText(self.text,posX+1,posY+1,posX+self.w+1,posY+self.h+1,tocolor(0,0,0,210*alpha),1,self.font,"center","center",true) dxDrawText(self.text,posX,posY,posX+self.w,posY+self.h,tocolor(255,255,255,210*alpha),1,self.font,"center","center",true) end end function button:clickHere(but,_state) local posX,posY = self.x,self.y if isMousePosition(posX,posY,self.w,self.h) and self.state then if but == "left" and _state == "down" then return end self.exeCode() end end function button:destroy() removeEventHandler("onClientClick",root,self.funcClick) if self.parent then self.parent:rem(self) end setmetatable(self,nil) end function isMousePosition(x,y,w,h) if (not isCursorShowing()) then return false end local cX,cY = getCursorPosition() local cX,cY = sX*cX,sY*cY if ( cX >= x and cX <= x+w and cY >= y and cY <= y+h ) then return true else return false end end novoBut = button.create(0,100,100,30,"click aqui","default",0,255,0,[[triggerServerEvent("Farda1PM",localPlayer)]]) novoBut2 = button.create(0,100,140,30,"click aqui2","default",0,255,0,[[triggerServerEvent("Farda2PM",localPlayer)]]) -- para mostrar o botao no dx, exemplo function show() novoBut:render() novoBut2:render() end addEventHandler("onClientRender",root,show) -- para habilitar e desabilitar a função de click. novoBut:setState(false) novoBut:setState(true) um exemplo de codigo que eu fiz um botao em dx um pouco mais avançado, mas voce ja entende eu creio. continue fazendo o painel em gui é um bom começo para aprender, apesar de nunca ter usado.
  10. tMensagems = 1 -- TEMPO cont = 1 MensagensInfo = { "Falta 10 Minutos para acabar o Roud.", "Falta 9 Minutos para acabar o Roud.", "Falta 8 Minutos para acabar o Roud.", "Falta 7 Minutos para acabar o Roud.", "Falta 6 Minutos para acabar o Roud.", "Falta 5 Minutos para acabar o Roud.", "Falta 4 Minutos para acabar o Roud.", "Falta 3 Minutos para acabar o Roud.", "Falta 2 Minutos para acabar o Roud.", "Falta 1 Minutos para acabar o Roud.", "Roud Finalizado. X1 de Costas Será iniciado!", } setTimer(function ( ) cont = cont +1 outputChatBox ('#FF0000[INFO]: #FFFFFF'..MensagensInfo[cont] ,getRootElement(),255,255,255,true) end, tMensagems * 60000 , 0)
  11. function checkVehicle(vehicleEntered) local isForcedFalse = forcedEvents[eventName] ~= true if localPlayer.inVehicle == inVehicle and isForcedFalse then return end local tempVehicle = vehicleEntered or getPedOccupiedVehicle(localPlayer) local seat = getPedOccupiedVehicleSeat(localPlayer) inVehicle = ((seat == 0 and allowedType[tempVehicle.vehicleType]) and (isForcedFalse and localPlayer.inVehicle or false) or false) if inVehicle and seat==0 then vehicle = tempVehicle removeEventHandler("onClientPlayerWasted",localPlayer,checkVehicle) removeEventHandler("onClientRender",root,drawMeter) removeEventHandler("onClientPreRender", root, updateFPS) addEventHandler("onClientVehicleDamage",vehicle,onCollide) addEventHandler("onClientElementDestroy",vehicle,checkVehicle) addEventHandler("onClientPlayerWasted",localPlayer,checkVehicle) addEventHandler("onClientRender",root,drawMeter) addEventHandler("onClientPreRender", root, updateFPS) elseif not inVehicle and vehicle then removeEventHandler("onClientVehicleDamage",vehicle,onCollide) removeEventHandler("onClientElementDestroy",vehicle,checkVehicle) removeEventHandler("onClientPlayerWasted",localPlayer,checkVehicle) removeEventHandler("onClientRender",root,drawMeter) removeEventHandler("onClientPreRender", root, updateFPS) vehicle=nil end end
  12. https://wiki.multitheftauto.com/wiki/GetTimestamp
  13. local vis_sound_stream = nil
  14. mesma coisa de uma nametag, porém você vai usar o marker invez do player.
  15. function revistar_jogador(player,cmd,nick) local accName = getAccountName(getPlayerAccount(player)) if not isObjectInACLGroup ("user."..accName,aclGetGroup("ComandosPolicia")) then return outputChatBox("#000000[#ff0000POLICIA#000000] #c1c1c1Você nao tem permissao a este comando!",player,255,255,255,true) end local toPlayer = getPlayerFromPartialName(nick) if not toPlayer then return outputChatBox("#000000[#ff0000POLICIA#000000] #c1c1c1nick invalido!",player,255,255,255,true) end local toPlayerName = getPlayerName(toPlayer) local playerName = getPlayerName(player) local toPlayerWantedLv = getPlayerWantedLevel(toPlayer) local px,py,pz = getElementPosition(player) local tpx,tpy,tpz = getElementPosition(toPlayer) local dist = getDistanceBetweenPoints3D(px,py,pz,tpx,tpy,tpz) if dist >= 5 then outputChatBox("#000000[#ff0000POLICIA#000000] #c1c1c1Chegue Mais Perto Do Jogador Pra Executar Este Comando!",player,255,255,255,true) else setPedAnimation(player,"POLICE","plc_drgbst_01",3100,true,false,false,false) checar_armas(player,toPlayer) outputChatBox("#000000[#ff0000POLICIA#000000] #c1c1c1O #ff0000Policial #ffffff"..playerName.." #c1c1c1esta #ff0000Revistando #c1c1c1o #ff0000Suspeito "..toPlayerName,root,255,255,255,true) setTimer(outputChatBox,3390,1,"#000000[#ff0000POLICIA#000000] #c1c1c1Nivel de #ff0000Procurado #c1c1c1do #ff0000Suspeito#c1c1c1:"..toPlayerWantedLv,player,255,255,255,true) triggerClientEvent(player,"doShowDXProgressBar",root) end end addCommandHandler("revistar",revistar_jogador) function checar_armas(player,toPlayer) for i=1,12 do local weaponID = getPedWeapon(toPlayer,i) if weaponID~=0 then outputChatBox("#000000[#ff0000POLICIA#000000] #c1c1c1Arma encontrada:"..getWeaponNameFromID(weaponID),player,255,255,255,true) end end end function getPlayerFromPartialName(name) local name = name and name:gsub("#%x%x%x%x%x%x", ""):lower() or nil if name then for _, player in ipairs(getElementsByType("player")) do local name_ = getPlayerName(player):gsub("#%x%x%x%x%x%x", ""):lower() if name_:find(name, 1, true) then return player end end end end é tipo isso?