Tic Tac 2 Posted April 1, 2014 Author Share Posted April 1, 2014 I'm using the custom build Eclipse Worlds, the movement in it for most people including myself feels "clunky" and "jittery". The more ping/farther you are from the server, the laggier and the slower your character move. Is there a way to fix this? In normal EO 3.0 no matter where you connected from, your moving would always feel fluent, but for other people viewing you, you would be lagging around a little. This is the way i want the movement to be.Is there a simple fix for this? I'd be eternally grateful if anyone would haelp me fix this :-)EDIT: Connect to my server with any client or download mine here to see what i mean. (13mb)[http://www.mediafire.com/download/gdvgndmic0e1c54/Fantura+2+Alpha.zip](http://www.mediafire.com/download/gdvgndmic0e1c54/Fantura+2+Alpha.zip)EDIT2: I think the problem is that the movement is sent like this "Client>Server>Client" I just want it to be sent like this "Client>Server". Do you know what i mean? I want movement to be client-sided. I know people can hack that way to make their movement faster than other people. But this is just something i want temporarily until i get a good host. I'll ban the hackers separately. The game isn't enjoyable when moving feels really laggy and not fluent.This is my server's Sub HandlePlayerMove, **I don't even know if i'm supposed to edit these specific subs to make the movement less laggy and client sided, please fill me in if im wrong**```' :::::::::::::::::::::::::::::' :: Moving character packet ::' :::::::::::::::::::::::::::::Sub HandlePlayerMove(ByVal index As Long, ByRef Data() As Byte, ByVal StartAddr As Long, ByVal ExtraVar As Long) Dim Dir As Byte, i As Long Dim Movement As Byte Dim Buffer As clsBuffer Dim TmpX As Integer, TmpY As Integer Set Buffer = New clsBuffer Buffer.WriteBytes Data() Dir = Buffer.ReadByte Movement = Buffer.ReadByte TmpX = Buffer.ReadInteger TmpY = Buffer.ReadInteger Set Buffer = Nothing Call PlayerMove(index, Dir, Movement)End Sub```This is my clients PlayerMove```Private Sub HandlePlayerMove(ByVal Index As Long, ByRef data() As Byte, ByVal StartAddr As Long, ByVal ExtraVar As Long) Dim I As Long Dim X As Byte Dim Y As Byte Dim oldx As Long, oldy As Long Dim distanceX As Long, distanceY As Long Dim Dir As Byte Dim n As Byte Dim buffer As clsBuffer ' If debug mode, handle error then exit out If Options.Debug = 1 Then On Error GoTo errorhandler Set buffer = New clsBuffer buffer.WriteBytes data() I = buffer.ReadLong X = buffer.ReadByte Y = buffer.ReadByte oldx = GetPlayerX(I) oldy = GetPlayerY(I) Dir = buffer.ReadByte n = buffer.ReadByte distanceX = (X - oldx) distanceY = (Y - oldy) Call SetPlayerX(I, X) Call SetPlayerY(I, Y) Call SetPlayerDir(I, Dir) ' Let the client know we can move. IsWaitingForMove = False TempPlayer(I).Moving = n TempPlayer(I).xOffset = distanceX * PIC_X * -1 TempPlayer(I).yOffset = distanceY * PIC_Y * -1 Exit Sub' Error handlererrorhandler: HandleError "HandlePlayerMove", "modHandleData", Err.Number, Err.Description, Err.Source, Err.HelpContext Err.ClearEnd Sub``` Link to comment Share on other sites More sharing options...
DarkAge Posted April 14, 2014 Share Posted April 14, 2014 I also have this problem, would anyone have a solution? Link to comment Share on other sites More sharing options...
Zzbrandon Posted April 14, 2014 Share Posted April 14, 2014 Whatever Link to comment Share on other sites More sharing options...
PVJsquad Posted June 15, 2014 Share Posted June 15, 2014 try to download EO 3.0 and open the source and find HandlePlayerMove or PlayerMove then replace your code with source EO 3.0 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now