diff options
Diffstat (limited to 'npc/commands/debug-quest.txt')
-rw-r--r-- | npc/commands/debug-quest.txt | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/npc/commands/debug-quest.txt b/npc/commands/debug-quest.txt new file mode 100644 index 00000000..a4c6572f --- /dev/null +++ b/npc/commands/debug-quest.txt @@ -0,0 +1,93 @@ +// Evol Script +// Author: Gumi, Jesusalva + +// TODO: This script must be auto-generated from db/quests.conf to be of any use +function script GlobalQuestDebug { + do + { + clear; + setnpcdialogtitle l("Quest debug") + " - " + l("Other"); + mes l("This menu gives access to quest debug menus for @@ quests.", strtolower(l("Other"))); + next; + mes l("Please select a quest:"); + + menuint + menuimage("actions/back", l("Go back")), -1, + l("Custom"), -136; + + switch (@menuret) + { + case -1: return; + case -136: + mes "Determine the quest number, as stated in db/quests.conf"; + input .@quest; + if (!.@quest) return; + mes ""; + mes l("DEBUG: Changing @@, Values: (@@, @@, @@).", getquestlink(.@quest), getq(.@quest), getq2(.@quest), getq3(.@quest)); + select + "set 1", + "set 2", + "set 3", + "reset"; + mes l("DEBUG: Changing @@ field @@ to something else.", getquestlink(.@quest), @menu); + mes ""; + mes "Determine the new value (numeric only)"; + input .@value; + if (.@value < 0) return; + if (@menu == 1) + setq1 .@quest, .@value; + if (@menu == 2) + setq2 .@quest, .@value; + if (@menu == 3) + setq3 .@quest, .@value; + if (@menu == 4) + setq .@quest, .@value, 0, 0; + + return; + default: return; + } + } while (1); + return; +} + + + +- script @qdebug 32767,{ + end; + +OnCall: + if (!is_gm()) { + end; + } + GlobalQuestDebug; + closedialog; + end; + +OnSetq: + if (.@atcmd_numparameters < 2) { + dispbottom "setq called with invalid arguments (min. 2)"; + dispbottom "GM Command syntax: @setq <quest_id> <val1> <val2> <val3>"; + end; + } + .@q=atoi(.@atcmd_parameters$[0]); + switch (.@atcmd_numparameters) { + case 4: + setq3 .@q, atoi(.@atcmd_parameters$[3]); + case 3: + setq2 .@q, atoi(.@atcmd_parameters$[2]); + case 2: + setq1 .@q, atoi(.@atcmd_parameters$[1]); + dispbottom l("Quest @@ modified by GM", getquestlink(.@q)); + specialeffect 50, SELF, playerattached(); + break; + default: + dispbottom "setq called with invalid arguments (max. 4)"; + dispbottom "GM Command syntax: @setq <quest_id> <val1> <val2> <val3>"; + break; + } + end; + +OnInit: + bindatcmd "qdebug", "@qdebug::OnCall", 99, 99, 1; + bindatcmd "setq", "@qdebug::OnSetq", 99, 99, 1; +} |