Subj : Java script To : All From : Theviper Date : Tue Feb 04 2025 14:31:11 // Filename: sysop_chat_with_splitscreen_and_colors.js load('sbbsdefs.js'); // Load the standard definitions load('userdefs.js'); // Load user definitions if needed // Helper function to add ANSI color codes function color(text, foreColor, backColor = null) { var ansiCode = '\x1b['; if (foreColor) ansiCode += foreColor + 'm'; if (backColor) ansiCode += backColor + 'm'; return ansiCode + text + '\x1b[0m'; // Reset color after text } // ANSI color codes for foreground const RED = '31'; const GREEN = '32'; const YELLOW = '33'; const BLUE = '34'; const MAGENTA = '35'; const CYAN = '36'; const WHITE = '37'; // Main function to handle sysop chat and paging function sysopChat() { console.clear(); console.putmsg(color("\1h\1cSysop Chat and Message System\1n\r\n", BLUE)); console.putmsg(color("1. Page Sysop\r\n", GREEN)); console.putmsg(color("2. Chat with Sysop\r\n", GREEN)); console.putmsg(color("3. Send Message to Sysop\r\n", GREEN)); console.putmsg(color("4. Node-to-Node Chat\r\n", GREEN)); console.putmsg(color("5. Multi-Node Chat\r\n", GREEN)); console.putmsg(color("6. Multi-User Chat Room\r\n", GREEN)); console.putmsg(color("7. Split Screen Chat\r\n", GREEN)); console.putmsg(color("8. Check User Status\r\n", GREEN)); console.putmsg(color("9. Exit\r\n", RED)); console.putmsg(color("Choose an option: ", YELLOW)); var choice = console.getnum(1, 9); switch(choice) { case 1: // Page Sysop pageSysop(); break; case 2: // Chat with Sysop startChat(); break; case 3: // Send Message to Sysop sendMessage(); break; case 4: // Node-to-Node Chat nodeChat(); break; case 5: // Multi-Node Chat multiNodeChat(); break; case 6: // Multi-User Chat Room multiUserChatRoom(); break; case 7: // Split Screen Chat splitScreenChat(); break; case 8: // Check User Status checkUserStatus(); break; case 9: // Exit console.putmsg(color("\r\nGoodbye!\r\n", RED)); return; } } function pageSysop() { console.putmsg(color("Paging the Sysop...\r\n", CYAN)); } function startChat() { console.putmsg(color("Starting chat with Sysop...\r\n", MAGENTA)); } function sendMessage() { console.putmsg(color("Sending message to Sysop...\r\n", YELLOW)); } function nodeChat() { console.putmsg(color("Starting node-to-node chat...\r\n", WHITE)); } function multiNodeChat() { console.putmsg(color("Starting multi-node chat...\r\n", BLUE)); } function multiUserChatRoom() { console.putmsg(color("Entering multi-user chat room...\r\n", CYAN)); } function splitScreenChat() { console.clear(); console.putmsg(color("\1h\1cSplit Screen Chat\1n\r\n", MAGENTA)); // Basic setup for split screen chat with colors console.putmsg(color("This would be the top half of the screen for one user.\r\n", RED)); console.putmsg(color("-------------------------------------------\r\n", WHITE)); console.putmsg(color("This would be the bottom half for another user.\r\n", GREEN)); // Simulate some interaction console.putmsg(color("Press any key to exit split screen chat...\r\n", YELLOW)); console.getkey(); } function checkUserStatus() { console.clear(); console.putmsg(color("\1h\1cUser Status Check\1n\r\n", BLUE)); // List all users currently online var onlineUsers = []; for(var i = 0; i < system.node_list.length; i++) { if(system.node_list[i].status == NODE_INUSE) { var nodeUser = system.node_list[i].user; var nodeStatus = system.node_list[i].action; onlineUsers.push({ user: nodeUser, status: nodeStatus, node: i + 1 }); } } if(onlineUsers.length === 0) { console.putmsg(color("No users are currently online.\r\n", RED)); return; } console.putmsg(color("Users Online:\r\n", GREEN)); for(var i = 0; i < onlineUsers.length; i++) { console.putmsg(color("Node " + onlineUsers[i].node + " - User: " + onlineUsers[i].user + ", Status: " + onlineUsers[i].status + "\r\n", CYAN)); } console.putmsg(color("\r\nPress any key to continue...\r\n", YELLOW)); console.getkey(); } while(true) { sysopChat(); if (!console.noyes(color("Do you want to perform another operation?", YELLOW))) { break; } } This is the new Chat system screen for the BBS Java script a new sysop page! --- þ Synchronet þ THEVIPERBBS - theviperbbs.mywire.org .