Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2018
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.52 KB | None | 0 0
  1. // ===== iHeartRO Script ================================
  2. // = Event mapflag setter for your temporal mapflag needs.
  3. // = P.S. *Athena mapflag system still sucks.
  4. // ===== By: ============================================
  5. // = Neblim
  6. // ===== Changelog: =====================================
  7. // = 1.0 First version. [Neblim]
  8. // = 1.1 Added nostorage & noguildstorage custom mapflags
  9. // = Removed the unnecessary "mf_" prefix and added
  10. // = some moar colors. *_* [Neblim]
  11. // = 1.2 Cleaned code a bit and made flag alteration more
  12. // = user friendly. [Neblim]
  13. // ======================================================
  14.  
  15. - script eventflag -1,{
  16. OnInit:
  17. set .GM, 50;
  18. set .map$, "prontera";
  19. set .n$, "[^A41f89 Event Flagger <3 ^000000]";
  20. setarray .flags$[0], "allowks", "monster_noteleport", "nobranch", "nochat", "nodrop", "nobaseexp", "nojobexp", "nogo", "noicewall", "noloot", "nomemo", "noreturn", "noteleport", "notrade", "novending", "nowarp", "nowarpto", "partylock", "nostorage", "noguildstorage";
  21. end;
  22.  
  23. OnWhisperGlobal:
  24. if( getgmlevel() < .GM ) end;
  25. L_Main:
  26. mes .n$;
  27. mes "Attached map: [^0000FF" + .map$ + "^000000]";
  28. switch( select ("Change Map:Edit Flags") ) {
  29. case 1:
  30. next;
  31. mes .n$;
  32. mes "Please input the new map to attach.";
  33. mes " ";
  34. mes "Input 'cancel' to abort.";
  35. next;
  36. input @m$;
  37. if( @m$ == "cancel" ) goto L_Main;
  38. mes .n$;
  39. mes "You have chosen [^0000FF" + @m$ + "^000000]";
  40. mes "Is this correct?";
  41. if( select ("Yes:No") == 2 ) break;
  42. set .map$, @m$;
  43. next;
  44. goto L_Main;
  45. case 2:
  46. while(1) {
  47. next;
  48. mes .n$;
  49. mes "Editing flags of [^0000FF" + .map$ + "^000000]";
  50. mes "Choose a flag to alter from the menu.";
  51. mes "^008800Green^000000 = enabled";
  52. mes "^ff0000Red^000000 = disabled";
  53. set .@menu$, "";
  54. for( set @i, 0; @i < getarraysize( .flags$ ); set @i, @i + 1 ) {
  55. callsub s_CheckFlag, @i;
  56. set .@menu$, .@menu$ + ( @j?"^008800":"^ff0000" ) + .flags$[@i] + ":";
  57. }
  58. set @i, select( .@menu$ ) - 1;
  59. callsub s_Edit;
  60. }
  61. }
  62.  
  63. s_CheckFlag:
  64. switch( @i ) {
  65. default: set @j, getmapflag( .map$, mf_allowks ); break;
  66. case 1: set @j, getmapflag( .map$, mf_monster_noteleport ); break;
  67. case 2: set @j, getmapflag( .map$, mf_nobranch ); break;
  68. case 3: set @j, getmapflag( .map$, mf_nochat ); break;
  69. case 4: set @j, getmapflag( .map$, mf_nodrop ); break;
  70. case 5: set @j, getmapflag( .map$, mf_nobaseexp ); break;
  71. case 6: set @j, getmapflag( .map$, mf_nojobexp ); break;
  72. case 7: set @j, getmapflag( .map$, mf_nogo ); break;
  73. case 8: set @j, getmapflag( .map$, mf_noicewall ); break;
  74. case 9: set @j, getmapflag( .map$, mf_noloot ); break;
  75. case 10: set @j, getmapflag( .map$, mf_nomemo ); break;
  76. case 11: set @j, getmapflag( .map$, mf_noreturn ); break;
  77. case 12: set @j, getmapflag( .map$, mf_noteleport ); break;
  78. case 13: set @j, getmapflag( .map$, mf_notrade ); break;
  79. case 14: set @j, getmapflag( .map$, mf_novending ); break;
  80. case 15: set @j, getmapflag( .map$, mf_nowarp ); break;
  81. case 16: set @j, getmapflag( .map$, mf_nowarpto ); break;
  82. case 17: set @j, getmapflag( .map$, mf_partylock ); break;
  83. case 18: set @j, getmapflag( .map$, mf_nostorage ); break;
  84. case 19: set @j, getmapflag( .map$, mf_noguildstorage );
  85. }
  86. return;
  87.  
  88. s_Edit:
  89. callsub s_CheckFlag;
  90. switch( @j )
  91. {
  92. case 1:
  93. switch( @i ) {
  94. default: removemapflag .map$, mf_allowks; break;
  95. case 1: removemapflag .map$, mf_monster_noteleport; break;
  96. case 2: removemapflag .map$, mf_nobranch; break;
  97. case 3: removemapflag .map$, mf_nochat; break;
  98. case 4: removemapflag .map$, mf_nodrop; break;
  99. case 5: removemapflag .map$, mf_nobaseexp; break;
  100. case 6: removemapflag .map$, mf_nojobexp; break;
  101. case 7: removemapflag .map$, mf_nogo; break;
  102. case 8: removemapflag .map$, mf_noicewall; break;
  103. case 9: removemapflag .map$, mf_noloot; break;
  104. case 10: removemapflag .map$, mf_nomemo; break;
  105. case 11: removemapflag .map$, mf_noreturn; break;
  106. case 12: removemapflag .map$, mf_noteleport; break;
  107. case 13: removemapflag .map$, mf_notrade; break;
  108. case 14: removemapflag .map$, mf_novending; break;
  109. case 15: removemapflag .map$, mf_nowarp; break;
  110. case 16: removemapflag .map$, mf_nowarpto; break;
  111. case 17: removemapflag .map$, mf_partylock; break;
  112. case 18: removemapflag .map$, mf_nostorage; break;
  113. case 19: removemapflag .map$, mf_noguildstorage;
  114. }
  115. return;
  116. default:
  117. switch( @i ) {
  118. default: setmapflag .map$, mf_allowks; break;
  119. case 1: setmapflag .map$, mf_monster_noteleport; break;
  120. case 2: setmapflag .map$, mf_nobranch; break;
  121. case 3: setmapflag .map$, mf_nochat; break;
  122. case 4: setmapflag .map$, mf_nodrop; break;
  123. case 5: setmapflag .map$, mf_nobaseexp; break;
  124. case 6: setmapflag .map$, mf_nojobexp; break;
  125. case 7: setmapflag .map$, mf_nogo; break;
  126. case 8: setmapflag .map$, mf_noicewall; break;
  127. case 9: setmapflag .map$, mf_noloot; break;
  128. case 10: setmapflag .map$, mf_nomemo; break;
  129. case 11: setmapflag .map$, mf_noreturn; break;
  130. case 12: setmapflag .map$, mf_noteleport; break;
  131. case 13: setmapflag .map$, mf_notrade; break;
  132. case 14: setmapflag .map$, mf_novending; break;
  133. case 15: setmapflag .map$, mf_nowarp; break;
  134. case 16: setmapflag .map$, mf_nowarpto; break;
  135. case 17: setmapflag .map$, mf_partylock; break;
  136. case 18: setmapflag .map$, mf_nostorage; break;
  137. case 19: setmapflag .map$, mf_noguildstorage;
  138. }
  139. return;
  140. }
  141. end;
  142. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement