diff --git a/conf/channels.conf b/conf/channels.conf index 5930531c0d3..c83e5ecdbc9 100644 --- a/conf/channels.conf +++ b/conf/channels.conf @@ -1,16 +1,5 @@ // Channel System Configuration File - -chsys: ( -{ - /* Default channels (available to all players) */ - default_channels: { - /* channel_name : channel_messages_color */ - main: "Yellow" - support: "Blue" - trade: "Red" - chat: "Default" - /* Add as many channels as you'd like. */ - } +channel_config: { /* Colors available */ colors: { @@ -21,24 +10,112 @@ chsys: ( Cyan: "0x00b89d" Yellow: "0xffff90" Green: "0x28bf00" + White: "0xFFFFFF" + Purple: "0xD67FFF" + LightGreen: "0xB6FF00" Normal: "0x00ff00" /* Add as many colors as you'd like. */ } - /* Allow users to create their own (private) channels through @channel command? */ - /* (must also allow players to use @channel in groups.conf) */ - allow_user_channel_creation: true + /** + * Private channel config + * - Always CHAN_TYPE_PUBLIC + * - Always displayed in chat log as "#channel_name: : " + * - ID of private channels are started from 1000 + **/ + private_channel: { + allow: true // (bool) Allow playerto create own channel? + color: "Default" // (string) Default color, see colors + delay: 1000 // (int) Chat delay for each member + max_member: 1000 // (int) Max member + self_notif: true // (bool) Show message when you enter or leave the channel + join_notif: false // (bool) Show message when player joined the channel + leave_notif: false // (bool) Show message when player left the channel + /* Moderation feature for channel owner, allowed to: */ + ban: true // (bool) Ban player + kick: true // (bool) Kick player + color_override: false // (bool) Player allow color override for private channel + change_delay: false // (bool) Change allow to change channel dealy + } - /* "map_local_channel" is an instanced channel unique to each map. */ - map_local_channel: false - map_local_channel_name: "map" - map_local_channel_color: "Yellow" - map_local_channel_autojoin: true /* Disable autojoin in specific maps through mapflag 'nomapchannelautojoin'. */ + /** + * Default server channels + **/ + channels: ( + /** + * Structure + { + name: "#channel" // (string) Channel name + password: "" // (string) Password + alias: "[Channel]" // (string) Message from this channel will be displayed with this name instead the channel name + color: "Default" // (string) Color for this channel + type: "CHAN_TYPE_PUBLIC" // (string) Channel type: CHAN_TYPE_PUBLIC, CHAN_TYPE_ALLY, CHAN_TYPE_MAP + autojoin: false // (bool) Player will auto join channel + delay: 1000 // (int) Chat delay for each player + leave: true // (bool) Player is allowed to leave the channel + chat: true // (bool) Player is allowed to chat on this channel + color_override: false // (bool) Override channel color with personal color + self_notif: true // (bool) Show message when you enter or leave the channel + join_notif: false // (bool) Show message when player joined the channel + leave_notif: false // (bool) Show message when player left the channel + groupid: (0,..,99) // (list,int) Only player with there group ids allowed to join. Group with 'channel_admin' always can enter the channel. + /// All values above are default settings + }, // Use comma if followed by other channel + **/ + { + name: "#global" + alias: "[Global]" + color: "White" + type: "CHAN_TYPE_PUBLIC" + delay: 1000 + autojoin: false + leave: false + }, + { + name: "#support" + alias: "[Support]" + color: "Blue" + type: "CHAN_TYPE_PUBLIC" + delay: 1000 + autojoin: false + }, + { + name: "#trade" + alias: "[Trade]" + color: "LightGreen" + type: "CHAN_TYPE_PUBLIC" + delay: 1000 + autojoin: false + } + ) - /* "ally_channel" is a channel shared by all your guild allies. */ - ally_channel_enabled: true - ally_channel_name: "ally" - ally_channel_color: "Green" - ally_channel_autojoin: true + /** + * Channel config for guild alliance + * For the structure, see the 'channels' above + **/ + ally: { + name: "#ally" + alias: "[Ally]" + color: "Green" + type: "CHAN_TYPE_ALLY" // DO NOT CHANGE THIS VALUE + delay: 1000 + autojoin: false + leave: true + chat: true + } + + /** + * Channel config for map channel + * For the structure, see the 'channels' above + **/ + map: { + name: "#map" + alias: "[Map]" + color: "Yellow" + type: "CHAN_TYPE_MAP" // DO NOT CHANGE THIS VALUE + delay: 1000 + autojoin: false + leave: true + chat: true + } } -) diff --git a/conf/map_athena.conf b/conf/map_athena.conf index 5df09c33b29..8c2a56522ae 100644 --- a/conf/map_athena.conf +++ b/conf/map_athena.conf @@ -119,6 +119,9 @@ help_txt: conf/help.txt help2_txt: conf/help2.txt charhelp_txt: conf/charhelp.txt +// Load channel config from +channel_conf: conf/channels.conf + // Maps: import: conf/maps_athena.conf diff --git a/conf/msg_conf/map_msg.conf b/conf/msg_conf/map_msg.conf index f4dfc4624d0..a56ba3aab8d 100644 --- a/conf/msg_conf/map_msg.conf +++ b/conf/msg_conf/map_msg.conf @@ -803,6 +803,18 @@ //753-899 free +881: Cannot join channel '%s'. Reached limit of private channel %d. +882: %s %s has joined +883: You cannot leave '%s' channel. +884: %s %s left +885: Cannot set color_override for this channel '%s'. +886: Not allowed to ban a player. +887: You cannot kick player from this channel '%s'. +888: Not allowed to kick a player. +889: %s %s is kicked. +890: %s %s is banned. +891: %s %s is unbanned. + //------------------------------------ // More atcommands message //------------------------------------ diff --git a/doc/script_commands.txt b/doc/script_commands.txt index 112432925ef..eeb90903ba1 100644 --- a/doc/script_commands.txt +++ b/doc/script_commands.txt @@ -9360,5 +9360,162 @@ If is specified, the specified player is used rather than the attached --------------------------------------- +=========================== +| Channel Commands [Cydh] | +=========================== +--------------------------------------- + +*channel_create "",""{,""{