Jump to content

Lord Henry

Other Languages Moderators
  • Posts

    3,992
  • Joined

  • Last visited

  • Days Won

    183

Everything posted by Lord Henry

  1. @asrzk Boa. Mas faltou dizer como desativar o giroflex padrão (as luzes). Isso aí só desabilita o som da sirene.
  2. Teste e descubra. Não tenha medo de testar. Se der ruim dai poste os erros e vamos lhe ajudar a corrigi-los.
  3. bool dxDrawImage (float posX, float posY, float width, float height, mixed image) bool dxDrawImage (420, 220, 64, 64, 0 ERRO, 0 ERRO, 64 ERRO, 64 ERRO, "images/icone_colete" ERRO) Marquei os parâmetros errados.
  4. Assim: -- theMarker é a variável local onde vc vai colocar o marker. Dai no script vc usa essa variável. local theMarker = createMarker (cordX, cordY, cordZ, "cylinder", tamanho, red, green, blue, alpha) -- Coloque as coordenadas ali nos campos cordX, cordY e cordZ. -- No tamanho pode ser qualquer valor numérico, por padrão é 4. -- Em red, green, blue e alpha são as cores e transparência do marker, pode ser de 0 até 255. Por exemplo: 255, 255, 0, 150 fará um marker amarelo semi-transparente. addEventHandler ("onClientMarkerHit" , theMarker, function (thePlayer, matchingDimension) -- Parâmetros da função, thePlayer = jogador que colidiu no marker | matchingDimension = true, se o jogador está na mesma dimensão que o marker, false se não estiver. if thePlayer == localPlayer and matchingDimension and (not getElementData (localPlayer, "prison")) then -- Se o jogador que colidiu é o localPlayer (este cliente) e ele está na mesma dimensão que o marker e ele não está com status de preso, então: if not isInColExport () then -- O resto aqui é o seu script, não entendi... guiSetVisible(Window_VS, not guiGetVisible(Window_VS)) guiSetVisible (Window_CHK, false) playSound(":EQPsons/open.wav") showCursor(guiGetVisible(Window_VS)) vehsa = getElementData(localPlayer,"spawnedcars") or {} vehs = "" for ind,veh in ipairs(vehsa) do if vehs ~= "" then vehs = vehs..", "..veh.."" else vehs = vehs..""..veh.."" end end end end end) -- O theMarker que aparece depois do "onClientMarkerHit" é o marker que vc criou antes, essa função só funciona se colidir naquele marker.
  5. -------------------------3 parte---------------------- As funções dele envolvem salvar dados. Vc poderia sim usá-lo para salvar dinheiro 0 nas contas. Mas vc teria que reprogramar o sistema para adicionar um comando que faça isso. E sim, esse mod funciona obrigatoriamente com banco de dados. Ou salvando no banco de dados nativo ou salvando em um banco de dados criado por ele mesmo. Teria que abrir o código dele pra ver isso. A principio ele salva no banco de dados internal.db.
  6. Vamos por partes. Nesse caso, por se tratar de apenas 40 contas. Dá pra editá-las manualmente acessando o banco de dados internal.db usando o programa gratuito DB Browser For SQLite e setando a grana das contas uma por uma em 0. Ou se preferir fazer via código, vc vai precisar obter todas elas com getAccounts e verificar todas elas através de um loop for que vai setar a data da grana em 0 em cada uma das contas. OU Você pode simplesmente deletar todas as contas, em vez de ir setando grana 0, delete cada conta com removeAccount. Mas eu particularmente acho mais fácil acessar o banco de dados pra fazer isso do que programar um script temporário só pra fazer isso. ------------------2 parte-------------------- Já vi um mod de concessionária que funcionava assim também, com banco de dados MySQL criado pelo próprio resource. Mas eu sempre tive problemas pois toda vez que o servidor era desligado, todos os carros eram perdidos. Por isso acabei recriando outra concessionária que salva tudo no banco de dados nativo do MTA em SQLite no registry.db e lá ele não perde os dados. Verifique se o seu mod funciona corretamente, caso contrário os jogadores perderão os veículos após quedas do servidor. Que eu saiba, mods de painel de login geralmente não criam bancos de dados (existem raras exceções). Eles geralmente salvam no banco de dados nativo do MTA por meio da função addAccount. Elas ficam salvas no internal.db, as senhas são criptografadas, então nem mesmo o dono do servidor consegue saber. Ele só vai ver um código serial no lugar da senha. Nunca testei se deletar o banco de dados inteiro causa alguma falha no servidor, sempre que eu preciso fazer alguma alteração, acesso ele por meio do programa que citei anteriormente. E quando preciso deletar uma conta específica, faço por meio de comando no painel Admin. (parecendo um Hacker) Não tenho certeza, mas eu ACHO que o servidor recria o banco de dados ao iniciar, caso ele não exista. Não esqueça de verificar no arquivo ACL.xml (abra com notepad++) se alguma das contas está lá. Se tiver, delete a linha que ela aparece. Contas que não existem podem dar erros nas ACL.
  7. Amigo, vc já leu a Wiki do createMarker? Vc cria o marker e coloca ele numa variável. Depois vc usa essa variável no script. Nesse caso, na variável marker.
  8. Cara, recomendo que estude inglês. Tudo na área da tecnologia precisa de inglês. Ou vc faz curso em uma escola de idiomas (tipo Wizard, CCAA, etc) ou vc baixa o app do Duolingo e aprende jogando.
  9. Não creio que seja possível fazer isso. Pelo menos não por métodos comuns. Programadores experientes já tentaram fazer isso pra sincronizar luzes do cinema com o áudio do vídeo mas não conseguiram. Vc está tentando algo que somente gênios poderiam conseguir. -------------------------- Fui procurar na Wiki e encontrei isto: https://wiki.multitheftauto.com/wiki/GetSoundBPM Batidas por minuto, é isso que vc queria?
  10. Reviveu malandramente este tópico inocente...
  11. Regra número 2: Nunca delete seu código, deixe como comentário. Só delete se tiver certeza de que nunca vai usar nada daquilo ou então já sabe como fazer algo melhor. A regra 1 era usar dxDrawImageSection mesmo ahuahauahauh.
  12. Vai dar erro pois vehicle não foi declarado em lugar nenhum. addEventHandler ("onMarkerHit", marker, function (hitElement) if (getElementType (hitElement) == "vehicle") then -- Se o elemento que colidiu no marker for um veículo, então: if (getElementModel (hitElement) == 416) then -- Se o id do veículo que colidiu no marker for 416, então: destroyElement (hitElement) -- Destrói o veículo. end end end) Obs: Considerando que vc já criou o marker antes com createMarker.
  13. E da próxima vez, poste na seção de Mapas.
  14. Termine de estudar lógica de programação, vai facilitar muito pra você. https://www.youtube.com/watch?v=M2Af7gkbbro&list=PLHz_AreHm4dmSj0MHol_aoNYCSGFqvfXV&index=2&t=20
  15. Você poderia colocar um setElementData no veículo quando ele é blindado pelo modo passivo (sem ser por área verde). E dai no mod da área verde, vc configura pra ignorar os veículos que entram e saem com essa data. Dessa forma, os veículos que não foram blindados pela área, não serão desblindados por ela. Creio que seja mais ou menos esse: Jogador blinda o veículo com o modo Passivo. Jogador entra na área verde com o veículo blindado. (e a área tenta blindar o veículo de novo) Jogador sai da área verde ainda no modo Passivo. (e a área desblinda o veículo) Jogador fica no modo Passivo sem a blindagem. (Erro)
  16. Creio que seja apenas por nome. Quando o pessoal não conhece nenhum dos dois, a primeira coisa que eles vão pesquisar é "GTA San Andreas Multiplayer" ou então "GTA SA Online". Dai na busca aparece o SAMP primeiro, que encaixa melhor nesses termos. No entanto, devemos destacar que nenhum dos dois é oficial da Rockstar Games. O MTA nasceu primeiro em 9 de fevereiro de 2003, enquanto que o SAMP surgiu depois em 10 de maio de 2006. Por ter uma comunidade maior, o SAMP tem mais divulgação do que o MTA. Eu já joguei nos dois e acredito que o MTA tenha mais possibilidades do que o SAMP.
  17. Não sei como resolver. Mas aparentemente esse bug ocorre quando há excesso de objetos criados muito próximos.
  18. Faz a mesma coisa só que muda o nome da função, o comando e o outputChatBox.
  19. Não. Da mesma forma que o pessoal do fórum do Google e os editores de mapas do Waze. É tudo trabalho voluntário.
  20. Já vi um mod na comunidade que colocava efeito de sujeira nos veículos por meio desse vehiclegrunge256. Usa shaders também.
  21. E tem erro de indentação. Alguns lugares vc fez por tabulações e outros por espaços. Recomendo que faça tudo por tabulação. E caso vc queira criar outro VIP no futuro, sugiro o nome Zeta. (Z) Gostei da ideia desses nomes que vc usou.
  22. Lembrando que math.randomDiff é uma função útil. Logo vc precisa ter o código dela no seu script pra funcionar.
  23. Math.randomDiff Não sei se foi falado pra você. Mas já foi dito que dentro do timer, o source deixa de existir. Pois ele pertence ao evento que está anexado na função principal. Passe o source para uma variável local fora do timer e dentro do timer vc usa essa variável em vez do source.
×
×
  • Create New...