Jump to content

Lord Henry

Other Languages Moderators
  • Posts

    4,005
  • Joined

  • Last visited

  • Days Won

    184

Everything posted by Lord Henry

  1. Tem sim. Use as seguintes funções: setPedAnimation - Coloca uma animação em um jogador ou NPC. getDistanceBetweenPoints3D - Verifica a distância entre 2 coordenadas, use para verificar se o mecânico está perto de um carro para ser consertado. fixVehicle - Recupera um veículo. addCommandHandler - Evento que ativa uma função ao usar determinado comando, por exemplo /arrumar.
  2. Primeira pergunta: Sim, da pra fazer tudo isso usando a função isGuestAccount. Segunda pergunta: Teams criados direto pelo painel P são temporários. Para criar Teams permanentes, crie por script usando a função createTeam.
  3. Seu painel estava cheio de erros com elementos em posições nada a ver. Além disso você não deve criar o painel ao ativá-lo, crie direto ao iniciar o resource e logo em seguida oculte a janela principal. Ao colidir no marker ativador, apenas mostre a janela principal ao jogador e o cursor. A função para fechar o painel com o botão "FECHAR" apenas oculta a janela principal e o cursor novamente. Obs: A parte de destruir o blip depois que o jogador chega no emprego dai é com você. dentro = createMarker (363.27, 173.58, 1007.4, "cylinder", 1.3, 255, 255, 224) -- Marker setElementInterior (dentro, 3) setElementDimension (dentro, 1) -- Se for usar na dimensão 0, então nem precisa desta linha. blip = {} -- declarei a variável fora da função para que ela possa ser lida por todas as funções. local x, y = guiGetScreenSize () janela = guiCreateWindow (x/2 - 140, y/2 - 200, 280, 400, "AGÊNCIA DE EMPREGOS", false) guiWindowSetSizable (janela, false) guiSetProperty (janela, "CaptionColour", "FF1C31F7") lista = guiCreateGridList (10, 20, 260, 330, false, janela) guiGridListAddColumn (lista, "Emprego", 0.5) guiGridListAddColumn (lista, "Level", 0.3) itemMecanico = guiGridListAddRow (lista, "Mecânico", "-") clos = guiCreateButton (280/2 - 40, 360, 80, 30, "FECHAR", false, janela) guiSetFont (clos, "default-bold-small") guiSetProperty (clos, "NormalTextColour", "FFFF0000") msg2 = guiCreateLabel (10, 365, 90, 20, "BY: #TEUS", false, janela) guiSetFont (msg2, "default-bold-small") guiLabelSetColor (msg2, 62, 39, 39) guiLabelSetHorizontalAlign (msg2, "center", false) guiLabelSetVerticalAlign (msg2, "center") guiSetVisible (janela, false) function abrirpainel (hitElement) if (localPlayer == hitElement) then showCursor (true) guiSetVisible (janela, true) end end addEventHandler ("onClientMarkerHit", dentro, abrirpainel) function fecharpainel () if guiGetVisible (janela) then showCursor (false) guiSetVisible (janela, false) end end addEventHandler ("onClientGUIClick", clos, fecharpainel) function selectionItem (button, state) if button == "left" and state == "up" then local linha, coluna = guiGridListGetSelectedItem (lista) if linha == 0 then -- Se o item selecionado for o primeiro da lista, então: guiSetVisible (janela, false) showCursor (false) blip[localPlayer] = createBlip (0, 0, 4, 41) -- (mude para a coordenada do emprego de Mecânico.) outputChatBox ("Emprego marcado: "..guiGridListGetItemText (lista, linha, coluna), 255, 255, 0) elseif linha == 1 then -- Se o item selecionado for o segundo da lista, então: guiSetVisible (janela, false) showCursor (false) blip[localPlayer] = createBlip (10, 10, 4, 41) outputChatBox ("Emprego marcado: "..guiGridListGetItemText (lista, linha, coluna), 255, 255, 0) end end end addEventHandler ("onClientGUIDoubleClick", lista, selectionItem) Dica para destruir o blip: Crie outro marker no lugar de chegada e ao colidir neste marker, delete o blip do seu hitElement, se existir um.
  4. As listas são elementos GUI comuns. Assim como as janelas, botões, memos, caixas de edição, caixas de seleção, textos, etc. Só você anexar o evento de clique na lista e executar uma função específica.
  5. Você nunca usou eventos de clique antes? Nem com botões?
  6. txd1222 = engineLoadTXD ("objects/dynbarrels.txd") engineImportTXD (txd1222, 1222) dff1222 = engineLoadDFF ("objects/barrel3.dff", 1222) engineReplaceModel (dff1222, 1222) txd1337 = engineLoadTXD ("objects/labins01_la.txd") engineImportTXD (txd1337, 1337) dff1337 = engineLoadDFF ("objects/binnt07_la.dff", 1337) engineReplaceModel (dff1337, 1337) txd1264 = engineLoadTXD ("objects/drubish.txd") engineImportTXD (txd1264, 1264) dff1264 = engineLoadDFF ("objects/blackbag1.dff", 1264) engineReplaceModel (dff1264, 1264) txd3286 = engineLoadTXD ("objects/cxrf_indstuff.txd") engineImportTXD (txd3286, 3286) dff3286 = engineLoadDFF ("objects/cxrf_watertwr.dff", 3286) engineReplaceModel (dff3286, 3286) txd3252 = engineLoadTXD ("objects/cxref_oldwest.txd") engineImportTXD (txd3252, 3252) dff3252 = engineLoadDFF ("objects/des_oldwattwr_.dff", 3252) engineReplaceModel (dff3252, 3252) txd11440 = engineLoadTXD ("objects/des_pueblo.txd") engineImportTXD (txd11440, 11440) dff11440 = engineLoadDFF ("objects/des_pueblo1.dff", 11440) engineReplaceModel (dff11440, 11440) txd11445 = engineLoadTXD ("objects/des_pueblo.txd") engineImportTXD (txd11445, 11445) dff11445 = engineLoadDFF ("objects/des_pueblo06.dff", 11445) engineReplaceModel (dff11445, 11445) txd11447 = engineLoadTXD ("objects/des_pueblo.txd") engineImportTXD (txd11447, 11447) dff11447 = engineLoadDFF ("objects/des_pueblo08.dff", 11447) engineReplaceModel (dff11447, 11447) txd11457 = engineLoadTXD ("objects/des_pueblo.txd") engineImportTXD (txd11457, 11457) dff11457 = engineLoadDFF ("objects/des_pueblo09.dff", 11457) engineReplaceModel (dff11457, 11457) txd11458 = engineLoadTXD ("objects/des_pueblo.txd") engineImportTXD (txd11458, 11458) dff11458 = engineLoadDFF ("objects/des_pueblo10.dff", 11458) engineReplaceModel (dff11458, 11458) txd11459 = engineLoadTXD ("objects/des_pueblo.txd") engineImportTXD (txd11459, 11459) dff11459 = engineLoadDFF ("objects/des_pueblo11.dff", 11459) engineReplaceModel (dff11459, 11459) engineReplaceCOL (col, 11459) txd1227 = engineLoadTXD ("objects/dynbuket.txd") engineImportTXD (txd1227, 1227) dff1227 = engineLoadDFF ("objects/dump1.dff", 1227) engineReplaceModel (dff1227, 1227) txd1236 = engineLoadTXD ("objects/dynrecycle.txd") engineImportTXD (txd1236, 1236) dff1236 = engineLoadDFF ("objects/rcyclbank01.dff", 1236) engineReplaceModel (dff1236, 1236) txd1690 = engineLoadTXD ("objects/genroofbits.txd") engineImportTXD (txd1690, 1690) dff1690 = engineLoadDFF ("objects/gen_roofbit4.dff", 1690) engineReplaceModel (dff1690, 1690) txd1691 = engineLoadTXD ("objects/genroofbits.txd") engineImportTXD (txd1691, 1691) dff1691 = engineLoadDFF ("objects/gen_roofbit5.dff", 1691) engineReplaceModel (dff1691, 1691) txd620 = engineLoadTXD ("objects/gta_tree_palm.txd") engineImportTXD (txd620, 620) dff620 = engineLoadDFF ("objects/veg_palm04.dff", 620) engineReplaceModel (dff620, 620) txd1307 = engineLoadTXD ("objects/telegraph.txd") engineImportTXD (txd1307, 1307) dff1307 = engineLoadDFF ("objects/telgrphpoleall.dff", 1307) engineReplaceModel (dff1307, 1307) txd981 = engineLoadTXD ("objects/helixbarrier.txd") engineImportTXD (txd981, 981) dff981 = engineLoadDFF ("objects/helix_barrier.dff", 981) engineReplaceModel (dff981, 981) Coloquei todos os objetos dentro de uma pasta chamada objects e declarei eles corretamente no meta.xml: <script src="replace.lua" type="client" /> <file src="objects/barrel3.dff" /> <file src="objects/binnt07_la.dff" /> <file src="objects/blackbag1.dff" /> <file src="objects/cxref_oldwest.txd" /> <file src="objects/cxrf_indstuff.txd" /> <file src="objects/cxrf_watertwr.dff" /> <file src="objects/des_oldwattwr_.dff" /> <file src="objects/des_pueblo.txd" /> <file src="objects/des_pueblo1.dff" /> <file src="objects/des_pueblo06.dff" /> <file src="objects/des_pueblo08.dff" /> <file src="objects/des_pueblo09.dff" /> <file src="objects/des_pueblo10.dff" /> <file src="objects/des_pueblo11.dff" /> <file src="objects/drubish.txd" /> <file src="objects/dump1.dff" /> <file src="objects/dynbarrels.txd" /> <file src="objects/dynbuket.txd" /> <file src="objects/dynrecycle.txd" /> <file src="objects/gen_roofbit4.dff" /> <file src="objects/gen_roofbit5.dff" /> <file src="objects/genroofbits.txd" /> <file src="objects/gta_tree_palm.txd" /> <file src="objects/helix_barrier.dff" /> <file src="objects/helixbarrier.txd" /> <file src="objects/labins01_la.txd" /> <file src="objects/rcyclbank01.dff" /> <file src="objects/telegraph.txd" /> <file src="objects/telgrphpoleall.dff" /> <file src="objects/veg_palm04.dff" />
  7. Não vai funcionar para veículos que forem criados depois do resource iniciar.
  8. Corrigido por privado.
  9. Leia mais a Wiki além do fórum. Use este evento: OnClientGUIDoubleClick
  10. Me passa os arquivos dff e txd por privado para eu ver se funcionam.
  11. Negativo. O MTA não carrega arquivos .img. Ele só carrega arquivos DFF e TXD separados.
  12. Use um setElementData no jogador para que ao passar pela segunda vez no local, nada aconteça. Se estiver usando markers, apenas delete o marker após o jogador passar nele.
  13. De onde você pegou estes arquivos .DFF e TXD? Vc tem certeza que eles funcionam?
  14. Você está usando a mesma variável txd para carregar texturas diferentes. Diferencie as variáveis. Além disso, em engineLoadDFF não existe segundo parâmetro, no caso 0.
  15. O desenvolvimento da plataforma do MTA em si é feita em C#. Portanto não entra nesta sessão do fórum. Quanto ao seu problema, ele acontece somente no seu servidor ou em outros também?
  16. Você pelo jeito nem leu a Wiki para tentar entender o funcionamento da função. Isso não vai funcionar: setPedRotation ( ped, findRotation )
  17. Resolver os problemas dos resources ajuda na performance, mas não creio que seja esse o motivo da queda de FPS.
  18. Provavelmente algum resource seu que funcione dentro dos veículos está consumindo muito processamento do servidor. Isso ocorre se o resource não for otimizado. Você também pode verificar por erros no /debugscript 3.
  19. Sugiro que comece a estudar lógica de programação e depois a Wiki. Dai crie seus próprios resources em vez de ficar arrumando os dos outros.
  20. Na linha 103 está dando erro pq owned nem existe. Nas outras linhas é só vc fazer a mesma coisa que vc fez na outra função, verificar se é um elemento ou não.
  21. Não entendi nada deste script, nem sua utilidade.
  22. Você provavelmente está criando eles server-side. Ou então usando triggerClientEvent sem especificar pra qual client, ativando em todos eles.
×
×
  • Create New...