Jump to content

Lord Henry

Other Languages Moderators
  • Posts

    4,008
  • Joined

  • Last visited

  • Days Won

    184

Everything posted by Lord Henry

  1. Corrigi várias coisas, entre elas o seguinte: Corrigi os outputChatBox que estavam com código hexadecimal no início, mudei pro código RGB nos parâmetros. Aumentei o tamanho dos markers de objetivo, que estavam pequenos demais, sendo necessário passar com o avião no lugar exato pra conseguir. Criei a 3 posição em LV, assim o jogador começa e finaliza no mesmo aeroporto. Mudei as posições de objetivo, colocando-os no meio da pista pra facilitar. Mudei a posição onde cria o avião e os Peds. Removi as linhas que setavam rotação nos Peds, em vez disso declaro a rotação deles no createPed. Deixei os Peds em tables também. Corrigi algumas indentações. Adicionei verificador do jogador nos timers, caso ele quite antes do tempo.
  2. A regra é clara: Se está tudo funcionando sem erros e nem bugs. Então está certo. Sempre pode existir um jeito "melhor" de fazer, mas não significa que seja necessariamente o mais certo. Na programação existem diversas formas de se conseguir um objetivo.
  3. Olá pessoal. Fiz um vídeo bem detalhado sobre os painéis CEGUI, abordando algumas das principais dúvidas e também algumas propriedades que podem ajudar muito na hora de criar um painel GUI. Recomendo que assistam com fones de ouvido, ou então que ativem as legendas no YouTube. Críticas, sugestões, opiniões, perguntas relacionadas ao vídeo, podem fazer por aqui ou então deixar nos comentários do vídeo. (Deu muitíssimo trabalho de produzir o vídeo, deixe seu like neste post e no vídeo. Se puder, se inscreva no canal e acompanhe a página Lord Henry Entertainment no facebook.) Links e funções que aparecem no vídeo em ordem de aparição: http://static.cegui.org.uk/docs/0.8.7/ guiGetScreenSize guiCreateWindow guiCreateButton http://static.cegui.org.uk/static/WindowsLookProperties.html guiSetProperty http://static.cegui.org.uk/static/WindowsLookProperties.html#FrameWindow http://static.cegui.org.uk/static/WindowsLookProperties.html#Button isMouseOnGUICloseButton Standard_GUI_Font_Names guiSetEnabled guiSetAlpha guiEditSetReadOnly guiEditSetMasked Tenham todos uma boa semana.
  4. Depende muito da quantidade de datas que são salvas. É o mesmo que você ficar criando um monte de variável no seu código, cada uma consome um pouco de memória, mas quando são muitas, o consumo tende a ser bem perceptível.
  5. Só observo esse pessoal jogando código pronto, quando o usuário deixou claro que queria apenas as funções para ele mesmo buscar aprender. Se forem mandar códigos, pelo menos comentem as linhas para que o usuário possa estudar como ele funciona.
  6. Título do post: Como fazer o meta? Texto do post: Preciso de ajuda, alguém sabe como fazer o meta? Tbm preciso q alguem me ajude a fazer com que apareça o blip da pessoa q chamou o uber. (Código formatado com a ferramenta code do fórum)
  7. Eu recomendaria que você estudasse lógica de programação primeiro. Além da sua condição não fazer sentido algum, você entupiu de vários end sem motivo. Existem pelo menos 3 end a mais, que não deveriam existir.
  8. Boa sorte amigo. Eu recomendo que procure no site oficial da comunidade: https://community.multitheftauto.com/index.php?p=resources
  9. Fiz uns testes aqui no editor de mapas. E não é possível fazer isso normalmente. Você até consegue tirar a porta normalmente, mas precisa editar o modelo do interior para que aquela caixa preta que fica fora dela não fique na entrada. Além disso você precisa editar a colisão do objeto pois essa caixa preta impede que o jogador entre ou saia do interior pela entrada. O mesmo deve ser feito com o modelo do exterior, que tem uma caixa preta dentro da entrada, impedindo que o jogador entre dentro da construção pela entrada. Print: Depois de corrigidos esses dois problemas. Você ainda terá que arrumar a escala do interior, que é maior do que o exterior e não cabe dentro dele. Lembrando que o escalonamento do editor de mapas não altera a escala das colisões, portanto você precisará editar o modelo do interior novamente. Print: E então, só depois disso tudo, você pode começar a se preocupar em mobilhar esse interior, que é a parte mais trabalhosa, na minha opinião. Sem contar, que você precisará repetir todo o processo de mobilha para todas as outras lanchonetes da rede. E se for fazer com as outras lanchonetes, repita todo o processo com os modelos delas. No fim das contas o empenho é tão grande, que é mais válido você simplesmente editar o modelo do exterior, criando o interior direto nele.
  10. Não cara. As funções úteis elas não são nativas. Isso significa que você precisa colocar o código dela junto para funcionar, e não só a chamada de função. Acesse o link do getPlayerFromPartialName e copie aquele código que aparece. Edit: Copie o código que o @DNL291 passou e coloque no seu script.
  11. Então é problema do servidor. Entre em contato com eles e solicite ajuda.
  12. Acontece com outros servidores ou somente esse?
  13. Se eu fosse você, colocaria os blips em uma tabela, usando os jogadores como índices. local blip = {} function pedir (splayer) local players = getElementsByType ("player") blip[splayer] = createBlipAttachedTo (splayer, 62) setElementVisibleTo (blip[splayer], root, false) -- Oculta o blip para todo mundo. for _, driver in ipairs (players) do local account = getAccountName (getPlayerAccount(driver)) if isObjectInACLGroup ("user."..account, aclGetGroup ("UBER")) then setElementVisibleTo (blip[splayer], driver, true) -- Mostra o blip para todos do grupo "UBER" end end end addCommandHandler ("uber", pedir) function aceitar (thePlayer, commandName, playerName) if playerName then local theClient = getPlayerFromPartialName (playerName) if blip[thePlayer] and isElement (blip[thePlayer]) then destroyElement (blip[thePlayer]) blip[thePlayer] = nil end end end (Não testado)
  14. Adicione uma função com o evento onVehicleEnter, e nessa função você verifica o veículo. Se for o veículo certo, então cancela o timer da verificação e inicia. E pare de usar Ç na palavra você.
  15. onVehicleStartEnter The source of this event is the vehicle in which a player began to enter. Leia a Wiki do onVehicleStartEnter. Com relação ao seu erro, é porque você está tentando setar um valor de uma data que você está tentando pegar. No caso "Motorista de Onibus". O getElementData não tem esse terceiro parâmetro como o setElementData.
  16. 2) Terá que ser com triggerServerEvent. Pois se você tentar usar o destroyElement no client, ele vai dizer que o veículo não existe, pois ele foi criado no server. Basta você usar o triggerServerEvent que executa uma função de destruição no server, que irá verificar se o veh6[client] existe e depois destruir ele. Não se esqueça de anular a variável do veículo depois disso com veh6[client] = nil.
  17. Seu GTA SA possui algum mod ou biblioteca que executa mods. Desinstale o GTA e reinstale-o limpo, sem nenhum mod. O MTA não aceita GTA modificado, pois oferece risco aos servidores.
  18. Cara, parece estar faltando parte no seu código. Como o jogador faz pra iniciar o trabalho?
  19. Pronto. veh = {} vehCol = {} function veiculodayz (thePlayer) local accountname = getAccountName (getPlayerAccount (thePlayer)) -- accountname recebe o nome da conta do jogador que usou o comando. if isObjectInACLGroup ("user."..accountname, aclGetGroup ("Admin")) then -- Se o nome da conta estiver na ACL Group Admin, então: local x, y, z = getElementPosition (thePlayer) -- x, y, z recebem a posição do jogador que usou o comando. if isElement (veh[thePlayer]) then -- Se já existe o veh[thePlayer] criado, então: spawnVehicle (veh[thePlayer], x+3, y, z) -- Spawna ele perto do jogador, sem criar outro. setElementData (vehCol[thePlayer], "parent", veh[thePlayer]) -- Reseta as datas do colider. setElementData (veh[thePlayer], "parent", vehCol[thePlayer]) setElementData (vehCol[thePlayer], "vehicle", true) setElementData (vehCol[thePlayer], "Tire_inVehicle", 4) setElementData (vehCol[thePlayer], "Engine_inVehicle", 1) setElementData (vehCol[thePlayer], "Parts_inVehicle", 1) setElementData (vehCol[thePlayer], "fuel", 10000) else -- Se não existe um veh[thePlayer] criado, então: veh[thePlayer] = createVehicle (489, x+3, y, z) -- Cria o veh[thePlayer]. setVehicleColor (veh[thePlayer], 0, 0, 0) -- Coloca ele na cor preta. if isElement (vehCol[thePlayer]) then -- Se já existe o colider (veículo foi deletado e o colider ficou lá), então: attachElements (vehCol[thePlayer], veh[thePlayer], 0, 0, 0) -- Anexa o colider novamente ao veh[thePlayer]. else -- Se não existe colider nenhum, então: vehCol[thePlayer] = createColSphere (x, y, z, 2.5) -- Cria o colider. attachElements (vehCol[thePlayer], veh[thePlayer], 0, 0, 0) -- Anexa ele ao veh[thePlayer]. end setElementData (vehCol[thePlayer], "parent", veh[thePlayer]) -- Seta as datas no veh[thePlayer] e no colider. setElementData (veh[thePlayer], "parent", vehCol[thePlayer]) setElementData (vehCol[thePlayer], "vehicle", true) setElementData (vehCol[thePlayer], "Tire_inVehicle", 4) setElementData (vehCol[thePlayer], "Engine_inVehicle", 1) setElementData (vehCol[thePlayer], "Parts_inVehicle", 1) setElementData (vehCol[thePlayer], "fuel", 10000) end end end addCommandHandler ("carro", veiculodayz)
  20. Quando vc arrumar os erros do código atual, dai consigo te ajudar. A propósito, sua imagem é essa:
  21. Não funciona se for em outro resource. Os triggers só funcionam para scripts que estão no mesmo resource. Sim, está faltando os parâmetros de função. Caso não exista nenhum, deixe os parênteses vazios. exports["[VHR]Scr-Inventario"]:Abrir_Comidas() E também você deve adicionar isso no meta.xml: <export function="Abrir_Comidas" type="client"/> (supondo que a função a ser exportada seja client-side)
  22. Sim é possível. Basta você exportar as funções que abrem os painéis usando a função call. Dai você pode chamar essas funções exportadas em outros resources. Lembre-se que é necessário declarar as funções exportadas no meta.xml do resource que está exportando a função.
×
×
  • Create New...