function script GlobalEventMenu { function rateManagement { clear; mes l("To get the current rate:"); mes col(" @exprate", 7); next; mes l("To set the exp rate:"); mes col(" @exprate ##Brate##b hours", 7); next; mes l("To reset back to normal:"); mes col(" @exprate default", 7); // note to translators: any non-numerical value will reset so "default" is safe to translate next; return; } function dropManagement { clear; mes l("To get the current rate:"); mes col(" @rates", 7); next; mes l("To set the drop rate:"); mes col(" @droprate ##Brate##b hours", 7); next; mes l("To reset back to normal:"); mes col(" @droprate default", 7); // note to translators: any non-numerical value will reset so "default" is safe to translate next; return; } function seasonManagement { clear; mes l("Current event: @@", $EVENT$); menu l("Disable event"), -, l("Enable Easter"), -, l("Enable Worker's Day"), -; switch (@menu) { case 1: set $EVENT$, ""; logmes "Disabled events.", LOGMES_ATCOMMAND; break; case 2: set $EVENT$, "Easter"; logmes "Enabled EASTER event.", LOGMES_ATCOMMAND; break; case 3: set $EVENT$, "Worker Day"; logmes "Enabled WORKERS DAY event.", LOGMES_ATCOMMAND; break; } return; } do { clear; setnpcdialogtitle l("Event Management"); mes l("This menu allows you to manage events and gives access to event-related tools."); mes ""; mes l("What do you want to access?"); select l("Experience Rate management"), l("Drop Rate management"), l("Change Season Event"), rif(getarg(0,0), menuimage("actions/home", l("Return to Super Menu"))); //.@c = getarg(0,0) ? 2 : 1; // 1 = back to event menu, 2 = back to super menu switch (@menu) { case 1: rateManagement; break; case 2: dropManagement; break; case 3: seasonManagement; break; default: return; } } while (true); } - script @event 32767,{ end; OnCall: if (!is_gm()) { end; } GlobalEventMenu; closedialog; end; OnInit: bindatcmd "event", "@event::OnCall", 99, 99, 0; }