Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

MarkMorris

Members
  • Posts

    57
  • Joined

  • Last visited

    Never

Everything posted by MarkMorris

  1. MarkMorris

    CopyMemory

    **CopyMemory** I've been trying for 2 days to get copymemory to work with maps, this was simple before, but now the maps are dynamic its hard as im not sure if copymemory will array the Tilerec. Even if i presend the MaxX and MaxY it still Clears after i copymemory the map. Any help on this matter would be great.
  2. Ok I've masterd it, cant use Byte for sending data as its to small sending large strings your get overflow. Mirage Uses Integer so I converted to that instead, I noticed that its not just the header being change its the way the packet is being wrote to the buffer inside SendDataTo Normal it write all data to the buffer as a Long, reads the long the reads the packet header which is also a long. I plan to make it all Integer, saving to bytes on each packet header, then also saving 2 bytes for the amount of packets your putting in the packet itsself. ****** UPDATE ****** I've managed to get it all fixed up everything sends useing Integer now, All the packets are now sending there proper data types. I just done a comparison of the packet sending to the old server and im saving around 250 Bytes just from logging in. Acira and I done some test and even in runtime his ping is 30 he lives in Bulgaria/Sofia Im from UK. I'll tweak it speak to Robin, and hopefully he can get it in the latest Origins. :) Thanks all for your help.
  3. @Kimimaru: > I don't know why the -4 + 1 is there, to be honest. Your **IncomingData Subs** are probably still formatted to receive packets as Longs. Try changing your Client Sub IncomingData to this, **but please backup your current sub first**: > > ``` > Public Sub IncomingData(ByVal DataLength As Long) > Dim Buffer() As Byte > Dim pLength As Long > Dim Data() As Byte > frmMainGame.Socket.GetData Buffer, vbUnicode, DataLength > PlayerBuffer.WriteBytes Buffer() > > If PlayerBuffer.Length >= 1 Then > pLength = PlayerBuffer.ReadByte(False) > End If > > Do While pLength > 0 And pLength > 'make sure we have the right plength and pbuffer > If pLength PlayerBuffer.ReadByte > Data() = PlayerBuffer.ReadBytes(pLength + 1) > HandleData Data() > End If > > pLength = 0 > > If PlayerBuffer.Length >= 1 Then > pLength = PlayerBuffer.ReadByte(False) > End If > > Loop > > ' Check if the playbuffer is empty > If PlayerBuffer.Length End Sub > ``` > Now try changing your Server **Sub IncomingData** to this: > > ``` > Sub IncomingData(ByVal Index As Long, ByVal DataLength As Long) > Dim Buffer() As Byte > Dim Data() As Byte > Dim pLength As Long > frmServer.Socket(Index).GetData Buffer(), vbUnicode, DataLength > 'IncomingBytes = IncomingBytes + DataLength > TempPlayer(Index).Buffer.WriteBytes Buffer() > > 'TempPlayer(Index).Buffer.DecompressBuffer > If TempPlayer(Index).Buffer.Length >= 1 Then > pLength = TempPlayer(Index).Buffer.ReadByte(False) > > If pLength < 0 Then > Exit Sub > End If > End If > > Do While pLength > 0 And pLength > If pLength TempPlayer(Index).DataPackets = TempPlayer(Index).DataPackets + 1 > TempPlayer(Index).Buffer.ReadByte > Data() = TempPlayer(Index).Buffer.ReadBytes(pLength + 1) > 'If EncryptPackets Then > ' Encryption_XOR_DecryptByte Data(), PacketKeys(Player(Index).PacketInIndex) > ' Player(Index).PacketInIndex = Player(Index).PacketInIndex + 1 > ' If Player(Index).PacketInIndex > PacketEncKeys - 1 Then Player(Index).PacketInIndex = 0 > 'End If > HandleData Index, Data() > End If > > pLength = 0 > > If TempPlayer(Index).Buffer.Length >= 1 Then > pLength = TempPlayer(Index).Buffer.ReadByte(False) > > If pLength < 0 Then > Exit Sub > End If > End If > > Loop > > If GetPlayerAccess(Index) > ' Check for data flooding > If TempPlayer(Index).DataBytes > 1000 Then > HackingAttempt Index, "Data Flooding" > Exit Sub > End If > > ' Check for packet flooding > If TempPlayer(Index).DataPackets > 25 Then > HackingAttempt Index, "Packet Flooding" > Exit Sub > End If > End If > > ' Check if elapsed time has passed > 'Player(Index).DataBytes = Player(Index).DataBytes + DataLength > If GetTickCount >= TempPlayer(Index).DataTimer Then > TempPlayer(Index).DataTimer = GetTickCount + 1000 > TempPlayer(Index).DataBytes = 0 > TempPlayer(Index).DataPackets = 0 > End If > > If TempPlayer(Index).Buffer.Length End Sub > ``` > I haven't tested these subs, but give them a try, and again, remember to make a backup of your current Subs! I have tried something similar before and didnt work, I tried these had the same effect as before, but im not receiveing nothing at all now from server. In SendData the data is wrote in longs anyway, so I still thing it need to read as long, im not sure. @Robin: > The packet system is a rushed mess, to be quite honest. Don't get me wrong, it's infinity better than the old Eclipse stuff, but I'm not happy with it. > > I'll probably be switching out the core procedures with the ones from MR. I'll check out Mirage Realms and see what happends
  4. MarkMorris

    [EO] Dx8

    @Devo: > Chris managed to do it, guess he didnt steal that one :) Ha, Chris sucks, badly DirectX8 Is pretty Simple i've seen robins DX8 class which was good didnt like the way it was in a class mod but it was good. Although i still think i have the best DirectX Source out there, 900FPS Compiled running particles.(VBGore is Pretty good). I liked the way Robin Loaded his textures in in Dx8\. i was amazed ^2 Sucks though. AA can cause problems with DX8 to.
  5. I have converted all the packets, and i have change handledata to readbyte. Im still having some problems though. I can log in ect, but it wont receive SMapdone Packet, I'm pretty sure its somwthing to do with the packet being below 4 something to do with incoming data. Any help
  6. @Kimimaru: > You could probably convert the packet name to using bytes, but you'd have to change Sub HandleData to read the MsgType as a byte. I believe that Robin once stated that he was lazy and wrote all integral data types as Longs into the buffer, but you could fix that up so that everything is written according to its correct data type. Convert Booleans to integers and enter them into the buffer as an integer, and multiply Doubles by 10 and write them as either Longs or Integers and then divide them by 10 when your receive them from the buffer. I've explained this because there is no option to write booleans or doubles to the buffer. I hope this helps! Thanks i didnt realise this, Well would it would be best to do them as byte or integers? Mirage Source 4 Uses Integer as the packet headers. Also any light on why robin has changed the HandleData sub with the - 4 +1 bullshit, its anoying me to why its there.
  7. I'm a little confused, after comparing MS4(Blank Source) With Origins(Blank Source) adding a log system that tracks packets and writes them out as strings, Origins is laggy as hell. After reveiwing what was going on, I realised that origins write all its data as longs(4 bytes) rather than Integer(2 Bytes) or Bytes(1 Byte). I'm not big on TCP and Winsock but sending alot of data this can be a problem, I've also notice notice a few change in HandleData Example Below. Eclipes Origins: ``` CallWindowProc HandleDataSub(MsgType), Index, Buffer.ReadBytes(Buffer.Length - 4 + 1), 0, 0 ``` Mirage Source ``` CallWindowProc HandleDataSub(MsgType), 1, Buffer.ReadBytes(Buffer.Length), 0, 0 ``` Whats with the - 4 +1 haha, Can someone explain that to me, Packet Headers are also Longs, Mirage uses Integer Saving 2 bytes just for the packet headers. I want to convert this to Integer or is it even possible to covert it to using bytes? Can anyone share some light cause I want to write a solid TCP system, I've also notice even if you prealocate, it still uses more bytes than it should using more bandwidth. These test was all done on blank copies :) * UPDATE * Even if you use Longs as your packet Header it only uses the first Byte to store info leaving the remaining 3 Blank.
  8. I used Origins to program my game even though its had alot of mods and converted to DirectX8 I have not touced the packet system. I've been having a weird problem for some time, but I tought I had fixed it but no. Sometimes when players die or if a player switches maps I get a packet Error and the Map Editor Appears, I'm not sure how to debug the problem as it only happends to other players. I've never had the problem personally but its enoying. I've gone over all the packets in regards to playerwarp and its all fine, I'm sure its something to do with resources though. Any help on this matter would be great. Regards MarkMorris
  9. MarkMorris

    EO question

    @Raiko: > Why when I equip my armor I cant see my wepon exept when I walk left or right Fail.
  10. **This whole topic** ![](http://i38.photobucket.com/albums/e112/Kite_Minase/Reaction/1280118594800.jpg)
  11. Hey guys thanks for all your help the center has helpful, but it only uses string packets, i'm currently using Byte Array. I'll have alook more into it thanks.
  12. @Displaced: > You could programm eclipse that it create a php file with a variable in it, holding the play amount. > In worst case, it will update the file every minute. > In best case, just every time a player comes & goes. > > Another possible solution is a tcp packet. > If I'm not totaly crazy, php can send tcp packets. > So send a ReqPlayerOnlinePhp to the server and get just the user amount back. I was more looking into the TCP packet, but my PHP is not so good, do you know how to write and receive a packet in PHP? Thanks for your help man i like the ideas
  13. Thanks I'll have a quick look for it, but if anyone else could help that would be great
  14. **Website Help** I'm not the best at making a good website even though i'm not the worse, but i was wondering if anyone knows how i can send a packet from my site to the server. Example; Players online, Can i display that i my site? A packet would be need from my site to the server then back again. I know this is possible cause i've seen it done, just if someone could give a basic example that would be great, Thanks all.
  15. Added a new screenshot! Nothing special just wanna keep updated :)
  16. @Kevin49: > Wow, this cannot be, I can assure you my connection is better than 20Ko/sec (sometimes 14Ko/sec) > ![](http://www.freemmorpgmaker.com/files/imagehost/pics/86b525b9338cb76833dc0b445ac67460.png) > I'm not ready to play until a moment lol. > It may come from your host I don't know. Am I the only one have trouble with this? :lipsrsealed: i use Servage as my host provider there provide me with the faster cluster servers, i cant see why you only get 20KBS, my other members have never got less than 500 KBS from the poll i did.
  17. Dam i starting to love this forum, Thanks mate i really appreciate all your comments :)
  18. Yep im great :) Robin will post something sarcy now :(
  19. @Kinjiru: > @MarkMorris: > > > @Kinjiru: > > > > > Im getting RTE 75 on the updater, and I wont let me play without running the updater, are you I need of any help with anything? > > > > MSINET.OCX > > > > Run Libary Files In Download Section > > where do install your Libary Files to? there no location specified it the installer Really? let me check my installer files :)4 ***UPDATE*** Whoops your right haha, its fixed now it should have worked before but its fixed now anyway try it, What error message are you getting exacly?
  20. @Gohan: > This has piqued my curiosity. > > However should this game get popular, I smell legal trouble. Haha I doubt it will get that popular. But Thanks for that comment made me think wonderful things
  21. @Kinjiru: > Im getting RTE 75 on the updater, and I wont let me play without running the updater, are you I need of any help with anything? MSINET.OCX Run Libary Files In Download Section
  22. @GuzmanM: > Looks good, better of what I expected. Awesome, it has Direct X8\. Awesome… Yer its all been converted to DirectX8 the ingame windows are all in there to Drag and Drop Inventory, Shop, Bank, Skills and Hotbar. All the menu is Interactive, Including all buttons ect. thanks for you comment :)
×
×
  • Create New...