diff options
Diffstat (limited to 'npc/commands/debug.txt')
-rw-r--r-- | npc/commands/debug.txt | 143 |
1 files changed, 143 insertions, 0 deletions
diff --git a/npc/commands/debug.txt b/npc/commands/debug.txt new file mode 100644 index 000000000..193abb5b2 --- /dev/null +++ b/npc/commands/debug.txt @@ -0,0 +1,143 @@ +function script GlobalDebugMenu { + function resetAll { + function doReset { + resetstatus; + resetskill; + resetlvl 1; + dispbottom l("Reset done!"); + if (getarg(0,0) == 3) + { + closedialog; + doevent "::OnGlobalQuestReset"; // executes in all quest npcs // FIXME: maybe have a `resetquest` buildin? + Zeny = 0; + BankVault = 0; + clearitem; + warp "000-0", 0, 0; // starting point + end; // script must end for doevent to execute + } + return; + } + clear; + setnpcdialogtitle l("Debug - Reset"); + mes l("What do you want to reset?"); + select + menuimage("actions/abort", l("Abort")), + menuimage("actions/reset", l("Reset stats, skills, level")), + menuimage("actions/nuke", l("Reset EVERYTHING")), + menuimage("actions/back", l("Return to Debug menu")); + + switch (@menu) + { + case 2: + case 3: doReset @menu; + } + + return; + } + + function changeLevel { + clear; + setnpcdialogtitle l("Debug - Change level"); + mes l("To change your base level, use this command:"); + mes ""; + mes " " + col("@blvl <" + l("delta") + ">", 3); + next; + mes l("Example:"); + mes "@blvl 50"; + mes " " + l("Raises your base level by 50"); + mes "@blvl -50"; + mes " " + l("Reduces your base level by 50"); + next; + mes l("To change your job level, use this command:"); + mes ""; + mes " " + col("@jlvl <" + l("delta") + ">", 3); + next; + mes l("Example:"); + mes "@jlvl 50"; + mes " " + l("Raises your job level by 50"); + mes "@jlvl -50"; + mes " " + l("Reduces your job level by 50"); + next; + return; + } + function changeStats { + clear; + setnpcdialogtitle l("Debug - Change stats"); + mes l("To change your stats, use these commands:"); + mes ""; + mes " " + col("@str <" + l("delta") + ">", 3); + mes " " + col("@agi <" + l("delta") + ">", 3); + mes " " + col("@vit <" + l("delta") + ">", 3); + mes " " + col("@int <" + l("delta") + ">", 3); + mes " " + col("@dex <" + l("delta") + ">", 3); + mes " " + col("@luk <" + l("delta") + ">", 3); + next; + mes l("Example:"); + mes "@int 50"; + mes " " + l("Raises your Int by 50"); + mes "@int -50"; + mes " " + l("Reduces your Int by 50"); + next; + mes l("If you simply wish to get 99 in all stats:"); + mes ""; + mes " " + col("@allstats", 3); + next; + mes l("If you wish to reset your stats:"); + mes ""; + mes " " + col("@streset", 3); + next; + return; + } + do + { + clear; + setnpcdialogtitle l("Debug"); + mes l("This menu allows you to modify your account data."); + mes ""; + mes l("What do you want to do?"); + select + menuimage("actions/manage", l("Change my level")), + menuimage("actions/manage", l("Change my stats")), + menuimage("actions/manage", l("Change my skills")), + menuimage("actions/manage", l("Change my appearance")), + menuimage("actions/add", l("Create items")), + menuimage("actions/add", l("Get money")), + menuimage("actions/edit", l("Change my quests")), + menuimage("actions/reset", l("Reset")), + rif(getarg(0,0), menuimage("actions/home", l("Return to Super Menu"))); + + .@c = getarg(0,0) ? 2 : 1; + + switch (@menu) + { + case 1: changeLevel; break; + case 2: changeStats; break; + case 3: GlobalSkillDebug .@c; break; + case 4: BarberDebug .@c; break; + case 5: closedialog; clientcommand "createitems"; end; + case 6: Zeny = 0x7FFFFFFE; break; + case 7: GlobalQuestDebug .@c; break; + case 8: resetAll; break; + case 9: return; + } + } while(1); +} + + + +- script @debug 32767,{ + end; + +OnCall: + if (!debug && !is_admin()) + { + end; + } + GlobalDebugMenu; + closedialog; + end; + +OnInit: + bindatcmd "debug", "@debug::OnCall", 0, 99, 0; + // TODO / FIXME: add a @test command that opens the help window for test-server +} |