Jump to content

[REQ]Local Chat


Recommended Posts

Posted
  
chat_range=100 
  
function isPlayerInRangeOfPoint(player,x,y,z,range) 
   local px,py,pz=getElementPosition(player) 
   return ((x-px)^2+(y-py)^2+(z-pz)^2)^0.5<=range 
end 
  
function onChat(player,_,msg) 
  local px,py,pz=getElementPosition(player) 
  local nick=getPlayerName(player) 
  for _,v in ipairs(getElementsByType("player")) do 
    if isPlayerInRangeOfPoint(v,px,py,pz,chat_range) then 
      outputChatBox("[local]"..nick..": #ffffff"..msg,v,30,30,200,true) 
    end 
  end 
end 
  
addCommandHandler("l",onChat) 
  

Posted
chat_range=100 
  
addEventHandler("onPlayerJoin",getRootElement(), 
function () 
bindKey(source,"L","down","chatbox","L") 
end) 
  
addEventHandler("onResourceStart",getResourceRootElement(getThisResource()), 
function () 
for index, player in pairs(getElementsByType("player")) do 
bindKey(player,"L","down","chatbox","L") 
  end 
end) 
  
function isPlayerInRangeOfPoint(player,x,y,z,range) 
   local px,py,pz=getElementPosition(player) 
   return ((x-px)^2+(y-py)^2+(z-pz)^2)^0.5<=range 
end 
  
function onChat(player,_,msg) 
  local px,py,pz=getElementPosition(player) 
  local nick=getPlayerName(player) 
  for _,v in ipairs(getElementsByType("player")) do 
    if isPlayerInRangeOfPoint(v,px,py,pz,chat_range) then 
      outputChatBox("[local]"..nick..": #ffffff"..msg,v,30,30,200,true) 
    end 
  end 
end 
addCommandHandler("L",onChat) 

I think that should work.

San Andreas Utopia RPG (SAUR) Owner & Developer.

560x95_FFFFFF_FF9900_000000_000000.png

Education is the most powerful weapon which you can use to change the world.

  • Moderators
Posted

Personnaly I create a colsphere, I send the message for every players in it, and then I destroy the colShape.

The rEvolution is coming ...

Posted

Try;

  
    chat_range=100 
      
    addEventHandler("onPlayerJoin",getRootElement(), 
    function () 
    bindKey(source,"L","down","chatbox","Local") 
    end) 
      
    addEventHandler("onResourceStart",getResourceRootElement(getThisResource()), 
    function () 
    for index, player in pairs(getElementsByType("player")) do 
    bindKey(player,"L","down","chatbox","Local") 
      end 
    end) 
      
    function isPlayerInRangeOfPoint(player,x,y,z,range) 
       local px,py,pz=getElementPosition(player) 
       return ((x-px)^2+(y-py)^2+(z-pz)^2)^0.5<=range 
    end 
      
    function onChat(player,_,...) 
      local args = { ... } 
      local message = "" 
      for _,arg in ipairs(args) do 
             if message == "" then 
                 message = arg 
             else 
                 message = message .. " " .. arg 
             end 
  
      local px,py,pz=getElementPosition(player) 
      local nick=getPlayerName(player) 
      for _,v in ipairs(getElementsByType("player")) do 
        if isPlayerInRangeOfPoint(v,px,py,pz,chat_range) then 
          outputChatBox("[LOCAL]"..nick..": #ffffff"..message,v,30,30,200,true) 
        end 
      end 
    end 
    addCommandHandler("Local",onChat) 
  
  

Posted

hmm

@laserlaser:It dosen't work

@Castillo:huh I press 'l' and it works fine but it only write one word like that

if we say like :Kill Him it writes only Kill

Posted
chat_range=100 
  
addEventHandler("onPlayerJoin",getRootElement(), 
function () 
bindKey(source,"L","down","chatbox","L") 
end) 
  
addEventHandler("onResourceStart",getResourceRootElement(getThisResource()), 
function () 
for index, player in pairs(getElementsByType("player")) do 
bindKey(player,"L","down","chatbox","L") 
  end 
end) 
  
function isPlayerInRangeOfPoint(player,x,y,z,range) 
   local px,py,pz=getElementPosition(player) 
   return ((x-px)^2+(y-py)^2+(z-pz)^2)^0.5<=range 
end 
  
function onChat(player,_,...) 
  local px,py,pz=getElementPosition(player) 
  local msg = table.concat({...}, " ") 
  local nick=getPlayerName(player) 
  for _,v in ipairs(getElementsByType("player")) do 
    if isPlayerInRangeOfPoint(v,px,py,pz,chat_range) then 
      outputChatBox("[local]"..nick..": #ffffff"..msg,v,30,30,200,true) 
    end 
  end 
end 
addCommandHandler("L",onChat) 

San Andreas Utopia RPG (SAUR) Owner & Developer.

560x95_FFFFFF_FF9900_000000_000000.png

Education is the most powerful weapon which you can use to change the world.

Posted

Karlis, if you do that the bind won't work at all.

San Andreas Utopia RPG (SAUR) Owner & Developer.

560x95_FFFFFF_FF9900_000000_000000.png

Education is the most powerful weapon which you can use to change the world.

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...