Giovany Mito Posted July 25, 2019 Share Posted July 25, 2019 Olá, estou com uma duvida em meu script. Como faço para que esse Chatbox fica local ? só aparece ao redor de quem usou o comando, e ao redor da pessou que puxado pelo comando. function getPlayer(player, cmd, id) if tonumber(id) then local mx, my, mz = getElementPosition(player) local player2 = getPlayerFromID ( tonumber(id) ) local trplayername = getPlayerName(player):gsub("#%x%x%x%x%x%x","") if not player2 or not isElement(player2) then return outputChatBox( "Player Offline", player ) end local rand = math.random(1, 5) outputChatBox ( "#c9c9c9[#1a6cefFW-COMANDO#c9c9c9]O #1a6cef".. trplayername .."#c9c9c9 Puxou o #1a6cef".. id .."", source, 255, 0, 0, true ); setElementPosition(player2, mx+rand, my+rand, mz + 1) end end addCommandHandler("tr", getPlayer) Link to comment
Giovany Mito Posted July 27, 2019 Author Share Posted July 27, 2019 (edited) On 25/07/2019 at 17:24, giovanymito said: Olá, estou com uma duvida em meu script. Como faço para que esse Chatbox fica local ? só aparece ao redor de quem usou o comando, e ao redor da pessou que puxado pelo comando. function getPlayer(player, cmd, id) if tonumber(id) then local mx, my, mz = getElementPosition(player) local player2 = getPlayerFromID ( tonumber(id) ) local trplayername = getPlayerName(player):gsub("#%x%x%x%x%x%x","") if not player2 or not isElement(player2) then return outputChatBox( "Player Offline", player ) end local rand = math.random(1, 5) outputChatBox ( "#c9c9c9[#1a6cefFW-COMANDO#c9c9c9]O #1a6cef".. trplayername .."#c9c9c9 Puxou o #1a6cef".. id .."", source, 255, 0, 0, true ); setElementPosition(player2, mx+rand, my+rand, mz + 1) end end addCommandHandler("tr", getPlayer) Tentei procurar alguma função para fazer isso e falhei. Estou querendo que o chatbox aparece somente perto de quem ultizou ou comando e de quem foi puxado pelo comando Oque teria que usar para isso Edited July 27, 2019 by giovanymito Link to comment
DNL291 Posted July 27, 2019 Share Posted July 27, 2019 Mude source para player e para mostrar para quem foi puxado use player2. Se você quer que mostre essa mensagem para jogadores a uma determinada distância do player use: getDistanceBetweenPoints3D e faça um loop nos jogadores do server verificando a distância. Link to comment
Giovany Mito Posted July 27, 2019 Author Share Posted July 27, 2019 1 hour ago, DNL291 said: Mude source para player e para mostrar para quem foi puxado use player2. Se você quer que mostre essa mensagem para jogadores a uma determinada distância do player use: getDistanceBetweenPoints3D e faça um loop nos jogadores do server verificando a distância. Eu fazendo isso não deixara o servidor lento ? Caso tenha muitos player online Link to comment
Giovany Mito Posted July 27, 2019 Author Share Posted July 27, 2019 (edited) function getPlayer(player, cmd, id) if tonumber(id) then local mx, my, mz = getElementPosition(player) local player2 = getPlayerFromID ( tonumber(id) ) local trplayername = getPlayerName(player):gsub("#%x%x%x%x%x%x","") if not player2 or not isElement(player2) then return outputChatBox( "Player Offline", player ) end local rand = math.random(1, 5) for i=1, #players do -- fastest loop local xp, yp, zp = getElementPosition ( players[i] ) if getDistanceBetweenPoints3D ( x, y, z, xp, yp, zp ) <= 50 then outputChatBox ( "#c9c9c9[#1a6cefFW-COMANDO#c9c9c9]O #1a6cef".. trplayername .."#c9c9c9 Puxou o #1a6cef".. id .."", players[i], 255, 0, 0, true ); setElementPosition(player2, mx+rand, my+rand, mz + 1) end end end end addCommandHandler("tr", getPlayer) Seria assim ?? Edited July 27, 2019 by giovanymito Link to comment
DNL291 Posted July 27, 2019 Share Posted July 27, 2019 Não vai deixar lento. Tente: function getPlayer(player, cmd, id) if tonumber(id) then local mx, my, mz = getElementPosition(player) local player2 = getPlayerFromID ( tonumber(id) ) if not player2 or not isElement(player2) then return outputChatBox( "Player Offline", player ) end local trplayername = getPlayerName(player):gsub("#%x%x%x%x%x%x","") setElementPosition(player2, mx+rand, my+rand, mz + 1) for i, p in ipairs(getElementsByType("player")) do local xp, yp, zp = getElementPosition ( p ) if getDistanceBetweenPoints3D ( mx, my, mz, xp, yp, zp ) <= 50 then outputChatBox ( "#c9c9c9[#1a6cefFW-COMANDO#c9c9c9]O #1a6cef".. trplayername .."#c9c9c9 Puxou o #1a6cef".. tostring(id), p, 255, 0, 0, true ); end end end end addCommandHandler("tr", getPlayer) 1 Link to comment
Giovany Mito Posted July 29, 2019 Author Share Posted July 29, 2019 (edited) On 27/07/2019 at 10:59, DNL291 said: Não vai deixar lento. Tente: function getPlayer(player, cmd, id) if tonumber(id) then local mx, my, mz = getElementPosition(player) local player2 = getPlayerFromID ( tonumber(id) ) if not player2 or not isElement(player2) then return outputChatBox( "Player Offline", player ) end local trplayername = getPlayerName(player):gsub("#%x%x%x%x%x%x","") setElementPosition(player2, mx+rand, my+rand, mz + 1) for i, p in ipairs(getElementsByType("player")) do local xp, yp, zp = getElementPosition ( p ) if getDistanceBetweenPoints3D ( mx, my, mz, xp, yp, zp ) <= 50 then outputChatBox ( "#c9c9c9[#1a6cefFW-COMANDO#c9c9c9]O #1a6cef".. trplayername .."#c9c9c9 Puxou o #1a6cef".. tostring(id), p, 255, 0, 0, true ); end end end end addCommandHandler("tr", getPlayer) ERROR: [FW]Comandos\Server.Lua:10: attempt to perform arithmetic on global 'rand' (a nil value) Chega esse erro Edited July 29, 2019 by giovanymito Link to comment
Other Languages Moderators Lord Henry Posted July 29, 2019 Other Languages Moderators Share Posted July 29, 2019 (edited) Ele está procurando isso na linha 9. local rand = math.random(1, 5) Mas não prestei atenção se foi removido de propósito. Edited July 29, 2019 by Lord Henry 1 Link to comment
Giovany Mito Posted July 29, 2019 Author Share Posted July 29, 2019 9 minutes ago, Lord Henry said: Ele está procurando isso na linha 9. local rand = math.random(1, 5) Mas não prestei atenção se foi removido de propósito. Entendi, Sou um fracasso ainda em Lua , vim do samp, aos poucos vamos aprendendo kkkk . Agora Funcionou Link to comment
Other Languages Moderators Lord Henry Posted July 29, 2019 Other Languages Moderators Share Posted July 29, 2019 Não se esqueça do Thanks nas respostas que lhe ajudaram. Link to comment
Giovany Mito Posted July 29, 2019 Author Share Posted July 29, 2019 32 minutes ago, Lord Henry said: Não se esqueça do Thanks nas respostas que lhe ajudaram. Opa não esqueço 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