Compare commits

...

2 Commits

11 changed files with 150 additions and 43 deletions

View File

@@ -9,4 +9,5 @@ automoney_world:
- if <[time_passed].is_more_than[<duration[30m]>]>: - if <[time_passed].is_more_than[<duration[30m]>]>:
- flag <[player]> automoney_last:<util.time_now> - flag <[player]> automoney_last:<util.time_now>
- money give players:<[player]> quantity:500 - money give players:<[player]> quantity:500
- if <proc[settings_get].context[<[player]>|game_see_auto_money_announcements]>:
- narrate format:formats_prefix targets:<[player]> "Thanks for being online! You have received ¥500." - narrate format:formats_prefix targets:<[player]> "Thanks for being online! You have received ¥500."

View File

@@ -378,14 +378,14 @@ chat_command_channelswitch:
- define channel <context.args.get[1].to_lowercase> - define channel <context.args.get[1].to_lowercase>
- choose <[channel]>: - choose <[channel]>:
- case ic: - case ic:
- flag <player> chat_channel:ic - run settings_set def.player:<player> def.key:text_rp_chat_channel def.value:ic
- narrate format:formats_prefix "Changed channel to IC." - narrate format:formats_prefix "Changed channel to IC."
- stop - stop
- case ooc: - case ooc:
- if <player.has_flag[chat_disableooc]>: - if <player.has_flag[chat_disableooc]>:
- narrate "<&c>You currently have OOC disabled. Use /ooc first to enable it." - narrate "<&c>You currently have OOC disabled. Use /ooc first to enable it."
- stop - stop
- flag <player> chat_channel:ooc - run settings_set def.player:<player> def.key:text_rp_chat_channel def.value:oocz
- narrate format:formats_prefix "Changed channel to OOC." - narrate format:formats_prefix "Changed channel to OOC."
- stop - stop
- narrate "<&c>Unknown channel <[channel]>. Please try: ic, ooc." - narrate "<&c>Unknown channel <[channel]>. Please try: ic, ooc."
@@ -414,5 +414,5 @@ chat_command_chatcolor:
- if !<proc[chat_allowed_colors].contains[<[color]>]>: - if !<proc[chat_allowed_colors].contains[<[color]>]>:
- narrate "<&c>You must choose a color from this list: <proc[chat_allowed_colors].comma_separated>" - narrate "<&c>You must choose a color from this list: <proc[chat_allowed_colors].comma_separated>"
- stop - stop
- flag <player> chat_color:<element[&<color[<[color]>].hex>].parse_color> - run settings_set def.player:<player> def.key:text_rp_chat_color def.value:<[color]>
- narrate format:formats_prefix "Changed chat color to <element[&<color[<[color]>].hex>].parse_color><[color]>." - narrate format:formats_prefix "Changed chat color to <element[&<color[<[color]>].hex>].parse_color><[color]>."

View File

@@ -29,7 +29,8 @@ chat_channel_ooc:
script: script:
- define message <[message].strip_color.replace[&\].with[&].unescaped> - define message <[message].strip_color.replace[&\].with[&].unescaped>
- define final "<&8>[<&7><&l>OOC<&8>] <proc[chat_special_group].context[<[player]>]><proc[chat_name_ooc].context[<[player]>]><&7>: <&l><[message]>" - define final "<&8>[<&7><&l>OOC<&8>] <proc[chat_special_group].context[<[player]>]><proc[chat_name_ooc].context[<[player]>]><&7>: <&l><[message]>"
- narrate targets:<server.online_players.filter_tag[<[filter_value].has_flag[chat_disableooc].not>]> <[final]> - define targets <server.online_players.filter_tag[<[filter_value].has_flag[chat_disableooc].not>]>
- narrate targets:<[targets]> <[final]>
- announce to_console <[final]> - announce to_console <[final]>
chat_channel_looc: chat_channel_looc:
@@ -39,7 +40,8 @@ chat_channel_looc:
script: script:
- define message <[message].strip_color.replace[&\].with[&].unescaped> - define message <[message].strip_color.replace[&\].with[&].unescaped>
- define final "<&8>[<&7>LOOC<&8>] <proc[chat_special_group].context[<[player]>]><&7><proc[character_get_name].context[<[player]>]> <proc[chat_name_ooc].context[<[player]>]><&7>: <[message]>" - define final "<&8>[<&7>LOOC<&8>] <proc[chat_special_group].context[<[player]>]><&7><proc[character_get_name].context[<[player]>]> <proc[chat_name_ooc].context[<[player]>]><&7>: <[message]>"
- narrate targets:<[player].location.find_players_within[10]> <[final]> - define targets <[player].location.find_players_within[10]>
- narrate targets:<[targets]> <[final]>
- announce to_console <[final]> - announce to_console <[final]>
chat_allowed_colors: chat_allowed_colors:
@@ -71,6 +73,40 @@ chat_tokenize_actions:
- define index <[index].add[1]> - define index <[index].add[1]>
- determine <[result].trim> - determine <[result].trim>
chat_channel_check_targets:
debug: false
type: task
script:
- if <[targets].size> <= 1:
- if <proc[settings_get].context[<[player]>|text_rp_chat_distance_warning]>:
- narrate "<&6>* <&7><&o>It seemed like nobody could hear you." targets:<[player]>
chat_channel_check_targets_language:
debug: false
type: task
script:
- if <[all].size> <= 1:
- if <proc[settings_get].context[<[player]>|text_rp_chat_distance_warning]>:
- narrate "<&6>* <&7><&o>It seemed like nobody could hear you." targets:<[player]>
chat_accessibility_space_message_inject_define:
debug: false
type: task
script:
- define space_targets <[targets].filter_tag[<proc[settings_get].context[<[filter_value]>|accessibility_rp_chat_space_messages]>]>
chat_accessibility_space_message_inject_define_language:
debug: false
type: task
script:
- define space_targets <[all].filter_tag[<proc[settings_get].context[<[filter_value]>|accessibility_rp_chat_space_messages]>]>
chat_accessibility_space_message_inject_apply:
debug: false
type: task
script:
- narrate targets:<[space_targets]> <&f>
chat_channel_ic: chat_channel_ic:
debug: false debug: false
type: task type: task
@@ -84,9 +120,14 @@ chat_channel_ic:
- stop - stop
- if !<[player].has_permission[chat.colors]>: - if !<[player].has_permission[chat.colors]>:
- define message <[message].strip_color> - define message <[message].strip_color>
- define tokenized <proc[chat_tokenize_actions].context[<[message]>|<player.flag[chat_color].if_null[<&e>]>says<&7>:|<player.flag[chat_color].if_null[<&e>]>|<&f>|<&f><&dq><&f>|false].replace[&\].with[&].unescaped> - define tokenized <proc[chat_tokenize_actions].context[<[message]>|<element[&<color[<proc[settings_get].context[<[player]>|text_rp_chat_color]>].hex>].parse_color>says<&7>:|<element[&<color[<proc[settings_get].context[<[player]>|text_rp_chat_color]>].hex>].parse_color>|<&f>|<&f><&dq><&f>|false].replace[&\].with[&].unescaped>
- define final "<&color[#b8b9ba]><placeholder[essentials_nickname].player[<[player]>]> <&f><proc[chat_special_group].context[<[player]>]><proc[chat_roles_group].context[<[player]>]> <proc[character_get_name].context[<[player]>]> <[tokenized]>" - define final "<&color[#b8b9ba]><placeholder[essentials_nickname].player[<[player]>]> <&f><proc[chat_special_group].context[<[player]>]><proc[chat_roles_group].context[<[player]>]> <proc[character_get_name].context[<[player]>]> <[tokenized]>"
- narrate targets:<[player].location.find_players_within[10]> <[final]> - define targets <[player].location.find_players_within[10]>
- inject chat_accessibility_space_message_inject_define
- inject chat_accessibility_space_message_inject_apply
- inject chat_channel_check_targets
- narrate targets:<[targets]> <[final]>
- inject chat_accessibility_space_message_inject_apply
- announce to_console <[final]> - announce to_console <[final]>
chat_channel_ic_me: chat_channel_ic_me:
@@ -97,8 +138,13 @@ chat_channel_ic_me:
- define message <[message].replace[&\].with[&].unescaped> - define message <[message].replace[&\].with[&].unescaped>
- if !<[player].has_permission[chat.colors]>: - if !<[player].has_permission[chat.colors]>:
- define message <[message].strip_color> - define message <[message].strip_color>
- define final "<&e>*** <&f><placeholder[essentials_nickname].player[<[player]>]> <proc[chat_special_group].context[<[player]>]><proc[chat_roles_group].context[<[player]>]> <proc[character_get_name].context[<[player]>]> <player.flag[chat_color].if_null[<&e>]><&o><[message]>" - define final "<&e>*** <&f><placeholder[essentials_nickname].player[<[player]>]> <proc[chat_special_group].context[<[player]>]><proc[chat_roles_group].context[<[player]>]> <proc[character_get_name].context[<[player]>]> <element[&<color[<proc[settings_get].context[<[player]>|text_rp_chat_color]>].hex>].parse_color><&o><[message]>"
- narrate targets:<[player].location.find_players_within[10]> <[final]> - define targets <[player].location.find_players_within[10]>
- inject chat_accessibility_space_message_inject_define
- inject chat_accessibility_space_message_inject_apply
- inject chat_channel_check_targets
- narrate targets:<[targets]> <[final]>
- inject chat_accessibility_space_message_inject_apply
- announce to_console <[final]> - announce to_console <[final]>
chat_channel_ic_mec: chat_channel_ic_mec:
@@ -109,8 +155,13 @@ chat_channel_ic_mec:
- define message <[message].replace[&\].with[&].unescaped> - define message <[message].replace[&\].with[&].unescaped>
- if !<[player].has_permission[chat.colors]>: - if !<[player].has_permission[chat.colors]>:
- define message <[message].strip_color> - define message <[message].strip_color>
- define final "<&e>* <&f><placeholder[essentials_nickname].player[<[player]>]> <proc[chat_special_group].context[<[player]>]><proc[chat_roles_group].context[<[player]>]> <proc[character_get_name].context[<[player]>]> <player.flag[chat_color].if_null[<&e>]><&o><[message]>" - define final "<&e>* <&f><placeholder[essentials_nickname].player[<[player]>]> <proc[chat_special_group].context[<[player]>]><proc[chat_roles_group].context[<[player]>]> <proc[character_get_name].context[<[player]>]> <element[&<color[<proc[settings_get].context[<[player]>|text_rp_chat_color]>].hex>].parse_color><&o><[message]>"
- narrate targets:<[player].location.find_players_within[3]> <[final]> - define targets <[player].location.find_players_within[3]>
- inject chat_accessibility_space_message_inject_define
- inject chat_accessibility_space_message_inject_apply
- inject chat_channel_check_targets
- narrate targets:<[targets]> <[final]>
- inject chat_accessibility_space_message_inject_apply
- announce to_console <[final]> - announce to_console <[final]>
chat_channel_ic_mel: chat_channel_ic_mel:
@@ -121,8 +172,13 @@ chat_channel_ic_mel:
- define message <[message].replace[&\].with[&].unescaped> - define message <[message].replace[&\].with[&].unescaped>
- if !<[player].has_permission[chat.colors]>: - if !<[player].has_permission[chat.colors]>:
- define message <[message].strip_color> - define message <[message].strip_color>
- define final "<&e>**** <&f><placeholder[essentials_nickname].player[<[player]>]> <proc[chat_special_group].context[<[player]>]><proc[chat_roles_group].context[<[player]>]> <proc[character_get_name].context[<[player]>]> <player.flag[chat_color].if_null[<&e>]><&o><[message]>" - define final "<&e>**** <&f><placeholder[essentials_nickname].player[<[player]>]> <proc[chat_special_group].context[<[player]>]><proc[chat_roles_group].context[<[player]>]> <proc[character_get_name].context[<[player]>]> <element[&<color[<proc[settings_get].context[<[player]>|text_rp_chat_color]>].hex>].parse_color><&o><[message]>"
- narrate targets:<[player].location.find_players_within[25]> <[final]> - define targets <[player].location.find_players_within[25]>
- inject chat_accessibility_space_message_inject_define
- inject chat_accessibility_space_message_inject_apply
- inject chat_channel_check_targets
- narrate targets:<[targets]> <[final]>
- inject chat_accessibility_space_message_inject_apply
- announce to_console <[final]> - announce to_console <[final]>
chat_channel_ic_whisper: chat_channel_ic_whisper:
@@ -140,7 +196,12 @@ chat_channel_ic_whisper:
- define message <[message].strip_color> - define message <[message].strip_color>
- define tokenized <proc[chat_tokenize_actions].context[<[message]>|whispers|<&8>|<&7>|<&6><&sq>|false].replace[&\].with[&].unescaped> - define tokenized <proc[chat_tokenize_actions].context[<[message]>|whispers|<&8>|<&7>|<&6><&sq>|false].replace[&\].with[&].unescaped>
- define final "<&color[#d1d1d1]><placeholder[essentials_nickname].player[<[player]>]> <&f><proc[chat_special_group].context[<[player]>]><proc[chat_roles_group].context[<[player]>]> <proc[character_get_name].context[<[player]>]> <[tokenized]>" - define final "<&color[#d1d1d1]><placeholder[essentials_nickname].player[<[player]>]> <&f><proc[chat_special_group].context[<[player]>]><proc[chat_roles_group].context[<[player]>]> <proc[character_get_name].context[<[player]>]> <[tokenized]>"
- narrate targets:<[player].location.find_players_within[3]> <[final]> - define targets <[player].location.find_players_within[3]>
- inject chat_accessibility_space_message_inject_define
- inject chat_accessibility_space_message_inject_apply
- inject chat_channel_check_targets
- narrate targets:<[targets]> <[final]>
- inject chat_accessibility_space_message_inject_apply
- announce to_console <[final]> - announce to_console <[final]>
chat_channel_ic_yell: chat_channel_ic_yell:
@@ -158,7 +219,11 @@ chat_channel_ic_yell:
- define message <[message].strip_color> - define message <[message].strip_color>
- define tokenized <proc[chat_tokenize_actions].context[<[message]>|yells|<&6>|<&f>|<&6><&sq>|true].replace[&\].with[&].unescaped> - define tokenized <proc[chat_tokenize_actions].context[<[message]>|yells|<&6>|<&f>|<&6><&sq>|true].replace[&\].with[&].unescaped>
- define final "<&f><placeholder[essentials_nickname].player[<[player]>]> <proc[chat_special_group].context[<[player]>]><proc[chat_roles_group].context[<[player]>]> <proc[character_get_name].context[<[player]>]> <[tokenized]>" - define final "<&f><placeholder[essentials_nickname].player[<[player]>]> <proc[chat_special_group].context[<[player]>]><proc[chat_roles_group].context[<[player]>]> <proc[character_get_name].context[<[player]>]> <[tokenized]>"
- narrate targets:<[player].location.find_players_within[25]> <[final]> - define targets <[player].location.find_players_within[25]>
- inject chat_accessibility_space_message_inject_define
- inject chat_accessibility_space_message_inject_apply
- narrate targets:<[targets]> <[final]>
- inject chat_accessibility_space_message_inject_apply
- announce to_console <[final]> - announce to_console <[final]>
chat_channel_ic_my: chat_channel_ic_my:
@@ -175,7 +240,11 @@ chat_channel_ic_my:
- else: - else:
- define possession_name <[possession_name]><&sq>s - define possession_name <[possession_name]><&sq>s
- define final "<&e>*** <&f><placeholder[essentials_nickname].player[<[player]>]> <proc[chat_special_group].context[<[player]>]><proc[chat_roles_group].context[<[player]>]> <[possession_name]> <&f><[message]>" - define final "<&e>*** <&f><placeholder[essentials_nickname].player[<[player]>]> <proc[chat_special_group].context[<[player]>]><proc[chat_roles_group].context[<[player]>]> <[possession_name]> <&f><[message]>"
- narrate targets:<[player].location.find_players_within[10]> <[final]> - define targets <[player].location.find_players_within[10]>
- inject chat_accessibility_space_message_inject_define
- inject chat_accessibility_space_message_inject_apply
- narrate targets:<[targets]> <[final]>
- inject chat_accessibility_space_message_inject_apply
- announce to_console <[final]> - announce to_console <[final]>
chat_channel_ic_it: chat_channel_ic_it:
@@ -187,7 +256,11 @@ chat_channel_ic_it:
- if !<[player].has_permission[chat.colors]>: - if !<[player].has_permission[chat.colors]>:
- define message <[message].strip_color> - define message <[message].strip_color>
- define final "<&6>*** <&e><[message]> <&7>(<proc[character_get_name].context[<[player]>]>)" - define final "<&6>*** <&e><[message]> <&7>(<proc[character_get_name].context[<[player]>]>)"
- narrate targets:<[player].location.find_players_within[10]> <[final]> - define targets <[player].location.find_players_within[10]>
- inject chat_accessibility_space_message_inject_define
- inject chat_accessibility_space_message_inject_apply
- narrate targets:<[targets]> <[final]>
- inject chat_accessibility_space_message_inject_apply
- announce to_console <[final]> - announce to_console <[final]>
chat_channel_ic_itc: chat_channel_ic_itc:
@@ -199,7 +272,11 @@ chat_channel_ic_itc:
- if !<[player].has_permission[chat.colors]>: - if !<[player].has_permission[chat.colors]>:
- define message <[message].strip_color> - define message <[message].strip_color>
- define final "<&6>* <&e><[message]> <&7>(<proc[character_get_name].context[<[player]>]>)" - define final "<&6>* <&e><[message]> <&7>(<proc[character_get_name].context[<[player]>]>)"
- narrate targets:<[player].location.find_players_within[3]> <[final]> - define targets <[player].location.find_players_within[3]>
- inject chat_accessibility_space_message_inject_define
- inject chat_accessibility_space_message_inject_apply
- narrate targets:<[targets]> <[final]>
- inject chat_accessibility_space_message_inject_apply
- announce to_console <[final]> - announce to_console <[final]>
chat_channel_ic_itl: chat_channel_ic_itl:
@@ -211,7 +288,11 @@ chat_channel_ic_itl:
- if !<[player].has_permission[chat.colors]>: - if !<[player].has_permission[chat.colors]>:
- define message <[message].strip_color> - define message <[message].strip_color>
- define final "<&6>**** <&e><[message]> <&7>(<proc[character_get_name].context[<[player]>]>)" - define final "<&6>**** <&e><[message]> <&7>(<proc[character_get_name].context[<[player]>]>)"
- narrate targets:<[player].location.find_players_within[25]> <[final]> - define targets <[player].location.find_players_within[25]>
- inject chat_accessibility_space_message_inject_define
- inject chat_accessibility_space_message_inject_apply
- narrate targets:<[targets]> <[final]>
- inject chat_accessibility_space_message_inject_apply
- announce to_console <[final]> - announce to_console <[final]>
chat_channel_ic_language: chat_channel_ic_language:
@@ -225,10 +306,14 @@ chat_channel_ic_language:
- define final_known "<&6>[<&7>L<&6>] <&f><placeholder[essentials_nickname].player[<[player]>]> <proc[chat_special_group].context[<[player]>]><proc[chat_roles_group].context[<[player]>]> <proc[character_get_name].context[<[player]>]> <player.flag[chat_color].if_null[<&f>]>says <&f><&dq><&o><[message]><&f><&dq> in <[language]>" - define final_known "<&6>[<&7>L<&6>] <&f><placeholder[essentials_nickname].player[<[player]>]> <proc[chat_special_group].context[<[player]>]><proc[chat_roles_group].context[<[player]>]> <proc[character_get_name].context[<[player]>]> <player.flag[chat_color].if_null[<&f>]>says <&f><&dq><&o><[message]><&f><&dq> in <[language]>"
- define final_unknown "<&6>[<&7>L<&6>] <&f><placeholder[essentials_nickname].player[<[player]>]> <proc[chat_special_group].context[<[player]>]><proc[chat_roles_group].context[<[player]>]> <proc[character_get_name].context[<[player]>]> <player.flag[chat_color].if_null[<&f>]>says something in <[language]>" - define final_unknown "<&6>[<&7>L<&6>] <&f><placeholder[essentials_nickname].player[<[player]>]> <proc[chat_special_group].context[<[player]>]><proc[chat_roles_group].context[<[player]>]> <proc[character_get_name].context[<[player]>]> <player.flag[chat_color].if_null[<&f>]>says something in <[language]>"
- define all <[player].location.find_players_within[10]> - define all <[player].location.find_players_within[10]>
- inject chat_accessibility_space_message_inject_define_language
- inject chat_accessibility_space_message_inject_apply
- inject chat_channel_check_targets_language
- define speakers <[all].filter_tag[<[filter_value].flag[chat_languages].contains[<[language]>].if_null[false]>]> - define speakers <[all].filter_tag[<[filter_value].flag[chat_languages].contains[<[language]>].if_null[false]>]>
- define others <[all].exclude[<[speakers]>]> - define others <[all].exclude[<[speakers]>]>
- narrate targets:<[speakers]> <[final_known]> - narrate targets:<[speakers]> <[final_known]>
- narrate targets:<[others]> <[final_unknown]> - narrate targets:<[others]> <[final_unknown]>
- inject chat_accessibility_space_message_inject_apply
- announce to_console <[final_known]> - announce to_console <[final_known]>
chat_channel_ic_languagewhisper: chat_channel_ic_languagewhisper:
@@ -242,10 +327,14 @@ chat_channel_ic_languagewhisper:
- define final_known "<&6>[<&7>L<&6>] <&f><placeholder[essentials_nickname].player[<[player]>]> <proc[chat_special_group].context[<[player]>]><proc[chat_roles_group].context[<[player]>]> <proc[character_get_name].context[<[player]>]> <&f>whispers <&dq><&o><[message]><&f><&dq> in <[language]>" - define final_known "<&6>[<&7>L<&6>] <&f><placeholder[essentials_nickname].player[<[player]>]> <proc[chat_special_group].context[<[player]>]><proc[chat_roles_group].context[<[player]>]> <proc[character_get_name].context[<[player]>]> <&f>whispers <&dq><&o><[message]><&f><&dq> in <[language]>"
- define final_unknown "<&6>[<&7>L<&6>] <&f><placeholder[essentials_nickname].player[<[player]>]> <proc[chat_special_group].context[<[player]>]><proc[chat_roles_group].context[<[player]>]> <proc[character_get_name].context[<[player]>]> <&f>whispers something in <[language]>" - define final_unknown "<&6>[<&7>L<&6>] <&f><placeholder[essentials_nickname].player[<[player]>]> <proc[chat_special_group].context[<[player]>]><proc[chat_roles_group].context[<[player]>]> <proc[character_get_name].context[<[player]>]> <&f>whispers something in <[language]>"
- define all <[player].location.find_players_within[3]> - define all <[player].location.find_players_within[3]>
- inject chat_accessibility_space_message_inject_define_language
- inject chat_accessibility_space_message_inject_apply
- inject chat_channel_check_targets_language
- define speakers <[all].filter_tag[<[filter_value].flag[chat_languages].contains[<[language]>].if_null[false]>]> - define speakers <[all].filter_tag[<[filter_value].flag[chat_languages].contains[<[language]>].if_null[false]>]>
- define others <[all].exclude[<[speakers]>]> - define others <[all].exclude[<[speakers]>]>
- narrate targets:<[speakers]> <[final_known]> - narrate targets:<[speakers]> <[final_known]>
- narrate targets:<[others]> <[final_unknown]> - narrate targets:<[others]> <[final_unknown]>
- inject chat_accessibility_space_message_inject_apply
- announce to_console <[final_known]> - announce to_console <[final_known]>
chat_channel_ic_languageyell: chat_channel_ic_languageyell:
@@ -259,8 +348,12 @@ chat_channel_ic_languageyell:
- define final_known "<&6>[<&7>L<&6>] <&f><placeholder[essentials_nickname].player[<[player]>]> <proc[chat_special_group].context[<[player]>]><proc[chat_roles_group].context[<[player]>]> <proc[character_get_name].context[<[player]>]> <&f>yells <&dq><&o><[message].to_uppercase><&f><&dq> in <[language]>" - define final_known "<&6>[<&7>L<&6>] <&f><placeholder[essentials_nickname].player[<[player]>]> <proc[chat_special_group].context[<[player]>]><proc[chat_roles_group].context[<[player]>]> <proc[character_get_name].context[<[player]>]> <&f>yells <&dq><&o><[message].to_uppercase><&f><&dq> in <[language]>"
- define final_unknown "<&6>[<&7>L<&6>] <&f><placeholder[essentials_nickname].player[<[player]>]> <proc[chat_special_group].context[<[player]>]><proc[chat_roles_group].context[<[player]>]> <proc[character_get_name].context[<[player]>]> <&f>yells something in <[language]>" - define final_unknown "<&6>[<&7>L<&6>] <&f><placeholder[essentials_nickname].player[<[player]>]> <proc[chat_special_group].context[<[player]>]><proc[chat_roles_group].context[<[player]>]> <proc[character_get_name].context[<[player]>]> <&f>yells something in <[language]>"
- define all <[player].location.find_players_within[25]> - define all <[player].location.find_players_within[25]>
- inject chat_accessibility_space_message_inject_define_language
- inject chat_accessibility_space_message_inject_apply
- inject chat_channel_check_targets_language
- define speakers <[all].filter_tag[<[filter_value].flag[chat_languages].contains[<[language]>].if_null[false]>]> - define speakers <[all].filter_tag[<[filter_value].flag[chat_languages].contains[<[language]>].if_null[false]>]>
- define others <[all].exclude[<[speakers]>]> - define others <[all].exclude[<[speakers]>]>
- narrate targets:<[speakers]> <[final_known]> - narrate targets:<[speakers]> <[final_known]>
- narrate targets:<[others]> <[final_unknown]> - narrate targets:<[others]> <[final_unknown]>
- inject chat_accessibility_space_message_inject_apply
- announce to_console <[final_known]> - announce to_console <[final_known]>

View File

@@ -4,8 +4,13 @@ chat_world:
events: events:
on player chats: on player chats:
- determine cancelled passively - determine cancelled passively
- define channel <player.flag[chat_channel].if_null[ic]> - define channel <proc[settings_get].context[<player>|text_rp_chat_channel]>
- if <[channel]> == ic: - if <[channel]> == ic:
- run chat_channel_ic def.player:<player> def.message:<context.message.parse_color.escaped.replace[&].with[&\]> - run chat_channel_ic def.player:<player> def.message:<context.message.parse_color.escaped.replace[&].with[&\]>
- else if <[channel]> == ooc: - else if <[channel]> == ooc:
- run chat_channel_ooc def.player:<player> def.message:<context.message.escaped.replace[&].with[&\]> - run chat_channel_ooc def.player:<player> def.message:<context.message.escaped.replace[&].with[&\]>
on player receives message:
## yes, we will sync the chat thread and live dangerously
# manual settings_get because this event is very finnicky and dangerous
- if <player.flag[settings].get[accessibility_chat_disable_colors].if_null[false]>:
- determine MESSAGE:<context.message.strip_color>

View File

@@ -44,6 +44,7 @@ textbox_write:
- bossbar create textbox_<[player].uuid>_2 players:<[player]> title:<empty> - bossbar create textbox_<[player].uuid>_2 players:<[player]> title:<empty>
- bossbar create textbox_<[player].uuid>_3 players:<[player]> title:<empty> - bossbar create textbox_<[player].uuid>_3 players:<[player]> title:<empty>
- wait 1t - wait 1t
- define write_speed <proc[settings_get].context[<[player]>|text_textbox_write_speed].if_null[1]>
- if <[avatar_unicode]> != null: - if <[avatar_unicode]> != null:
- bossbar create textbox_<[player].uuid>_avatar players:<[player]> title:<element[ ].repeat[64]><[avatar_unicode]> - bossbar create textbox_<[player].uuid>_avatar players:<[player]> title:<element[ ].repeat[64]><[avatar_unicode]>
- foreach <[lines]> as:line: - foreach <[lines]> as:line:
@@ -58,20 +59,20 @@ textbox_write:
- stop - stop
- bossbar update textbox_<[player].uuid>_<[loop_index]> title:<black><bold><[line].substring[1,<[value]>]> - bossbar update textbox_<[player].uuid>_<[loop_index]> title:<black><bold><[line].substring[1,<[value]>]>
- if <[value].sub[1].mod[3]> == 0: - if <[value].sub[1].mod[3]> == 0:
- playsound sound:textbox.text <[player]> custom pitch:<util.random.decimal[0.98].to[1]> - playsound sound:textbox.text <[player]> custom pitch:<util.random.decimal[0.98].to[1]> volume:<proc[settings_get].context[<[player]>|sound_textbox_volume].div[100].if_null[1]>
- wait 1t - wait <[write_speed]>t
- if <[line].substring[<[value].add[1]>,<[value].add[1]>].trim.length.if_null[1]> == 0: - if <[line].substring[<[value].add[1]>,<[value].add[1]>].trim.length.if_null[1]> == 0:
- if <[line].substring[<[value]>,<[value]>]> == .: - if <[line].substring[<[value]>,<[value]>]> == .:
- wait 2t - wait <[write_speed].add[1]>t
- if <[line].substring[<[value]>,<[value]>]> == !: - if <[line].substring[<[value]>,<[value]>]> == !:
- wait 2t - wait <[write_speed].add[1]>t
- if <[line].substring[<[value]>,<[value]>]> == ?: - if <[line].substring[<[value]>,<[value]>]> == ?:
- wait 2t - wait <[write_speed].add[1]>t
- if <[line].substring[<[value]>,<[value]>]> == -: - if <[line].substring[<[value]>,<[value]>]> == -:
- wait 2t - wait <[write_speed].add[1]>t
- if <[line].substring[<[value]>,<[value]>]> == ,: - if <[line].substring[<[value]>,<[value]>]> == ,:
- wait 2t - wait <[write_speed].add[1]>t
- wait <duration[1t]> - wait <duration[<[write_speed]>t]>
- if <[player].flag[textbox_state].if_null[null]> != writing: - if <[player].flag[textbox_state].if_null[null]> != writing:
- if <[queue].if_null[null]> != null && <[player].flag[textbox_state].if_null[null]> != continue: - if <[queue].if_null[null]> != null && <[player].flag[textbox_state].if_null[null]> != continue:
- debug log "[Textbox] Write; cancelled queue <[queue].numeric_id><&at><[queue].script.name> for <[player].name>; state mismatch." - debug log "[Textbox] Write; cancelled queue <[queue].numeric_id><&at><[queue].script.name> for <[player].name>; state mismatch."
@@ -207,12 +208,12 @@ textbox_handle_click:
- ratelimit <player> 5t - ratelimit <player> 5t
- else if <[state]> == continue: - else if <[state]> == continue:
- determine cancelled passively - determine cancelled passively
- playsound sound:textbox.close <player> custom - playsound sound:textbox.close <player> custom volume:<proc[settings_get].context[<[player]>|sound_textbox_volume].div[100].if_null[1]>
- ~run textbox_flush def.player:<player> - ~run textbox_flush def.player:<player>
- ratelimit <player> 10t - ratelimit <player> 10t
- else if <[state]> == choice: - else if <[state]> == choice:
- determine cancelled passively - determine cancelled passively
- playsound sound:input.ok <player> custom - playsound sound:input.ok <player> custom volume:<proc[settings_get].context[<[player]>|sound_textbox_volume].div[100].if_null[1]>
- flag <player> textbox_choice_select:<player.flag[textbox_choices].get[current]> - flag <player> textbox_choice_select:<player.flag[textbox_choices].get[current]>
- ~run textbox_flush def.player:<player> - ~run textbox_flush def.player:<player>
- ratelimit <player> 10t - ratelimit <player> 10t
@@ -314,4 +315,4 @@ textbox_internal_choice_select:
- if <[bottom]> != <&0><&l>null: - if <[bottom]> != <&0><&l>null:
- bossbar update textbox_<[player].uuid>_bottom title:<[bottom]> - bossbar update textbox_<[player].uuid>_bottom title:<[bottom]>
- flag <[player]> textbox_choices:<map[].with[data].as[<[choices]>].with[current].as[<[choice_dir]>]> - flag <[player]> textbox_choices:<map[].with[data].as[<[choices]>].with[current].as[<[choice_dir]>]>
- playsound BLOCK_NOTE_BLOCK_BIT <[player]> pitch:2 - playsound BLOCK_NOTE_BLOCK_BIT <[player]> pitch:2 volume:<proc[settings_get].context[<[player]>|sound_textbox_volume].div[100].if_null[1]>

View File

@@ -16,7 +16,8 @@ liteprofilesutils_world:
- flag server liteprofilesutils_lastbestlimit:<[lastbestlimit].with[<[masteruuid]>].as[<[profilelimit].max[<[lastbestlimit].get[<[masteruuid]>].if_null[1]>]>]> - flag server liteprofilesutils_lastbestlimit:<[lastbestlimit].with[<[masteruuid]>].as[<[profilelimit].max[<[lastbestlimit].get[<[masteruuid]>].if_null[1]>]>]>
# #
- define joinleavedata <script[liteprofilesutils_data].data_key[join-leave]> - define joinleavedata <script[liteprofilesutils_data].data_key[join-leave]>
- announce <[joinleavedata].get[leave].parsed> - define setting_enabled_players <server.online_players.filter_tag[<proc[settings_get].context[<[filter_value]>|general_see_player_join_leave]>]>
- narrate <[joinleavedata].get[leave].parsed> targets:<[setting_enabled_players]>
on player joins: on player joins:
- define masteruuid <proc[liteprofilesutils_get_master_uuid].context[<player>]> - define masteruuid <proc[liteprofilesutils_get_master_uuid].context[<player>]>
# sync groups, O(scary) # sync groups, O(scary)
@@ -61,7 +62,8 @@ liteprofilesutils_world:
- if <server.flag[liteprofilesutils_welcome].if_null[<list[]>].contains[<player.uuid>]>: - if <server.flag[liteprofilesutils_welcome].if_null[<list[]>].contains[<player.uuid>]>:
- announce <[joinleavedata].get[welcome].parsed> - announce <[joinleavedata].get[welcome].parsed>
- flag server liteprofilesutils_welcome:<server.flag[liteprofilesutils_welcome].if_null[<list[]>].include[<player.uuid>]> - flag server liteprofilesutils_welcome:<server.flag[liteprofilesutils_welcome].if_null[<list[]>].include[<player.uuid>]>
- announce <[joinleavedata].get[join].parsed> - define setting_enabled_players <server.online_players.filter_tag[<proc[settings_get].context[<[filter_value]>|general_see_player_join_leave]>]>
- narrate <[joinleavedata].get[join].parsed> targets:<[setting_enabled_players]>
## prevent /profile remove ## prevent /profile remove
on command: on command:
- if <context.command.to_lowercase> == profile || <context.command.to_lowercase> == account || <context.command.to_lowercase> == pf: - if <context.command.to_lowercase> == profile || <context.command.to_lowercase> == account || <context.command.to_lowercase> == pf:

View File

@@ -20,6 +20,8 @@ compatibility_check_world:
type: world type: world
events: events:
after player joins: after player joins:
- if !<proc[settings_get].context[<player>|general_ignore_version_compatibility_check]>:
- stop
- define player_version <player.viaversion_version.split[-].get[1].split[.].limit[3].get[1|2].separated_by[.]> - define player_version <player.viaversion_version.split[-].get[1].split[.].limit[3].get[1|2].separated_by[.]>
- define server_version <server.version.split[(].get[2].split[:].get[2].split[)].get[1].trim.split[.].limit[3].get[1|2].separated_by[.]> - define server_version <server.version.split[(].get[2].split[:].get[2].split[)].get[1].trim.split[.].limit[3].get[1|2].separated_by[.]>
- if <proc[compatibility_check_compare_versions].context[<[player_version]>|<[server_version]>]> == -1: - if <proc[compatibility_check_compare_versions].context[<[player_version]>|<[server_version]>]> == -1:

View File

@@ -83,6 +83,7 @@ phones_commands_phonecall:
# #
# before accepted # before accepted
- if !<[target].has_flag[phones_is_maybe_called]>: - if !<[target].has_flag[phones_is_maybe_called]>:
- if !<proc[settings_get].context[<[target]>|game_disable_phone_ringtone]>:
- nbs file:data/phones/songs/<[target].flag[phones].get[ringtone].if_null[Bad Apple]> play targets:<[target]> - nbs file:data/phones/songs/<[target].flag[phones].get[ringtone].if_null[Bad Apple]> play targets:<[target]>
- narrate targets:<[target]> "<&6>*** <&e>You're being called by <&e><[relative]><&7>." - narrate targets:<[target]> "<&6>*** <&e>You're being called by <&e><[relative]><&7>."
- narrate targets:<[target]> <&hover[<&a>Click to accept call from <[relative]>...]><element[<&a><&l>[ ACCEPT ]].on_click[<entry[accept].command>]><&end_hover> - narrate targets:<[target]> <&hover[<&a>Click to accept call from <[relative]>...]><element[<&a><&l>[ ACCEPT ]].on_click[<entry[accept].command>]><&end_hover>

View File

@@ -86,7 +86,7 @@ settings_config:
name: Textbox volume name: Textbox volume
description: Changes the volume when the textbox is writing. description: Changes the volume when the textbox is writing.
type: number type: number
default: 80 default: 50
min: 0 min: 0
max: 100 max: 100
increment: 5 increment: 5
@@ -98,11 +98,12 @@ settings_config:
default: 50 default: 50
min: 0 min: 0
max: 100 max: 100
increment: 5
## ##
accessibility_rp_chat_disable_colors: accessibility_chat_disable_colors:
tab: Accessibility tab: Accessibility
name: Disable colors in chat channels name: Disable colors in chat
description: If enabled, hides all colors in chat channels, instead using plain white. description: If enabled, hides all colors in chat, instead using plain white.
type: boolean type: boolean
default: false default: false
accessibility_rp_chat_space_messages: accessibility_rp_chat_space_messages:

View File

@@ -98,7 +98,7 @@ settings_menu_set_text_callback:
- define error <entry[result].created_queue.determination.get[1].if_null[null]> - define error <entry[result].created_queue.determination.get[1].if_null[null]>
- if <[error]> != null: - if <[error]> != null:
- narrate targets:<[player]> <&c><[error]> - narrate targets:<[player]> <&c><[error]>
- wait 1t - wait 4t
- run settings_menu def.player:<[player]> def.tab:<[temp_state].get[tab]> def.page:<[temp_state].get[page]> - run settings_menu def.player:<[player]> def.tab:<[temp_state].get[tab]> def.page:<[temp_state].get[page]>
settings_menu_set_text_helper: settings_menu_set_text_helper:
@@ -166,7 +166,7 @@ settings_menu_render_tabs:
type: task type: task
script: script:
- foreach <[tabs]> as:t: - foreach <[tabs]> as:t:
- define tab_button <item[book[display=<&b><[t]>]]> - define tab_button <item[<tern[<[t].equals[<[tab]>]>].pass[enchanted_book].fail[book]>[display=<&b><[t]>]]>
- definemap content_entry_value: - definemap content_entry_value:
item: <[tab_button]> item: <[tab_button]>
script: settings_menu script: settings_menu
@@ -182,7 +182,7 @@ settings_menu_render_settings:
type: task type: task
script: script:
- foreach <proc[settings_all_settings_from_page_from_tab].context[<[tab]>|<[page]>]> as:setting_key: - foreach <proc[settings_all_settings_from_page_from_tab].context[<[tab]>|<[page]>]> as:setting_key:
- define setting_item <item[paper[display=<&3><[keys].get[<[setting_key]>].get[name]>;lore=<[keys].get[<[setting_key]>].get[description].split_lines_by_width[128].split[<&nl>].parse_tag[<&7><[parse_value]>]>]]> - define setting_item <item[paper[display=<&3><[keys].get[<[setting_key]>].get[name]>;lore=<[keys].get[<[setting_key]>].get[description].split_lines_by_width[<[keys].get[<[setting_key]>].get[name].text_width>].split[<&nl>].parse_tag[<&7><[parse_value]>]>]]>
- definemap content_entry_value: - definemap content_entry_value:
item: <[setting_item]> item: <[setting_item]>
- define position <[loop_index].mul[9].add[1]> - define position <[loop_index].mul[9].add[1]>

View File

@@ -156,7 +156,8 @@ vehicle_world_parallel_loop:
- teleport <[vehicle]> <[new_location]> cause:plugin offthread_repeat:8 - teleport <[vehicle]> <[new_location]> cause:plugin offthread_repeat:8
- flag <[vehicle]> vehicles_speed:<[speed]> - flag <[vehicle]> vehicles_speed:<[speed]>
- if <[vehicle].flag[vehicles_data].get[driver_entity].has_passenger>: - if <[vehicle].flag[vehicles_data].get[driver_entity].has_passenger>:
- playsound <[new_location]> custom sound:vehicle.engine pitch:<element[0.5].add[<[speed].abs.mul[32].mod[24].round_down.div[18]>]> - foreach <[vehicle].location.find_players_within[15]> as:listener:
- playsound <[new_location]> <[listener]> custom sound:vehicle.engine pitch:<element[0.5].add[<[speed].abs.mul[32].mod[24].round_down.div[18]>]> volume:<proc[settings_get].context[<[listener]>|sound_vehicles_volume].div[200]>
- if <[vehicle].flag[vehicles_last_location]> == <[new_location]>: - if <[vehicle].flag[vehicles_last_location]> == <[new_location]>:
- stop - stop
- define driver_entity <[vehicle].flag[vehicles_data].get[driver_entity]> - define driver_entity <[vehicle].flag[vehicles_data].get[driver_entity]>