######################################################################################################################################## #--------------------------------------------------------------------------------------------------------------------------------------# #| Lucius Quest 1 |# #| Les Pirates du soleil bleu |# #| Categorie: Quest |# #| Author: Oruss7 |# #| Time: 5H |# #| Version: 0.1 |# #--------------------------------------------------------------------------------------------------------------------------------------# ######################################################################################################################################## #-----------------------------------------------------------------------------------------------------------------# # COMMANDS: # # - npc assignment --set LuciusQuest_1 : Set Lucius NPC script # # - npc assignment --set LuciusHint_1 : Set First Hint NPC script # # - npc assignment --set LuciusHint_2 : Set Second Hint NPC script # # - npc assignment --set LuciusHint_3 : Set Third Hint NPC script # # # # PERMISSIONS : # # # #-----------------------------------------------------------------------------------------------------------------# # Icon script LuciusQuest_1_Icon: type: item debug: true # Unused in the gui display name: Journal des Quêtes # The material used as the gui icon for this quest material: i@boat # A flag required to mark the quest as Available or LOCKED. # Leave this empty '' if you do not want your quest to be repeatable. quest_unlocked_flag: '' # Set to true to not display this quest if the player does not have the specified unlock flag. # Set to false to show the quest as LOCKED if the player does not have the specified unlock flag. hide_ifLocked: true # A flag for repeatable quests. Flag must store the number of times the quest has been completed. # Once completed, repeatable quests will only show up in the quest journal if they are in the # Active_Quests player flag, but will always display in the completed gui after the first completion. # There's potential for stale data to display in the Objectives view, so we might need to address that in the future. times_completed_flag: QuestGUI.Lucius.Quest.1.Completed # What to display the quest title as quest_title: Les pirates du soleil bleu # What to display for the description of this quest quest_desc: Neutralise les pirates du soleil bleu # A flag to store the number value for the players current objective # If the player is currently doing objective 3 than the value of this flag should be 3 quest_progress_flag: QuestGUI.Lucius.Quest.1.Objective # Define your quest objectives here. Must use a numbered node structure. # Number corresponds to quest_progress_flag objectives: 1: # The text to display as the name of this objective name: Enquêter # A long description of this objective description: Enquête sur l'île et trouve des indices. # Set to true to remove this objective from the list until the player is at this objective # Set to false to allow this objective to be displayed before they reach this objective hide: false # Set to true to show this objective as LOCKED hiding all info about it until the player reaches this objective # Set to false to show all info about this objective even if the player hasn't reached it yet lockDisplay: false # Set the icon to display for this objective icon: i@paper # A list of flags that hold stats for this objective. # Value must be set as a split list in the format statname/flagname # statname is the phrase displayed as the title of this stat # flagname is the flag that holds the value to display progress_flags: - 'Enquêter/QuestGUI.Lucius.Quest.1.Objectives.1' # Script run when an admin resets this quest for a player reset: - flag %player% QuestGUI.Lucius.Quest.1:! - flag %player% QuestGUI.QuestsCompleted:<-:LuciusQuest_1 - flag %player% QuestGUI.Active_Quests:<-:LuciusQuest_1 # Script run when an admin completes this quest for a player complete: - if !contains LuciusQuest_1 { - flag %player% QuestGUI.QuestsCompleted:->:LuciusQuest_1 } - flag %player% QuestGUI.Lucius.Quest.1.Completed:++ - flag %player% QuestGUI.Active_Quests:<-:LuciusQuest_1 # Script run when an admin activates this quest for a player activate: - run player:%player% MyQuestGUIQuest_1_Dialogue_2 # Script run when an admin deactivates this quest for a player deactivate: - narrate "stub" # # # END Icon script #-------------------------------------- # # Quest Trophies # - Item script containers for all obtainable quest trophies # - Must have the quest: node with the scriptname of the quest it belongs to # # # END Quest Trophies #-------------------------------------- # # END Requisite Data for QuestGUI # - The actual quest is upto you! # ################################################################################ # # Lucius Quest 1 # - Assign this to an NPC and click on him. He'll walk you through the rest. # LuciusQuest_1: type: assignment debug: true actions: on spawn: - inject locally init instantly on assignment: - inject locally init instantly on click: - inject locally click instantly on death: - inject locally death instantly init: - trigger name:chat state:false - trigger name:click state:true cooldown:1 radius:8 - trigger name:proximity state:true cooldown:5 radius:5 - trigger name:damage state:true cooldown:3 - lookclose true range:5 realistic - vulnerable state:false - execute as_npc "npc select " - execute as_npc "Trait Health" - wait 1 - ^execute as_npc "Trait sentinel" - execute as_npc "sentinel Health 30" - execute as_npc "sentinel invincible" - execute as_npc "sentinel Armor 1.0" - execute as_npc "sentinel Strength 2" - execute as_npc "sentinel Range 18" - execute as_npc "sentinel Speed 0.8" - execute as_npc "sentinel Attackrate 1" - execute as_npc "sentinel HealRate 0" - execute as_npc "sentinel Nightvision 5" - execute as_npc "sentinel Respawn 30" - execute as_npc "sentinel ignore add entity:monster" - execute as_npc "npc targetable" - execute as_npc "npc respawn 60" - equip hand:i@air - if != 'Lucius' { - adjust 'name:Lucius' } click: # No reapetable quest - if == 'Complete' { - queue clear } - if contains 'LuciusQuest_1' { - define objective "" # objective 2 - if %objective% == 2 { - narrate " -> : Vous avez trouvé notre taupe ?" - wait 3 - narrate " -> : J'ai trouvé tous les indices qu'il nous fallait." - wait 2 - narrate " -> : Très bien, donnez les moi." - wait 2 - take 'item:i@LuciusQuest_1_Item_Hints' "from:" - wait 3 - narrate " -> : Excellent. Je n'ai plus besoin de vous maintenant." - wait 3 - equip hand:i@LuciusQuest_1_Item_Lucius_Sword - wait 3 - narrate " -> : Que faites vous ?!" - wait 3 - narrate " -> : C'est regrettable mais si on apprend que je vous ai fait faire mon travail, on se passera de mes services.." - wait 4 - execute as_npc "npc select " # now vulnerable =) - execute as_npc "sentinel invincible" - vulnerable state:true - execute as_npc "sentinel addTarget player:" - attack } - queue clear } # objective 1 - flag QuestGUI.Active_Quests:->:LuciusQuest_1 - flag QuestGUI.Lucius.Quest.1.Objective:1 - narrate "Inconnu<&co> , je viens te faire sortir d'ici." - wait 2 - narrate " -> Inconnu: Que c'est-il passé ? Pourquoi je suis dans ce cachot ?!" - wait 3 - narrate "Inconnu<&co> Le navire marchand sur lequel tu voyagais a été attaqué par les Pirates du Soleil Bleu." - wait 3 - narrate "Inconnu<&co> Ils ont tué tout le monde sauf toi. Un voyageur de ta prestence, ils préfèrent t'échanger contre de l'or." - wait 4 - narrate " -> Inconnu: Mais qui êtes vous ?" - wait 3 - narrate "Inconnu<&co> Je suis , je suis un espion du Roi, et vous allez m'aider à anéantir ses pirates !" - wait 3 - narrate " -> : Très bien, que dois-je faire ?" - wait 2 - narrate " -> : Les pirates du soleil bleu ont toujours un coup d'avance sur nous." - wait 3 - narrate " -> : Et vous pensez qu'il y a une taupe." - wait 2 - narrate " -> : Ce n'est pas une hypothèse, c'est une certitude." - wait 3 - narrate " -> : Enquêtez sur l'île et trouvez des indices qui pourront m'aider à démasquer cette taupe." - wait 3 - narrate " -> : Retrouvez moi au nord de la rivière quand vous aurez terminé." - wait 3 - narrate " -> : Vous n'avez pas le choix, ou vous restez enfermé ici ou vous m'aider et je vous présenterais au Roi." - wait 3 - narrate " -> : Marché conclu." - wait 3 - cast blindness duration:2s hide_particles - ^give 'item:Steak' "to:" qty:7 - ^playsound sound:BLOCK_IRON_DOOR_CLOSE - teleport - wait 3 - title 'title:Nouvelle Quête' 'subtitle:Les Pirates du Soleil Bleu' targets: - wait 2 - narrate "<&lb>QUETE<&rb> Trouvez des indices sur la taupe des pirates du soleil bleu. (0/3)" - ^playsound sound:ENTITY_EXPERIENCE_ORB_TOUCH - wait 10 - title 'title: ' 'subtitle:Un aventure proposée par' targets: - wait 5 - title 'title: ' 'subtitle:Les Royaumes d<&chr[00B4]>Eredrim' targets: - flag QuestGUI.Lucius.Quest.1.Timer: death: - narrate " -> : Arrgghhh !!!" - equip hand:i@air - ^playsound sound:ENTITY_HOSTILE_DEATH - wait 1 - ^narrate " est mort." - drop item:i@LuciusQuest_1_Item_Lucius_Sword qty:1 location: - flag <%player%> QuestGUI.Lucius.Quest.1.Objectives.2:].div[1000].as_duration.formatted> # quest finished - run LuciusQuestEnd def: # Check player discover 3 hint LuciusCheckHint: type: task debug: true definitions: player script: - if ( <%player%.flag[QuestGUI.Lucius.Quest.1.Objective]||null> == 1 ) { # All 3 hint reached - if ( <%player%.flag[QuestGUI.Lucius.Quest.1.Objectives.1.hint.1]||false> && <%player%.flag[QuestGUI.Lucius.Quest.1.Objectives.1.hint.2]||false> && <%player%.flag[QuestGUI.Lucius.Quest.1.Objectives.1.hint.3]||false> ) { - narrate "<&lb>QUETE<&rb> Trouvez des indices sur la taupe des pirates du soleil bleu (3/3)." targets:<%player%> - flag <%player%> QuestGUI.Lucius.Quest.1.Objectives.1.hint.1:! - flag <%player%> QuestGUI.Lucius.Quest.1.Objectives.1.hint.2:! - flag <%player%> QuestGUI.Lucius.Quest.1.Objectives.1.hint.3:! - narrate "<&lb>QUETE<&rb> Retrouvez Lucius au nord de la rivière." targets:<%player%> - flag <%player%> QuestGUI.Lucius.Quest.1.Objectives.1:].div[1000].as_duration.formatted> - flag <%player%> QuestGUI.Lucius.Quest.1.Timer: - flag <%player%> QuestGUI.Lucius.Quest.1.Objective:2 - ^playsound <%player%.location> sound:ENTITY_EXPERIENCE_ORB_TOUCH - ^give 'item:i@LuciusQuest_1_Item_Hints' "to:<%player%.inventory>" qty:1 } else { # not all hint reached - define count 0 - if <%player%.flag[QuestGUI.Lucius.Quest.1.Objectives.1.hint.1]||false> { - define count } - if <%player%.flag[QuestGUI.Lucius.Quest.1.Objectives.1.hint.2]||false> { - define count } - if <%player%.flag[QuestGUI.Lucius.Quest.1.Objectives.1.hint.3]||false> { - define count } - narrate "<&lb>QUETE<&rb> Trouvez des indices sur la taupe des pirates du soleil bleu (%count%/3)." targets:<%player%> } } # Secret Reports on the harbor office (hint 1) LuciusHint_1: type: assignment debug: true actions: on spawn: - inject locally init instantly on assignment: - inject locally init instantly on click: - inject locally click instantly on enter proximity: - inject locally click instantly init: - trigger name:chat state:false - trigger name:click state:true cooldown:1 radius:8 - trigger name:proximity state:true cooldown:8 radius:2 - vulnerable state:false click: - if ( == 1 && ! ) { - if ! { - flag QuestGUI.Lucius.Quest.1.Objectives.1.hint.1:true - ^NARRATE target: "Toutes les routes commerciales sont indiquées dans ce livre." - run LuciusCheckHint def: } } # Boat's Chest LuciusHint_2: type: task debug: true definitions: player script: - if ( <%player%.flag[QuestGUI.Lucius.Quest.1.Objective]||null> == 1 && !<%player%.flag[QuestGUI.Lucius.Quest.1.Objectives.1.hint.2]||false> ) { - if ! { - flag <%player%> QuestGUI.Lucius.Quest.1.Objectives.1.hint.2:true - ^NARRATE target:<%player%> "Il y a quelque chose dans ce coffre. Il s'agit d'une carte maritime avec le cachet du Roi." - run LuciusCheckHint def:<%player%> } } # Blacksmith Armor (hint 3) LuciusHint_3: type: assignment debug: true actions: on spawn: - inject locally init instantly on assignment: - inject locally init instantly on click: - inject locally click instantly on enter proximity: - inject locally click instantly init: - trigger name:chat state:false - trigger name:click state:true cooldown:1 radius:8 - trigger name:proximity state:true cooldown:8 radius:2 - vulnerable state:false click: - if ( == 1 && ! ) { - if ! { - flag QuestGUI.Lucius.Quest.1.Objectives.1.hint.3:true - ^NARRATE target: "Cette armure n'appartient pas à un pirate, c'est sûr." - run LuciusCheckHint def: } } # Quest end LuciusQuestEnd: type: task debug: true definitions: player script: - title 'title:Quête Terminée' 'subtitle:Les Pirates du Soleil Bleu' targets:<%player%> - ^playsound <%player%.location> sound:ENTITY_PLAYER_LEVELUP - flag <%player%> QuestGUI.Lucius.Quest.1.Objective:Complete - if <%player%.flag[QuestGUI.QuestsCompleted].as_list||li@> !contains LuciusQuest_1 { - flag <%player%> QuestGUI.QuestsCompleted:->:LuciusQuest_1 } - flag <%player%> QuestGUI.Lucius.Quest.1.Completed:++ - flag <%player%> QuestGUI.Active_Quests:<-:LuciusQuest_1 - flag <%player%> QuestGUI.Lucius.Quest.1.Timer:! - title 'title:Merci d<&chr[00B4]>avoir joué !' 'subtitle:>>> play.eredrim.fr <<<' targets:<%player%> - wait 5 - execute 'mv spawn <%player%.name>' # # END Lucius Quest 1 # ################################################################################