-
Posts
25 -
Joined
-
Last visited
Details
-
Gang
GroveSt
-
Location
Bra
-
Occupation
Creator
-
Interests
Yes
Recent Profile Visitors
The recent visitors block is disabled and is not being shown to other users.
Rougue90's Achievements
Advanced Member (8/54)
9
Reputation
-
Como diminuir a quantidade de munição de uma arma
Rougue90 replied to Tuex's topic in Programação em Lua
Você pode usar o SetWeaponProperty e modificar a propriedade maximum_clip_ammo pra colocar a quantidade que quiser na arma que desejar. -
É possível criar um anti-spoofer. Como funciona?
Rougue90 replied to Doongogar's topic in Programação em Lua
Olá Doongogar, infelizmente acredito que não terá a solução pra isso aqui no fórum. Essa batalha contra cheater / spoofers acontece sim e há uma ideia rolando contra Spoofers. Hoje há poucos servidores com o projeto rodando. Caso encontre sua solução para criar um anti-spoofer, peço que por gentileza não à exponha aqui no fórum. Por motivos meio óbvios nenhum criador de Cheater expõe a vulnerabilidade do MTA para continuar abusando e a vulnerabilidade nunca é arrumada, logo nós desenvolvedores não devemos expor nossos métodos para contra-atacar. Evite o máximo expor suas ideias, teste-as e ofereça a solução para os servers em você ver que há mais problemas em relação a cheaters. Os donos de tais servidores podem fazer o trabalho de expor suas ideias para quem estiver desenvolvendo o anti-spoofer. Enfim, apresente sua ideia e sua solução, caso a encontre, para as pessoas certas.- 1 reply
-
- 1
-
É impossível descompilar arquivos em .luac. Você precisa entrar em contato com o criador do script e solicitar o código descompilado caso queira.
-
DPI MOUSE
Rougue90 replied to kkevihg009's topic in Ajudas relacionadas ao MTA:SA (Cliente/Servidor)
Da uma olhada no programa do seu mouse, alguns vem com configuração de perfil, você consegue configurar DPIs diferentes em jogos diferentes. Todas vez que vc estiver na tela do jogo ele entra a DPI do jogo, e quando você sai pra area de trabalho entra outra DPI. Pode ser o seu caso. -
-- client side bindKey("f", "down", function() local vehicle = getPedOccupiedVehicle(localPlayer) if vehicle then triggerServerEvent("onPlayerToggledInvisibility", localPlayer, vehicle) end end) -- server side function onPlayerToggledInvisibility(vehicle) if vehicle then local list = getElementsByType('player') -- we need to get every player so when can give a different message for i, player in pairs(list) do if player ~= client then -- if player we get is different from the one that trigger the server event outputChatBox(getPlayerName(client) .. "pressed the f button", player) --to other player will show in chat that someplayer press F button else outputChatBox("you pressed the f button", client) -- to the player who pressed will show you pressed end end end end its not good send localPlayer as argument to triggerServerEvent. If you want to use who trigger's it, on server side you can use client variable.
-
I believe that is because you have been destroying variable marker, and not the source of onMarketrHit. So every time you hit any cylinder, the code will destroy the last cylinder in variable marker Try this one to destroy do source of hit garbages = { {-1881.14380, -1707.47888, 21.75000}, {-1885.83081, -1723.84656, 21.75641}, {-1896.03723, -1731.46301, 21.75000}, {-1908.80933, -1733.61536, 21.75000} } function pickup(player) for i,garbage in pairs(garbages) do marker = createMarker(garbage[1], garbage[2], garbage[3], "cylinder", 3.0) function picked(player) destroyElement(source) -- here the modification end addEventHandler("onMarkerHit", marker, picked) end end If it helped, pls give rep+.
-
Como faço para executar o som de agonia em um Ped
Rougue90 replied to euukls's topic in Programação em Lua
Você pode usar a função playSFX3D. -
Tem sim, você consegue ativar ou desativar via script usando setTransferBoxVisible(). essa é uma função Shared, então você pode fazer uma verificação server-side se o jogador estiver logado e fazer uma trigger para desativar se ele estiver. Esse script deve esconder a barra de download sempre que o player estiver online e para qualquer resource iniciada. Server-side: addEventHandler('onResourceStart', root, function(resource) local players = getElementsByType('player') for i, j in pairs(players) do if not isGuestAccount(getPlayerAccount(j)) then triggerClientEvent(j, 'esconde', resourceRoot()) end end end) Client-Side: addEvent('esconde', true) addEventHandler('esconde', root, function() setTransferBoxVisible(false) end)
-
Olá, você pode fazer desse jeito local function burn(commandName, theSize) if tonumber(theSize) then fogo = setTimer(function(theSize) --criamos o timer local x, y, z = getElementPosition(getLocalPlayer()) createFire(x, y+5, z, tonumber(theSize)) --Recomendo fazer x+5 ou y+5 pra quando criar a fogueira, não incendiar o jogador end, 10000, 0) -- o valor 10000 é o fogo sendo criado a cada 10 segundos, você pode diminuir se julgar necessário. O 0 é para que ele nunca pare de ser criado. outputChatBox("É SÃO JOÃO UHUU :)") else outputChatBox("Syntax: /fire <size>") killTimer(fogo) -- esse aqui é pra quando você quiser que o fogo se apague, digitando a syntax errada 'mata' o timer e para o loop. end end addCommandHandler("fire", burn) Lembrando que o CreateFire() é um código client-side, ou seja, só quem digitou /fire irá ver a fogueira. Caso queira que seja visivel para todas, deve fazer a função no client-side, e fazer uma triggerClientEvent() no server-side.
-
[DUVIDA] diferença de com ou sem parenteses
Rougue90 replied to Doongogar's topic in Programação em Lua
Acredito que não faça diferença nenhuma, mas sim quando for quando for usar os operadores OR e AND, acredito que fica mais facil de visualizar as comparações separadamente. Mas em si, a utulização de com ou sem os parenteses, não tenha nenhum efeito prático na leitura do script. Novamente, não tenho certeza, mas o que eu acredito que seja. -
Se os seus paineis são abertos por binds, você pode criar uma trigger server side pra quando o cliente logar, bindar os paineis.
-
Wow, indeed. I don't know why i did that way, Thank you So the verification must compared to an int value local id = getElementModel(getPedOccupiedVehicle(LocalPlayer)) if id == 407 then --YOUR CODE
-
getPedOccupiedVehicle() should be receiving LocalPlayer, and i will return the Element Vehicle. Then you can use GetElementID() to compare here. Something like this i believe: local id = getElementID(getPedOccupiedVehicle(LocalPlayer)) if id == '407' then --YOUR CODE If you have a doubt, just ask or if it helped, you can leave a thanks ?
-
local proibido = { --Essa é a lista de id de veiculos que você quer bloquear, caso queira adicionar o Hydra, ou o Hustler 425, --É só adicionar o id de cada um na tabela 447 } local function enterHeli(heli) local entrou = getElementModel(heli) -- Ve qual o id do veiculo for i,j in pairs(proibido) do if entrou == j then -- compara se o id do veiculo é um dos que está bloqueados toggleControl('vehicle_fire', false) --desbinda um dos comandos toggleControl('vehicle_secondary_fire', false) --desbinda o outro return end end toggleControl('vehicle_fire', true) -- se não for nenhum dos carros proibidos então ele binda, nesse caso funciona atirar com o hydra e o rustler toggleControl('vehicle_secondary_fire', true) end addEventHandler('onClientPlayerVehicleEnter', root, enterHeli) -- evento que vai iniciar a verificação quando o jogador entrar em qualquer veiculo Nota que esse script deve ser colocado em client-side, aproveite usar o script para estudo. Caso tenha alguma duvida pergunte, se não tiver deixe o Thanks.
- 2 replies
-
- 1
-
- helicopter
- lua
-
(and 3 more)
Tagged with:
-
Como bloquear algumas armas nesse script?
Rougue90 replied to realasuramc's topic in Programação em Lua
Olá, boa noite. O GiveWeapon também funciona se você passar uma string com o nome da arma, por isso seu código esta dando esse erro. o getWeaponIDFromName(weaponName) está atribuindo o id da minigun pra variavel id. Para fazer seu código funcionar da maneira que eu imagino que queria, o player digitando o nome da arma, e ja recebendo. Isso não seria possivel pois à armas que tem o nome composto, por tanto não seria tão simples usando o eventHandler onPlayerCommand, pos esse evento só recebe o cmd e nenhum argumento a mais. Essa versão seria mais tranquila de manipular: local ilegal = { 'minigun', 'rocket' } local armas = { [22] = 'pistol', --Entre o colchete entra o id da arma, recebe o valor 'comando' que o player digita pra receber a arma | caso queira adicionar mais [23] = 'silenced', [24] = 'deagle', [25] = 'shotgun', [26] = 'saw', [27] = 'combat', [28] = 'uzi', [29] = 'mp5', [32] = 'tec', [30] = 'ak', [31] = 'm4', [33] = 'rifle', [34] = 'sniper' } addEventHandler("onPlayerCommand", root, function(cmd) weaponName = string.lower(cmd) iprint(weaponName) for i, j in pairs(ilegal) do if weaponName == j then -- verifica se o jogador digitou o nome de uma das armas que estão proibidas e exibe mensagem outputChatBox(' you cannot have this gun', source, 255, 0, 0) return end end for i, j in pairs(armas) do if weaponName == j then -- verific se o nome digitado está na tabela de armas giveWeapon(source, i, 1000, true) -- aqui entregamos o valor do i, pois dizemos que essa é a key da tabela que esta OK outputChatBox("[ CDC-Info ]: Você recebeu 1000 unidades de munição para a arma: " .. weaponName, source, 255, 60, 0, true) return end end end) Caso tenha alguma duvida, pergunte. Se não tiver deixe o Thanks