Help me out here. I'm trying but I think I'm messing up somewhere.
Server:
Code: Select all
;generate packet string
MapArray(mapid)\MapString = BuildMapString(mapid)
;packed version
MapArray(mapid)\PackedMapPtr = AllocateMemory( Len(MapArray(mapid)\MapString) + 8)
*src = AllocateMemory(Len(MapArray(mapid)\MapString))
PokeS(*src,MapArray(mapid)\MapString)
MapArray(mapid)\PackedMapLen = PackMemory(*src,MapArray(mapid)\PackedMapPtr,Len(MapArray(mapid)\MapString) + 8,9)Code: Select all
datastr.s=""
*totbuf = AllocateMemory(1024)
*buf = AllocateMemory(1024)
;For i = 0 To 3000
amt=ReceiveNetworkData(MapClientID,*buf,1024)
*unpacked=AllocateMemory(30000)
UnpackMemory(*buf,*unpacked)
datastr=PeekS(*unpacked)
;Next
FreeMemory(*buf)
;have all the data, now we parse it out
If Trim(Datastr)<>""
ParseMapString(datastr)
SaveMap(CurrentMap)
PlayMusic(MapArray(0)\Music)
WaitForMap=0
EndIf 