2021-12-28 03:15:41 +01:00
-- Note: This config file is not intended to be edited directly.
-- Like all my mods, it foremost provides an interface/api so
-- that another mod (i.e. a server specific one written by you)
-- can call functions here and do the settings.
--
-- That way you can update this mod easily and keep your settings
-- in a seperate mod and even override functions there if you
-- want.
--
-- So please use a seperate config mod!
2022-06-19 21:29:01 +02:00
-- enable/disable the original staff-based editing
-- Note: The staffs can only edit part of what the NPC can do. They can even break the NPC.
-- Set this only if you need to force-mute an NPC or something like that.
yl_speak_up.enable_staff_based_editing = true
2021-12-28 03:15:41 +01:00
2020-11-20 11:45:50 +01:00
-- Do the NPCs talk right after they spawned?
yl_speak_up.talk_after_spawn = true
2023-01-25 21:14:53 +01:00
yl_speak_up.nametag_color_when_not_muted = " #00DDDD "
yl_speak_up.nametag_color_when_muted = " #FF00FF "
2022-07-17 19:08:43 +02:00
2022-07-19 21:02:48 +02:00
-- diffrent NPC may use diffrent models
-- IMPORTANT: If you want to support an NPC with a diffrent model, provide
-- an entry in this array! Else setting its skin will fail horribly.
yl_speak_up.mesh_data = { }
yl_speak_up.mesh_data [ " error " ] = {
texture_index = 1 ,
can_show_wielded_items = false ,
}
-- this model is used by mobs_npc
yl_speak_up.mesh_data [ " mobs_character.b3d " ] = {
-- the first texture is the skin
texture_index = 1 ,
-- there is no support for capes or wielded items
can_show_wielded_items = false ,
2022-07-21 20:04:27 +02:00
-- textures are applied directly
textures_to_skin = false ,
2023-06-15 06:05:54 +02:00
animation = {
-- {x = start_frame, y = end_frame, collisionbox}
stand_still = { x = 0 , y = 0 , collisionbox = { - 0.3 , 0.0 , - 0.3 , 0.3 , 1.7 , 0.3 } } ,
stand = { x = 0 , y = 79 , collisionbox = { - 0.3 , 0.0 , - 0.3 , 0.3 , 1.7 , 0.3 } } ,
sit = { x = 81 , y = 160 , collisionbox = { - 0.3 , 0.0 , - 0.3 , 0.3 , 1.0 , 0.3 } } ,
lay = { x = 162 , y = 166 , collisionbox = { - 0.6 , 0.0 , - 0.6 , 0.6 , 0.3 , 0.6 } } ,
walk = { x = 168 , y = 187 , collisionbox = { - 0.3 , 0.0 , - 0.3 , 0.3 , 1.7 , 0.3 } } ,
mine = { x = 189 , y = 198 , collisionbox = { - 0.3 , 0.0 , - 0.3 , 0.3 , 1.7 , 0.3 } } ,
walk_mine = { x = 200 , y = 219 , collisionbox = { - 0.3 , 0.0 , - 0.3 , 0.3 , 1.7 , 0.3 } } ,
} ,
2022-07-19 21:02:48 +02:00
}
yl_speak_up.mesh_data [ " skinsdb_3d_armor_character_5.b3d " ] = {
-- the second texture is the skin
texture_index = 2 ,
-- they can wear and show capes and wield items
can_show_wielded_items = true ,
2022-07-21 20:04:27 +02:00
-- call textures2skin in order to convert the textures (wielded items)
textures_to_skin = true ,
2023-06-15 06:05:54 +02:00
animation = {
-- {x = start_frame, y = end_frame, collisionbox}
stand_still = { x = 0 , y = 0 , collisionbox = { - 0.3 , 0.0 , - 0.3 , 0.3 , 1.7 , 0.3 } } ,
stand = { x = 0 , y = 79 , collisionbox = { - 0.3 , 0.0 , - 0.3 , 0.3 , 1.7 , 0.3 } } ,
sit = { x = 81 , y = 160 , collisionbox = { - 0.3 , 0.0 , - 0.3 , 0.3 , 1.0 , 0.3 } } ,
lay = { x = 162 , y = 166 , collisionbox = { - 0.6 , 0.0 , - 0.6 , 0.6 , 0.3 , 0.6 } } ,
walk = { x = 168 , y = 187 , collisionbox = { - 0.3 , 0.0 , - 0.3 , 0.3 , 1.7 , 0.3 } } ,
mine = { x = 189 , y = 198 , collisionbox = { - 0.3 , 0.0 , - 0.3 , 0.3 , 1.7 , 0.3 } } ,
walk_mine = { x = 200 , y = 219 , collisionbox = { - 0.3 , 0.0 , - 0.3 , 0.3 , 1.7 , 0.3 } } ,
} ,
2022-07-19 21:02:48 +02:00
}
2022-08-02 18:22:48 +02:00
yl_speak_up.mesh_data [ " mobs_sheep.b3d " ] = {
texture_index = 1 ,
}
yl_speak_up.mesh_data [ " mobs_cow.b3d " ] = {
texture_index = 1 ,
}
2022-07-19 21:02:48 +02:00
2022-07-20 21:57:33 +02:00
-- diffrent mob types may want to wear diffrent skins - even if they share the
-- same model/mesh
yl_speak_up.mob_skins = { }
2022-07-22 23:25:40 +02:00
-- some models support capes
yl_speak_up.mob_capes = { }
2022-07-20 21:57:33 +02:00
-- mobs_redo usually uses 64 x 32 textures:
yl_speak_up.mob_skins [ " mobs_npc:npc " ] = {
" mobs_npc.png " , " mobs_npc2.png " , " mobs_npc3.png " , " mobs_npc4.png " , " mobs_npc_baby.png " }
yl_speak_up.mob_skins [ " mobs_npc:igor " ] = {
" mobs_igor.png " , " mobs_igor2.png " , " mobs_igor3.png " , " mobs_igor4.png " ,
" mobs_igor5.png " , " mobs_igor6.png " , " mobs_igor7.png " , " mobs_igor8.png " }
yl_speak_up.mob_skins [ " mobs_npc:trader " ] = {
" mobs_trader.png " , " mobs_trader2.png " , " mobs_trader3.png " }
2022-08-02 18:22:48 +02:00
yl_speak_up.mob_skins [ " mobs_animal:sheep_white " ] = {
" mobs_sheep_base.png^(mobs_sheep_wool.png^[colorize:#abababc0) " }
yl_speak_up.mob_skins [ " mobs_animal:sheep_red " ] = {
" mobs_sheep_base.png^(mobs_sheep_wool.png^[colorize:#ff0000a0) " }
yl_speak_up.mob_skins [ " mobs_animal:cow " ] = {
" mobs_cow.png " , " mobs_cow2.png " }
2022-07-20 21:57:33 +02:00
-- this here uses 64 x 64 textures:
yl_speak_up.mob_skins [ " yl_speak_up:human " ] = {
2022-09-26 04:59:30 +02:00
" yl_speak_up_main_default.png " }
2022-07-22 23:25:40 +02:00
-- which capes can an NPC wear?
yl_speak_up.mob_capes [ " yl_speak_up:human " ] = {
" yl_npc_cape_default.png " }
2022-07-20 21:57:33 +02:00
2022-07-19 21:02:48 +02:00
2022-07-21 17:40:15 +02:00
-- some mobs (in particular from mobs_redo) can switch between follow (their owner),
-- stand and walking when they're right-clicked; emulate this behaviour for NPC in
-- this list
yl_speak_up.emulate_orders_on_rightclick = {
2022-08-02 18:22:48 +02:00
" mobs_npc:npc " , " mobs_npc:igor " , " mobs_npc:trader " ,
" mobs_animal:sheep_white " , " mobs_animal:sheep_red " , " mobs_animal:cow " }
2022-07-21 17:40:15 +02:00
2022-07-19 21:02:48 +02:00
2022-07-17 19:08:43 +02:00
-- some properties from external NPC can be edited and changed (they have the self. prefix),
-- and it is possible to react to property changes with handlers;
-- key: name of the property (i.e. self.order);
-- value: function that reacts to attempts to change the property
-- For an example, see custom_functions_you_can_override.lua
yl_speak_up.custom_property_handler = { }
2020-11-20 11:45:50 +01:00
-- What shall we call the folder all the dialogs will reside in?
yl_speak_up.path = " yl_speak_up_dialogs "
2021-05-17 00:15:59 +02:00
-- What shall we call the folder all the inventories of the NPC will reside in?
yl_speak_up.inventory_path = " yl_speak_up_inventories "
2021-07-03 21:25:38 +02:00
-- Where shall player-specific varialbes (usually quest states) be stored?
yl_speak_up.player_vars_save_file = " yl_speak_up_player_vars "
2022-09-09 22:13:42 +02:00
-- Where to store the logfiles for the individual NPC
yl_speak_up.log_path = " yl_speak_up_log "
2022-11-12 21:07:56 +01:00
-- Where shall information about the quests be stored?
yl_speak_up.quest_path = " yl_speak_up_quests "
2021-07-03 21:25:38 +02:00
-- amount of time in seconds that has to have passed before the above file will be saved again
-- (more time can pass if no variable is changed)
yl_speak_up.player_vars_min_save_time = 60
2021-12-31 17:41:12 +01:00
-- An option may be choosen automaticly without the player having to click if all of its
-- preconditions are true and the mode is set to automatic. Now, if the choosen target
-- dialog has an option that also uses this automatic mode, infinite loops might be
-- created. This option exists to avoid them. Any small value will do.
yl_speak_up.max_allowed_recursion_depth = 5
2023-07-24 12:24:35 +02:00
-- * set the name of the priv that allows to add, edit and change preconditions, actions and
-- effects listed in yl_speak_up.npc_priv_names in npc_privs.lua
-- * this also allows the player to use the "/npc_talk privs" command to assign these privs
-- to NPC
-- * it does *NOT* include the "precon_exec_lua" and "effect_exec_lua" priv - just
-- "effect_give_item", "effect_take_item" and "effect_move_player"
-- * default: "npc_talk_admin" (but can also be set to "npc_master" or "privs" if you want)
yl_speak_up.npc_privs_priv = " npc_talk_admin "
2020-11-20 11:45:50 +01:00
-- Texts
yl_speak_up.message_button_option_exit = " Farewell! "
yl_speak_up.message_button_option_prerequisites_not_met_default = " Locked answer "
yl_speak_up.message_tool_taken_because_of_lacking_priv = " We took the tool from you and logged this event. You used an admin item while lacking the neccessary priv npc_master "
yl_speak_up.text_new_dialog_id = " New dialog "
yl_speak_up.text_new_option_id = " New option "
yl_speak_up.text_new_prerequisite_id = " New prerequisite "
yl_speak_up.text_new_result_id = " New result "
yl_speak_up.text_version_warning = " You are using an outdated Minetest version! \n I will have a hard time talking to you properly, but I will try my best. \n You can help me by upgrading to at least 5.3.0! \n Get it at https://minetest.net/downloads "
yl_speak_up.infotext = " Rightclick to talk "
2021-05-08 21:06:27 +02:00
-- how many buttons will be shown simultaneously without having to scroll?
yl_speak_up.max_number_of_buttons = 7
-- how many buttons can be added to one dialog?
yl_speak_up.max_number_of_options_per_dialog = 15
2021-05-29 03:55:36 +02:00
-- how many rows and cols shall be used for the trade overview list?
yl_speak_up.trade_max_rows = 10
2022-04-11 22:17:07 +02:00
yl_speak_up.trade_max_cols = 12
2021-06-07 04:19:10 +02:00
-- how many prerequirements can the player define per dialog option?
yl_speak_up.max_prerequirements = 12
2021-06-12 21:17:58 +02:00
-- how many actions can there be per dialog option?
-- for now, more than one doesn't make sense
yl_speak_up.max_actions = 1
2021-06-07 04:19:10 +02:00
-- how many effects can the player define per dialog option?
yl_speak_up.max_result_effects = 6
2021-06-12 16:52:39 +02:00
-- these blacklists forbid NPC to use effects on blocks; format:
-- yl_speak_up.blacklist_effect_on_block_interact[ node_name ] = true
-- forbids all interactions;
-- use this if a node isn't prepared for a type of interaction with
-- an NPC and cannot be changed easily;
-- Example: yl_speak_up.blacklist_effect_on_block_right_click["default:chest"] = true
yl_speak_up.blacklist_effect_on_block_interact = { }
yl_speak_up.blacklist_effect_on_block_place = { }
yl_speak_up.blacklist_effect_on_block_dig = { }
yl_speak_up.blacklist_effect_on_block_punch = { }
yl_speak_up.blacklist_effect_on_block_right_click = { }
2021-12-28 03:15:41 +01:00
-- taking something out of the inventory of a block or putting something in
yl_speak_up.blacklist_effect_on_block_put = { }
yl_speak_up.blacklist_effect_on_block_take = { }
2021-06-15 01:23:49 +02:00
-- If some items are for some reasons not at all acceptable as quest items,
-- blacklist them here. The data structure is the same as for the tables above.
yl_speak_up.blacklist_action_quest_item = { }
2021-08-01 20:31:05 +02:00
-- NPC can send a message to all players as an effect;
-- this text will be put in front of this message so that you and your players
-- know that it originated from an NPC (just make sure this returns a string)
yl_speak_up.chat_all_prefix = minetest.colorize ( " #0000FF " , " [NPC] " )
-- the NPC will use this color when sending a chat message
yl_speak_up.chat_all_color = " #AAAAFF "
2021-08-04 04:15:45 +02:00
-- it's possible to prevent players from trying actions (i.e. npc_gives, text_input, ..) too often;
-- if no special text is set, this one will be shown (tab "Limit guessing:" in edit options menu)
yl_speak_up.standard_text_if_action_failed_too_often = " You have tried so many times. I'm tired! " ..
2021-08-05 20:32:38 +02:00
" Come back when you really know the answer - but not too soon. \n $TEXT$ "
2021-08-04 04:15:45 +02:00
-- it's also possible to prevent players from successfully executing actions too often (after all the
-- quest items are created from the finite NPC's inventory); this is the standard text that will be
-- shown by default (tab "Limit repeating:" in edit options menu)
yl_speak_up.standard_text_if_action_repeated_too_soon = " I don't have infinite ressources. If you lost " ..
2021-08-05 20:32:38 +02:00
" something I gave you - come back later and we may talk again. \n $TEXT$ "