Custom client by Taipion (based on Latikais/Enders)

Forum for game modifications and custom clients.

Custom client by Taipion (based on Latikais/Enders)

Postby Taipion » Sun Aug 05, 2018 4:21 pm

Hello everyone!

Today I proudly present to you my very own custom client for Salem,
it is based on Latikais client, which is based on Enders client, so you won't miss anything from there. ;)

The list of features is quite long, but there surely is something for everyone,
more performance, more convenience, and a lot of new things to play around with. ^^
And there might also be some plugins that I'll put here.

I will go through all the new features one by one in separate posts in this thread in the next few days,
and will link to these posts from here, so you don't have to search the thread for it.

Please note:
Doing customization on the client or through plugins requires the devs approval for every single feature,
and they tend to not approve most things.
If you want to code yourself, you have to ask them or risk their wrath.


The features in one list:
- switched CTRL on minimap, CTRL-click to drag map, no-CTRL-click moves char

- modded a lot with the cams, default distance, angle, elevation, scroll speed, new cams

- added console parameters for :cam to directly input all that, too

- removed unnecessary afk check which was done ONCE PER TICK(!) ... a relic form haven, not used at all in Salem

- removed sending crash reports, I really don't like it when people take my data without even asking -.-

- activate movement mode "run" by default when logging in (like tracking is done) (UPDATE: added a checkbox for that on the last tab in options)

- fixed timers panel staying invisible / timers alerting more than once

- fixed some minor bad getInstance code (abacus, ...)

- added new timers: stopwatch timers (instead of default countdown), done by simply adding a timer with zero duration (all fields 0), added option to add a timer for the current character only, so that personal timer does not display or expire when logged in with another character, slight colour changes to distinguish stopwatch/countdown and normal/personal timers, also changed the running time of active timers to green for more visibility what is currently running and what is not

- added debug console command (RemoteUI) to display messages of actions

- the player icon visually displays above others on minimap (as usual), but is lowest for clicking things => now, your own player icon is NEVER in the way when picking up stuff via minimap

- tile centering always works (even through objects)

- added console command for making objects invisible by ctrl-clicking them, one or all of a kind

- added console command for counting things, various input options, variable range, stays on and counting while moving and until deactivated manually again, things are not counted twice (ID) as long as they stay loaded on the server

- added console command for activating a functionality to turn on/off the radius of single objects (unlike alt-r) one by one, by just ctrl-clicking them

- added MiningHelperPlugin functionality into the client, just better^^ modes can be changed via console (helps with keeping the mining-cursor active, less clicks needed for mining, more convenience)

- added :help console command to display all the new commands and parameters

- you can use gates and enter doors/buildings/stairs/mines/... with WASD movement by running into them (has option and console command to switch on/off)

- changed "sort by gobble value" to sort by colour first, then by value

- added (optional) field to the crafting window, to say how many items you want to craft

- added a list under the "options/cheats" tab to always hide certain objects, like fields or herb pots, or whatever else, with a list like the flower menu auto-chose and an additional checkbox to (de-)activate it all at once, objects are removed from sight only once when loaded, which means it should be very efficient and help performance in certain situations

- slightly improved the performance gain from "remove all animations", this option is not that powerful usually, but having a lot of animals (even dead ones) or players nearby, it might help a good bit

- added new visual display and actual numbers of remaining time for buffs, plus an optional alert (visible and optionally audible) once a configurable threshold is reached, buffs can be clicked to (de)activate an override to the alarm per buff, you can also chose to have 3 different ways now to display the remaining time on buffs, select none of them, one, two or all three however you like

- added new menu under options (last tab) to control and limit the render distance, to improve performance on weaker computers or in more demanding towns

- added an FPS display, menu options for it are also in the last options tab

- moved my options to a new tab on the right side of latikais tab (right-most tab now)

- changed "auto turn on run upon login" to work for all movement modes (ofc only one at a time^^)

- added a checkbox on the char selection screen to de-activate all performance-enhancing render-limitations for one and exactly only one login

- extended the buff alert with a new (optional) bigger display for the remaining-duration-percentage, and the new option to permanently mute buffs (right click to mute/unmute), single-session-mute is still left click as usual

- added option (in the render distance control window) to reduce the displayed ground tiles from 125 by 125 to 75 by 75, which will help performance a little bit

- reduced fps-cap of un-focused client instances from ~10 to ~5, which will greatly help if you run multiple clients [edit] will be at 10 fps, and go to 5 fps if the instance is un-focused and the char did not move for 3 seconds

- fixed a long standing "bug" in that you would open an object like a gardening pot or a field and so on while having an item in hand and shift-right-clicking the object, instead of using the item in hand on the object

- added feature to move with left-clicks and open/use objects with right-clicks even with items in hand by holding ALT

- added option to mute xmas sound in provi

- added option to show online status of chat partners

- added a search field to the kin list window, so that you can search through your kin list by name


Feature spotlights:

Performance and FPS

Timers with Upgrades

Mining Helper

Buff Alerts

more coming soon



Installation:
First, you need to have Latikais, I do not provide a launcher yet so you need to have run Latikais launcher at least once before you can use this one,
but I guess most of you are using Latikais anyways, you can get it here: Latikais client thread

You can find your /Salem/bin/ folder which is referenced here a lot, at: /Users/[YourUserName]/Salem/bin/

First way to do it:
You can run my client like the others, just with an updater.jar hosted on github, this is one care-free way of doing it,
just download the updater.jar and run it, done: updater.jar download
Note: It will also place a tstarter.bat in your /Salem/bin/ folder, use this to start the client much faster, but without updates.

NEW: For Mac or anyone running java less than 1.7, here are some alternative updaters for lower versions:
updater for 1.5
updater for 1.6



Second way to do it:
You can download my client here: tsalem.jar download
and an (optional) start-bat-file here: start bat download

Now, if you have Latikais installed, just put both files into your /Salem/bin/ folder and run the tstarter.bat,



Third way to do it:
1. Download the .jar from above
2. Change the .jar's name to lsalem.jar (read: LSALEM not isalem^^)
3. Replace Latikais lsalem.jar in the /bin/ folder with mine
4. Set my file to be read only (rightclick -> properties -> read only)
5. Run Latikais launcher as usual
If it is not read only, Latikais launcher will simply overwrite it with his .jar, so to "uninstall" using this method, just delete it and run Latikais launcher again.


Plugins and other downloads:
To have it all in one place, I'll just put other things here, I might add more over time, but I'll post in this thread to let you know. ;)

Installation for plugins:
- have Latikais or my client
- go to your /Users/[YourUserName]/Salem/ folder and create a folder named "plugins" (/Users/[YourUserName]/Salem/plugins)
- put the plugin there
- restart the client
- look under "xtended" (hotkey "x") for the plugin

ClickAllPlugin:
My most simple yet most useful plugin, just take one item in your hand, and activate it (hotkey: "u"),
the plugin will then drop the item from your hand to the inventory, and proceed to do one right click for every such item in your inventory.
If you have set the default flower-menu-option, this makes certain things a lot easier, like: study, split, slice,...
download ClickAllPlugin

Enders client with cravings:
I once added all the craving updates to Enders client, as some still like this one, so here you have it again.
Instructions:
1. download the jar
2. replace the jar in your salem folder with it (in windows under "...Users/YourUserName/Salem/bin")
3. make new file write-protected so it won't get replaced with the default jar by the launcher
salem.jar download



Possible Future Features
- study window search option, text search for skill names in available/learned
- checkboxes to quickly make the study window bigger/smaller by hiding some things or showing more, like, both available and learned skills list at the same time (useful when using text search)
- study window search option over all skills (not only learned/available) with a helper tool to show you what you need to learn next to get to some specific skill
- (option to) show bonus rolls in system chat
- (option to) generally "click through" a special cursor, like right-click dirt into a sled/cart while having the digging cursor (thx to Chrumps for suggesting these 2)
- show unlocked skills when you learn a skill in system chat (thx to taoko)



Thanks go to
- Kandarim, for always being helpful and answering questions, especially when I started out my incredible journey through the madness that is the clients code, and for his client and the plugins option ofc and much more
- Ender, for his client, laying the foundation for everything
- Marp, for taking the time to look at and approve all this (but definitely not for not-approving countless awesome features :P)
- ReleMai, for being my personal Mac-Guinea-Pig ^^
- Chrumps for his plugins which helped me understand the client when I just started, and some inspiring talk about the code
- Asendre, for some good talk about client code and the madness bound to it
- many more people for ideas and suggestions of all kinds


If you have questions, or run into problems launching the client, use this thread and I'll try to help.

If you find bugs, crashes or things not working as intended, or you have suggestions for new features, then also use this thread and I'll see what I can do.


Have fun with it, and tell me how you like it! ;)
Last edited by Taipion on Thu Oct 18, 2018 10:43 pm, edited 23 times in total.
Need something? Here is my Shop (Including some useful info for new/returning players at the bottom of the first post)
Taipion
 
Posts: 2269
Joined: Fri Mar 08, 2013 4:12 pm

Re: Custom client by Taipion (based on Latikais/Enders)

Postby Taipion » Sun Aug 05, 2018 4:21 pm

reserved
Need something? Here is my Shop (Including some useful info for new/returning players at the bottom of the first post)
Taipion
 
Posts: 2269
Joined: Fri Mar 08, 2013 4:12 pm

Re: Custom client by Taipion (based on Latikais/Enders)

Postby iordanis21 » Sun Aug 05, 2018 4:46 pm

Will try it for sure! Thank you Taipion :)
User avatar
iordanis21
 
Posts: 320
Joined: Tue Dec 02, 2014 12:33 pm
Location: Athens, Greece

Re: Custom client by Taipion (based on Latikais/Enders)

Postby Ronch » Sun Aug 05, 2018 6:21 pm

Yes, awesome, thank you Taipion !
Looks like you've been very busy.

........... :D :D :D
Reviresco wrote:I log into this game and have fun.
User avatar
Ronch
 
Posts: 465
Joined: Fri Aug 26, 2016 2:46 am

Re: Custom client by Taipion (based on Latikais/Enders)

Postby Taipion » Sun Aug 05, 2018 6:30 pm

Chrumps suggested auto-any-movement-mode instead of auto-run, I'll look into that soon-ish.

Keep up the ideas! ;)
Need something? Here is my Shop (Including some useful info for new/returning players at the bottom of the first post)
Taipion
 
Posts: 2269
Joined: Fri Mar 08, 2013 4:12 pm

Re: Custom client by Taipion (based on Latikais/Enders)

Postby Taipion » Tue Aug 07, 2018 12:04 am

*update*

Still working on a handful of new and improved stuff, probably tomorrow... ;)
Need something? Here is my Shop (Including some useful info for new/returning players at the bottom of the first post)
Taipion
 
Posts: 2269
Joined: Fri Mar 08, 2013 4:12 pm

Re: Custom client by Taipion (based on Latikais/Enders)

Postby Taipion » Tue Aug 07, 2018 10:36 pm

*UPDATE*

- added updater.jar for easy installation/running,
please note: running the updater.jar also places a file named "tstarter.bar" in your /Salem/bin folder, which can be used to start the client much quicker, especially when starting many instances in short succession,
but without updates, this is ofc optional and just some added convenience

- also updated installation instructions in this thread

- changed the options menu, added one more tab for my stuff right side of latikais tab (mine is the right-most tab named "hacks" next to latikais "cheats" ^^)

- updated "auto turn on run" and made it into an array of checkboxes to select any movement mode from those existing, so you can one-click switch your preferred movement mode
- though this sets a movement mode to be auto-activated upon login, it now also switches your current mode to the selected right away

- added a quite prominent checkbox to the char-selection-screen, to turn off all the performance-boosting-rendering-stuff, namely "hide objects" and "render distance limit" for one and exactly only one login,
so you do not have to turn all that stuff off if you log in a char where you need to see everything and at max distance, and neither do you need to then turn it on again for the next char with that you're working in your huge ass base.

[edit]:
- also fixed the buff-alerts to:
+ alert when the duration is equal or lower than the set threshold, unlike before it had to be strictly lower
+ not stop at 0%

[edit2]:
Forgot to mention I had also cleaned up the camera options, but I'll go there in detail once I do a feature-spotlight on cameras. :-)



Coming soon: The first feature spotlight, namely the render/performance optimization and fps display, I'm aiming to do that tomorrow! ;)
Need something? Here is my Shop (Including some useful info for new/returning players at the bottom of the first post)
Taipion
 
Posts: 2269
Joined: Fri Mar 08, 2013 4:12 pm

Re: Custom client by Taipion (based on Latikais/Enders)

Postby Taipion » Wed Aug 08, 2018 3:23 pm

Feature-Spotlight: Performance and FPS

In this first feature-spotlight, I'll try to explain one of the most powerful features of this client,
which are options to significantly boost your performance/fps, even in the biggest town.

You can generally find the respective options under the tab "hacks", which is now the right-most tab in options.


"FPS Display"
To see how much these options actually do, you need to see your FPS, and fortunately I found an otherwise unused fps-display
hidden somewhere in the clients code, which is configurable via the respective button in the options.
"FPS Display Configuration" opens a new window with 2 checkboxes and 2 sliders.
The sliders can be used to position the fps-display anywhere on your screen.
The "Show FPS" checkbox display the fps, if selected.
The "Show only FPS"-checkbox, by default (checked) hides some additional information like memory usage,
uncheck it to see, check to hide them again.
Note: Showing the FPS eats a tiny bit of performance, so if you need every last bit, you should, once you are done optimizing,
turn off the FPS Display. But if that's not the case, it does not hurt much to display it.
Note: It does not only show FPS, but also "idle time", so you can even tell how much the following options effect your fps if you are and stay at 50 FPS (max).


"Hide-Objects":
On the right side of the options tab "Hacks", you see a list that resembles the auto-flower-menu-option-choice list from latikais,
which is for the hide-objects-feature,
there is a checkbox below it, to (de-)activate it completely,
and there are checkboxes on every entry to (de-)activate them one by one.

Just type something into the text field and "add" or hit ENTER to add it to the list.
Every object whose resource-name matches an entry on the list is removed from sight!
As an example, adding "tree" would remove all trees.
Good examples that might eat a lot of your FPS are "herbpot" and "field".

Objects removed through this feature are removed when they would be loaded, so only once per object,
but every time it would be loaded, like, when running back and forth and loading an area several times.
This feature is more performance-efficient than the "Render Distance Limit", but also has a few drawbacks:
- objects removed with "hide objects" are not shown on the minimap, whereas objects hidden by "render distance" are still shown on the minimap at max range (as usual)
- objects removed with "hide objects" need to be re-loaded to appear again, so after de-activating this feature or just one entry,
you need to re-load the area by either running away and back there, entering and leaving a house/mine/... or re-logging with :lo and logging back in.
(don't use :lo to actually logg out for the day, your char will stay online for a few minutes if you do so, which can be dangerous)


"Render-Distance-Limit"
The respective button on the options-tab "Hacks" opens a new window where you can (de-)activate this feature, and set the distance by both a text box and a slider.
There also is a checkbox directly on the options tab "Hacks" to just turn it on/off.
The render distance limit, if active, will hide all objects beyond that range, creating a circle-like area around you where objects are shown.
Objects removed from sight with "render distance limit" will:
- not be rendered and updated, improving performance
- still show on the minimap as they would normally at max range (unlike objects hidden with "hide objects"
- will ofc appear again if you get close enough, or deactivate it, and then display normally


"Remove all Animations"
This option is still there where it was, but I have improved it a little bit.
It will usually have little to no effect, but if you have a lot of animals on your screen (even dead animals!),
or a lot of players, then it can actually make a significant difference.


"Turn it OFF once"
As a new feature to control this, there is a checkbox on the char-selection-screen,
which will turn all the "hide objects" and "render distance limit" things off for one and exactly only one log-in only.
Now you may ask: Why would I need that?
It's simple, just think of that situation: You have set the render options for a performance/view that you are comfortable with in your huge base,
but occasionally you login with chars for hunting, exploration or other activities that require you to see all objects at max distance,
and that are not so much performance-handicapped as they are not in a huge town.
So with this option you can turn it off once, without changing or de-activating your settings.
Convenient, isn't it?! ;)



As a simple example, using these options may boost your performance from unplayable to 50 FPS (max) easily.
In my town at some place, I have:
- 20 fps without these options
- 30-40 fps with just hiding some objects through "hide objects"
- 50 FPS (max) with 40% idle by setting the render distance to 30 in addition to the "hide objects"


If there are any questions to this, or anything is not clear, go and ask, and I'll try to explain/answer it. :-)
Last edited by Taipion on Thu Aug 09, 2018 2:59 pm, edited 1 time in total.
Need something? Here is my Shop (Including some useful info for new/returning players at the bottom of the first post)
Taipion
 
Posts: 2269
Joined: Fri Mar 08, 2013 4:12 pm

Re: Custom client by Taipion (based on Latikais/Enders)

Postby Nsuidara » Thu Aug 09, 2018 8:15 am

Taipion wrote:"Hide-Objects":
On the right side of the options tab "Hacks", you see a list that resembles the auto-flower-menu-option-choice list from latikais,
which is for the hide-objects-feature,
there is a checkbox below it, to (de-)activate it completely,
and there are checkboxes on every entry to (de-)activate them one by one.

Good idea :ugeek:

Taipion wrote:As a simple example, using these options may boost your performance from unplayable to 50 FPS (max) easily.
In my town at some place, I have:
- 20 fps without these options
- 30-40 fps with just hiding some objects through "hide objects"
- 50 FPS (max) with 40% idle by setting the render distance to 30 in addition to the "hide objects"
Your computer is like calculator :evil:
\(*o*)\ Praying in the JC Church may reduce the time for update /(*o*)/

Marketplace APP
Calculator Sets
Shop by Nsuidara
User avatar
Nsuidara
Customer
 
Posts: 1975
Joined: Fri Aug 17, 2012 11:50 pm
Location: Poland

Re: Custom client by Taipion (based on Latikais/Enders)

Postby Taipion » Thu Aug 09, 2018 2:50 pm

Feature Spotlight: Timers with upgrades

Timers were already added in Enders, and have not really seen any changes in Latikais except a little bugfix.

This client contains some new functionality!

Stopwatch-Timers:
The timers you know from Enders and Latikais are "countdown"-timers, so you set a duration and they tick down until zero.
This client also has "stopwatch"-timers, which are created simply by leaving all the duration fields at zero.
Once started, they will continue to tick upwards, and ofc never expire as they have no duration that runs out.
You can simply use "stop" to stop them again.
They are a great thing to "mark" points in time and always have a reference to it, like, the last time you checked your bees,
filled some claims, or anything you could think of.
And instead of a "countdown"-timer, where it is gone after the duration ran out, this one will be there until you stop it,
so you will never ask yourself if that timer already ran out, or you forgot to set it. ^^

Char-Bound-Timers:
With this client, you can create timers that are bound to one char only!
On the main timer window, if you click "add timer" a new window opens where you can set the duration,
but next to the usual "add" on this 2nd window, there now is another button to add the timer for this char only.
These char-bound-timers are only displayed for the char they were created on, no matter if active or stopped.
And they will never run out or even show when logged in with another char!
This means you can now created timers for craving-reset, hookahs and whatever else per character!

Slightly new painting:
As a further improvement, and to ease the distinction between the new timer modes (char only / all chars, stopwatch / countdown),
there is a slight change in some colours, namely:

- running and active timers have their time display now in bright green, so you can see quickly what is running and what is not, even if you have 20 or more timers

- in addition to their duration being zero (when inactive) and their time running forward instead of backward (when active),
stopwatch timers have their start/stop-buttons in a slightly different colour than the regular countdown timers to make them easier distinguishable

- the names of char-only-timers are in the same, slightly different colour, so you can easily see if a timer is for all chars or for this one only



[edit]: also just updated the last feature-spotlight about performance and FPS
Need something? Here is my Shop (Including some useful info for new/returning players at the bottom of the first post)
Taipion
 
Posts: 2269
Joined: Fri Mar 08, 2013 4:12 pm

Next

Return to Artifice & Arcana

Who is online

Users browsing this forum: No registered users and 1 guest