Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ===== iHeartRO Script ================================
- // = Event mapflag setter for your temporal mapflag needs.
- // = P.S. *Athena mapflag system still sucks.
- // ===== By: ============================================
- // = Neblim
- // ===== Changelog: =====================================
- // = 1.0 First version. [Neblim]
- // = 1.1 Added nostorage & noguildstorage custom mapflags
- // = Removed the unnecessary "mf_" prefix and added
- // = some moar colors. *_* [Neblim]
- // = 1.2 Cleaned code a bit and made flag alteration more
- // = user friendly. [Neblim]
- // ======================================================
- - script eventflag -1,{
- OnInit:
- set .GM, 50;
- set .map$, "prontera";
- set .n$, "[^A41f89 Event Flagger <3 ^000000]";
- setarray .flags$[0], "allowks", "monster_noteleport", "nobranch", "nochat", "nodrop", "nobaseexp", "nojobexp", "nogo", "noicewall", "noloot", "nomemo", "noreturn", "noteleport", "notrade", "novending", "nowarp", "nowarpto", "partylock", "nostorage", "noguildstorage";
- end;
- OnWhisperGlobal:
- if( getgmlevel() < .GM ) end;
- L_Main:
- mes .n$;
- mes "Attached map: [^0000FF" + .map$ + "^000000]";
- switch( select ("Change Map:Edit Flags") ) {
- case 1:
- next;
- mes .n$;
- mes "Please input the new map to attach.";
- mes " ";
- mes "Input 'cancel' to abort.";
- next;
- input @m$;
- if( @m$ == "cancel" ) goto L_Main;
- mes .n$;
- mes "You have chosen [^0000FF" + @m$ + "^000000]";
- mes "Is this correct?";
- if( select ("Yes:No") == 2 ) break;
- set .map$, @m$;
- next;
- goto L_Main;
- case 2:
- while(1) {
- next;
- mes .n$;
- mes "Editing flags of [^0000FF" + .map$ + "^000000]";
- mes "Choose a flag to alter from the menu.";
- mes "^008800Green^000000 = enabled";
- mes "^ff0000Red^000000 = disabled";
- set .@menu$, "";
- for( set @i, 0; @i < getarraysize( .flags$ ); set @i, @i + 1 ) {
- callsub s_CheckFlag, @i;
- set .@menu$, .@menu$ + ( @j?"^008800":"^ff0000" ) + .flags$[@i] + ":";
- }
- set @i, select( .@menu$ ) - 1;
- callsub s_Edit;
- }
- }
- s_CheckFlag:
- switch( @i ) {
- default: set @j, getmapflag( .map$, mf_allowks ); break;
- case 1: set @j, getmapflag( .map$, mf_monster_noteleport ); break;
- case 2: set @j, getmapflag( .map$, mf_nobranch ); break;
- case 3: set @j, getmapflag( .map$, mf_nochat ); break;
- case 4: set @j, getmapflag( .map$, mf_nodrop ); break;
- case 5: set @j, getmapflag( .map$, mf_nobaseexp ); break;
- case 6: set @j, getmapflag( .map$, mf_nojobexp ); break;
- case 7: set @j, getmapflag( .map$, mf_nogo ); break;
- case 8: set @j, getmapflag( .map$, mf_noicewall ); break;
- case 9: set @j, getmapflag( .map$, mf_noloot ); break;
- case 10: set @j, getmapflag( .map$, mf_nomemo ); break;
- case 11: set @j, getmapflag( .map$, mf_noreturn ); break;
- case 12: set @j, getmapflag( .map$, mf_noteleport ); break;
- case 13: set @j, getmapflag( .map$, mf_notrade ); break;
- case 14: set @j, getmapflag( .map$, mf_novending ); break;
- case 15: set @j, getmapflag( .map$, mf_nowarp ); break;
- case 16: set @j, getmapflag( .map$, mf_nowarpto ); break;
- case 17: set @j, getmapflag( .map$, mf_partylock ); break;
- case 18: set @j, getmapflag( .map$, mf_nostorage ); break;
- case 19: set @j, getmapflag( .map$, mf_noguildstorage );
- }
- return;
- s_Edit:
- callsub s_CheckFlag;
- switch( @j )
- {
- case 1:
- switch( @i ) {
- default: removemapflag .map$, mf_allowks; break;
- case 1: removemapflag .map$, mf_monster_noteleport; break;
- case 2: removemapflag .map$, mf_nobranch; break;
- case 3: removemapflag .map$, mf_nochat; break;
- case 4: removemapflag .map$, mf_nodrop; break;
- case 5: removemapflag .map$, mf_nobaseexp; break;
- case 6: removemapflag .map$, mf_nojobexp; break;
- case 7: removemapflag .map$, mf_nogo; break;
- case 8: removemapflag .map$, mf_noicewall; break;
- case 9: removemapflag .map$, mf_noloot; break;
- case 10: removemapflag .map$, mf_nomemo; break;
- case 11: removemapflag .map$, mf_noreturn; break;
- case 12: removemapflag .map$, mf_noteleport; break;
- case 13: removemapflag .map$, mf_notrade; break;
- case 14: removemapflag .map$, mf_novending; break;
- case 15: removemapflag .map$, mf_nowarp; break;
- case 16: removemapflag .map$, mf_nowarpto; break;
- case 17: removemapflag .map$, mf_partylock; break;
- case 18: removemapflag .map$, mf_nostorage; break;
- case 19: removemapflag .map$, mf_noguildstorage;
- }
- return;
- default:
- switch( @i ) {
- default: setmapflag .map$, mf_allowks; break;
- case 1: setmapflag .map$, mf_monster_noteleport; break;
- case 2: setmapflag .map$, mf_nobranch; break;
- case 3: setmapflag .map$, mf_nochat; break;
- case 4: setmapflag .map$, mf_nodrop; break;
- case 5: setmapflag .map$, mf_nobaseexp; break;
- case 6: setmapflag .map$, mf_nojobexp; break;
- case 7: setmapflag .map$, mf_nogo; break;
- case 8: setmapflag .map$, mf_noicewall; break;
- case 9: setmapflag .map$, mf_noloot; break;
- case 10: setmapflag .map$, mf_nomemo; break;
- case 11: setmapflag .map$, mf_noreturn; break;
- case 12: setmapflag .map$, mf_noteleport; break;
- case 13: setmapflag .map$, mf_notrade; break;
- case 14: setmapflag .map$, mf_novending; break;
- case 15: setmapflag .map$, mf_nowarp; break;
- case 16: setmapflag .map$, mf_nowarpto; break;
- case 17: setmapflag .map$, mf_partylock; break;
- case 18: setmapflag .map$, mf_nostorage; break;
- case 19: setmapflag .map$, mf_noguildstorage;
- }
- return;
- }
- end;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement