Jump to content

#DaNiLiN

Members
  • Posts

    296
  • Joined

  • Last visited

  • Days Won

    3

Everything posted by #DaNiLiN

  1. local idname = get ( "idDataCaption" ) or "ID" g_Players = {} function table.find(t, ...) if type(t) ~= 'table' then return false end local args = { ... } if #args == 0 then for k,v in pairs(t) do if v then return k, v end end return false end local value = table.remove(args) if value == '[nil]' then value = nil end for k,v in pairs(t) do for i,index in ipairs(args) do if type(index) == 'function' then v = index(v) else if index == '[last]' then index = #v end v = v[index] end end if v == value then return k, t[k] end end return false end function addElem(list, elem) local id local globList local newtable = { elem = elem } if not id then id = 1 while list[id] do id = id + 1 end end list[id] = newtable setElemID(elem, id) return id, newtable end function removeElem(list, elem) local id = table.find(list, 'elem', elem) if id then list[id] = nil setElemID(elem, nil) return id end end function getPlayerFromID(id) return g_Players[id] and isElement(g_Players[id].elem) and g_Players[id].elem end function getPlayerID(player) return getElemID(player) end function getElemID(elem) return elem and isElement(elem) and getElementData(elem, idname) end function setElemID(elem, id) if elem and isElement(elem) then setElementData(elem, idname, id) end end function onResourceStart () --call ( getResourceFromName ( "scoreboard" ), "addScoreboardColumn", idname, root,1,0.04 ) for k, v in ipairs(getElementsByType("player")) do addElem(g_Players, v) end end addEventHandler ( "onResourceStart", resourceRoot, onResourceStart ) function onPlayerJoin() addElem(g_Players, source) setElementData (source, "pmb", false) setElementData (source, "pmm", false) end addEventHandler ( "onPlayerJoin", root, onPlayerJoin ) function onPlayerQuit (reason) local playerID = getElemID(source) g_Players[playerID] = nil end addEventHandler('onPlayerQuit', root, onPlayerQuit) Codigo pronto que costumo usar!
  2. Bom, não posso ajudar pois não tenho esse conhecimento todo. Mas ta bem bacana.
  3. iria criar o veiculo com +2 de distancia longe do jogador, isso serve para evitar bug quando o veiculo for criado. Me corrigem caso eu estiver errado!
  4. Bruno acho ignorância de sua parte pensar dessa maneira, Lord não deu o Código pronto, ele apenas deu exemplos de diferentes maneiras de ser utilizado. Qualquer um pode chegar aqui e dizer oque precisa para montar um loop de for perfeito. Porém a explicação da própria wiki nem sempre satisfaz o carinha que quer montar o loop. No caso o meu. Eu Não tinha noção nenhum sobre for, agora já tenho uma noção de como funciona porque o lord deu uma explicação muito boa e entrando em detalhes.
  5. no caso ali chamei apenas um vez e achei que colocando 2, 3 iria funcionar nas 2 coluna. mais uma vez obrigado.
  6. desse modo eu também consigo, poblema e que como e um painel de animação vai ficar muitas variavel. com a gridlist e mais facil.
  7. sim já testei, e não há erros no debugscript, porém na linha 32 ali era pra setar o grupo e a animação mais não está indo e nem ta dando erro.
  8. -- XML <root> <anim AnimName="Dança 1" Anim1="DANCING" Anim2="bd_clap"/> </root> -- Client Side local screenW,screenH = guiGetScreenSize() local resW, resH = 1366, 768 local x, y = (screenW/resW), (screenH/resH) addEventHandler("onClientResourceStart", resourceRoot, function() gridAnim = dxGridW:Create(x*429, y*320, x*262, y*167,false) column1 = gridAnim:AddColumn("NOMES",260) column2 = gridAnim:AddColumn("ID",150) column3 = gridAnim:AddColumn("ID2",150) xmlAnim = xmlLoadFile("xml/Anim.xml") for _, anm in ipairs (xmlNodeGetChildren(xmlAnim)) do nomer = xmlNodeGetAttribute(anm, "AnimName") id1 = xmlNodeGetAttribute(anm, "Anim1") id2 = xmlNodeGetAttribute(anm, "Anim2") gridAnim:AddItem(1,nomer) gridAnim:AddItem(2,id1) gridAnim:AddItem(3,id2) end end ) addEventHandler("onClientDoubleClick", root, function() if gridAnim:IsVisible() then if gridAnim:GetSelectedItem() then triggerServerEvent("startAnim", localPlayer, gridAnim:GetItemDetails(2, 3, gridAnim:GetSelectedItem())) end end end) -- Server side function startAnim ( id1, id2) setPedAnimation(source, id1, id2 ,-1, true, false, false, true) end addEvent( "startAnim", true ) addEventHandler ("startAnim", root, startAnim) O Código a cima ta funfando tudo exceto na hr de setar animação (Help-ME)
  9. obrigado crdn funcionou certinho, agora entendi o porque não estava funcionando. e umas das minhas primeira vez a fzr isso então vou ter diversas dificuldades. Obrigado!
  10. Nesse código eu passei um gridlist pra dx, e nesta gridlist minha ideia seria pegar skin, porém skins que está no ID "idskins" porém a gridlist está verificando skins de 1 em diante não os ids que eu adicionei HELP-ME (Não entendo nem um pouco de Grilist) skins={ "Skin J", "Skin JJ", "Skin JJJ" } idskins = {"30", "31", "32"} local screen_size = { guiGetScreenSize( ) } local gridlist = dxGrid:Create ( 434, 304, 280, 370) coluna = gridlist:AddColumn ( "Skin", 100 ) ids = gridlist:AddColumn ( " ID", 160 ) for i=1, #idskins do end for i=1, #skins do TextSkin = gridlist:AddItem ( 1, ""..skins[i].."" ) TextId = gridlist:AddItem ( 2, " "..idskins[i].."" ) end function SelecionarSkinF1 (button, press) if press and button == "mouse1" then Selected = gridlist:GetSelectedItem (TextId) if Selected ~=-1 then local Selections = gridlist:GetSelectedItem (idskins) triggerServerEvent ("Skinf1", getLocalPlayer(), Selections) end end end addEventHandler ( "onClientKey", root, SelecionarSkinF1)
  11. Os triggerServerEvent estão idênticos e assim faz os 2 darem conflito um com outro.
  12. não tem erro no código, o botão só não habilita/desabilita, Lord arrumei os erros também não foi, tentei também. -- Server Side function aclPanel(thePlayer) local accName = getAccountName(getPlayerAccount(thePlayer)) if isObjectInACLGroup("user." .. accName, aclGetGroup("Console") or aclGetGroup("SCMD-PMERJ")) then triggerClientEvent(thePlayer, "teste", root, false) -- botao ativado else triggerClientEvent(thePlayer, "teste", root, true) -- botao desativado end end end -- Client Side button = guiCreateButton(136, 192, 20, 39, "", false) guiSetVisible(button, false) function open () if (guiGetVisible(button) == false) then guiSetVisible(button, true) else guiSetVisible(button, false) end end addCommandHandler("a", open) function Gerenciamento (on_off) if (guiGetEnabled (button) == false) then guiSetEnabled(button, true) else guiSetEnabled(button, false) end end addEvent("teste", true) addEventHandler("teste", root, Gerenciamento) que também não funfo
  13. do modo que o MainSCR Montou não deu certo. acabei só copiando e colando, mais o código que ele monto parecia está funcional :\
  14. Olá neste código tentei privar um botão apenas para uma acl só que não deu certo, o botão não desabilita. -- Server-Side function Aclpainel(thePlayer) accountname = getAccountName(getPlayerAccount(thePlayer)) if isObjectInACLGroup("user." .. accountname, aclGetGroup("Consolee") or aclGetGroup("SCMD-PMERJ")) then --> Gruop que vai poder abrir o painel ! triggerClientEvent(thePlayer,"teste",thePlayer) end end -- Client-Side function Gerenciamento (on_off) guiSetEnabled (button, on_off) end addEvent("teste", true) addEventHandler("teste", root, Gerenciamento) button = guiCreateButton(136, 192, 20, 39, "", false) Help
  15. eu respondi '-', " eu estava colocando "elementdata" para obter todos player online, porém pegando as posição dos rivais ao redor.... acho que estava fazendo certo.
  16. eu estava seguindo seus passos... montando o distance3d e etc ai tava no elementdata mais antes disso já dava esses 3 erros.. e não entendi o porque :\ vou tentar usando loop de FOR
  17. tentei assim porém deu erro nas seguintes linhas. function AntiComando (source) local players = getElementsByType("player") local playerrivalx, playerrivaly, playerrivalz = getElementPosition ( players ) -- Encontrar posição do rival local player1x, player1y, player1z = getElementPosition ( source ) -- Encontrar posição do elemento a executar a funçãp local dist = getDistanceBetweenPoints3D ( playerrivalx, playerrivaly, playerrivalz, player1x, player1y, player1z ) -- Calcular a distancia entre os dois elementos if ( dist < 5 ) then -- se a distancia for 5 executara o Chat Box outputChatBox("#FFFFFFComando Não poder ser utilizado perto de um rival!", source, 255, 255, 255, true) -- Chat Box elseif ( dist > 100 )then -- Caso ao contrario a distancia for 100 executara a função a seguir outputChatBox("#FFFFFFcomando utilizado com sucesso.!", source, 255, 255, 255, true) -- Chat Box end end addCommandHandler("a",AntiComando) erro linha: 3, 5 , 6 Img> https://imgur.com/n9E4D69
  18. eu acho que a gui é ajustada da mesma forma da dx... eu costumo usar x*, y*, x*, y*
  19. verifique se o grupo "Everyone" tem acl "admin" caso tiver acl admin remova. se caso apenas os jogadores deslogados conseguir abrir o painel verifique se tem user.guest em algum dos grupos que tem permissão para gerencia o painel adm
  20. eu fiz certo, eu quero ativar a bind key dentro de uma função, não executa ela fora entende?
×
×
  • Create New...