// =========================================================================== // Vortrex's Roleplay Resource // https://github.com/VortrexFTW/gtac_roleplay // =========================================================================== // FILE: chat.js // DESC: Provides chat functions and usage // TYPE: Server (JavaScript) // =========================================================================== function initChatScript() { logToConsole(LOG_INFO, "[VRR.Chat]: Initializing chat script ..."); logToConsole(LOG_INFO, "[VRR.Chat]: Chat script initialized successfully!"); return true; } // =========================================================================== function meActionCommand(command, params, client) { if(areParamsEmpty(params)) { messagePlayerSyntax(client, getCommandSyntaxText(command)); return false; } meActionToNearbyPlayers(client, params); return true; } // =========================================================================== function doActionCommand(command, params, client) { if(isPlayerMuted(client)) { messagePlayerError(client, "You are muted and can't chat!"); return false; } if(areParamsEmpty(params)) { messagePlayerSyntax(client, getCommandSyntaxText(command)); return false; } doActionToNearbyPlayers(client, params); return true; } // =========================================================================== function shoutCommand(command, params, client) { if(isPlayerMuted(client)) { messagePlayerError(client, "You are muted and can't chat!"); return false; } if(areParamsEmpty(params)) { messagePlayerSyntax(client, getCommandSyntaxText(command)); return false; } shoutToNearbyPlayers(client, params); return true; } // =========================================================================== function talkCommand(command, params, client) { if(isPlayerMuted(client)) { messagePlayerError(client, "You are muted and can't chat!"); return false; } if(areParamsEmpty(params)) { messagePlayerSyntax(client, getCommandSyntaxText(command)); return false; } talkToNearbyPlayers(client, params); return true; } // =========================================================================== function whisperCommand(command, params, client) { if(isPlayerMuted(client)) { messagePlayerError(client, "You are muted and can't chat!"); return false; } if(areParamsEmpty(params)) { messagePlayerSyntax(client, getCommandSyntaxText(command)); return false; } whisperToNearbyPlayers(client, params); return true; } // =========================================================================== function adminChatCommand(command, params, client) { if(isPlayerMuted(client)) { messagePlayerError(client, "You are muted and can't chat!"); return false; } if(areParamsEmpty(params)) { messagePlayerSyntax(client, getCommandSyntaxText(command)); return false; } messageAdmins(`${getInlineChatColourByType("jobYellow")}[Admin Chat] ${getInlineChatColourByName("lightGrey")}${getPlayerName(client)} [#CCCCCC](${getPlayerStaffTitle(client)})${getInlineChatColourByName("white")}: ${params}`); } // =========================================================================== function clanChatCommand(command, params, client) { if(isPlayerMuted(client)) { messagePlayerError(client, "You are muted and can't chat!"); return false; } if(areParamsEmpty(params)) { messagePlayerSyntax(client, getCommandSyntaxText(command)); return false; } clanChat(client, params); } // =========================================================================== function talkToNearbyPlayers(client, messageText) { let clients = getClientsInRange(getPlayerPosition(client), getGlobalConfig().talkDistance); for(let i in clients) { //if(clients[i] != client) { messagePlayerTalk(clients[i], client, messageText); //} } } // =========================================================================== function phoneOutgoingToNearbyPlayers(client, messageText) { let clients = getClientsInRange(getPlayerPosition(client), getGlobalConfig().talkDistance); for(let i in clients) { messagePlayerNormal(`[#CCCCCC]${getCharacterFullName(client)} ${getInlineChatColourByName("lightGrey")}(to phone): ${getInlineChatColourByName("white")}${messageText}`); } } // =========================================================================== function phoneIncomingToNearbyPlayers(client, messageText) { let clients = getClientsInRange(getPlayerPosition(client), getGlobalConfig().radioSpeakerDistance); for(let i in clients) { messagePlayerNormal(`[#CCCCCC]${getCharacterFullName(client)} ${getInlineChatColourByName("lightGrey")}(from phone): ${getInlineChatColourByName("white")}${messageText}`); } } // =========================================================================== function whisperToNearbyPlayers(client, messageText) { let clients = getClientsInRange(getPlayerPosition(client), getGlobalConfig().talkDistance); for(let i in clients) { //if(clients[i] != client) { messagePlayerWhisper(clients[i], client, messageText); //} } } // =========================================================================== function shoutToNearbyPlayers(client, messageText) { let clients = getClientsInRange(getPlayerPosition(client), getGlobalConfig().shoutDistance); for(let i in clients) { //if(clients[i].index != client.index) { messagePlayerShout(clients[i], client, messageText); //} } } // =========================================================================== function doActionToNearbyPlayers(client, messageText) { let clients = getClientsInRange(getPlayerPosition(client), getGlobalConfig().doActionDistance); for(let i in clients) { //if(clients[i].index != client.index) { messagePlayerDoAction(clients[i], client, messageText); //} } } // =========================================================================== function meActionToNearbyPlayers(client, messageText) { let clients = getClientsInRange(getPlayerPosition(client), getGlobalConfig().meActionDistance); for(let i in clients) { //if(clients[i].index != client.index) { messagePlayerMeAction(clients[i], client, messageText); //} } } // =========================================================================== function clanChat(client, messageText) { let clients = getClients(); for(let i in clients) { if(getPlayerCurrentSubAccount(client).clan != getPlayerCurrentSubAccount(clients[i]).clan) { messageClientClanChat(clients[i], client, messageText); } } } // ===========================================================================