Advertisement
johnlol

SaveCMD

Aug 14th, 2023
3,576
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VeriLog 5.09 KB | Gaming | 0 0
  1. //===== rAthena Script =======================================
  2. //= OnPCLogin NPC
  3. //===== By: ==================================================
  4. //= Akkarin
  5. //===== Current Version: =====================================
  6. //= 2.0
  7. //===== Compatible With: =====================================
  8. //= rAthena Project
  9. //===== Description: =========================================
  10. //= This NPC saves your settings so the next time you login, it
  11. //= will auto perform the commands you selected. Easy to edit
  12. //= or duplicate/modify based on cmds you want to allow.
  13. //===== Additional Comments: =================================
  14. //= 1.0 First Version.
  15. //= 2.0 Complete rewrite to make use of binary values and
  16. //      switch(select()) instead of menu();
  17. //============================================================
  18. //prontera,147,175,5    script  Settings    61,{
  19. -   script  save_cmd    -1,{
  20. OnInit:
  21. bindatcmd("savecmd","save_cmd::OnCommand");
  22.  
  23.  
  24.  
  25. OnCommand: 
  26. UserMenu:
  27.     set .@reset$,"^000000";
  28.     set .@disabled$,"^BE1C1C";
  29.     set .@enabled$,"^0DB40D";
  30.    
  31.     mes "[^484848Settings^000000]";
  32.     mes "Note: These are all account based, not per-character.";
  33.     mes "Note 2: You must relog for them to take effect.";
  34.     if (#pcloginflag&1) { set .@st_autoloot$,.@enabled$+#pcloginalp+"%"+.@reset$; } else { set .@st_autoloot$,.@disabled$+"Off"+.@reset$; }
  35.     if (#pcloginflag&2) { set .@st_showdelay$,.@enabled$+"On"+.@reset$; } else { set .@st_showdelay$,.@disabled$+"Off"+.@reset$; }
  36.     if (#pcloginflag&4) { set .@st_rates$,.@enabled$+"On"+.@reset$; } else { set .@st_rates$,.@disabled$+"Off"+.@reset$; }
  37.     if (#pcloginflag&8) { set .@st_showexp$,.@enabled$+"On"+.@reset$; } else { set .@st_showexp$,.@disabled$+"Off"+.@reset$; }
  38.     if (#pcloginflag&16) { set .@st_showzeny$,.@enabled$+"On"+.@reset$; } else { set .@st_showzeny$,.@disabled$+"Off"+.@reset$; }
  39.     if (#pcloginflag&32) { set .@st_uptime$,.@enabled$+"On"+.@reset$; } else { set .@st_uptime$,.@disabled$+"Off"+.@reset$; }
  40.     next;
  41.     switch(select("Auto Loot ["+.@st_autoloot$+"]:Show Delay ["+.@st_showdelay$+"]:Rates on login ["+.@st_rates$+"]:Show Exp ["+.@st_showexp$+"]:Show Zeny ["+.@st_showzeny$+"]:Uptime on login ["+.@st_uptime$+"]")){
  42.         case 1:
  43.             mes "[^484848Settings^000000]";
  44.             mes "Auto Loot is currently "+.@st_autoloot$;
  45.             mes "Desc: Auto loot adds items to your inventory automatically.";
  46.             next;
  47.             switch(select("Toggle:Back")){
  48.                 case 1:
  49.                     if (#pcloginflag&1) { set #pcloginflag, #pcloginflag &~ 1; } else {
  50.                         mes "[^484848Settings^000000]";
  51.                         mes "Auto Loot is currently "+.@st_autoloot$;
  52.                         mes "Enter the minimum rate an item must drop at before it it looted, 100 will loot all items, 99 will only loot cards, 0 disables it.";
  53.                         next;
  54.                         input .@rate;
  55.                         if ((.@rate >= 0) && (.@rate <= 100)) set #pcloginalp,.@rate;
  56.                         set #pcloginflag, #pcloginflag | 1;
  57.                     }
  58.                     break;
  59.                 case 2: break;
  60.             }
  61.             break;
  62.         case 2:
  63.             mes "[^484848Settings^000000]";
  64.             mes "Show Delay is currently "+.@st_showdelay$;
  65.             mes "Desc: When a skill fails because of delay, it will be hidden.";
  66.             next;
  67.             switch(select("Toggle:Back")){
  68.                 case 1:
  69.                     if (#pcloginflag&2) { set #pcloginflag, #pcloginflag &~ 2; } else { set #pcloginflag, #pcloginflag | 2; }
  70.                     break;
  71.                 case 2: break;
  72.             }
  73.             break;
  74.         case 3:
  75.             mes "[^484848Settings^000000]";
  76.             mes "Rates on login is currently "+.@st_rates$;
  77.             mes "Desc: Displays the current server rates on login.";
  78.             next;
  79.             switch(select("Toggle:Back")){
  80.                 case 1:
  81.                     if (#pcloginflag&4) { set #pcloginflag, #pcloginflag &~ 4; } else { set #pcloginflag, #pcloginflag | 4; }
  82.                     break;
  83.                 case 2: break;
  84.             }
  85.             break;
  86.         case 4:
  87.             mes "[^484848Settings^000000]";
  88.             mes "Show Exp is currently "+.@st_showexp$;
  89.             mes "Desc: When you gain exp, it will be displaied.";
  90.             next;  
  91.             switch(select("Toggle:Back")){
  92.                 case 1:
  93.                     if (#pcloginflag&8) { set #pcloginflag, #pcloginflag &~ 8; } else { set #pcloginflag, #pcloginflag | 8; }
  94.                     break;
  95.                 case 2: break;
  96.             }
  97.             break;
  98.         case 5:
  99.             mes "[^484848Settings^000000]";
  100.             mes "Show Zeny is currently "+.@st_showzeny$;
  101.             mes "Desc: When you gain zeny, it will be displaied.";
  102.             next;
  103.             switch(select("Toggle:Back")){
  104.                 case 1:
  105.                     if (#pcloginflag&16) { set #pcloginflag, #pcloginflag &~ 16; } else { set #pcloginflag, #pcloginflag | 16; }
  106.                     break;
  107.                 case 2: break;
  108.             }
  109.             break;
  110.         case 6:
  111.             mes "[^484848Settings^000000]";
  112.             mes "Uptime on login is currently "+.@st_uptime$;
  113.             mes "Desc: When you log in, server uptime will be displaied.";
  114.             next;
  115.             switch(select("Toggle:Back")){
  116.                 case 1:
  117.                     if (#pcloginflag&32) { set #pcloginflag, #pcloginflag &~ 32; } else { set #pcloginflag, #pcloginflag | 32; }
  118.                     break;
  119.                 case 2: break;
  120.             }
  121.             break;
  122.     }
  123.     goto UserMenu;
  124.    
  125. OnPCLoginEvent:
  126.     sleep2 1000;
  127.     if (#pcloginflag&1)     atcommand "@autoloot " + #pcloginalp;
  128.     if (#pcloginflag&2)     atcommand "@showdelay";
  129.     if (#pcloginflag&4)     atcommand "@rates";
  130.     if (#pcloginflag&8)     atcommand "@showexp";
  131.     if (#pcloginflag&16)    atcommand "@showzeny";
  132.     if (#pcloginflag&32)    atcommand "@uptime";
  133.     end;
  134. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement