[EO] who's online form

so i made a online list but made it in a form and updated the who’s command so what you gotta do is download the form here

and add it to your client

now lets get to the code so first off

in modHandleData in sub handle data, add this above everything

Dim i as Long

then in the same sub find,

 CallWindowProc HandleDataSub(MsgType), 1, Buffer.ReadBytes(Buffer.Length), 0, 0

add this below it

’ [ Online List ]
    frmOnline.lstOnline.Clear

For i = 1 To Player_HighIndex
        frmOnline.lstOnline.AddItem Trim$(Player(i).Name)
    Next i
    Exit Sub
    ’ [ Online List ]

now go to mod input

and you got to choices

1. add new command

so find /stats and underneath it put

case "/Online"
  frmOnline.Show

or

2. Find /who and replace the code under it with this

frmOnline.Show

that should be it, i have tested it but i may have forgot something so let me know if any issues

~no credit required~

Features in future dialogue from the online list so you can click there name and: choose private message invite or trade

(if i get time to do it)

enjoy!

In theory you’re doing it correctly but at the moment you’re updating the who’s online list every single time a packet is received. You should make a sub called “UpdateWhosOnline”, and put your loop in there, and call UpdateWhosOnline only when someone connects or disconnects from the game.

Same idea as you have no just move it to a place where it’s more appropriate, and avoiding loops where needed.

In theory you’re doing it correctly but at the moment you’re updating the who’s online list every single time a packet is received. You should make a sub called “UpdateWhosOnline”, and put your loop in there, and call UpdateWhosOnline only when someone connects or disconnects from the game.

Same idea as you have no just move it to a place where it’s more appropriate, and avoiding loops where needed.

ill look in to it thanks for the feedback

Nice this could come in handy

Or instead of doing it every loop do it every time the window is shown or activated or something.

’ [ Online List ]
    frmOnline.lstOnline.Clear

For i = 1 To Player_HighIndex
        frmOnline.lstOnline.AddItem Trim$(Player(i).Name)

Next i
    Exit Sub
    ’ [ Online List ]

Player_HighIndex only stores the value of the player with the highest index so there could be ‘null players’ between 1 and Player_HighIndex, so you might want to add a “isPlaying(i)” in there otherwise this will cause errors  🙂

,…,<>" data-cid=“930432” data-time=“1415189380”>

Player_HighIndex only stores the value of the player with the highest index so there could be ‘null players’ between 1 and Player_HighIndex, so you might want to add a “isPlaying(i)” in there otherwise this will cause errors  🙂

Ive learned a lot more since this tutorial. I suppose i could re write it, if anyone needs this?

Log in to reply