KCDS 0.3.4.3

Joining a server is much faster, chests a script places behave like the game's own, dogs and animals work properly for every player, and roleplay servers get players attached to each other, a custom loading screen, bans and a player's own Esc menu button.

0.3.4.3 clients and servers play together; a 0.3.4.2 client cannot join a 0.3.4.3 server (it is told which version the server runs and offered the update), and the other way round. The launcher updates itself on every start.

Fixes

  • Joining no longer waits on the client's start. From pressing join to the world starting to load takes about a second instead of about twelve. The first start after a game or KCDS update looks up the game's functions once and takes a few seconds longer.
  • Resources download faster: several chunks of a file are on their way at once.
  • A script's chest behaves like a chest (#832). It stands at the height given, offers "Open" only under the crosshair and within reach, says "(empty)" by what the server holds, and never flashes "Close". Stash.open(player) opens one within reach.
  • A chest in use (#832). Another player who presses the key keeps the same prompt and sees a line in the middle of the screen, the text stash.inUse, which a server can translate.
  • First person under an animation (#834): looking down no longer shows the inside of the head.
  • A woman's animations (#702): the clips only the game's women have now play on a player woman.
  • Dogs (#787, #788, #817, #818): a dog runs, its Search and Hunt modes work, it moves smoothly on other players' screens, and a lock-on makes it fight back so blows land on it.
  • A dead animal (#830): with nothing to offer it shows neither Search nor Gut.
  • Seated players (#776, #789): stopAnimation leaves them seated and their stance tag is right.
  • Paired animations (#675, #805): the second player starts where the pair has it, without a bind pose at the end.
  • Focused web pages (#811, #833): a focused page keeps the keyboard after Alt+Tab, and one that never loads gives the player's input back.
  • Virtual stashes (#777): a script's open(player) opens the transfer screen.
  • One key press, one handler (#771), and a script's hint replaces the game's prompts on its key (#772).
  • Resources after a restart (#790): a restart reaches every game on one PC.
  • PropGhost (#763): a destroy is never lost behind poses, and the newest pose wins.
  • Prop joints (#764): joint names with spaces work.
  • Cuffed players under Follow (#767) only walk, without the legs jerking.
  • A resource over a size limit (#841) no longer stops every join with a wrong licence message: it is left out, or keeps its previous version, with a clear error in the server log.
  • Crashes: the exception and its stack are in the client log before the dump.

New for scripts

  • player.attachTo(other, options), detach() and attachedTo (#769): one player moves with another, for example held in front as a prisoner or carried on the shoulders, with an offset, a rotation, a choice of free or followed look and an animation for each.
  • A server's own loading page (#803): name a page in package.json (kcds.loadingScreen) and it shows from the start of the join, with a picture, a video and your own bar, as soon as its own files have arrived. LoadingScreen also shows one from a client script, and can keep it up a moment longer.
  • player.setTrespassAllowed (#773): a server lets a player into private areas.
  • player.ban(reason) and Bans (#795): bans with their own session end, refusal and dialogs.
  • player.disconnect and client Game.quit (#775): leave without being "kicked".
  • NativeUI.addMenuButton (#812): a resource's own button in the Esc menu.
  • Discord presence (#806): scripts set the name, status, images and one button; the player count always shows.
  • Inventory (#770, #774): metadata.transient rows are not saved; custom.data is an object.
  • Follow (#766): a distance option.
  • npcDamage (#782): the body part, for animals and melee blows.
  • npcHarvest (#783): a yield of the handler's own for this harvest.
  • Animals of the population (#784) are not lootable by default.
  • Client renderPosition and jointPosition (#768): where the game draws a player.