Jump to content

DNL291

Retired Staff
  • Posts

    3,875
  • Joined

  • Days Won

    67

Everything posted by DNL291

  1. If the code is encrypted, it means the owner doesn't want his code to be shared publicly. Besides that, there are several ways to learn how to program, it's not by looking at codes that you will learn effectively.
  2. LoL Acho que foi o sono na hora que respondi @OverKILL E aí, você nem tentou fazer? Aí fica difícil.
  3. Esse seu primeiro código é do lado client, e como já lhe foi dito, givePlayerMoney não vai sincronizar com o server e o dinheiro só será dado no ambiente individual, ou seja, só pra você. Seria até melhor você converter o código pro lado server, até porque vai te poupar o uso do triggerServerEvent pra dar o dinheiro. Use setElementID pra atribuir um ID ao ped. Talvez você tenha se referido ao ID do ped ali em cima, ser foi isso ignore o setElementID. Você pode criar tabelas ou chaves dentro da tabela para adicionar os 'zumbis' de cada missão e o que for necessário, Ex: local zedsTable = { { 198, 158, 107, 108 }, {48, 18, 79, 23 } } function spawnZeds( mission ) for _, id in pairs( zedsTable[tonumber(mission)] ) do end end
  4. DNL291

    Help me

    Set a data on the banned account when player gets banned, eg: setAccountData (acc, "account-status", "banned"). So when a player tries to log-in, do a check: if getAccountData(...) then
  5. Se você pesquisar aqui no fórum você vai encontrar alguns sistemas de rank. Aqui nesta seção teve um tópico relacionado a isso.
  6. addCommandHandler takePlayerMoney Ex: addCommandHandler( "g", function ( splayer ) takePlayerMoney( splayer, valor ) end ) Esse código é do lado server.
  7. DNL291

    Maybe a bug?

    This code is being executed on server-side, right? This problem can be caused when setElementFrozen is used on client-side.
  8. Honestly, I would use \n to break the lines and organize it manually. Maybe it's possible using the guiSetProperty function. I've never tried this before, but you can try the following: Disable the memobox vertical scrollbar to make it invisible and create a scroll bar with guiCreateScrollBar. On the created scrollbar, use the "onClientGUIScroll" event plus guiScrollBarGetScrollPosition function and set it's value to the Memo scroll pos.
  9. Your first code will just take the ammo. Firstlly, debug your code if you don't know where the error is. It can be because you're using takeWeapon after killPed, or maybe it has something wrong with hasObjectPermissionTo function.
  10. Primeiramente, próxima vez que você criar um tópico, vá na seção Portuguese / Português (dúvidas relacionada à Lua em Programação em Lua) teamsay você quer dizer o que exatamente? O chat do time você usa a tecla y para abrir. Com a função onPlayerChat você pode diferenciar se a msg foi do time com o parâmetro 'messageType'.
  11. setPedTargetingMarkerEnabled
  12. Em gerenciaPainel () vai fechar o painel (tem até o comentário ao lado da função, se você começar ler nossos posts você vai perceber) No caso, só colocar o setElementPosition ...
  13. Primeiramente, você postou no lugar errado, crie um tópico na seção correta por favor. E use a linguagem portuguesa aqui (eu vi o seu IP e você é do Brasil).
  14. Acho que você quer dizer usar uma tecla ou comando pra abrir? Se for isso, aqui vai um exemplo simples: -- client local tecla = "n" local comando = "vermsg" bindKey( tecla, "down", -- 'down': significa que a tecla está sendo pressionada -- 'up': significa que a tecla foi liberada function() -- mostra a menssagem quando apertar a tecla 'n' outputChatBox( "A tecla "..n.." foi pressionada" ) end ) -- mostrando no chat quando digitar o comando da variável 'comando' addCommandHandler( comando, function ( nome_do_comando ) outputChatBox( "O comando "..nome_do_comando.." foi digitado" ) end ) É muito fácil de usar essas funções, imagino que você conseguiu entender o código. Agora, avançando para o comando e a bind funcionar com o painel-DX: Talvez você já tenha entendido que: addEventHandler ("onClientRender", getRootElement(), drawDX) Vai manter o DX mostrando na tela, enquanto que: removeEventHandler ("onClientRender", getRootElement(), drawDX) Vai parar o evento, e o "DX" não será executado. O que mais será necessário? Bem, showCursor para mostrar o cursor do mouse, e, fora isso você provavelmente terá que manipular a variável que indica se o DX está mostrando ou não. Achei melhor te explicar pra você entender que na verdade é uma coisa fácil, mesmo que você não entenda os conceitos básicos da programação, você podia ter se esforçado e visto um exemplo de bindKey e addCommandHandler para ao menos ter tentado incluir no código que te foi dado aqui. Por exemplo, esse código dar alternar o DX para mostrar e ocultar quando digitar o comando: local tecla = 'n' bindKey( tecla, "down", function() if(drawingPanel == false) then addEventHandler("onClientPreRender", getRootElement(), draw); drawingPanel = true; showCursor(true) else removeEventHandler("onClientPreRender", getRootElement(), draw); drawingPanel = false; showCursor(false) end end ) ----- Não me entenda mal, mas não gosto de ver pessoas aqui buscando ajuda e no fim quem se esforça mais é quem vai ajudar, enquanto o dono do tópico é breve e mal consegue se expressar por comentar apenas 1 linha. Voltando ao assunto, a função isMouseInPosition te ajudará a configurar os cliques nos botões usando puro DX. Use o evento "onClientClick" e chame a função dentro desse evento (você pode dar um addEventHandler("onClientClick"..) e removeEventHandler), aqui no fórum tem alguns tópicos relacionado a isso.
  15. Próxima vez clique no botão <> e formate o código com a linguagem Lua. Pelo que vi no seu código, tem alguns erros, como repetição das funções e showCursor dentro da função draw, que será chamada a cada frame (fora toda a gambiarra que é feito os botões). Sobre as markers eu não entendi como funciona, já que você não incluiu no código. Se o evento "onClientMarkerHit" for o que você usa para abrir o painel, então você vai ter que tirar ele e reescrever para receber a chamada do server e mostrar o DX. - Editei o código pra você, tente o seguinte: client local g_isDxShowing = false function draw() dxDrawRectangle(422, 221, 353, 360, tocolor(0, 0, 0, 160), false) dxDrawRectangle(422, 187, 353, 34, tocolor(0, 0, 0, 230), false) dxDrawText("Favelas da CMD", 484, 192, 765, 216, tocolor(255, 0, 0, 255), 0.80, "bankgothic", "left", "top", false, false, false, false, false) dxDrawRectangle(440, 254, 83, 31, tocolor(255, 1, 1, 255), false) --- Chapadão dxDrawRectangle(565, 254, 83, 31, tocolor(255, 1, 1, 255), false) --- Salgueiro dxDrawRectangle(677, 254, 83, 31, tocolor(255, 1, 1, 255), false) --- Penha dxDrawRectangle(440, 307, 83, 31, tocolor(255, 1, 1, 255), false) --- Abrir1 dxDrawRectangle(565, 307, 83, 31, tocolor(255, 1, 1, 255), false) --- Abrir2 dxDrawRectangle(677, 307, 83, 31, tocolor(255, 1, 1, 255), false) --- Alemão dxDrawRectangle(440, 360, 83, 31, tocolor(255, 1, 1, 255), false) --- Abrir3 dxDrawRectangle(565, 360, 83, 31, tocolor(255, 1, 1, 255), false) --- Abrir4 dxDrawRectangle(678, 360, 83, 31, tocolor(255, 1, 1, 255), false) --- Abrir5 dxDrawRectangle(565, 412, 83, 31, tocolor(255, 1, 1, 255), false) --- Abrir6 dxDrawRectangle(567, 528, 83, 31, tocolor(255, 1, 1, 255), false) --- Close dxDrawText("Chapadão", 451, 261, 496, 276, tocolor(255, 255, 255, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText("Salgueiro", 580, 262, 629, 278, tocolor(255, 255, 255, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText("Penha", 699, 263, 748, 279, tocolor(255, 255, 255, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText("Breve1", 462, 314, 511, 330, tocolor(255, 255, 255, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText("Breve2", 587, 314, 636, 330, tocolor(255, 255, 255, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText("Alemão", 695, 315, 744, 331, tocolor(255, 255, 255, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText("Breve3", 462, 367, 511, 383, tocolor(255, 255, 255, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText("Breve4", 590, 368, 639, 384, tocolor(255, 255, 255, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText("Breve5", 699, 368, 748, 384, tocolor(255, 255, 255, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText("Breve6", 589, 419, 638, 435, tocolor(255, 255, 255, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawText("Fechar", 589, 536, 638, 552, tocolor(255, 255, 255, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) end addEventHandler("onClientResourceStart", resourceRoot, function() ---- Botões button = guiCreateButton(440, 254, 83, 31, "Chapadão", false) button2 = guiCreateButton(565, 254, 83, 31, "Salgueiro", false) button3 = guiCreateButton(677, 254, 83, 31, "Penha", false) button4 = guiCreateButton(440, 307, 83, 31, "Abrir1", false) button5 = guiCreateButton(565, 307, 83, 31, "Abrir2", false) button6 = guiCreateButton(677, 307, 83, 31, "Alemão", false) button7 = guiCreateButton(440, 360, 83, 31, "Breve3", false) button8 = guiCreateButton(565, 360, 83, 31, "Breve4", false) button9 = guiCreateButton(678, 360, 83, 31, "Breve5", false) button11 = guiCreateButton(565, 412, 83, 31, "Breve6", false) button10 = guiCreateButton(567, 528, 83, 31, "Close", false) guiSetAlpha(button, 0) guiSetAlpha(button2, 0) guiSetAlpha(button3, 0) guiSetAlpha(button4, 0) guiSetAlpha(button5, 0) guiSetAlpha(button6, 0) guiSetAlpha(button7, 0) guiSetAlpha(button8, 0) guiSetAlpha(button9, 0) guiSetAlpha(button11, 0) guiSetAlpha(button10, 0) guiSetVisible(button, false) guiSetVisible(button2, false) guiSetVisible(button3, false) guiSetVisible(button4, false) guiSetVisible(button5, false) guiSetVisible(button6, false) guiSetVisible(button7, false) guiSetVisible(button8, false) guiSetVisible(button9, false) guiSetVisible(button11, false) guiSetVisible(button10, false) end) addEvent( "onRequestOpenTeleportPanel", true ) addEventHandler( "onRequestOpenTeleportPanel", root, function() if g_isDxShowing ~= true then setDXPanelVisible( true ) end end ) addEventHandler("onClientGUIClick",button10,function() if ( source == button10) then setDXPanelVisible( false ) end end ) function setDXPanelVisible( bool ) if type(bool) == "boolean" then _G[ (bool and "add" or "remove").."EventHandler" ]( "onClientRender", root, draw ) ativaPainel( bool ) showCursor( bool ) g_isDxShowing = bool end end addEventHandler("onClientGUIClick",button,function() if ( source == button) then setDXPanelVisible( false ) setElementPosition ( getLocalPlayer(), 2604.05981, -515.63080, 91.06875 ) outputChatBox("Foi para Complexo do chapadao",255,0,0,LocalPlayer) end end ) addEventHandler("onClientGUIClick",button2,function() if ( source == button2) then setDXPanelVisible( false ) setElementPosition ( getLocalPlayer(), 2257.93848, -82.98331, 26.52718 ) outputChatBox("Foi para vila kenedy na salgueiro",255,0,0,LocalPlayer) end end ) addEventHandler("onClientGUIClick",button3,function() if ( source == button3) then setDXPanelVisible( false ) setElementPosition ( getLocalPlayer(), 1311.90369, -1971.93005, 51.46875 ) outputChatBox("Foi para o morro da Penha",255,0,0,LocalPlayer) end end ) addEventHandler("onClientGUIClick",button4,function() if ( source == button4) then setDXPanelVisible( false ) setElementPosition ( getLocalPlayer(), 2036.68323, -1408.72253, 17.16406 ) outputChatBox("FAVELA AQUI1.",255,0,0,LocalPlayer) end end ) addEventHandler("onClientGUIClick",button5,function() if ( source == button5) then setDXPanelVisible( false ) setElementPosition ( getLocalPlayer(), 2037.74121, -1430.70630, 16.99219 ) outputChatBox("FAVELA AQUI2.",255,0,0,LocalPlayer) end end ) addEventHandler("onClientGUIClick",button6,function() if ( source == button6) then setDXPanelVisible( false ) setElementPosition ( getLocalPlayer(), 2473.34692, -900.75824, 115.17656 ) outputChatBox("Foi Pro Morro Do Alemão.",255,0,0,LocalPlayer) end end ) addEventHandler("onClientGUIClick",button7,function() if ( source == button7) then setDXPanelVisible( false ) setElementPosition ( getLocalPlayer(), 2027.36816, -1420.52002, 16.99219 ) outputChatBox("FAVELA3 AQUI.",255,0,0,LocalPlayer) end end ) addEventHandler("onClientGUIClick",button8,function() if ( source == button8) then setDXPanelVisible( false ) setElementPosition ( getLocalPlayer(), 2030.99146, -1433.26086, 17.14842 ) outputChatBox("FAVELA4 AQUI.",255,0,0,LocalPlayer) end end ) addEventHandler("onClientGUIClick",button9,function() if ( source == button9) then setDXPanelVisible( false ) setElementPosition ( getLocalPlayer(), 2009.01660, -1418.11768, 16.99219 ) outputChatBox("FAVELA5 AQUI.",255,0,0,LocalPlayer) end end ) addEventHandler("onClientGUIClick",button11,function() if ( source == button11) then setDXPanelVisible( false ) setElementPosition ( getLocalPlayer(), 1997.70728, -1445.59009, 13.56213 ) outputChatBox("FAVELA6 AQUI.",255,0,0,LocalPlayer) end end ) function ativaPainel( bool) if bool then guiSetVisible (button, true) guiSetVisible (button2, true) guiSetVisible (button3, true) guiSetVisible (button4, true) guiSetVisible (button5, true) guiSetVisible (button6, true) guiSetVisible (button7, true) guiSetVisible (button8, true) guiSetVisible (button9, true) guiSetVisible (button10, true) guiSetVisible (button11, true) elseif bool == false then for _, btn in pairs({button, button2, button3, button4, button5, button6, button7, button8, button9, button10, button11}) do guiSetVisible( btn, false ) end end end server addEventHandler( "onMarkerHit", marker, function (hitPlayer, mdim) if getElementType(hitPlayer) ~= "player" then return end local acc = getPlayerAccount(hitPlayer) if not isGuestAccount(acc) then if isObjectInACLGroup( "user." .. getAccountName(acc), aclGetGroup( "admin" ) ) then triggerClientEvent( hitPlayer, "onRequestOpenTeleportPanel", hitPlayer ) end end end ) Antes de testar, ative o debug - /debugscript 3. E lembre-se de criar a marca no arquivo do lado server.
  16. Digite /debugscript 3. Pode ser que o seu resource admin esteja bugado ou com nome diferente, se ele estiver funcionando no server local então o problema é outro.
  17. "onMarkerHit" getAccountName getPlayerAccount isObjectInACLGroup aclGetGroup triggerClientEvent Client addEvent addEventHandler guiSetVisible
  18. Controlar de qual forma? Se for pra fazer ele falar no chat, tem o comando aexec nick_do_jogador comando Exemplo: aexec nick say olá
  19. Estranho esse erro. Pode ser o seu GTA:SA. Se você instalou o MTA corretamente, o jogo deve rodar. Tente reinstalar o seu GTA limpo de modificações e instalando tudo corretamente.
  20. Na verdade eu também acho melhor pra identificar qual é o jogador. É que o script dele usa os nomes da conta (pelo que vi no outro tópico). Mas caso ele modifique com os nicks, fica até mais fácil de fazer cor no nome na gridlist. A função guiGridListAddPlayers no caso, não vai precisar dos nomes da conta, aí só edita ela pra destacar o jogador local.
  21. Não é tão difícil assim mudar a cor da linha na gridList, primeiramente, te recomendo você dar um setElementData quando o jogador logar e gravar o nome da conta. Feito isso, você só vai usar o getElementData na hora que listar todas contas e usar guiGridListSetItemColor na linha correspondente. Se não não tentar, nunca vai avançar e vai ter dificuldade até no básico. Como Lord disse, se você tiver muitas contas no server, essa simples gridlist vai gerar problemas no server, dá uma olhada nessa função útil: https://wiki.multitheftauto.com/wiki/GuiGridListAddPlayers Ela lista os jogadores online, mas pra funcionar com os nomes da conta, você vai precisar modificá-la.
  22. Use guiGridListSetItemColor pra definir a cor dos itens da gridList. guiSetFont também deve funcionar se você quiser uma fonte pra destacar. Edit: fonte não funciona.
  23. Eu vejo do mesmo ponto de vista. A pessoa que comprar, tem a posse do produto, ou seja, não se resume apenas ao uso no server, a menos que o vendedor restrinja algo em específico ou algo anti-ético que o comprador faça, não vejo nenhum problema. A propósito, boa sorte com a venda, muitos procuram por sistemas de integração com fóruns/sites e as interfaces estão muito boas.
  24. Também acho, até porque ele disse apenas baixar. @P4BL0 Nada como uma pesquisa pra saber como. Aqui vai: Instalar programas no Linux mint: https://www.youtube.com/watch?v=i-ZY0puWdR4 Vídeo bem útil também: https://www.youtube.com/watch?v=TF5D5HKyyaA
×
×
  • Create New...