🟥v4.5.0.0

A list of changes for this release are provided below.

This version of XTask requires a new version of rlib ( v4.0.0.0 )

The new version completely re-writes a lot of how the system worked, as well as removes a crap ton of no longer needed things and puts the library into a "minified" version. It also includes some optimizations that will definitely show a benefit when loading resource heavy scripts such as XTask and Arivia v3.

rlib v4.0.0.0 is now also hosted on the Steam Workshop and is set to auto-mount to the server when it is booted up.

You should delete any old versions of rlib you have installed on your server.

rlib is still available to download at https://get.rlib.io if you wish to manually install it and disable the auto-mounted version.

▸ Overview

▸ Detailed Changes

▸ New Payment Reward Types

This version adds Basewars and Sandbox as newly supported gamemodes. This means that you can now reward players with various new types of rewards depending on the gamemode.

Basewars supports:

  • Karma

  • XP

  • Money

Sandbox currently has no built-in systems for rewards. You will need to install addons such as Pointshop 1 or 2.

▸ 5+ Achievement Types

Several new achievement types have been added. "Types" allow you to store data for achievements that are completed when a progressive requirement is needed.

As an example, a "type" is not needed for achievements that only require one particular single action event

Earning an achievement for playing on the server with the server owner is a single action event because it only requires the server owner to be online when the player connections. The achievement doesn't need to actually count anything.

A "type" is needed for an achievement such as "Walking" because it needs to count how many footsteps you have taken before figuring out if you have met the requirement.

The following types have been added:

TypeDescription

Drugs

Counts Basewars drugs player has taken.

Factions

Counts times player has joined or left a Basewars faction.

Karma

Counts karma player has earned.

Menu

Counts times player has opened the various menus in the game.

Props

Counts times player has spawned props.

Voice

Counts seconds player has been actively using voice chat.

▸ 20+ New Achievements

This update introduces brand new achievements.

AchievementDescription

Bob The Builder I

Spawn 1,000 props

Bob The Builder II

Spawn 250,000 props

Bob The Builder III

Spawn 750,000 props

Bob The Builder IV

Spawn 2,000,000 props

Contextual Roughhousing I

Open Context Menu 50,000 times

Contextual Roughhousing II

Open Context Menu 500,000 times

Contextual Roughhousing III

Open Context Menu 2,000,000 times

Faction Fanatic I

Create 25 factions (Basewars)

Faction Fanatic II

Create 250 factions (Basewars)

Faction Fanatic II

Create 1,000 factions (Basewars)

Gregory House, MD.

Buy 500 drugs (Basewars)

Hoarder I

Open Q / Spawn menu 1,000 times

Hoarder II

Open Q / Spawn menu 100,000 times

Hoarder III

Open Q / Spawn menu 1,000,000 times

Karma Chameleon

Earn 100 total karma (Basewars)

Lead The Way I

Join 50 factions (Basewars)

Lead The Way II

Join 1,000 factions (Basewars)

Parties Over I

Leave 100 factions (Basewars)

Parties Over II

Leave 1,000 factions (Basewars)

Parties Over III

Leave 2,500 factions (Basewars)

Placing Roots

Connect to the server 1,000 times

The Grid

Change monitor resolution to 1440p

The Voice

Spend 60 minutes using voice chat

Unresolved Resolution

Change monitor resolution 500 times

Vocal Coach

Spend 5 minutes using voice chat

We Built This City

Connect to the server 5,000 times

Windows 2000

Change monitor resolution to 800 x 600

▸ New Gamemode Support

New gamemodes have been added to this addon.

GamemodesNew Achievements

Basewars

10

Sandbox

14

▸ New Admin Commands

Server owners can now wipe a player's entire achievement database by using ULX, xAdmin, or SAM admin mods.

▸ Categorize Achievements in "Family" Groups

A new parameter has been added to achievements which allows them to be grouped in a "family" of achievements that all belong together.

By grouping multiple achievements in a family, it allows progression in multiple achievements at the same time.

An example would be the achievements:

AchievementDescription

Contextual Roughhousing I

Open Context Menu 50,000 times

Contextual Roughhousing II

Open Context Menu 500,000 times

Contextual Roughhousing III

Open Context Menu 2,000,000 times

All three of the achievements above require the same action, however, have different amounts that need to have completed.

By grouping these achievements into a family, opening the context menu counts toward progression in all three achievements. This is especially useful when you have achievements that must communicate between the server and client scopes and cuts down on the network calls that must be made.

▸ New Disco Mode

It's always nice to have little Easter eggs or surprises. We've now added a fun new disco mode

Players can enable this on the theme settings page:

▸ Added Screen-scaling

Several elements of the interface now have screenscaling.

▸ Block / Configure Secret Achievement Tracking

Secret achievements have now been completely blocked from being tracked. However, a new setting has been added which allows players to track secret achievements.

To allow secret achievement tracking, open:

addons\xtask\lua\modules\xtask\cfg\sh_cfg_general.lua

Change the setting:

cfg.tracker.bAllowSecrets = true

If you keep this setting set to false; whenever a player hovers over a secret achievement, they will not be allowed to click on it. They'll also see text that says "Cannot Track".

▸ Re-designed Achievement Drop-down List

Previous versions of XTask included a dropdown list which displayed all achievement categories. The text and list itself were very small on certain monitors.

The dropdown size and text have been increased.

▸ New Scope Functions

When creating achievements, new scope functions have been added so that you can write code for achievements in the scope you need.

  • OnShared

    • All functionality for the shared scope. Handles server and shared actions.

  • OnClient

    • Client-side scope code only

  • OnServer

    • Server-side scope code only.

XTASK.onShared = function( id, id_hook, path )
    // shared
end

XTASK.onServer = function( id, id_hook, path )
    // server
end

XTASK.onClient = function( id, id_hook, path )
    // client
endlua

▸ RGBA Bars now auto-update HEX color values

When changing the colors of the interface using the RGB color-bars; the hex values will now automatically update.

▸ RGBA Bar Sequence Flipped

A very minor change, however, requested by a few customers.

The R,G,B,A bars that a player can use to change interface colors has been flipped to the correct order.

▸ Deprecated onTrigger Function

the onTrigger achievement function is being removed from the script and replaced with the three new scope functions listed above.

▸ Theme Elements Can Be Added Without Server Restarts

Prior to this version; if you added new theme color options to the theme files, you had to restart the server and reconnect for the changes to take affect.

Now you only need to close the interface and then re-open it for all new theme options to be registered.

This also includes font changes.

▸ Customize Tracker Label

The tracker allows players to keep track of certain achievements by displaying them on the HUD.

Usually, the tracker gives a small amount of information, with the number of something required in order to obtain the achievement.

You can now add an override label that will display next to the required amount of the achievement.

▸ Optimized Tracker Calculations

The tracker has been optimized in how it calculates data to show to the player.

▸ Disabled Pattern Matching for "Hello, My Name Is" achievement

Server owners were getting confused by the param for the achievement Hello, My Name is.

This achievement rewards the player if they add a particular word or matching text to their name such as a clean or network name.

Prior to this version, if you used brackets in the required name, it treated the brackets as a pattern and would reward the achievement to anyone, even if their name didn't match.

Pattern matching has been disabled and now the player name must have the exact word.

▸ Restructured Reward Options

With the new integration with Basewars, we have done away with the darkrp_funds parameter in each achievement config file. The table currency has also been removed. All rewards are in the same table now.

All achievement files have been updated to reflect the new structure. If you are moving achievements over from a previous version, you must update the table structure or you will not receive rewards for completing the achievement.

OLD CDDE

XTASK.po =
{
    ps2_items =
    {
        // Pointshop 2 items
    },
    spell             = false,    // Magic Wand Rewrite addon - add spellname here
    xp                = 0,        // xp to give
    xp_percent        = 0,        // percentage of xp to give based on how much a player needs to level
    currency =
    {
        points        = 0,        // pointshop 1 or pointshop 2 points to give
        points_prem   = 0,        // pointshop 2 premium points
        darkrp_funds  = 1000,     // darkrp money
    }
}

NEW CDDE

XTASK.po =
{
    ps2_items =
    {
        // Pointshop 2 items
    },
    spell         = false,        // Magic Wand Rewrite addon - add spellname here
    karmma        = 0,            // basewars karma to give
    xp            = 0,            // xp to give
    xp_percent    = 0,            // percentage of xp to give based on how much a player needs to level
    points        = 0,            // pointshop 1 or pointshop 2 points to give
    points_prem   = 0,            // pointshop 2 premium points
    money         = 1000,         // darkrp or basewars money
}

▸ Script now using OnScreenSizeChanged

Interface will be re-built when player changes resolution in order to adjust all interface sizes.

▸ Removed Custom Text Colors for Secret Achievements

This ended up being a very rarely used feature and made the code confusing. Secret achievements will now appear in the achievement list with the same style as other achievements.

▸ Fixed Bug With Changing Wallpaper Setting

Fixed a bug related to players changing their wallpaper setting in the interface settings interface.

▸ Fixed Nil Value Error

A 'ui' (a nil value) error has been fixed.

▸ Fixed Achievement Tracking With Completed Achievements

Completed achievements could still be tracked if the player clicked on them. Tracking for completed achievements have now been blocked.

Last updated