Changelog
Jump to navigation
Jump to search
Contents
Test releases
Version: 0.0.0
First test version release.
Version: 0.0.1
- Removed body state, from server side
- Reconstructed structure for sending basic data
- Added crash reporter
- Fixed bug with crossbow skillweapon
- Fixed bug with wrong ordering script data
- Fixes synchronization many bugs
- Fixed server crashes while closing
- Fixed many client crashes
- New script functions
Version: 0.0.2
- Fixed bug with respawn
- Fixed bug with import node in config file
- Fixed bug in client events, sometimes didn't respond
- Fixed bug in autopatcher, subfolders weren't loaded
- Fixed bug with invisible textures
- Fixed bug with wrong statistics after respawn
- Fixed bug with synchronization of equipped items, if player changed item without unequipping, them item wasn't synchronized
- Update Squirrel from 3.0.7 to 3.1
- Added value heroId, that contain local player id
- Constants values was updated on the wiki page
- Removed client function: getHeroId
- Added server function: setPlayerRespawnTime
- Added server function: getPlayerRespawnTime
- Added client function: isInventoryOpen
- Added client function: hasItem
- Added client function: getItemBySlot
- Added client function: getEq
- Added client function: setCursorVisible
- Added client function: isCursorVisible
- Added client function: setCursorSensitivity
- Added client function: getCursorSensitivity
- Added client function: setCursorTxt
- Added client function: getCursorTxt
- Added client function: setCursorPosition
- Added client function: setCursorPositionPx
- Added client function: getCursorPosition
- Added client function: getCursorPositionPx
- Added client function: isMouseBtnPressed
- Added client function: setKeyLayout
- Added client function: getKeyLayout
- Added client event: onMouseClick
- Added client event: onMouseRelease
- Added client event: onMouseWheel
- Added client event: onRespawn
- Added client event: onFocus
Version: 0.0.2.1
- Fixed bug with missing heroId value
Version: 0.0.3
- Mouse events working even in mouse isn't visible
- New patcher system
- Packets
- Modules (NOTE! Old modules isn't working, they have to be recompiles with new headers!)
- Fixed bug with not working timers on client side
- Fixed bug with, wrong font in view after change font in draw
- Items in inventory are now stacked into one
Version: 0.0.3.1
- Fixed bug with not working keys after change resoultion
- Fixed bug with not working disableKey
- Fixed bug with not working functions in system lib
- Added callback onTakeItem, onDropItem, onUseItem, onChangeResolution
- Added client function clearInventory (will be on server too, but later)
Version: 0.0.3.2
- Fixed bug with wrong calculated draw width (spaces have wrong size)
- Fixed bug with not working onRender and onRenderNickname
- Fixed bug with not visible cursor
Version: 0.0.3.3
- Fixed bug with render and blending
Version: 0.0.3.4
- Fixed bug with infinity turn ani
- Fixed bug with wrong interpolation, now work much better
- Fixed some sync issues with combine ani, and swimming/diving
- Fixed crashes while exiting game
Version: 0.0.4
- Fixed bug with rendering nickname colors
- Fixed bug with removing players, while time was changed
- Fixed bug with triggering onKey, with mouse buttons etc
- Fixed bug with getPlayerAngle, on client side. Instead of float returning bool
- From now on, server scripts are called in correct order
- Added error info while load module fails
- Added checking client world with server world, while joining to server
- Added time synchronization
- Added world synchronization
- Added nicknames, colors, ping synchronization
- Fixed bug with not dying, until a-d animations was enabled
- Fixed some crashes, while lost connection
- Fixed bug with getLetter, instead of char returning int
- Fixed bug with multiple packet events. Once readed packet was broken
- Added server function: kick(pid, reason)
- Added server function: ban(pid, minutes, reason)
- Added server function: getPlayerPing
- Added server function: equipItem
- Added server function: unequipItem
- Added server function: setPlayerWorld
- Added server function: getPlayerWorld
- Added client function: getPlayerPing
- Added client function: changeWorld
- Added client function: disableControls
- Added client function: isControlsDisabled
- Added client function: playGesticulation
- Added client function: setLevel
- Added client function: getLevel
- Added client function: setExp
- Added client function: setNextLevelExp
- Added client function: getNextLevelExp
- Added client function: setLearnPoints
- Added client function: getLearnPoints
- Added client function: textSetFont
- Added client function: textWidth
- Added client function: textWidthPx
- Added client function: letterWidth
- Added client function: letterWidthPx
- Added client function: letterDistance
- Added client function: letterDistancePx
- Added client event: onPlayerChangeNickname
- Added client event: onPlayerChangeColor
- Added client event: onPlayerChangePing
- Added client event: onWorldChange
- Added client event: onWorldEnter
- Added server event: onPlayerEnterWorld
- Added server event: onPlayerChangeWorld
Version: 0.0.4.1
- Fixed bug with visual, fatness, scale. Changes was visible only for streamed players, but not for player who send the change
- Fixed bug with not working playGesticulation
- Fixed bug with not working onPlayerChangePing
- Fixed bug with not visible items after dead
- Fixed bug with desynchronization of death
- Fixed crashes while exiting game (finnaly!)
- Fixed crashes caused by returning wrong state in isPlayerConnected
- Added auto conversion form float to int, and from int to float in draws, textures and cursor functions
- Added server function: getPlayerAniId
- Added client function: getTickCount
- Added client function: showPlayerStatus
- Added client function: getWorld
- Added client function: getPlayerDexterity
- Added client function: getPlayerStrength
- Added client function: getPlayerScale
- Added client function: getPlayerInstance
Version: 0.0.5.0
- Generating ids for Items and Mds (Boost for network)
- Synchronized overlays
- Fixed bug with getKeyLetter, for some keys was returned random string instead of null
- Fixed crashes with downloader buffer
- Extended Packet class
- Fixed bug with looped animations
- Fixed bug with getTickCount, which returned storage value instead of current real ms
- Quit was removed from multiplayer console
- Added possibilty to control build version of client in config
- Added client function: enable_NicknameId(toggle)
- Added client function: setPlayerOnFloor(pid)
- Added client function: stopAni(pid)
- Added client callback: onAnim(aniId)
- Added server function: applyPlayerOverlay(pid, overlay)
- Added server function: removePlayerOverlay(pid, overlay)
- Added Vob class
- Added Mob class
- Added MobInter class
- Added MobLockable class
- Added missing math fuctions
- Added missing hash functions
Version: 0.0.5.1
- Fixed bug with not working packets
- For now packets throws exception if read failure
Public releases
Version: 0.1.0.0
- Fixed bug with stack overvflow in packets
- Fixed some bugs with players overlays
- Added shared class queue
- Added client class Draw3d
- Added client function enable_DamageAnims
- Added client function getNetworkStats
- Added server class ItemsGround, for synchronizing items on the ground
- Added server class ItemGround
- Added server callback onPlayerDropItem
- Added server callback onPlayerTakeItem
- Ported Textures, Draws to OOP sytnax
- Fixed crashes while exiting game, this time for good
- Fixed bugs with item and mds ids (sometimes was different on server and client side)
- onPlayerDropItem(pid, ItemGround)
- onPlayerTakeItem(pid, ItemGround)
- onExit()
- onTakeFocus(int vobType, int id, string name)
- onLostFocus(int vobType, int id, string name)
- Fixed bug with equipaArmor, unequipArmor etc. they removed items from inventory
- Fixed bug with not working streamer
- Added client function: getMaxSlots
- Added client function: getHostname
- Fixed bug with not stoping anis after dead
- Fixed bug with wrong realibity id
- Fixed bug with "freezed" server
- Fixed bug with colors. Colors was only given to player in stream.
- Fixed bug with nickname. Nickname was only given to player in stream.
- Now player that, are out of the stream will still sending their position but only 1 time per 2.5 second
- Fixed bug with not working enableKeys function.
- Imports are now relative.
- Fixed server crashes.
- Fixed bug with looped anims.
- Fixed bug with wrong pings.
- Fixed bug with server crashes while shutdown or init (RakNet TCP linux issue)
Version 0.1.1.0
- Fixed bug in Launcher with starting always the same G2O version
- Synchronization improvements
- Fixed bug with wrong skill weapon on spawn
- New launcher, with auto-udapte module
- Changed interpolation of y axis
- For now player with ping bigger than 150 will be freezed while fighting
- Fixed bug in timers. Timers which were created in global scope, was triggered immediately after creation.
- Fixed bug with crashing servers using overlays.
- Fixed bugs with overlays, now everything work as expected.
- New script constants: OBJ_BASENPC, OBJ_PED, OBJ_PLAYER, OBJ_LOCALPLAYER, OBJ_NPC, OBJ_LOCALNPC, OBJ_ITEM.
- Changed client event: onHit(playerid, dmg) to onHit(killerid, playerid, dmg).
- Client side bots.
Version 0.1.2.0
- Updated Disabled taking damage for local NPC from other players.
- Fixed Bug in fileMd5, when the file did not exist, the game stopped.
- Fixed Bug with working marvin mode.
- Fixed Bug with destroyNpc. NPC wasn't destroyed at all.
- Added Sound (2d/3d) management.
- Added Virtual worlds for players and items.
- Added Date to the server logs.
- Added Possibility of controlling ping limit in fight.
- Added Functions:
- Client: isConsoleOpen, getPingLimit, setPingLimit
- Server: getPlayerVirtualWorld, setPlayerVirtualWorld
- Added Classes:
- Client: Sound, Sound3d
Version 0.1.3.0
- Added magic synchronisation
- Added synchronisation of the items in hand
- Removed errors with arrows/bolts
- Added static class Camera to the camera operation (client-side)
- collision
- modeChangeEnabled
- setMode
- getMode
- getPosition
- setPosition
- getRotation
- setRotation
- enableMovement
- setTargetVob
- setTargetPlayer
- Added new client-side functions:
- attackPlayer(pid, id, combination)
- attackPlayerRanged(pid, id)
- attackPlayerMagic(pid, id, itemId)
- Added new client-side events:
- onSpellCast(itemId)
- Added new server-side functions:
- setPlayerMana(pid, value)
- setPlayerMaxMana(pid, value)
- getPlayerMana()
- getPlayerMaxMana()
- setPlayerMagicLevel(pid, value[1-6])
- Added new server-side events:
- onPlayerEquipHandItem(pid, hand, itemId)
- onPlayerSpellSetup(pid, itemId)
- onPlayerSpellCast(pid, itemId)
- Added new constants for the function attackPlayer:
- ATTACK_FRONT
- ATTACK_SWORD_LEFT
- ATTACK_SWORD_RIGHT
- ATTACK_SWORD_FRONT
Version 0.1.4.0
- Fixed:
- Talents
- Splash Screen
- Animations (experimental)
- Crash on world change
- 0hp bug
- Invisibility bug (streamer bug)
- Stacking items as in 0.1.2
- Squirrel functions releated with magic
- UnequipItem for runes bug fixed
- Added:
- New in game splash screen
- Gothic Online logo on every loadscreen
- Load screens are now different on game launch
- Weapon trail
- Mobs sync
- All doors are opened
- Client func:
- clearMultiplayerMessages()
- table {x,y,z} getWaypoint(string name)
- table {name, x, y, z} getNearestWaypoint()
- bool isInWater()
- string getItemName(string instance)
- string getItemDescription(string instance)
- int getItemValue(string instance)
- setGuild(int id)
- int getGuildId()
- string getGuildName()
- class Way(string StartWP, string EndWP)
- string Way:Confusedtart //Read only
- string Way::end //Read only
- int Way::getCountWaypoints()
- array<string> Way::getWaypoints()
- Client event:
- onMobInteract(pointer, from, to)
- onExit()
- Server func:
- table {x,y,z} getWaypoint(string world, string wp_name)
- class Way(string StartWP, string EndWP)
- string Way:Confusedtart //Read only
- string Way::end //Read only
- int Way::getCountWaypoints()
- array<string> Way::getWaypoints()
Version 0.1.5.0
- [FIXED] AutoPatcher
- [FIXED] German keyboard layout
- [FIXED] Function for ping limitation
- [ADDED] IPV6 protocol support
- [ADDED] Moving head sync
- [ADDED] New console under ~
- [ADDED] FaceANI sync
- [ADDED] Animation progress sync
- [ADDED] New methods for enter world
- [ADDED] Sync for mob state for all connected players
- [ADDED] BodyState sync
- [ADDED] New functions:
- setPlayerInvisible(int pid, bool toogle);
- bool getPlayerInvisible(int pid);
- setPlayerInvisibleChannel(int pid, int channel);
- bool getPlayerInvisibleChannel(int pid);
Version 0.1.5.1
- [FIXED] A lot of randomly crashes
Version 0.1.7.0
- [FIXED] Position interpolation (Previously, there was a problem with undoing player position when there were more than 70 people on the server)
- [FIXED] The most common cause of unexpected crashes (probably)
- [FIXED] ItemsGround (previously they were not created sometimes)
- [FIXED] Problem with unexpected starting turning animation
- [FIXED] Fighting animations (now they're much more smooth)
- [FIXED]error squirrel function (previously it wasn't printing message in console under tilde)
- [FIXED] getPlayerScale (client-side, previously it was returning integer value instead of floating point)
- [FIXED] Spawning nameless hero on 0,0,0 position when another player used mob
- [FIXED] Console isn't scale after change resolution
- [UPDATED] httpLib (this can solve problem with "Cannot connect to http server!")
- [ADDED] Full combos sync
- [ADDED] New client-side class for line3d drawing:
- Line3d(float x1, float y1, float z1, float x2, float y2, float z2)
- bool Line3d.visible
- Line3d.top()
- Line3d.setBegin(float x, float y, float z)
- Line3d.setEnd(float x, float y, float z)
- Line3d.setColor(int r, int g, int b)
- table {x, y, z} Line3d.getBegin()
- table {x, y, z} Line3d.getEnd()
- table {r, g, b} Line3d.getColor()
- [ADDED] New client-side class for line2d drawing:
- Line2d(int x1, int y1, int x2, int y2)
- bool Line2d.visible
- Line2d.top()
- Line2d.setBegin(int x, int y)
- Line2d.setEnd(int x, int y)
- Line2d.setColor(int r, int g, int b)
- table {x, y} Line2d.getBegin()
- table {x, y} Line2d.getEnd()
- table {r, g, b} Line2d.getColor()
- [ADDED] New client-side class for item rendering:
- ItemRender(int x, int y, int width, int height, string itemInstance)
- ItemRender.top()
- ItemRender.setPosition(int x, int y)
- ItemRender.setPositionPx(int x, int y)
- ItemRender.setSize(int width, int height)
- ItemRender.setSizePx(int width, int height)
- table {x, y} ItemRender.getPosition()
- table {x, y} ItemRender.getPositionPx()
- table {width, height} ItemRender.getSize()
- table {width, height} ItemRender.getSizePx()
- int ItemRender.rotX
- int ItemRender.rotY
- int ItemRender.rotZ
- int ItemRender.zbias
- bool ItemRender.lightingswell
- bool ItemRender.visible
- [ADDED] New server-side function:
- equipSpell(int pid, int itemId[, int slot])
Version 0.1.8.0
- [Rewritten] animation synchronization
- [Added] new client-side function: switchInterpolation(int type) for switching interpolation methods
- New constants especially for this funtion:
- DEFAULT_INTERPOLATION (this method is used by default, good for most cases)
- OLD_INTERPOLATION (old interpolation method, better than default for DeathMatch servers, can't handle more than 70 players without problem with undoing player position)
- NO_INTERPOLATION (it's also good for DeathMatch server, may cause player teleportations in some cases)
- New constants especially for this funtion:
Version 0.1.8.2
- [FIXED] Crash when other player shooting arrow/bolts
Version 0.1.9.0
- [UPDATED] Set limit on ground items to 65565.
- [UPDATED] ItemRender now have option to render model:
- usage ItemRender.visual = "MODEL.3DS";
- [UPDATED] Add name, mobType parameteres on onMobInteract:
- usage onMobInteract(mob, name, type, from, to)
- [FIXED] Equip functions now will check if item exists in player equipment.
- [FIXED] getFont() in Draw class works proper.
- [ADDED] Function to use item by player:
- usage useItem(int player, string itemInstance)
- [ADDED]Function to use closest mob:
- usage useClosestMob(int player, string mobName, int state)
- [ADDED] Function to attack player visual effect:
- usage attackPlayerWithEffect(int playerId, int killerId, int damageType, int damage, bool projectile, int effect, string effectName)
- [ADDED] Function to display video:
- usage playVideo(string name)
- [ADDED] SFX/music sound manipulation:
- disableMusicSystem(bool)
- bool isMusicSystemDisabled()
- setMusicVolume(float volume) // 0.0 - 1.0
- float getMusicVolume()
- setSoundVolume(float volume) // 0.0 - 1.0
- float getSoundVolume()