samp.directory
← Scripts y librerías

Open-GTO/textlist

Text List system

Librería★ 2actualizado oct 2018MITPAWNsampctl
Abrir en GitHub

Instalar con sampctl

sampctl package install Open-GTO/textlist

Ejecútalo en la carpeta de tu proyecto. sampctl descarga el paquete y sus dependencias.

Depende de 1 paquete

Usado por 2 paquetes

README.md

TextList

Text Draw list system.

Screens

Working vehicle tuning system from Open-GTO gamemode. You can see sources here.

Functions

Show created TextList
TextList_Show(playerid, function[])
Open TextList
TextList_Open(playerid, function[], list_items[][], list_size = sizeof(list_items), header[] = "",
              button1[] = "", button2[] = "", Float:pos_x = 89.0, Float:pos_y = 140.0,
              select_color = 0xFFA500FF,
              lists_bg_color[TEXTLIST_MAX_ITEMS] = {0x212121A0, ...},
              lists_fg_color[TEXTLIST_MAX_ITEMS] = {0xFFFFFFFF, ...},
              header_bg_color = 0xB71C1CAA, header_fg_color = 0xFFFFFFFF,
              paginator_bg_color = 0x21212160, paginator_fg_color = 0xFFFFFFFF,
              button1_bg_color = 0x6D4C41AA, button1_fg_color = 0xFFFFFFFF,
              button2_bg_color = 0x6D4C41AA, button2_fg_color = 0xFFFFFFFF)
Close TextList
TextList_Close(playerid);
Is TextList opened
TextList_IsOpen(playerid);

Callbacks

Each TextList has its own handler function, it looks as follows:

TextListResponse:example_tl(playerid, TextListType:response, itemid, itemvalue[])
{
    return 1;
}

This function is called when a user interacts with TextList.

TextListType can have these values:

  • TextList_None
  • TextList_Button1
  • TextList_Button2
  • TextList_ListItem
  • TextList_ListUp
  • TextList_ListDown
  • TextList_Cancel

Defines

DirectiveDefault valueCan be redefined
TEXTLIST_MAX_ITEMS30yes
TEXTLIST_MAX_ITEMS_ON_LIST10yes
TEXTLIST_MAX_ITEM_NAME32no
TEXTLIST_MAX_FUNCTION_NAME31no
TEXTLIST_MAX_BUTTON_NAME12no

Usage

The system provides the ability to create a function to open TextList, this is useful when multiple calls one list (mostly used when creating nested menus):

TextListCreate:example_tl(playerid)
{
	new items[][TEXTLIST_MAX_ITEM_NAME] = {
		"Test 1",
		"Big Test 2"
	};

	new bg_colors[TEXTLIST_MAX_ITEMS] = {
		0xFF0000FF,
		0x00FF00FF
	};

	TextList_Open(playerid, TextList:example_tl, items, sizeof(items),
	              "Example header",
	              "Button 1", "Button 2",
	              .lists_bg_color = bg_colors);
}

TextListResponse:example_tl(playerid, TextListType:response, itemid, itemvalue[])
{
	new string[128];
	format(string, sizeof(string), " %d | %d | %d | %s", playerid, _:response, itemid, itemvalue);
	SendClientMessage(playerid, -1, string);
	return 1;
}

And you should use TextList_Show for opening created TextList:

TextList_Show(playerid, TextList:example_tl);

Of course you can not use the system, you can do everything without TextListCreate.

Esta página se genera con lo que GitHub publica sobre el repositorio. samp.directory no aloja el código. Informar de un problema con esta ficha