Bilal135 Posted January 27, 2018 Share Posted January 27, 2018 This is the code taken from 'onPlayerChat' event's wiki page (1st example). It is supposed to convert main chat to local chat, so it disables whatever we write by pressing T and instead makes it appear for nearby players in a new message. But it is making both appear. Any help regarding this? -- define our chat radius local chatRadius = 20 --units -- define a handler that will distribute the message to all nearby players function sendMessageToNearbyPlayers( message, messageType ) -- we will only send normal chat messages, action and team types will be ignored if messageType == 0 then -- get the chatting player's position local posX, posY, posZ = getElementPosition( source ) -- create a sphere of the specified radius in that position local chatSphere = createColSphere( posX, posY, posZ, chatRadius ) -- get a table all player elements inside it local nearbyPlayers = getElementsWithinColShape( chatSphere, "player" ) -- and destroy the sphere, since we're done with it destroyElement( chatSphere ) -- deliver the message to each player in that table for index, nearbyPlayer in ipairs( nearbyPlayers ) do outputChatBox( message, nearbyPlayer ) end end end -- attach our new chat handler to onPlayerChat addEventHandler( "onPlayerChat", getRootElement(), sendMessageToNearbyPlayers ) -- define another handler function that cancels the event so that the message won't be delivered through the function blockChatMessage() cancelEvent() end -- attach it as a handler to onPlayerChat addEventHandler( "onPlayerChat", getRootElement(), blockChatMessage ) Link to comment
Addlibs Posted January 27, 2018 Share Posted January 27, 2018 cancelEvent() won't cancel any other event handles of onPlayerChat. Check if another resource is cancelling and giving own output onPlayerChat is running -- of the default resources, freeroam and playercolors are the most common offenders of this. 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