Jump to content

Rougue90

Members
  • Posts

    14
  • 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

Square

Square (6/54)

5

Reputation

  1. 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
  2. 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
  3. 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.
  4. 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
  5. Boa tarde, esse código só ira funcionar quando estiver dentro de um veiculo, e quando você reiniciar qualquer outra resource. Essa linha, você esta chamando a função quando reinicia qualquer resource. Pra chamar essa função pra quando reiniciar, ou iniciar apenas a resource do codigo, substitua o ROOT por getResourceRootElement(getThisResource()). Acredito que seja por isso que esteja dando esses erros. Talvez queira colocar para retirar a colisão quando usar um comando, usando addCommandHandler(). Qualquer dúvida, só perguntar.
  6. Hi, you can still be using setPedAnimation() but you must give the right parameters. If you want that the animation play whenever the player is falling just set parameter 7, to false. Something like this: function animacao(player) setPedAnimation(player,'kart', 'kart_getin_lhs', 5000, true, true, false, false) --the first false in this parameter, enable the animation to play while the player is falling, if it's true, than it wait the falling animation to end, so it can be started end addCommandHandler('anim', animacao,false, false)
  7. Olá, você poderia começar olhando a função setElementFrozen para resolver o problema do player empurrar o veiculo. Em relação a porta não vi nenhuma função ou algo que possa te ajuda com relação as portas. Mas com certeza se fizer a famosa gambiarra usando CreateObject e attachElements, você consiguirá resolver seu problema. Mas terá que fazer um código para cada carro pois as posições de cada porta mudam. E não sei ao certo se o objeto seguiria a porta do carro ou o carro em si, mas é mais provavel que o objeto siga o veiculo como um todo.
  8. function getpos (source) x,y,z = getElementPosition(source) interior = getElementInterior(source) Dim = getElementDimension(source) zone = getZoneName(x, y, z, false) city = getZoneName(x, y, z, true) r1,r2,r3 = getElementRotation(source) outputChatBox("Your Rotation is: "..tostring(r1)..", "..tostring(r2)..", "..tostring(r3)..".", source, 0, 255, 0) outputChatBox("You are at: "..tostring(x)..", "..tostring(y)..", "..tostring(z)..".", source, 0, 255, 0) if not fileExists('arquivo.txt') then -- Aqui verificaremos se o arquivo existe archive = fileCreate('arquivo.txt') -- Aqui criamos e atribuimo archive como variavel para indicar o arquivo no primeiro momento else archive = fileOpen('arquivo.txt') -- se o arquivo ja existir, ou seja, se você ja tiver digitado o /getpos 1 vez, iremos ler o arquivo e atribuir o arquivo para a variavel 'archive' fileRead(archive, fileGetSize(archive)) -- quando usamos o fileRead() automaticamente levamos o 'cursor' de digitação pra onde queremos, no caso o segundo parametrô recebe fileGetSize() que vai retornar a quantidade de byte do arquivo, e indicar o 'cursor' pra la end fileWrite(archive, ""..tostring(x)..", "..tostring(y)..", "..tostring(z)..". rotation: "..tostring(r1)..", "..tostring(r2)..", "..tostring(r3).."\n") -- o /n é para dar 'enter' dentro do arquivo, se não tiver ele vai escrevendo pra frente infinito. Aqui ele escreve as coordenadas e da um enter no arquivo, se preparando para o prox /getpos fileClose(archive) -- Aqui o arquivo é salvo e atualizado end Segue o codigo comentado para estudo e funcionando. Se houver alguma dúvida, não deixe de perguntar. Caso queira que as linhas virem tabela tbm, para facilitar encontrar os dados faça essa modificação no fileWrite do seu arquivo fileWrite(archive, "{"..tostring(x)..", "..tostring(y)..", "..tostring(z)..". rotation: "..tostring(r1)..", "..tostring(r2)..", "..tostring(r3).."}\n") Garanto que no futuro quando for manipular, irá ser mais facil em grande quantidades.
  9. So even if i use OnPlayerQuit, you means that if i turned off the server with Player, the information of that players would get lost? Because if i close server's connection and is different from players leaving, right? Dont think it would be a problem, since the player can only play logged in. Well, kind it is what is going on now, a part that i'm using functions from MTA.
  10. I'm creating a gamemode (trying at least, learning), I'm in doubt about how to save information about points, cash, kills and deaths of players. Currently the scripts are working in this logic: User register account -> addAccountData() creating the respective information. Player make login -> GetAccountData() -> setElementData(). Player quit -> GetElementData() -> setAccountData() I understood that the information is saved in internals, but if I want to make a ranking panel, or optimize the flow of information and the server it self, which option is more suitable? Use sqlQexecuteQuery and start saving and manipulating information in the registry or continue with the method I'm using?
  11. Estou criando uma gamemode (tentando pelo menos, aprendendo), estou com dúvida sobre como salvar a informação de pontos, cash, kill e deaths dos jogadores. Atualmente os scripts estão funcionando nessa lógica: RegistraConta -> addAccountData() criando as informações respectivas. Login -> GetAccountData() -> setElementData() Entendi que a informação fica salva em internals, mas caso eu queira fazer um painel de rank, ou otimizar o fluxo de informação, qual opção é mais adequada? Usar o sqlQexecuteQuery e começar a salvar e manipular a informação no registry ou continuar com o método que estou usando?
  12. serial: C452203CED0ABF5F665EE8F55249A5B3
  13. hello, my idea is make a few teams, something around 10 teams. Soo, when i spawn the player in their base, i do something like addEventHandler('onPlayerSpawn', root, function() local team = getPlayerTeam(source) local players = getPlayersInTeam(team) for i,v in ipairs(players) do createBlipAttachedTo(v, 0, 2, 255, 100, 100, 255,0, 65535, players) end end) But i want it to each team, have it blip with it own color set. Need few idea to manage
  14. Hi, this is my first post in mta forum. Im triyng to make a script that kills everyone out of an area/col, how can i do it?
×
×
  • Create New...