Jump to content

#DaNiLiN

Members
  • Posts

    296
  • Joined

  • Last visited

  • Days Won

    3

Everything posted by #DaNiLiN

  1. Google translator Hi, I'm Brazilian. Maybe this will help you. Marker = createMarker(0, 0, 0 -1, "cylinder", 1.2, 0, 255, 0, 90) function Entrar (hitPlayer) addEventHandler("onClientRender", root, Imagem) setTimer(setElementPosition, 1500, 1, hitPlayer, 2575.6145,-1289.7745,1044.1250) setTimer (RemoverImg, 1400, 1, hitPlayer) -- Remove a Imagem end addEventHandler ( "onClientMarkerHit", Marker, Entrar ) function Imagem () dxDrawImage(0, 0, 0, 0, "Imagem.png", 0, 0, 0, tocolor(255, 255, 255, 255), false) end function RemoverImg () removeEventHandler("onClientRender", root, Imagem) end Please leave the thanks
  2. #DaNiLiN

    Help me

    Diga oque você tentou fazer. Poste seu código corretamente.
  3. Eu já criei um Parecido com oque você está querendo montar, e Usei setElementData e getElementData pra estocar as armas e vende-las. Dai tu poderia fazer Assim GridList (Jogadores) -- Criar guiCreateGridList para jogadores GridList (Armas) -- Criar guiCreateGridList para as armas que serão disponiveis para venda EditBox (Procurar Jogador) -- Criar guiCreateEdit para procurar jogadores rapidamente EditBox (Quantidade) -- Criar guiCreateEdit Parar Adicionar a Quantia de Munição Poderia usar OnClientGUIChanged Para Pesquisar o Jogador Função Oferecer Arma Para passar armas de um jogador para o outro teria que verificar corretamente cada editbox preenchido, Nele você iria precisa das seguintes funções guiGridListGetSelectedItem(Jogadores) -- Verificar Item Selecionado (Jogadores) guiGridListGetSelectedItem(Armas) -- Verificar Item Selecionado (Armas) guiGetText (Procurar Jogador) -- Nesse guiGetText Será utilizado uma outra função com evento OnClientGUIChanged Que obterá um jogador especifico rapidamente guiGetText (Quantidade) -- Verifica Quantidade da Arma Utilize Também if type(Quantidade) == "number" then (Evitar Bugs) guiGridListGetItemText (ListaJogadores , Selected, column) -- Verifica o Texto do Item Selecionado (Nome dos Jogadores) getElementData -- Use pra Verificar se o Valor De Armas do Jogador é >= que Quantidade triggerServerEvent("") -- Use Para Passar Todos Os Itens selecionados para Server-side (Jogador, Quantidade, Arma) Server-Side Depois de ter passado os dados do Client-Side para o Server-Side dê continuidade usando as seguintes funções. outputChatBox(Source) -- Alertar Jogador(1) que Enviou a arma. outputChatBox(Jogador) -- Alertar Jogador(2) que a arma foi movida para o inventario dele setElementData(Jogador) -- Setar Quantidade de Armas Que foi Adicionada pelo Jogador(1) (Use Juntamente com getElementData, para que Adicione apenas a quantidade adiciona no editbox) setElementData(Source) -- Setar Quantidade de Armas Que foi enviada para Jogador(2) (Use Juntamente com getElementData, para que remova apenas a quantidade adiciona no editbox) Ta ai é Basicamente isso, Inicie o Código e vá postando nesse tópico que mais pessoas irão te ajudar com esse sistema. Como eu disse no começo eu recomendaria ElementData pois daria pra fazer junto com inventario. Ou então você pode usar essas funções. getPedTotalAmmo -- Verifica toda munição de um slot especifico do jogador setWeaponAmmo -- Setar munição de para o jogador Sistema que fiz parecido com oque você está procurando Caso eu estiver errado em algo, Por favor me corrigem
  4. Tu tem que achar a função que abre o painel e passar por triggerEvent. Exemplo: --CLIENT-SIDE function AbrirPainel () showCursor(true) guiSetVisible(Painel, true) else showCursor(false) guiSetVisible(Painel, false) end end addEvent("Open_Painel", true) addEventHandler("Open_Painel", resourceRoot, AbrirPainel) -- Server Side Grupo = "Console" function OpenGerenciador(source) accountname = getAccountName(getPlayerAccount(source)) if isObjectInACLGroup("user." .. accountname, aclGetGroup(Grupo)) then triggerClientEvent(source, "Open_Painel", root) end end function BindStart() for index, player in ipairs(getElementsByType("player")) do bindKey(player, "b", "down", OpenGerenciador) end end addEventHandler("onResourceStart", root, BindStart) function onPlayerJoin() bindKey(source, "b", "down", OpenGerenciador) end addEventHandler("onPlayerJoin", getRootElement(), onPlayerJoin) function StopMod(player) for index, player in ipairs(getElementsByType("player")) do unbindKey(player, "b", "down", OpenGerenciador) end end addEventHandler("onResourceStop", root, StopMod)
  5. Neste caso deveria ter usado outputDebugString addCommandHandler( "anonimo", function ( source, cmd, ... ) local message = #{...} > 0 and table.concat({...}," ") or nil if message then outputDebugString(" [Anônimo] ".. getPlayerName(source):gsub("#%x%x%x%x%x%x","").." "..message.."") outputChatBox("#FEFEFE[Anônimo]#FFFFFF: "..message, root, 255, 255, 255, true) else outputChatBox( "[/"..cmd.."]: Digite uma mensagem!", source, 230, 20, 20 ) end end )
  6. Bom, tu iria ter que procurar a função que abre/fecha o painel para poder adiciona a função isObjectInACLGroup. Procura sempre por guiSetVisible, dai com facilidade tu chega até a função que abre e fecha.
  7. Tamanho do Marker é 1 Ai não funciona, tu errou também na function "entradafun" onde setou dimensão 3 e o marker "sair" estava na dimensão 2 Entrar = createMarker (910.30902, -1397.46484, 13.19776 -1, "cylinder", 1.2, 227, 240, 14) setElementInterior(Entrar, 0) setElementDimension(Entrar, 0) Sair = createMarker (418.62479, -84.36529, 1001.80469 -1, "cylinder", 1.2, 227, 240, 14) setElementInterior(Sair, 3) setElementDimension(Sair, 2) function entradafun(source) setElementInterior(source, 3) setElementDimension(source, 2) setElementPosition(source, 418.18564, -81.11912, 1001.80469) end addEventHandler("onMarkerHit", Entrar, entradafun) function saidafun(source) setElementDimension(source, 0) setElementInterior(source, 0) setElementPosition(source, 902.76819, -1398.39978, 13.19219 -1) end addEventHandler("onMarkerHit", Sair, saidafun)
  8. Sim, teria que criar o meta o server-side e usar as seguintes funções. destroyElement onVehicleExplode Exemplo: function Explodiu_Sumiu () destroyElement(source) end addEventHandler('onVehicleExplode', root, Explodiu_Sumiu)
  9. function onPedRender() local ped = getElementsByType ( "ped" ) for theKey, thePed in ipairs(ped) do if getElementData(thePed, "bankguard") then local x ,y, z = getElementPosition(thePed) local sx, sy, sz = getElementPosition(localPlayer) local Dist = getDistanceBetweenPoints3D (x, y, z, sx, sy, sz) if(isLineOfSightClear(x, y, z, sx, sy, sz, true, false, false, false, false, false)) then setPedControlState(thePed, "fire", true) setPedAimTarget(thePed, sx, sy, sz) StartBot () else setPedControlState(thePed, "fire", false) end end end end addEventHandler("onClientPedDamage", root, onPedRender) function StartBot () if isEventHandlerAdded("onClientRender", getRootElement(), onPedRender) then return end addEventHandler("onClientRender", root, onPedRender) end function isEventHandlerAdded( sEventName, pElementAttachedTo, func ) if type( sEventName ) == 'string' and isElement( pElementAttachedTo ) and type( func ) == 'function' then local aAttachedFunctions = getEventHandlers( sEventName, pElementAttachedTo ) if type( aAttachedFunctions ) == 'table' and #aAttachedFunctions > 0 then for i, v in ipairs( aAttachedFunctions ) do if v == func then return true end end end end return false end Deve ajudar. Caso um ped for atingido todos os Bot irá revidar contra o jogador.
  10. É Essa gridlist Aparenta não suportar Duas Listas abertas. https://github.com/t3wz/dxGridlists/wiki/Create
  11. Não funfa de jeito nenhum KKK function refresh() gridWeaponT = dxGridW:Create(x*718, y*362, x*207, y*138, false) gridWeaponT:AddColumn("Armas",200) gridWeaponT:SetVisible(false) gridJogadores = dxGridW:Create(x*441, y*249, x*248, y*320, false) gridJogadores:AddColumn("Jogadores",240) gridJogadores:SetVisible(false) for i,Players in ipairs(getElementsByType("player")) do Nick = gridJogadores:AddItem(1, string.gsub ( getPlayerName (Players), '#%x%x%x%x%x%x','' ), false, false ) end for i=1, #Weapons do local Name_Armas = Weapons[i][1] gridWeaponT:AddItem(1, Name_Armas) end end addEventHandler ( "onClientResourceStart", root, refresh ) Mas no caso isso e só duvida mesmo. Pois eu acho que a gridlist em si não permite utilizar 2 Lista aberta de uma vez só.
  12. Olá Estou com um problema, Estou tentando utilizar 2 Gridlist Em um painel só. porém não funciona Talvez eu possa está utilizando errado. Obs: Uma gridlist só funciona normalmente quando eu coloco outra ai o click para de funfar em uma delas. gridJogadores = dxGridW:Create(x*441, y*249, x*248, y*320, false) gridJogadores:AddColumn("Jogadores",240) tete = dxGridN:Create(x*141, y*249, x*248, y*320, false) gridJogadores:AddColumn("armas",240) for i,Players in ipairs(getElementsByType("player")) do Nick = gridJogadores:AddItem(1, string.gsub ( getPlayerName (Players), '#%x%x%x%x%x%x','' ), false, false ) end for i,Players2 in ipairs(getElementsByType("player")) do Nick2 = tete:AddItem(1, string.gsub ( getPlayerName (Players2), '#%x%x%x%x%x%x','' ), false, false ) end Exemplo*
  13. Eu acabei fazendo assim. Pois como tu disse não precisa ficar verificando há todo segundo function Start_Id () local account = getPlayerAccount ( source ) local ID_Account = getAccountID (account) local Guest = isGuestAccount(account) if account then setElementData ( source, "ID", ID_Account ) elseif Guest then setElementData ( source, "ID", "N/A" ) end end addEventHandler("onResourceStart", root, Start_Id) addEventHandler("onPlayerJoin", root, Start_Id) function LoginAccount () local account = getPlayerAccount ( source ) local ID_Account = getAccountID (account) setElementData ( source, "ID", ID_Account ) outputChatBox ( "#00ff00✘ #ffffffLOGIN #00ff00✘➺ #ffffffNick: #00ff00 ( ".. getPlayerName(source) .." #00ff00) #ffffffID: #00ff00( "..getAccountID(account) .." )", source, 255,255,255,true) end addEventHandler("onPlayerLogin", root, LoginAccount) function LogoutAccount() local account = getPlayerAccount ( source ) local ID_Account = getAccountID (account) setElementData ( source, "ID", "N/A" ) outputChatBox ( "#00ff00✘ #ffffffLOGIN #00ff00✘➺ #ffffffNick: #00ff00 ( ".. getPlayerName(source) .." #00ff00) #ffffffDeslogou.", root, 255,255,255,true) end addEventHandler("onPlayerLogout", root, LogoutAccount)
  14. Acabou funcionado é porque na host tinha outro sistema de id ai acho que acabou dando conflito mas agora está normal. E ao Invés de utilizar o onClientRender pra verificar se o jogador está logado ou não acabei utilizando onPlayerLogin onResourceStart onPlayerLogout onPlayerJoin Ai acho que não iria pesar.
  15. Eu teria que fazer no caso oque Lord, Pra poder verificar todas as munição de todas as armas que o jogador tem?
  16. Lord sabe me dizer por qual motivo getAccountID Constou como sem valor em uma hospedagem e no meu servidor local funcionou normalmente ? :\
  17. Converter não é possível meu caro infelizmente tu vai ter que digitar o código manualmente.
  18. No caso estou montando um sistema onde possa vender Armas para outros jogadores, Porém Quero que se caso o Tal vendedor não tiver a quantia de munição que ele adicionou no EditBox a função retornaria entende?
  19. Sabe me dizer se dessa forma possa ocorrer muito peso dentro do servidor? function Element_ID () local account = getPlayerAccount ( source ) local ID_Account = getAccountID (account) local Guest = isGuestAccount(account) if account then setElementData ( source, "ID", ID_Account ) elseif Guest then setElementData ( source, "ID", "N/A" ) end end addEvent ( "DNL:Element_ID", true ) addEventHandler ( "DNL:Element_ID", root, Element_ID) Obs: Coloquei o TriggerEvent no onClientRender
  20. Bruno mas aqui não é pra criar tópicos pedindo sistemas prontos. Caso queira criar um código tá no lugar certo caso queira algo pronto tá no lugar errado amigo. Script de Mecânico tem diversos na Internet. Em backups de vários Servidores
  21. Olá Gostaria de saber qual a melhor forma de verificar todas as munições de cada arma do jogador além dá que está em sua mão, getPedTotalAmmo Não me serve neste caso.
  22. Agora entendi DNL. function id (thePlayer) account = getPlayerAccount ( thePlayer ) ID = getAccountID (account) exports.Scripts_Dxmessages:outputDx(thePlayer,""..ID.."", "warning") end addCommandHandler("id", id ) okay? Pro id funcionar pelo Client-side no caso minha ideia e por em tagname eu teria que usar a funcão call certo?
×
×
  • Create New...