<- Home
Coding

Extensions to the PAWN language, designed for simplifying coding itself.
  • y_hooks

    Function hooking without the overhead and complexities of ALS.

  • y_inline

    Inline functions.

  • y_malloc

    Dynamic memory allocation from the heap.

  • y_remote

    Compile-time parameter checks for remote function calls.

  • y_stringhash

    Compile-time string hashing (non-cryptographic), using Bernstein or FNV-1.

  • y_timers

    Compile-time parameter checks for timer functions.

  • y_va

    Enables pass-through of variable function parameters to other variable parameter functions.

Core

Useful functions used extensively by YSI.
  • y_als

    Return and parameter definitions for default callbacks.

  • y_cell

    Bit manipulations from Hackers Delight.

  • y_debug

    Optional debugging features (prints and conditional code).

  • y_master

    Multi-script code execution. Allows multiple parallel running scripts to talk to each other and negotiate which of them will control one aspect of a server's features.

  • y_testing

    Unit test framework.

  • y_utils

    Even more minor functions. "strcpy", "IsNumeric" etc.

Data

Data structures.
  • y_bintree

    Binary tree creation and manipulation.

  • y_bit

    Compressed bit arrays for storing more than 32 true/false values.

  • y_iterate

    "foreach" keyword definition for spare arrays and custom iterators.

  • y_jaggedarray

    Multi-dimensional arrays with different sizes for each row of the second dimension.

  • y_playerarray

    Arrays optimised for storing a set of SA-MP players.

  • y_playerset

    Multiple representations of collections of players, and functions that can generically take any of the representations (y_playerarray, y_groups, regular arrays, and single players).

Extra

Commands which increase YSI's functionality, but constrain its flexibility.
  • y_extra_languages

    "/language" command for allowing a user to change their language.

  • y_extra_other

    "/commands" to list all commands, and "/help" to display help on a single command.

  • y_extra_users

    "/login" and "/register" for the user system.

Players

Features relating directly to information that varies per-player.
  • y_groups

    Stores collections of players, for example admin teams, factions, or gangs. Can control permissions for many other libraries.

  • y_languages

    What language a player is, and what languages are available.

  • y_text

    An adstraction over all of SA-MP's various text systems, disply information is defined in a style file and text is defined for multiple languages.

  • y_users

    Login and registration systems. Supports INI files and mySQL for data storage.

Server

Functions to control operation of the server itself.
  • y_colors

    Alias for y_colours.

  • y_colours

    Defines X11 colours and more.

  • y_flooding

    Restrict multiple connections from the same IP.

  • y_lock

    Restrict a mode to run only on a single server's IP address.

  • y_punycode

    Translate between unicode and punycode text encodings.

  • y_scriptinit

    Adds a new callback "OnScriptInit" that is called accurately at the start of both gamemodes and filterscripts.

  • y_td

    Text Draw styles.

Storage

Access to permanent storage formats.
  • y_amx

    Information on the currently running script itself (segments, functions, etc).

  • y_bitmap

    .bmp file writing.

  • y_ini

    .ini file reading and writing, including sections and comments.

  • y_php

    Communication with a PHP server running on the same host.

  • y_svar

    Adds the "svar" array keyword for automated server-wide data storage and loading.

  • y_uvar

    Adds the "uvar" array keyword for automated pre-player data storage and loading.

  • y_xml

    .xml file reading and writing.

Visual

Client in-game effects.
  • y_areas

    Player location detection and zone definitions.

  • y_classes

    Advanced class selection, can add and remove classes from the selection screen dynamically.

  • y_commands

    Server commands that the player can use, optimised for large numbers of commands and per-player permissions.

  • y_dialog

    Dialogs without required unique IDs, and with inline function support.

  • y_properties

    Things players can buy such as shops or houses.

  • y_races

    Provides a simple interface for creating and running races of many different types.

  • y_zonenames

    Displays San Andreas area names on entry.

  • y_zonepulse

    Adds interesting flashing effects beyond the standard on/off flash to radar gang zone markers.