Joao vitor assis Posted January 21, 2020 Share Posted January 21, 2020 Olá ontem entrou ums caras pra aproveitar de uma falha com um resource de teleporte meu que eu não sei resolver Eu queria por um tempo de espera de 5 segundos pro player usar o comando novamente com mensagem O script não e meu mais se alguem poder resolver desejo um obrigado por que eu to sofrendo com esse problema! Essa msg que queria por com o tempo pra usar comando novamente apos o player usar #FF0000Você precisa aguardar 5 segundos para ultilizar o teleporte novamente! Nesses dois teletransportes local posicoes = { { -1461.9892578125,1491.4815673828,8.2578125 }, } function PosicaoPlayer ( thePlayer, command ) local azar = math.random ( #posicoes ) local veh = getPedOccupiedVehicle(thePlayer) if (veh) then setElementPosition(veh, unpack ( posicoes [ azar ] ) ) else setElementPosition(thePlayer, unpack ( posicoes [ azar ] ) ) end outputChatBox ('#FFFFFF[ #00FF00Tele#FFFFFF ]: #FFFFFF' .. getPlayerName(thePlayer) .. ' #828282Foi Para O Aeroporto De SF #FFFFFF(#00FF00 /sf #FFFFFF)', root, 255, 255, 255, true) end addCommandHandler ( "sf", PosicaoPlayer ) --- local posicoes = { { -300, 1533, 76 }, } function PosicaoPlayer ( thePlayer, command ) local azar = math.random ( #posicoes ) local veh = getPedOccupiedVehicle(thePlayer) if (veh) then setElementPosition(veh, unpack ( posicoes [ azar ] ) ) else setElementPosition(thePlayer, unpack ( posicoes [ azar ] ) ) end outputChatBox ('#FFFFFF[ #00FF00Tele#FFFFFF ]: #FFFFFF' .. getPlayerName(thePlayer) .. ' #828282Foi Para pista de Drift #FFFFFF(#00FF00 /drift #FFFFFF)', root, 255, 255, 255, true) end addCommandHandler ( "drift", PosicaoPlayer ) --- Link to comment
Other Languages Moderators Lord Henry Posted January 22, 2020 Other Languages Moderators Share Posted January 22, 2020 Não há necessidade de math.random se você está usando apenas 1 coordenada para cada teleporte. Faça assim: local posicoes = { ["sf"] = {-1462, 1491.5, 8.26}, ["drift"] = {-300, 1533, 76}, -- ["comando"] = {x, y, z}, -- Adicione outros teles aqui. } local spamTimer = {} function teleporte (thePlayer, cmd) -- cmd = "sf" ou "drift" dependendo do comando utilizado. if (isTimer (spamTimer[thePlayer])) then return outputChatBox ("Aguarde 2 segundos para poder teleportar novamente.", thePlayer, 255, 0, 0) end -- Se o jogador já executou algum teleporte recentemente, manda isso pra ele e cancela a função. if (posicoes[cmd]) then -- Se existe esse comando na lista de posições, então: if (getPedOccupiedVehicle(thePlayer)) then -- Se o jogador que executou o comando estiver dentro de um veículo, então: setElementPosition (getPedOccupiedVehicle(thePlayer), unpack (posicoes[cmd])) -- Teleporta o veículo para a posição x, y, z que estão na posição [cmd] da lista. else -- Se o jogador não estiver em um veículo, então: setElementPosition (thePlayer, unpack (posicoes[cmd])) -- Teleporta o jogador para a posição x, y, z que estão na posição [cmd] da lista. end spamTimer[thePlayer] = setTimer (function () -- Inicia um timer de 2 segundos, enquanto esse timer estiver ativo, nenhum teleporte funcionará para este jogador. spamTimer[thePlayer] = nil -- Depois de 2 segundos, finaliza o timer e anula a variável do spamTimer desse jogador. end, 2000, 1) if (cmd == "sf") then -- Manda uma mensagem diferente no chat dependendo do comando utilizado. outputChatBox ("[ #00FF00Tele#FFFFFF ]: " .. getPlayerName(thePlayer) .. " #828282Foi Para O Aeroporto De SF #FFFFFF(#00FF00 /sf #FFFFFF)", root, 255, 255, 255, true) elseif (cmd == "drift") then outputChatBox ("[ #00FF00Tele#FFFFFF ]: " .. getPlayerName(thePlayer) .. " #828282Foi Para pista de Drift #FFFFFF(#00FF00 /drift #FFFFFF)", root, 255, 255, 255, true) -- elseif (cmd == "comando") then -- Adicione outras mensagens de teles aqui. -- outputChatBox ("[ #00FF00Tele#FFFFFF ]: " .. getPlayerName(thePlayer) .. " #828282Foi Para algum lugar #FFFFFF(#00FF00 /comando #FFFFFF)", root, 255, 255, 255, true) end end end addCommandHandler ("sf", teleporte) addCommandHandler ("drift", teleporte) -- addCommandHandler ("comando", teleporte) -- Adicione outros teles aqui. function quitTimer () if (isTimer (spamTimer[source])) then -- Se o jogador que saiu do servidor tinha um timer pendente, então: killTimer (spamTimer[source]) -- Cancela o timer de spam dele. spamTimer[source] = nil -- Limpa a variável do timer dele. end end addEventHandler ("onPlayerQuit", root, quitTimer) -- Chama essa função quando um jogador desconecta do servidor. Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now