3.0.0.6-beta

This is a detailed changelog for the specified release above.

The last few updates have focused on cleaning up code and finalizing the cache functionality so that developer mode can be turned off without the worry of data refreshing for the player.

Additional beta releases are upcoming; which will focus on completing the statistics module, fine-tuning current features, and adding a few additional things that have been planned before the script is moved to stable.

This release should be mostly stable for public use should you wish to test it.

◾ Overview

◾ File Changelog

CONFIGS

  • arivia\cfg\cl_0_interface.lua

  • arivia\cfg\sh_2_bg.lua

  • arivia\cfg\sh_3_nav.lua

  • arivia\cfg\sh_4_tabs.lua

  • arivia\cfg\sh_6_entities.lua

  • arivia\cfg\sh_6_food.lua

  • arivia\cfg\sh_7_loadout.lua

  • arivia\cfg\sh_10_actions.lua

  • arivia\cfg\sh_11_servers.lua

  • arivia\cfg\sh_15_dev.lua

GENERAL

  • arivia\core\cl_checks.lua

  • arivia\core\cl_fonts.lua

  • arivia\core\cl_handle.lua

  • arivia\core\cl_init.lua

  • arivia\core\cl_rcc.lua

  • arivia\core\cl_rnet.lua

  • arivia\core\cl_rules.lua

  • arivia\core\cl_ui.lua

  • arivia\core\cl_web.lua

  • arivia\core\cl_usrdef.lua

  • arivia\core\sh_init.lua

  • arivia\core\sh_rnet.lua

  • arivia\core\sv_init.lua

  • arivia\diag\cl_diag_args.lua

  • arivia\diag\cl_diag_cwserv.lua

  • arivia\diag\cl_diag_setjob.lua 🇳​​​​​🇪​​​​​🇼​​​​​

  • arivia\diag\cl_ibws_notice.lua

  • arivia\elm\cl_elm_cat.lua

  • arivia\elm\cl_elm_mtab.lua

  • arivia\elm\cl_elm_slot.lua

  • arivia\pnl\cl_pnl_about.lua

  • arivia\pnl\cl_pnl_actions.lua

  • arivia\pnl\cl_pnl_base.lua

  • arivia\pnl\cl_pnl_bg.lua

  • arivia\pnl\cl_pnl_ibws.lua

  • arivia\pnl\cl_pnl_mdlv.lua

  • arivia\pnl\cl_pnl_root.lua

  • arivia\pnl\cl_pnl_rules.lua

  • arivia\pnl\cl_pnl_rules_web.lua

  • arivia\pnl\cl_pnl_settings.lua

  • arivia\pnl\cl_pnl_staff.lua

  • arivia\pnl\cl_pnl_ws.lua

  • arivia\sel\cl_sel_dev_item.lua

  • arivia\sel\cl_sel_dev_jobs.lua

  • arivia\tabs\cl_ammo.lua

  • arivia\tabs\cl_entities.lua

  • arivia\tabs\cl_food.lua

  • arivia\tabs\cl_jobs.lua

  • arivia\tabs\cl_shipments.lua

  • arivia\tabs\cl_vehicles.lua

  • arivia\tabs\cl_weapons.lua

  • arivia\lang\en.lua

  • arivia\sh_env.lua

◾ Changes

◾ Added Slot Registration Handling

To keep re-used code down; two panels have been created. One for jobs, and one for entities/vehicles/food/etc.

This also helped with optimization and gave a slight increase.

◾ Added Slot Rehash Conditions

Data for jobs are now refreshed for the player automatically and no longer require developer mode. All jobs listed in F4 menu are forced to refresh each time a player changes jobs; which will update the availability of the job, number of slots, and other information.

◾ Added Jobs Admin Tab

All jobs now have a new tab to the right-hand-side; located next to the description / loadout tab. This will allow admins + to force a player to switch jobs.

An admin can select the desired job, select the admin tab, then click on a particular player. A confirmation box will appear, and requires the admin to accept the change. They will be automatically switched.

A search box has also been included which allows for on-the-fly player name searches:

◾ Added Console Commands

Two new console commands have been added by request:

Command

Desc

returns the current job of a player

forces a player to have a specific job

Returns a list of all jobs and the command to use for arivia.setjob

◾ Added Unavailable Notice

Certain customers end up disabling various tabs within the F4 menu because they've installed another addon to handle jobs, entities, etc.

For this reason; a standard "Nothing Available" tab has been added when a player is a job that has absolutely nothing available to buy.

Added Specific Errors and Description Additions

Jobs and entities can have various reasons as to why a player cannot join a job or buy an item. This update attempts to make errors more easily noticeable and gives players the information they need. This includes job requirements that an item may have in order to buy a particular item.

Required jobs have been injected into the description of items so that players can fully understand why an item may not be buyable instead of being left in the wind.

Jobs also have more easily readable errors that display in the description and in the bottom right bar above the join button.

Ammo also includes the amount to be given in the description:

An additional notification has been added to the right of each selected model to indicate items that are not affordable:

Added Disconnect Confirmation

Clicking the disconnect button now displays a confirmation

Added Player Console 'Goodbye' Message

If a player disconnects from the server; they will simply be sent a message to their player console that reminds them to favorite the server and provides the IP address

◾ Job Slot Selection Effect

It often seemed confusing to click on a job without any indication that the job was in fact selected unless the player looked at the panel to the right. A selection effect has been added when clicking on each job:

◾ Weapons Tab Now Recognizes canSee Category param

Originally; if a certain job had no weapons it could use, it would still show the weapons tab, and show a blank content panel. The weapons check functions have been updated to take take category viewing permissions (canSee) into account. The weapons tab will now not show at all if a job has no weapons to use. This could also be classified as a bug, but either way; it's fixed / revised.

◾ Developer Mode Disabled

In all previous betas leading up to this point; developer mode has been enabled. This was to ensure that all slots for jobs / items are refreshed with updated information each time the F4 menu is opened.

As of v3.0.0.6; developer mode has now been disabled. This means that after initialization of the F4 menu, each time a player opens it; it should be instant without delay.

◾ Auto-update Favorited Jobs

When favoriting jobs in the past; the player would have to close the F4 menu and re-open it for the job to appear at the top of the list in a new category called "Favorites". This is now not the case. If a player adds a job to their favorites; the addon automatically puts that job to the top and in the favorites category on-the-fly.

◾ Enhanced Workshop Settings Moved

In 3.0.0.2-beta; an enhanced workshop feature was released which was still under development. The feature has now been finished, and the settings for this feature have been moved to:

lua\modules\arivia\cfg\sh_3_nav.lua

◾ Updated Documentation

Documentation for this addon has been updated to reflect new changes.

◾ Food and vehicles default unavail.bShow changed

Prior to this update, the food and vehicle tabs set unavail.bShow = true which has been changed for future versions to be false by default.

This setting allowed for items to display in the F4 menu even if the player could not purchase them or unavailable for a certain job.

Weapon / Shipment Defaults Changed

Each tab includes two settings in the lua\modules\arivia\cfg\sh_4_tabs.lua file which allow certain items to show even if the player cannot access / buy them. This helps servers advertise VIP weapons that players could possibly have if they donated, etc.

These defaults have now been disabled so that all server owners start out with just what they've setup. Server owners will need to go into the above listed config file and enable these to have such items show for all players.

The settings changed are as follows:

cfg.tabs.weapons.unavail.bShow          = false
cfg.tabs.weapons.unavail.bShowCustoms   = false
cfg.tabs.shipments.unavail.bShow        = false
cfg.tabs.shipments.unavail.bShowCustoms = false

◾ Prices Now Accept getPrice Param

Arivia now recognizes entities / shipments / weapons with getPrice function

DarkRP.createShipment( 'Double Barrel',
{
    model       = 'models/weapons/w_shot_m3super90.mdl',
    entity      = 'weapon_pumpshotgun2',
    amount      = 10,
    price       = 12000,
    separate    = true,
    pricesep    = 12000,
    noship      = true,
    category    = 'Shotguns',
    allowed     = { TEAM_GUN },
    getPrice    = function( pl, price )
                      return pl:GetNWString( 'usergroup' ) == 'superadmin' and price * 0.9 or price
                  end,
} )

DarkRP shipments accept multiple values such as price, pricesep, and getPrice.

Prior to this update, Arivia only recognized price which was more so a bug. However, in this update, pricesep ( see fixed weapons / shipments price vs pricesep ) and getPrice are accepted params as well.

getPrice is a function param which allows the server owner to declare different prices depending on the player's usergroup, steamid, etc.

◾ Entities Now Support getMax Param

Entities now have support for both max and getMax params. Max param allows you to specify the max number of owned items for that particular entity; whereas getMax allows you to create conditional maxes based on usergroups or steamids.

DarkRP.createEntity( 'Drug lab',
{
    ent         = 'drug_lab',
    model       = 'models/props_lab/crematorcase.mdl',
    price       = 400,
    cmd         = 'buydruglab',
    allowed     = { TEAM_GANG, TEAM_MOB },
    getMax      = function( pl )
                    return ( pl:GetUserGroup( ) == 'superadmin' and 5 ) or 3
                end,
} )

Enhanced Debug Panel

Modified the debug panel to display a color indicator, as well as better information for each item. The color box to the right can be clicked on to copy the color to your computer's clipboard:

◾ Fixed Conflict with eProtect Addon

Due to the library used with eProtect; players would receive nil value error on SetTitle; rlib no longer uses this all-together and has replaced it with SetLabel.

◾ Fixed vehicle check calls

Addressed a minor issue with the vehicle check function calling a bad variable.

◾ Fixed Tabs Selection Issue

The tabs on the far right of each item would not be clickable after the player selected any other job or entity aside from the default one that loads when the tab is loaded. Load priority has been changed all for tabs and this is no longer an issue.

◾ Fixed Performance Leak

For several updates now; there has been a rare and noticeable drop in FPS when players utilize the "Favorites" feature for jobs. Having a job favorited would cause a significant loss of FPS which would continue to build each time the F4 menu was opened.

As of this update; the leak is now plugged for good, and favoriting a job functions as it should.

◾ Fixed Rare Counting Bug

There appeared to be a rare bug that would double the number of unavailable items and cause a category to not show. IE: Two unavailable ents became 4 unavailable ents; and if a category had a total of 4 ents; it would think all 4 are unavailable; and skip the category. This only happened if the number of items in the category happened to match the doubled error value. This has been fixed, because.... math.

◾ Fixed Weapon / Shipment price vs pricesep

Both the weapons and shipments tabs were displaying the regular price of each item; and not converting to the pricesep total for depending on which tab they were viewing.

◾ Fixed Lua Refresh Issues

Even though it's highly advised to NOT edit darkrp / darkrp mod files on-the-fly; some server owners try. When a save occurred; Arivia would stop functioning all-together and cause the default darkrp f4 menu to re-appear.

A fix has been implemented to try and curb this issue. Saving darkrp mod files should not cause Arivia to break now. Although this fix has been implemented; again, it is advised to NOT edit darkrp mod configs on a live server.

◾ Fixed default panel assignment when jobs disabled

Fixed an issue which determines what default panel to load if the customer has disabled the jobs panel completely.

◾ Fixed CustomCheckFailMsg blank msg validation

Fixed an issue which caused a blank CustomCheck message to appear on the right side if the server owner left the CustomCheckFailMsg field as an empty string.

Fixed DefaultTeam declaration

Fixed issue where default team was not properly assigned to players first joining the server. Bug also occurred when Cook job enabled.

Fixed Food Custom Descriptions

Fixed an issue that caused custom food descriptions to not work at all.

Last updated