dragonbautista Posted September 30, 2015 Group: Members Topic Count: 3 Topics Per Day: 0.00 Content Count: 11 Reputation: 0 Joined: 04/14/15 Last Seen: May 25, 2018 Share Posted September 30, 2015 (edited) izlude,128,106,4 script GM Online Lists 811,{ 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,40; // Min. GM Level to Show in Online Lists end; OnPCLoginEvent: if( getgmlevel() < .MinGMLevel ) end; set .GM_Name$[ getarraysize( .GM_Name$ ) ],strcharinfo(0); set .GM_Level[ getarraysize( .GM_Level ) ],getgmlevel(); 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; } Edited September 30, 2015 by Emistry codebox. Quote Link to comment Share on other sites More sharing options...
Ninja Posted September 30, 2015 Group: Members Topic Count: 54 Topics Per Day: 0.01 Content Count: 513 Reputation: 84 Joined: 08/11/12 Last Seen: July 4, 2024 Share Posted September 30, 2015 Tested and working. Made the NPC walk towards the coordinates every 6 seconds. Just change the OnTimerXXXXXX to suit your needs. izlude,128,106,4 script GM Online Lists 811,{ 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; OnPCLoginEvent: if( getgmlevel() < .MinGMLevel ) end; set .GM_Name$[ getarraysize( .GM_Name$ ) ],strcharinfo(0); set .GM_Level[ getarraysize( .GM_Level ) ],getgmlevel(); 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; OnInit: set .MinGMLevel,40; // Min. GM Level to Show in Online Lists set .pos, 1; // starting at position 1 initnpctimer; end; OnTimer6000: //number of milliseconds that this NPC will stay at certain coordinate Switch(.pos){ case 1: npcwalkto 128,106; set .pos, 2; break; case 2: npcwalkto 115,114; set .pos, 3; break; case 3: npcwalkto 128,117; set .pos, 4; break; case 4: npcwalkto 139,114; set .pos, 5; break; case 5: npcwalkto 128,106; set .pos, 1; break; } initnpctimer; end; } unitwalk yeah thought of that but used npcwalkto instead. thakns for the suggestion 1 Quote Link to comment Share on other sites More sharing options...
Ninja Posted September 30, 2015 Group: Members Topic Count: 54 Topics Per Day: 0.01 Content Count: 513 Reputation: 84 Joined: 08/11/12 Last Seen: July 4, 2024 Share Posted September 30, 2015 How do you exactly want it to "move"? Quote Link to comment Share on other sites More sharing options...
dragonbautista Posted September 30, 2015 Group: Members Topic Count: 3 Topics Per Day: 0.00 Content Count: 11 Reputation: 0 Joined: 04/14/15 Last Seen: May 25, 2018 Author Share Posted September 30, 2015 (edited) Walking npc in our main town Edited September 30, 2015 by dragonbautista Quote Link to comment Share on other sites More sharing options...
Ninja Posted September 30, 2015 Group: Members Topic Count: 54 Topics Per Day: 0.01 Content Count: 513 Reputation: 84 Joined: 08/11/12 Last Seen: July 4, 2024 Share Posted September 30, 2015 For that I will be needing a set of coordinates where you want this NPC to be standing at. Quote Link to comment Share on other sites More sharing options...
dragonbautista Posted September 30, 2015 Group: Members Topic Count: 3 Topics Per Day: 0.00 Content Count: 11 Reputation: 0 Joined: 04/14/15 Last Seen: May 25, 2018 Author Share Posted September 30, 2015 Izlude 139 144 Izlude 128 100 Izlude 115 114 Izlude 128 117 Quote Link to comment Share on other sites More sharing options...
Ninja Posted September 30, 2015 Group: Members Topic Count: 54 Topics Per Day: 0.01 Content Count: 513 Reputation: 84 Joined: 08/11/12 Last Seen: July 4, 2024 Share Posted September 30, 2015 (edited) Please give this a try. Compiled but not tested. izlude,128,106,4 script GM Online Lists 811,{ 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; OnPCLoginEvent: if( getgmlevel() < .MinGMLevel ) end; set .GM_Name$[ getarraysize( .GM_Name$ ) ],strcharinfo(0); set .GM_Level[ getarraysize( .GM_Level ) ],getgmlevel(); 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; OnInit: set .MinGMLevel,40; // Min. GM Level to Show in Online Lists set .pos, 1; // starting at position 1 initnpctimer; end; OnTimer600000: //number of milliseconds that this NPC will stay at certain coordinate Switch(.pos){ case 1: movenpc "GM Online Lists",128,106; set .pos, 2; break; case 2: movenpc "GM Online Lists",115,114; set .pos, 3; break; case 3: movenpc "GM Online Lists",128,117; set .pos, 4; break; case 4: movenpc "GM Online Lists",139,114; set .pos, 5; break; case 5: movenpc "GM Online Lists",128,106; set .pos, 1; break; } initnpctimer; end; } Edited September 30, 2015 by jezznar Quote Link to comment Share on other sites More sharing options...
dragonbautista Posted September 30, 2015 Group: Members Topic Count: 3 Topics Per Day: 0.00 Content Count: 11 Reputation: 0 Joined: 04/14/15 Last Seen: May 25, 2018 Author Share Posted September 30, 2015 Walking npc is not working. Quote Link to comment Share on other sites More sharing options...
Azeroth Posted September 30, 2015 Group: Members Topic Count: 36 Topics Per Day: 0.01 Content Count: 383 Reputation: 121 Joined: 03/31/12 Last Seen: January 29, 2023 Share Posted September 30, 2015 unitwalk Quote Link to comment Share on other sites More sharing options...
dragonbautista Posted September 30, 2015 Group: Members Topic Count: 3 Topics Per Day: 0.00 Content Count: 11 Reputation: 0 Joined: 04/14/15 Last Seen: May 25, 2018 Author Share Posted September 30, 2015 Its working now! Thanks Quote Link to comment Share on other sites More sharing options...
Ninja Posted September 30, 2015 Group: Members Topic Count: 54 Topics Per Day: 0.01 Content Count: 513 Reputation: 84 Joined: 08/11/12 Last Seen: July 4, 2024 Share Posted September 30, 2015 · Hidden by Emistry, September 30, 2015 - No reason given Hidden by Emistry, September 30, 2015 - No reason given Its working now! Thanks You're welcome. Please mark this thread as solved from the solution I gave. Thanks Link to comment
Question
dragonbautista
izlude,128,106,4 script GM Online Lists 811,{
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,40; // Min. GM Level to Show in Online Lists
end;
OnPCLoginEvent:
if( getgmlevel() < .MinGMLevel ) end;
set .GM_Name$[ getarraysize( .GM_Name$ ) ],strcharinfo(0);
set .GM_Level[ getarraysize( .GM_Level ) ],getgmlevel();
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;
}
codebox.
Link to comment
Share on other sites
10 answers to this question
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.