YSI (YSI-Includes)

repository·5.x·Indexed 42 days ago

https://github.com/pawn-lang/ysi-includes

A comprehensive collection of PAWN scripting libraries providing advanced data structures, server-side logic management, and persistent storage. It features a modular system of library categories (Coding, Core, Data, Extra, Game, Players, Server, Storage, Visual) and a powerful annotation (decorator) system for defining automated tests (@test), function hooks (@hook), timers (@timer), and lifecycle events (@init, @exit).

Tokens
112.3K
Snippets
444
Records
678
Agent score
52%

What's inside YSI

  1. Overview of YSI library categories

    5.x

    YSI provides a wide range of libraries categorized by their primary purpose. Use these categories to find the tools you need for your PAWN scripting tasks:

    • Coding: PAWN scripting improvements and language features (e.g., y_ctrl, y_hooks, y_timers).
    • Core: Essential libraries used across most implementations (e.g., y_als, y_utils).
    • Data: Data structures and algorithms (e.g., y_hashmap, y_iterate, y_playerarray).
    • Extra: Optional features and plugin support (e.g., y_files, y_streamer_plugin).
    • Game: Information regarding game entities (e.g., y_vehicledata, y_weapondata).
    • Players: Player management tools (e.g., y_groups, y_users, y_languages).
    • Server: Server control and utility libraries (e.g., y_lock, y_serverdata, y_scriptinit).
    • Storage: Persistent data interaction (e.g., y_ini, y_svar, y_xml).
    • Visual: In-game visible effects and UI elements (e.g., y_dialog, y_commands, y_areas).
  2. Overview of y_inline

    5.x
    The y_inline library provides "inline" functions for Pawn. These are functions that can be defined inside other functions and can access the data of the outer function via a "closure" mechanism. This allows for more localized and encapsulated logic within your scripts.
  3. Overview of y_amx

    5.x
    The y_amx library allows a Pawn script to access introspection data about itself. This includes metadata such as function names, native definitions, and internal memory structures. It is primarily used for advanced features like automatic callback hooking, script testing, and runtime introspection.
  4. Overview of the y_va library

    5.x
    The y_va library provides the ___ operator. This is a companion to the standard ... (variadic) operator. While ... is used to receive variable parameters, ___ is used to pass all variable parameters directly to another function without receiving them locally.
  5. Overview of YSI_Visual/y_classes

    5.x

    The y_classes library provides enhanced class selection facilities for Pawn. It allows developers to manage player classes with advanced logic, including:

    • Dynamic Class Management: Add and remove classes at any time.
    • Skin Visibility Control: Hide skins entirely from specific players or groups (using y_groups support to extend hiding to teams, etc.).
    • Weapon Customization: Assign as many default weapons as required to a class.
    • Multi-level Selection: Implement hierarchical selection flows, such as selecting a team first and then choosing a skin within that team.
    • Flow Control: Disable, skip, reenable, or force a return to the class selection interface.
  6. Overview of the y_colours library

    5.x
    The y_colours library provides a comprehensive suite of functions for manipulating colours in Pawn. It includes several thousand pre-defined named colours, covering all SA (San Andreas) and SA:MP (San Andreas Multiplayer) colour sets, as well as the complete X11 colour set.
  7. Overview of y_jaggedarray

    5.x
    The y_jaggedarray library provides functionality for managing 2D arrays where each row (slot) can have a different size. This allows for dynamic resizing of individual array rows rather than being constrained by a fixed rectangular dimension. It also includes utility functions to retrieve the current sizes of these rows.
  8. Overview of y_colours capabilities

    5.x

    The y_colours component provides a comprehensive system for managing colours in Pawn. It includes:

    • Definitions for hundreds of colours, including San Andreas "GameText" colours and the standard X11 colour set.
    • Functionality for parsing colour names directly from text strings.
    • Tools for defining and retrieving custom colours.

    Note: y_colours is a component of y_text, but it is a standalone include and does not require y_text to function.