Emistry Posted July 29, 2012 Posted July 29, 2012 View File GM Online List This Script will display to players a list of GM in this server. Configuration : OnInit: .min_group_id = 1; .afk_second = 300; end; Submitter Emistry Submitted 07/29/2012 Category Utilities Video Content Author Emistry 1 Quote
Emistry Posted August 9, 2012 Author Posted August 9, 2012 http://rathena.org/wiki/Adding_a_Script Quote
7en Posted August 11, 2012 Posted August 11, 2012 how do i remove the GM Location? so player wont know where i am Quote
Emistry Posted August 11, 2012 Author Posted August 11, 2012 just find that line inside the script and remove it mes "Location : ^0000FF"+.Map$+"^000000"; Quote
rainz89 Posted August 28, 2012 Posted August 28, 2012 (edited) How do you change the view of Lv, I want to display the ranking like Admin / Support / Event GM, instead of the GM Lv. Edited August 28, 2012 by rainz89 Quote
Emistry Posted August 28, 2012 Author Posted August 28, 2012 the current 1 doesnt support putting a rank in the display list..... if you want..then you have to edit the script ...... change all .GM_Level to .GM_Level$ then..change this line set .GM_Level[ getarraysize( .GM_Level ) ],getgmlevel(); to if( getgmlevel() < 10 ) set .GM_Level$[ getarraysize( .GM_Name$ ) ],"Level 1 GM"; else if( getgmlevel() < 20 ) set .GM_Level$[ getarraysize( .GM_Name$ ) ],"Level 2 GM"; else if( getgmlevel() < 30 ) set .GM_Level$[ getarraysize( .GM_Name$ ) ],"Level 3 GM"; else if( getgmlevel() < 40 ) set .GM_Level$[ getarraysize( .GM_Name$ ) ],"Level 4 GM"; Quote
rakuzas Posted June 22, 2013 Posted June 22, 2013 Sir.. i edit the min GM level into 4.. But the GM not showing in the list.. He relog many times also not showing.. set .MinGMLevel,4; // Min. GM Level to Show in Online Lists Quote
Emistry Posted June 22, 2013 Author Posted June 22, 2013 Sir.. i edit the min GM level into 4.. But the GM not showing in the list.. He relog many times also not showing.. set .MinGMLevel,4; // Min. GM Level to Show in Online Lists make sure the account is GM Level 4...not Group ID... Quote
rakuzas Posted June 22, 2013 Posted June 22, 2013 the current 1 doesnt support putting a rank in the display list..... if you want..then you have to edit the script ...... change all .GM_Level to .GM_Level$ then..change this line set .GM_Level[ getarraysize( .GM_Level ) ],getgmlevel(); to if( getgmlevel() < 10 ) set .GM_Level$[ getarraysize( .GM_Name$ ) ],"Level 1 GM"; else if( getgmlevel() < 20 ) set .GM_Level$[ getarraysize( .GM_Name$ ) ],"Level 2 GM"; else if( getgmlevel() < 30 ) set .GM_Level$[ getarraysize( .GM_Name$ ) ],"Level 3 GM"; else if( getgmlevel() < 40 ) set .GM_Level$[ getarraysize( .GM_Name$ ) ],"Level 4 GM"; I copy and paste this script.. But here i got.. The account is LVL 99 GM... But it shows LVL0.. Quote
rakuzas Posted June 25, 2013 Posted June 25, 2013 @rakuzas show your script ... prontera,164,172,7 script GM Online Lists 856,{ mes "Staffs Online Lists : ^FF0000"+getarraysize( .GM_Name$ )+"^000000 Staffs"; mes "^0000FF_____________________________^000000"; for( set .@i,0; .@i < getarraysize( .GM_Name$ ) ; set .@i,.@i + 1 ){ getmapxy( .Map$,.x,.y,0,.GM_Name$[.@i] ); mes "[ Lv ^63D1F4"+.GM_Level[.@i]+"^000000 ] ^FF0000@ ^0000FF"+.GM_Name$[.@i]+"^000000"; mes "Location : ^0000FF"+.Map$+"^000000"; mes "^0000FF_____________________________^000000"; } close; OnInit: set .MinGMLevel,1; // Min. GM Level to Show in Online Lists end; OnPCLoginEvent: if( getgmlevel() < .MinGMLevel ) end; set .GM_Name$[ getarraysize( .GM_Name$ ) ],strcharinfo(0); if( getgmlevel() < 10 ) set .GM_Level$[ getarraysize( .GM_Name$ ) ],"Level 1 GM"; else if( getgmlevel() < 20 ) set .GM_Level$[ getarraysize( .GM_Name$ ) ],"Level 2 GM"; else if( getgmlevel() < 30 ) set .GM_Level$[ getarraysize( .GM_Name$ ) ],"Level 3 GM"; else if( getgmlevel() < 40 ) set .GM_Level$[ getarraysize( .GM_Name$ ) ],"Level 4 GM"; end; OnPCLogoutEvent: if( getgmlevel() < .MinGMLevel ) end; for( set .@i,0; .@i < getarraysize( .GM_Name$ ) ; set .@i,.@i + 1 ){ if( strcharinfo(0) != .GM_Name$[.@i] ) continue; deletearray .GM_Name$[.@i],1; deletearray .GM_Level[.@i],1; end; } end; } Here is my script.. right now all GM Online show lvl 0.. Maybe im set it wrong? Quote
KoolKat29 Posted June 25, 2013 Posted June 25, 2013 (edited) Or you can try this. OnPCLoginEvent: if( getgroupid() < .MinGMLevel ) end; set .GM_Name$[ getarraysize( .GM_Name$ ) ],strcharinfo(0); if( getgroupid() < 10 ) set .GM_Level$[ getarraysize( .GM_Name$ ) ],"Level 1 GM"; else if( getgroupid() < 20 ) set .GM_Level$[ getarraysize( .GM_Name$ ) ],"Level 2 GM"; else if( getgroupid() < 30 ) set .GM_Level$[ getarraysize( .GM_Name$ ) ],"Level 3 GM"; else if( getgroupid() < 40 ) set .GM_Level$[ getarraysize( .GM_Name$ ) ],"Level 4 GM"; OnPCLogoutEvent: if( getgroupid() < .MinGMLevel ) end; for( set .@i,0; .@i < getarraysize( .GM_Name$ ) ; set .@i,.@i + 1 ){ if( strcharinfo(0) != .GM_Name$[.@i] ) continue; deletearray .GM_Name$[.@i],1; deletearray .GM_Level[.@i],1; end; } end; Edited June 25, 2013 by KoolKat29 Quote
rakuzas Posted June 25, 2013 Posted June 25, 2013 i copy paste the script u give.. Now i got this even after relogin.. Quote
Emistry Posted June 25, 2013 Author Posted June 25, 2013 try OnPCLoginEvent: set .@gmlevel,getgmlevel(); if( .@gmlevel < .MinGMLevel ) end; set .@size,getarraysize( .GM_Name$ ); set .GM_Name$[ .@size ],strcharinfo(0); if( .@gmlevel < 10 ) set .GM_Level$[ .@size ],"Level 1 GM"; else if( .@gmlevel < 20 ) set .GM_Level$[ .@size ],"Level 2 GM"; else if( .@gmlevel < 30 ) set .GM_Level$[ .@size ],"Level 3 GM"; else if( .@gmlevel < 40 ) set .GM_Level$[ .@size ],"Level 4 GM"; end; Quote
rakuzas Posted June 25, 2013 Posted June 25, 2013 (edited) GM LVL 99 But shows LVL 0.. Hmm.. and also.. Is it possible to shows Location from ra_temple into Rachel Temple? Edited June 25, 2013 by rakuzas Quote
Emistry Posted June 25, 2013 Author Posted June 25, 2013 make sure your GM level is within this range.. if( .@gmlevel < 10 ) set .GM_Level$[ .@size ],"Level 1 GM"; else if( .@gmlevel < 20 ) set .GM_Level$[ .@size ],"Level 2 GM"; else if( .@gmlevel < 30 ) set .GM_Level$[ .@size ],"Level 3 GM"; else if( .@gmlevel < 40 ) set .GM_Level$[ .@size ],"Level 4 GM"; i think your current GM level is 40 level or higher... Quote
rakuzas Posted June 25, 2013 Posted June 25, 2013 (edited) i dont know if im set it wrong.. But right now no GM online shows and the GM already relogin.. Here is the script.. ra_temple,110,159,5 script GM Online Lists 856,{ mes "Staffs Online Lists : ^FF0000"+getarraysize( .GM_Name$ )+"^000000 Staffs"; mes "^0000FF_____________________________^000000"; for( set .@i,0; .@i < getarraysize( .GM_Name$ ) ; set .@i,.@i + 1 ){ getmapxy( .Map$,.x,.y,0,.GM_Name$[.@i] ); mes "[ Lv ^63D1F4"+.GM_Level[.@i]+"^000000 ] ^FF0000@ ^0000FF"+.GM_Name$[.@i]+"^000000"; mes "Location : ^0000FF"+.Map$+"^000000"; mes "^0000FF_____________________________^000000"; } close; OnInit: set .MinGMLevel,1; // Min. GM Level to Show in Online Lists end; OnPCLoginEvent: set .@gmlevel,getgmlevel(); if( .@gmlevel < .MinGMLevel ) end; set .@size,getarraysize( .GM_Name$ ); set .GM_Name$[ .@size ],strcharinfo(0); if( .@gmlevel < 10 ) set .GM_Level$[ .@size ],"Level 1 GM"; else if( .@gmlevel < 20 ) set .GM_Level$[ .@size ],"Level 2 GM"; else if( .@gmlevel < 30 ) set .GM_Level$[ .@size ],"Level 3 GM"; else if( .@gmlevel < 40 ) set .GM_Level$[ .@size ],"Level 4 GM"; end; OnPCLogoutEvent: if( getgroupid() < .MinGMLevel ) end; for( set .@i,0; .@i < getarraysize( .GM_Name$ ) ; set .@i,.@i + 1 ){ if( strcharinfo(0) != .GM_Name$[.@i] ) continue; deletearray .GM_Name$[.@i],1; deletearray .GM_Level[.@i],1; end; } end; } Here is the GM account : Edited June 25, 2013 by rakuzas Quote
Emistry Posted June 25, 2013 Author Posted June 25, 2013 .... seem like you didnt read what i said in post#17 ... if( .@gmlevel < 10 ) set .GM_Level$[ .@size ],"Level 1 GM"; else if( .@gmlevel < 20 ) set .GM_Level$[ .@size ],"Level 2 GM"; else if( .@gmlevel < 30 ) set .GM_Level$[ .@size ],"Level 3 GM"; else if( .@gmlevel < 40 ) set .GM_Level$[ .@size ],"Level 4 GM"; else set .GM_Level$[ .@size ],"ADMIN"; end; Quote
rakuzas Posted June 25, 2013 Posted June 25, 2013 prontera,155,171,5 script GM Online Lists 436,{ mes "Staffs Online Lists : ^FF0000"+getarraysize( .GM_Name$ )+"^000000 Staffs"; mes "^0000FF_____________________________^000000"; for( set .@i,0; .@i < getarraysize( .GM_Name$ ) ; set .@i,.@i + 1 ){ getmapxy( .Map$,.x,.y,0,.GM_Name$[.@i] ); mes "[ Lv ^63D1F4"+.GM_Level[.@i]+"^000000 ] ^FF0000@ ^0000FF"+.GM_Name$[.@i]+"^000000"; mes "Location : ^0000FF"+.Map$+"^000000"; mes "^0000FF_____________________________^000000"; } close; OnInit: set .MinGMLevel,60; // Min. GM Level to Show in Online Lists end; OnPCLoginEvent: set .@gmlevel,getgmlevel(); if( .@gmlevel < .MinGMLevel ) end; set .@size,getarraysize( .GM_Name$ ); set .GM_Name$[ .@size ],strcharinfo(0); if( .@gmlevel < 10 ) set .GM_Level$[ .@size ],"Level 1 GM"; else if( .@gmlevel < 20 ) set .GM_Level$[ .@size ],"Level 2 GM"; else if( .@gmlevel < 30 ) set .GM_Level$[ .@size ],"Level 3 GM"; else if( .@gmlevel < 40 ) set .GM_Level$[ .@size ],"Level 4 GM"; else set .GM_Level$[ .@size ],"ADMIN"; end; OnPCLogoutEvent: if( getgmlevel() < .MinGMLevel ) end; for( set .@i,0; .@i < getarraysize( .GM_Name$ ) ; set .@i,.@i + 1 ){ if( strcharinfo(0) != .GM_Name$[.@i] ) continue; deletearray .GM_Name$[.@i],1; deletearray .GM_Level[.@i],1; end; } end; } im using this script now its shows GM online.. but still not shows Admin.. I mean.. Level 99 GM still shows LVL0.. And.. Can change the map? i mean i will read like from orcs_dun01 into the name description like Orcs Dungeon 01 or like ra_temple into Rachel Temple.. Hmm.. If not, i will just remove its then.. Quote
Emistry Posted June 26, 2013 Author Posted June 26, 2013 mes "[ Lv ^63D1F4"+.GM_Level$[.@i]+"^000000 ] ^FF0000@ ^0000FF"+.GM_Name$[.@i]+"^000000"; OnPCLogoutEvent: if( getgmlevel() < .MinGMLevel ) end; for( set .@i,0; .@i < getarraysize( .GM_Name$ ) ; set .@i,.@i + 1 ) if( strcharinfo(0) == .GM_Name$[.@i] ){ deletearray .GM_Name$[.@i],1; deletearray .GM_Level$[.@i],1; end; } end; Quote
rakuzas Posted June 26, 2013 Posted June 26, 2013 Here is the working code : ra_temple,110,159,5 script GM Online Lists 856,{ mes "Staffs Online Lists : ^FF0000"+getarraysize( .GM_Name$ )+"^000000 Staffs"; mes "^0000FF_____________________________^000000"; for( set .@i,0; .@i < getarraysize( .GM_Name$ ) ; set .@i,.@i + 1 ){ getmapxy( .Map$,.x,.y,0,.GM_Name$[.@i] ); mes "[ ^63D1F4"+.GM_Level$[.@i]+"^000000 ] ^FF0000@ ^0000FF"+.GM_Name$[.@i]+"^000000"; mes "Location : ^0000FF"+.Map$+"^000000"; mes "^0000FF_____________________________^000000"; } close; OnInit: set .MinGMLevel,1; // Min. GM Level to Show in Online Lists end; OnPCLoginEvent: set .@gmlevel,getgmlevel(); if( .@gmlevel < .MinGMLevel ) end; set .@size,getarraysize( .GM_Name$ ); set .GM_Name$[ .@size ],strcharinfo(0); if( .@gmlevel < 10 ) set .GM_Level$[ .@size ],"Level 1 GM"; else if( .@gmlevel < 20 ) set .GM_Level$[ .@size ],"Level 2 GM"; else if( .@gmlevel < 30 ) set .GM_Level$[ .@size ],"Level 3 GM"; else if( .@gmlevel < 40 ) set .GM_Level$[ .@size ],"Level 4 GM"; else set .GM_Level$[ .@size ],"ADMIN"; end; OnPCLogoutEvent: if( getgmlevel() < .MinGMLevel ) end; for( set .@i,0; .@i < getarraysize( .GM_Name$ ) ; set .@i,.@i + 1 ) if( strcharinfo(0) == .GM_Name$[.@i] ){ deletearray .GM_Name$[.@i],1; deletearray .GM_Level$[.@i],1; end; } end; } // Special Thanks to Emistry for nice script and guide to make it works! // Edit some script to make it works on Milenia Ragnarok Online by Rakuzas. And.. Can make the map read as other name? not the default map name like that? Thanks.. Quote
Emistry Posted June 26, 2013 Author Posted June 26, 2013 there is no way npc can read the map name from mapnametable.txt .. you can either save all map name with custom variable and retrieve it ... somwhere in Trojan Website last time have this .... you can check there if you found his website link... too bad i dont have it..forget already ~ Quote
rakuzas Posted June 26, 2013 Posted June 26, 2013 Hmmm.. So.. Its ok then.. I will just remove the GM location.. Thanks for making this work! Thank you so much~ Quote
hendra814 Posted January 2, 2014 Posted January 2, 2014 @emistry how to make Offline GM still listed on at board and put 1 status like this image Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.