Jump to content
  • 0

GM checker w/ position


xmaniacx

Question


  • Group:  Members
  • Topic Count:  39
  • Topics Per Day:  0.01
  • Content Count:  110
  • Reputation:   1
  • Joined:  04/03/12
  • Last Seen:  

Can i ask a script that has this..

GM NAME :

STATUS : Offline / Online [ if online >> ( AFK / Vending / Active ) ]

Position :

Below 40 = Police

60 = Event

90 = Co-owner

99 = Admin

Map : ( Current Map The User Is In )

Edited by xmaniacx
Link to comment
Share on other sites

25 answers to this question

Recommended Posts


  • Group:  Members
  • Topic Count:  14
  • Topics Per Day:  0.00
  • Content Count:  351
  • Reputation:   52
  • Joined:  11/15/11
  • Last Seen:  

Why would you put a 'vending' option for GM's? Your GM's are allowed to vend? o-o

  • Upvote 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  39
  • Topics Per Day:  0.01
  • Content Count:  110
  • Reputation:   1
  • Joined:  04/03/12
  • Last Seen:  

yep..... for personal reasons..... anyway i badly need the script i hope somebody could help me make one......... i'll even pay 3$ for the script itself

Bumpppppp

Edited by xmaniacx
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  194
  • Topics Per Day:  0.04
  • Content Count:  499
  • Reputation:   3
  • Joined:  03/11/12
  • Last Seen:  

I want this Script too......

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  28
  • Topics Per Day:  0.01
  • Content Count:  353
  • Reputation:   70
  • Joined:  07/14/12
  • Last Seen:  

ok this is a modification of http://rathena.org/b...gm-online-list/

credits to sir emistry

http://pastebin.com/S8PhG53t

so basically after you vend

go pm npc:atmod

type anything and press enter

a message window will appear

click yes

then it will automatically update you status to afk/vending

Edited by icabit
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  39
  • Topics Per Day:  0.01
  • Content Count:  110
  • Reputation:   1
  • Joined:  04/03/12
  • Last Seen:  

thank you sir, now what about the position? hence some player terrorize Event GM or Police GM's about their donation claim and other stuff.......... how to put position on gm level mention above so people would know who does this and who does that........

Edited by xmaniacx
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  28
  • Topics Per Day:  0.01
  • Content Count:  353
  • Reputation:   70
  • Joined:  07/14/12
  • Last Seen:  

thank you sir, now what about the position? hence some player terrorize Event GM or Police GM's about their donation claim and other stuff.......... how to put position on gm level mention above so people would know who does this and who does that........

im a bit sleepy at the moment. ill try to do it later >.>

try modifying the script its easy

Edited by icabit
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  194
  • Topics Per Day:  0.04
  • Content Count:  499
  • Reputation:   3
  • Joined:  03/11/12
  • Last Seen:  

ok this is a modification of http://rathena.org/b...gm-online-list/

credits to sir emistry

http://pastebin.com/S8PhG53t

so basically after you vend

go pm npc:atmod

type anything and press enter

a message window will appear

click yes

then it will automatically update you status to afk/vending

Thank you for the script....................

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  39
  • Topics Per Day:  0.01
  • Content Count:  110
  • Reputation:   1
  • Joined:  04/03/12
  • Last Seen:  

thank you sir, now what about the position? hence some player terrorize Event GM or Police GM's about their donation claim and other stuff.......... how to put position on gm level mention above so people would know who does this and who does that........

im a bit sleepy at the moment. ill try to do it later >.>

try modifying the script its easy

Thank you..........

P.S ~ Can i ask why there is so many "none"?

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  28
  • Topics Per Day:  0.01
  • Content Count:  353
  • Reputation:   70
  • Joined:  07/14/12
  • Last Seen:  

arrays can hold up to 128 items

thats why there are 128 "none" in every global variable that i used

so basically you can only use this with 128 gm's online at max

(i think you could never ever have 128 gm's online at the same time >.<)

unless we convert this npc to sql type of npc

but for now i did it with txt version

oh ya one last thing

im still an amateur as a scripter :D

Edited by icabit
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  39
  • Topics Per Day:  0.01
  • Content Count:  110
  • Reputation:   1
  • Joined:  04/03/12
  • Last Seen:  

arrays can hold up to 128 items

thats why there are 128 "none" in every global variable that i used

so basically you can only use this with 128 gm's online at max

(i think you could never ever have 128 gm's online at the same time >.<)

unless we convert this npc to sql type of npc

but for now i did it with txt version

oh ya one last thing

im still an amateur as a scripter :D

Thx for the great script,,,, anyway i'll wait for the position tomorrow after your sleep =D,

Edited by xmaniacx
Link to comment
Share on other sites


  • Group:  Forum Moderator
  • Topic Count:  93
  • Topics Per Day:  0.02
  • Content Count:  10015
  • Reputation:   2348
  • Joined:  10/28/11
  • Last Seen:  

@TS

you can try modify it like this..

http://pastebin.com/raw.php?i=cx9DvgAt

( i havent test it... )

@icabit

Dont alway use permanent variable..or...maybe i should said..avoid of using it if possible...

it can bring harm to server if the users accidently ..."abused" the usage of this kind of variable...

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  75
  • Topics Per Day:  0.02
  • Content Count:  2223
  • Reputation:   593
  • Joined:  10/26/11
  • Last Seen:  

Here is another way: http://rathena.kpaste.net/1d0?raw

prontera,155,188,0	script	GM_Status	910,{
if (getgmlevel() >= 99) {
	if (select("View GM Status:Reload GM list") == 2) {
		mes "Close this window to reload the GM list.";
		close2;
		goto OnInit;
	}
}

mes "[GM Checker]";
if (getarraysize(.char_id) == 1) {
	mes "There is 1 GM.";
} else {
	mes "There are " + getarraysize(.char_id) + " GMs.";
}

// build menu of GM names
for (set .@i,0; .@i < getarraysize(.char_id); set .@i,.@i+1) {
	if (isloggedin(.account_id[.@i], .char_id[.@i])) {
		getmapxy .@map$,.@x,.@y,0, .name$[.@i];
		set .@menu$, .@menu$ + "^008000"+.name$[.@i]+"^000000 ("+.@map$+"):";
	} else {
		set .@menu$, .@menu$ + "^FF0000"+.name$[.@i]+"^000000:";
	}
}

if (.@menu$ != "") {
	mes "Select a GM to view more info.";
	set .@num, select(.@menu$) -1;

	mes "[GM Checker]";
	mes "GM NAME: " + .name$[.@num];
	mes "STATUS:  " + (isloggedin(.account_id[.@num], .char_id[.@num]) ? "^008000Online" : "^FF0000Offline") + "^000000";
	if (checkvending(.name$[.@num]) == 1) mes "(vending)";
	else if (checkvending(.name$[.@num]) == 2) mes "(vending with @autotrade)";
	mes "Position: " + callsub(S_GMgroup2name,.group_id[.@num]);
	getmapxy .@map$,.@x,.@y,0, .name$[.@num];
	mes "Map: " + .@map$;
}
close;

OnInit:
query_sql "SELECT `char`.account_id, `char`.char_id, `char`.`name`, login.group_id " + 
          "FROM login RIGHT JOIN `char` ON login.account_id=`char`.account_id " + 
          "WHERE `group_id` >= 1", .account_id, .char_id, .name$, .group_id;
end;
S_GMgroup2name:
set .@group_id, getarg(0,0);
     if (.@group_id ==  0) set .@title$, "";
else if (.@group_id <= 40) set .@title$, "Police GM";
else if (.@group_id <= 60) set .@title$, "Event GM";
else if (.@group_id <= 90) set .@title$, "Co-owner";
else if (.@group_id <= 99) set .@title$, "Admin";
return .@title$;
}

* AFK/active check is not implemented (waiting for a getidletime script command) /rice

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  28
  • Topics Per Day:  0.01
  • Content Count:  353
  • Reputation:   70
  • Joined:  07/14/12
  • Last Seen:  

@TS

you can try modify it like this..

http://pastebin.com/raw.php?i=cx9DvgAt

( i havent test it... )

@icabit

Dont alway use permanent variable..or...maybe i should said..avoid of using it if possible...

it can bring harm to server if the users accidently ..."abused" the usage of this kind of variable...

Here is another way: http://rathena.kpaste.net/1d0?raw

prontera,155,188,0	script	GM_Status	910,{
if (getgmlevel() >= 99) {
	if (select("View GM Status:Reload GM list") == 2) {
		mes "Close this window to reload the GM list.";
		close2;
		goto OnInit;
	}
}

mes "[GM Checker]";
if (getarraysize(.char_id) == 1) {
	mes "There is 1 GM.";
} else {
	mes "There are " + getarraysize(.char_id) + " GMs.";
}

// build menu of GM names
for (set .@i,0; .@i < getarraysize(.char_id); set .@i,.@i+1) {
	if (isloggedin(.account_id[.@i], .char_id[.@i])) {
		getmapxy .@map$,.@x,.@y,0, .name$[.@i];
		set .@menu$, .@menu$ + "^008000"+.name$[.@i]+"^000000 ("+.@map$+"):";
	} else {
		set .@menu$, .@menu$ + "^FF0000"+.name$[.@i]+"^000000:";
	}
}

if (.@menu$ != "") {
	mes "Select a GM to view more info.";
	set .@num, select(.@menu$) -1;

	mes "[GM Checker]";
	mes "GM NAME: " + .name$[.@num];
	mes "STATUS:  " + (isloggedin(.account_id[.@num], .char_id[.@num]) ? "^008000Online" : "^FF0000Offline") + "^000000";
	if (checkvending(.name$[.@num]) == 1) mes "(vending)";
	else if (checkvending(.name$[.@num]) == 2) mes "(vending with @autotrade)";
	mes "Position: " + callsub(S_GMgroup2name,.group_id[.@num]);
	getmapxy .@map$,.@x,.@y,0, .name$[.@num];
	mes "Map: " + .@map$;
}
close;

OnInit:
query_sql "SELECT `char`.account_id, `char`.char_id, `char`.`name`, login.group_id " +
		  "FROM login RIGHT JOIN `char` ON login.account_id=`char`.account_id " +
		  "WHERE `group_id` >= 1", .account_id, .char_id, .name$, .group_id;
end;
S_GMgroup2name:
set .@group_id, getarg(0,0);
	 if (.@group_id ==  0) set .@title$, "";
else if (.@group_id <= 40) set .@title$, "Police GM";
else if (.@group_id <= 60) set .@title$, "Event GM";
else if (.@group_id <= 90) set .@title$, "Co-owner";
else if (.@group_id <= 99) set .@title$, "Admin";
return .@title$;
}

* AFK/active check is not implemented (waiting for a getidletime script command) /rice

at last reply from experts :D

now i can learn something new by comparing mine :D

@emistry sorry :( i am still somehow confused how to used variables accordingly

thx for the advice ill take note of that :D

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  39
  • Topics Per Day:  0.01
  • Content Count:  110
  • Reputation:   1
  • Joined:  04/03/12
  • Last Seen:  

Here is another way: http://rathena.kpaste.net/1d0?raw

prontera,155,188,0	script	GM_Status	910,{
if (getgmlevel() >= 99) {
	if (select("View GM Status:Reload GM list") == 2) {
		mes "Close this window to reload the GM list.";
		close2;
		goto OnInit;
	}
}

mes "[GM Checker]";
if (getarraysize(.char_id) == 1) {
	mes "There is 1 GM.";
} else {
	mes "There are " + getarraysize(.char_id) + " GMs.";
}

// build menu of GM names
for (set .@i,0; .@i < getarraysize(.char_id); set .@i,.@i+1) {
	if (isloggedin(.account_id[.@i], .char_id[.@i])) {
		getmapxy .@map$,.@x,.@y,0, .name$[.@i];
		set .@menu$, .@menu$ + "^008000"+.name$[.@i]+"^000000 ("+.@map$+"):";
	} else {
		set .@menu$, .@menu$ + "^FF0000"+.name$[.@i]+"^000000:";
	}
}

if (.@menu$ != "") {
	mes "Select a GM to view more info.";
	set .@num, select(.@menu$) -1;

	mes "[GM Checker]";
	mes "GM NAME: " + .name$[.@num];
	mes "STATUS:  " + (isloggedin(.account_id[.@num], .char_id[.@num]) ? "^008000Online" : "^FF0000Offline") + "^000000";
	if (checkvending(.name$[.@num]) == 1) mes "(vending)";
	else if (checkvending(.name$[.@num]) == 2) mes "(vending with @autotrade)";
	mes "Position: " + callsub(S_GMgroup2name,.group_id[.@num]);
	getmapxy .@map$,.@x,.@y,0, .name$[.@num];
	mes "Map: " + .@map$;
}
close;

OnInit:
query_sql "SELECT `char`.account_id, `char`.char_id, `char`.`name`, login.group_id " +
		  "FROM login RIGHT JOIN `char` ON login.account_id=`char`.account_id " +
		  "WHERE `group_id` >= 1", .account_id, .char_id, .name$, .group_id;
end;
S_GMgroup2name:
set .@group_id, getarg(0,0);
	 if (.@group_id ==  0) set .@title$, "";
else if (.@group_id <= 40) set .@title$, "Police GM";
else if (.@group_id <= 60) set .@title$, "Event GM";
else if (.@group_id <= 90) set .@title$, "Co-owner";
else if (.@group_id <= 99) set .@title$, "Admin";
return .@title$;
}

* AFK/active check is not implemented (waiting for a getidletime script command) /rice

Here is another way: http://rathena.kpaste.net/1d0?raw

prontera,155,188,0	script	GM_Status	910,{
if (getgmlevel() >= 99) {
	if (select("View GM Status:Reload GM list") == 2) {
		mes "Close this window to reload the GM list.";
		close2;
		goto OnInit;
	}
}

mes "[GM Checker]";
if (getarraysize(.char_id) == 1) {
	mes "There is 1 GM.";
} else {
	mes "There are " + getarraysize(.char_id) + " GMs.";
}

// build menu of GM names
for (set .@i,0; .@i < getarraysize(.char_id); set .@i,.@i+1) {
	if (isloggedin(.account_id[.@i], .char_id[.@i])) {
		getmapxy .@map$,.@x,.@y,0, .name$[.@i];
		set .@menu$, .@menu$ + "^008000"+.name$[.@i]+"^000000 ("+.@map$+"):";
	} else {
		set .@menu$, .@menu$ + "^FF0000"+.name$[.@i]+"^000000:";
	}
}

if (.@menu$ != "") {
	mes "Select a GM to view more info.";
	set .@num, select(.@menu$) -1;

	mes "[GM Checker]";
	mes "GM NAME: " + .name$[.@num];
	mes "STATUS:  " + (isloggedin(.account_id[.@num], .char_id[.@num]) ? "^008000Online" : "^FF0000Offline") + "^000000";
	if (checkvending(.name$[.@num]) == 1) mes "(vending)";
	else if (checkvending(.name$[.@num]) == 2) mes "(vending with @autotrade)";
	mes "Position: " + callsub(S_GMgroup2name,.group_id[.@num]);
	getmapxy .@map$,.@x,.@y,0, .name$[.@num];
	mes "Map: " + .@map$;
}
close;

OnInit:
query_sql "SELECT `char`.account_id, `char`.char_id, `char`.`name`, login.group_id " +
		  "FROM login RIGHT JOIN `char` ON login.account_id=`char`.account_id " +
		  "WHERE `group_id` >= 1", .account_id, .char_id, .name$, .group_id;
end;
S_GMgroup2name:
set .@group_id, getarg(0,0);
	 if (.@group_id ==  0) set .@title$, "";
else if (.@group_id <= 40) set .@title$, "Police GM";
else if (.@group_id <= 60) set .@title$, "Event GM";
else if (.@group_id <= 90) set .@title$, "Co-owner";
else if (.@group_id <= 99) set .@title$, "Admin";
return .@title$;
}

* AFK/active check is not implemented (waiting for a getidletime script command) /rice

post-3628-0-73789800-1359135662_thumb.jpg

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  194
  • Topics Per Day:  0.04
  • Content Count:  499
  • Reputation:   3
  • Joined:  03/11/12
  • Last Seen:  

@TS

you can try modify it like this..

http://pastebin.com/raw.php?i=cx9DvgAt

( i havent test it... )

@icabit

Dont alway use permanent variable..or...maybe i should said..avoid of using it if possible...

it can bring harm to server if the users accidently ..."abused" the usage of this kind of variable...

Thank you for the script sir emistry...........

===========================================================================

I'm getting an error emistry........................

NVM, i already got it.......... it just need two ) ) at the end LOL!!! thank you Emistry...............................

post-3034-0-12725400-1359136809_thumb.jpg

Edited by caspa
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  43
  • Topics Per Day:  0.01
  • Content Count:  815
  • Reputation:   86
  • Joined:  10/26/12
  • Last Seen:  

Here is another way: http://rathena.kpaste.net/1d0?raw

prontera,155,188,0    script    GM_Status    910,{
   if (getgmlevel() >= 99) {
       if (select("View GM Status:Reload GM list") == 2) {
           mes "Close this window to reload the GM list.";
           close2;
           goto OnInit;
       }
   }

   mes "[GM Checker]";
   if (getarraysize(.char_id) == 1) {
       mes "There is 1 GM.";
   } else {
       mes "There are " + getarraysize(.char_id) + " GMs.";
   }

   // build menu of GM names
   for (set .@i,0; .@i < getarraysize(.char_id); set .@i,.@i+1) {
       if (isloggedin(.account_id[.@i], .char_id[.@i])) {
           getmapxy .@map$,.@x,.@y,0, .name$[.@i];
           set .@menu$, .@menu$ + "^008000"+.name$[.@i]+"^000000 ("+.@map$+"):";
       } else {
           set .@menu$, .@menu$ + "^FF0000"+.name$[.@i]+"^000000:";
       }
   }

   if (.@menu$ != "") {
       mes "Select a GM to view more info.";
       set .@num, select(.@menu$) -1;

       mes "[GM Checker]";
       mes "GM NAME: " + .name$[.@num];
       mes "STATUS:  " + (isloggedin(.account_id[.@num], .char_id[.@num]) ? "^008000Online" : "^FF0000Offline") + "^000000";
       if (checkvending(.name$[.@num]) == 1) mes "(vending)";
       else if (checkvending(.name$[.@num]) == 2) mes "(vending with @autotrade)";
       mes "Position: " + callsub(S_GMgroup2name,.group_id[.@num]);
       getmapxy .@map$,.@x,.@y,0, .name$[.@num];
       mes "Map: " + .@map$;
   }
   close;

OnInit:
   query_sql "SELECT `char`.account_id, `char`.char_id, `char`.`name`, login.group_id " +
             "FROM login RIGHT JOIN `char` ON login.account_id=`char`.account_id " +
             "WHERE `group_id` >= 1", .account_id, .char_id, .name$, .group_id;
   end;
S_GMgroup2name:
   set .@group_id, getarg(0,0);
        if (.@group_id ==  0) set .@title$, "";
   else if (.@group_id <= 40) set .@title$, "Police GM";
   else if (.@group_id <= 60) set .@title$, "Event GM";
   else if (.@group_id <= 90) set .@title$, "Co-owner";
   else if (.@group_id <= 99) set .@title$, "Admin";
   return .@title$;
}

* AFK/active check is not implemented (waiting for a getidletime script command) /rice

Here is another way: http://rathena.kpaste.net/1d0?raw

prontera,155,188,0    script    GM_Status    910,{
   if (getgmlevel() >= 99) {
       if (select("View GM Status:Reload GM list") == 2) {
           mes "Close this window to reload the GM list.";
           close2;
           goto OnInit;
       }
   }

   mes "[GM Checker]";
   if (getarraysize(.char_id) == 1) {
       mes "There is 1 GM.";
   } else {
       mes "There are " + getarraysize(.char_id) + " GMs.";
   }

   // build menu of GM names
   for (set .@i,0; .@i < getarraysize(.char_id); set .@i,.@i+1) {
       if (isloggedin(.account_id[.@i], .char_id[.@i])) {
           getmapxy .@map$,.@x,.@y,0, .name$[.@i];
           set .@menu$, .@menu$ + "^008000"+.name$[.@i]+"^000000 ("+.@map$+"):";
       } else {
           set .@menu$, .@menu$ + "^FF0000"+.name$[.@i]+"^000000:";
       }
   }

   if (.@menu$ != "") {
       mes "Select a GM to view more info.";
       set .@num, select(.@menu$) -1;

       mes "[GM Checker]";
       mes "GM NAME: " + .name$[.@num];
       mes "STATUS:  " + (isloggedin(.account_id[.@num], .char_id[.@num]) ? "^008000Online" : "^FF0000Offline") + "^000000";
       if (checkvending(.name$[.@num]) == 1) mes "(vending)";
       else if (checkvending(.name$[.@num]) == 2) mes "(vending with @autotrade)";
       mes "Position: " + callsub(S_GMgroup2name,.group_id[.@num]);
       getmapxy .@map$,.@x,.@y,0, .name$[.@num];
       mes "Map: " + .@map$;
   }
   close;

OnInit:
   query_sql "SELECT `char`.account_id, `char`.char_id, `char`.`name`, login.group_id " +
             "FROM login RIGHT JOIN `char` ON login.account_id=`char`.account_id " +
             "WHERE `group_id` >= 1", .account_id, .char_id, .name$, .group_id;
   end;
S_GMgroup2name:
   set .@group_id, getarg(0,0);
        if (.@group_id ==  0) set .@title$, "";
   else if (.@group_id <= 40) set .@title$, "Police GM";
   else if (.@group_id <= 60) set .@title$, "Event GM";
   else if (.@group_id <= 90) set .@title$, "Co-owner";
   else if (.@group_id <= 99) set .@title$, "Admin";
   return .@title$;
}

* AFK/active check is not implemented (waiting for a getidletime script command) /rice

Lol they code it for rAthena not for 3ceam,eAthena correct me if im wrong scripters

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  28
  • Topics Per Day:  0.01
  • Content Count:  353
  • Reputation:   70
  • Joined:  07/14/12
  • Last Seen:  

Here is another way: http://rathena.kpaste.net/1d0?raw

prontera,155,188,0	script	GM_Status	910,{
if (getgmlevel() >= 99) {
	if (select("View GM Status:Reload GM list") == 2) {
		mes "Close this window to reload the GM list.";
		close2;
		goto OnInit;
	}
}

mes "[GM Checker]";
if (getarraysize(.char_id) == 1) {
	mes "There is 1 GM.";
} else {
	mes "There are " + getarraysize(.char_id) + " GMs.";
}

// build menu of GM names
for (set .@i,0; .@i < getarraysize(.char_id); set .@i,.@i+1) {
	if (isloggedin(.account_id[.@i], .char_id[.@i])) {
		getmapxy .@map$,.@x,.@y,0, .name$[.@i];
		set .@menu$, .@menu$ + "^008000"+.name$[.@i]+"^000000 ("+.@map$+"):";
	} else {
		set .@menu$, .@menu$ + "^FF0000"+.name$[.@i]+"^000000:";
	}
}

if (.@menu$ != "") {
	mes "Select a GM to view more info.";
	set .@num, select(.@menu$) -1;

	mes "[GM Checker]";
	mes "GM NAME: " + .name$[.@num];
	mes "STATUS:  " + (isloggedin(.account_id[.@num], .char_id[.@num]) ? "^008000Online" : "^FF0000Offline") + "^000000";
	if (checkvending(.name$[.@num]) == 1) mes "(vending)";
	else if (checkvending(.name$[.@num]) == 2) mes "(vending with @autotrade)";
	mes "Position: " + callsub(S_GMgroup2name,.group_id[.@num]);
	getmapxy .@map$,.@x,.@y,0, .name$[.@num];
	mes "Map: " + .@map$;
}
close;

OnInit:
query_sql "SELECT `char`.account_id, `char`.char_id, `char`.`name`, login.group_id " +
		  "FROM login RIGHT JOIN `char` ON login.account_id=`char`.account_id " +
		  "WHERE `group_id` >= 1", .account_id, .char_id, .name$, .group_id;
end;
S_GMgroup2name:
set .@group_id, getarg(0,0);
	 if (.@group_id ==  0) set .@title$, "";
else if (.@group_id <= 40) set .@title$, "Police GM";
else if (.@group_id <= 60) set .@title$, "Event GM";
else if (.@group_id <= 90) set .@title$, "Co-owner";
else if (.@group_id <= 99) set .@title$, "Admin";
return .@title$;
}

* AFK/active check is not implemented (waiting for a getidletime script command) /rice

Here is another way: http://rathena.kpaste.net/1d0?raw

prontera,155,188,0	script	GM_Status	910,{
if (getgmlevel() >= 99) {
	if (select("View GM Status:Reload GM list") == 2) {
		mes "Close this window to reload the GM list.";
		close2;
		goto OnInit;
	}
}

mes "[GM Checker]";
if (getarraysize(.char_id) == 1) {
	mes "There is 1 GM.";
} else {
	mes "There are " + getarraysize(.char_id) + " GMs.";
}

// build menu of GM names
for (set .@i,0; .@i < getarraysize(.char_id); set .@i,.@i+1) {
	if (isloggedin(.account_id[.@i], .char_id[.@i])) {
		getmapxy .@map$,.@x,.@y,0, .name$[.@i];
		set .@menu$, .@menu$ + "^008000"+.name$[.@i]+"^000000 ("+.@map$+"):";
	} else {
		set .@menu$, .@menu$ + "^FF0000"+.name$[.@i]+"^000000:";
	}
}

if (.@menu$ != "") {
	mes "Select a GM to view more info.";
	set .@num, select(.@menu$) -1;

	mes "[GM Checker]";
	mes "GM NAME: " + .name$[.@num];
	mes "STATUS:  " + (isloggedin(.account_id[.@num], .char_id[.@num]) ? "^008000Online" : "^FF0000Offline") + "^000000";
	if (checkvending(.name$[.@num]) == 1) mes "(vending)";
	else if (checkvending(.name$[.@num]) == 2) mes "(vending with @autotrade)";
	mes "Position: " + callsub(S_GMgroup2name,.group_id[.@num]);
	getmapxy .@map$,.@x,.@y,0, .name$[.@num];
	mes "Map: " + .@map$;
}
close;

OnInit:
query_sql "SELECT `char`.account_id, `char`.char_id, `char`.`name`, login.group_id " +
		  "FROM login RIGHT JOIN `char` ON login.account_id=`char`.account_id " +
		  "WHERE `group_id` >= 1", .account_id, .char_id, .name$, .group_id;
end;
S_GMgroup2name:
set .@group_id, getarg(0,0);
	 if (.@group_id ==  0) set .@title$, "";
else if (.@group_id <= 40) set .@title$, "Police GM";
else if (.@group_id <= 60) set .@title$, "Event GM";
else if (.@group_id <= 90) set .@title$, "Co-owner";
else if (.@group_id <= 99) set .@title$, "Admin";
return .@title$;
}

* AFK/active check is not implemented (waiting for a getidletime script command) /rice

y dont you have any group id?

are you using rathena as your svn?

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  43
  • Topics Per Day:  0.01
  • Content Count:  815
  • Reputation:   86
  • Joined:  10/26/12
  • Last Seen:  

He don't probably....the error already said it he/she using 3ceam

  • Upvote 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  39
  • Topics Per Day:  0.01
  • Content Count:  110
  • Reputation:   1
  • Joined:  04/03/12
  • Last Seen:  

Yes, Ladies and Gentlemen I am using 3CeAm............. Anyway i badly need this script hope anyone could help............ THANK YOU IN ADVANCED.....

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  75
  • Topics Per Day:  0.02
  • Content Count:  2223
  • Reputation:   593
  • Joined:  10/26/11
  • Last Seen:  

Lol they code it for rAthena not for 3ceam,eAthena correct me if im wrong scripters

Correct, since this was requested on the rAthena forums, I wrote it for rAthena :P

To use it with eAthena or 3CeAM, just change all group_id to level

  • Upvote 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  43
  • Topics Per Day:  0.01
  • Content Count:  815
  • Reputation:   86
  • Joined:  10/26/12
  • Last Seen:  

Lol they code it for rAthena not for 3ceam,eAthena correct me if im wrong scripters

Correct, since this was requested on the rAthena forums, I wrote it for rAthena :P

To use it with eAthena or 3CeAM, just change all group_id to level

@xmaniacx

there you go

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  39
  • Topics Per Day:  0.01
  • Content Count:  110
  • Reputation:   1
  • Joined:  04/03/12
  • Last Seen:  

Thank you guyz............ [ PROBLEM SOLVED ]

Lol they code it for rAthena not for 3ceam,eAthena correct me if im wrong scripters

Correct, since this was requested on the rAthena forums, I wrote it for rAthena :P

To use it with eAthena or 3CeAM, just change all group_id to level

Sir Bry............ How do you add how many GM's are Online on this part~

mes "Select a GM to view more info.";

mes " ";

mes "Current Online GM : "+<----THIS---->+" ;

Edited by xmaniacx
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  75
  • Topics Per Day:  0.02
  • Content Count:  2223
  • Reputation:   593
  • Joined:  10/26/11
  • Last Seen:  

How do you add how many GM's are Online on this part~

mes "Select a GM to view more info.";

mes " ";

mes "Current Online GM : "+<----THIS---->+" ;

Here you go: http://rathena.kpaste.net/3e?raw

mes "Current Online GM: " + .@online_gm_count;

Move that line to where you want it to display, but it must come after the // build menu of GM names block.

  • Upvote 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  28
  • Topics Per Day:  0.01
  • Content Count:  353
  • Reputation:   70
  • Joined:  07/14/12
  • Last Seen:  

How do you add how many GM's are Online on this part~

mes "Select a GM to view more info.";

mes " ";

mes "Current Online GM : "+<----THIS---->+" ;

Here you go: http://rathena.kpaste.net/3e?raw

mes "Current Online GM: " + .@online_gm_count;

Move that line to where you want it to display, but it must come after the // build menu of GM names block.

thx for this sir brian :D

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  39
  • Topics Per Day:  0.01
  • Content Count:  110
  • Reputation:   1
  • Joined:  04/03/12
  • Last Seen:  

Thank you very much for the script................ [ PROBLEM SOLIVED ]

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...