Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define FILTERSCRIPT
- #include <a_samp>
- #include <SIF/SIF>
- #define INV_UI_ORIGIN_X (32.0)
- #define INV_UI_ORIGIN_Y (170.0)
- #define INV_UI_SPACING (15.0)
- new
- ItemType: item_Medkit = INVALID_ITEM_TYPE,
- ItemType: item_HardDrive = INVALID_ITEM_TYPE,
- ItemType: item_Key = INVALID_ITEM_TYPE;
- new
- PlayerText: InventoryUI_Background [MAX_PLAYERS],
- PlayerText: InventoryUI_Close [MAX_PLAYERS],
- PlayerText: InventoryUI_Item [MAX_PLAYERS][INV_MAX_SLOTS];
- public OnFilterScriptInit()
- {
- for(new i; i < MAX_PLAYERS; i++)
- {
- InventoryUI_Background[i] = PlayerText:INVALID_TEXT_DRAW;
- InventoryUI_Close[i] = PlayerText:INVALID_TEXT_DRAW;
- for(new j; j < INV_MAX_SLOTS; j++)
- InventoryUI_Item[i][j] = PlayerText:INVALID_TEXT_DRAW;
- if(IsPlayerConnected(i))
- LoadUI(i);
- }
- item_Medkit = DefineItemType("Medkit", 1580, ITEM_SIZE_SMALL, 0.0, 0.0, 0.0, 0.0, 0.269091, 0.166367, 0.0, 90.0, 0.0, 0.0);
- item_HardDrive = DefineItemType("Hard Drive", 328, ITEM_SIZE_SMALL, 90.0, 0.0, 0.0, 0.0);
- item_Key = DefineItemType("Key", 327, ITEM_SIZE_SMALL, 0.0, 0.0, 0.0, 0.0);
- CreateItem(item_Medkit, 0.0, 10.0, 3.0);
- CreateItem(item_Medkit, 0.0, 11.0, 3.0);
- CreateItem(item_Medkit, 0.0, 12.0, 3.0);
- CreateItem(item_HardDrive, 0.0, 13.0, 3.0);
- CreateItem(item_HardDrive, 0.0, 14.0, 3.0);
- CreateItem(item_HardDrive, 0.0, 15.0, 3.0);
- CreateItem(item_Key, 0.0, 16.0, 3.0);
- CreateItem(item_Key, 0.0, 17.0, 3.0);
- CreateItem(item_Key, 0.0, 18.0, 3.0);
- return 1;
- }
- public OnFilterScriptExit()
- {
- for(new i; i < MAX_PLAYERS; i++)
- {
- PlayerTextDrawDestroy(i, InventoryUI_Background[i]);
- PlayerTextDrawDestroy(i, InventoryUI_Close[i]);
- for(new j; j < INV_MAX_SLOTS; j++)
- PlayerTextDrawDestroy(i, InventoryUI_Item[i][j]);
- }
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- LoadUI(playerid);
- return 1;
- }
- LoadUI(playerid)
- {
- InventoryUI_Background[playerid]=CreatePlayerTextDraw(playerid, 30.0, 160.0, "_");
- PlayerTextDrawBackgroundColor (playerid, InventoryUI_Background[playerid], 255);
- PlayerTextDrawFont (playerid, InventoryUI_Background[playerid], 1);
- PlayerTextDrawLetterSize (playerid, InventoryUI_Background[playerid], 0.500000, 0.6 + (INV_MAX_SLOTS * 1.8));
- PlayerTextDrawColor (playerid, InventoryUI_Background[playerid], -1);
- PlayerTextDrawSetOutline (playerid, InventoryUI_Background[playerid], 0);
- PlayerTextDrawSetProportional (playerid, InventoryUI_Background[playerid], 1);
- PlayerTextDrawSetShadow (playerid, InventoryUI_Background[playerid], 1);
- PlayerTextDrawUseBox (playerid, InventoryUI_Background[playerid], 1);
- PlayerTextDrawBoxColor (playerid, InventoryUI_Background[playerid], 80);
- PlayerTextDrawTextSize (playerid, InventoryUI_Background[playerid], 100.0, 240.0);
- InventoryUI_Close[playerid] =CreatePlayerTextDraw(playerid, 30.0, 150.0, "X");
- PlayerTextDrawBackgroundColor (playerid, InventoryUI_Close[playerid], 255);
- PlayerTextDrawFont (playerid, InventoryUI_Close[playerid], 1);
- PlayerTextDrawLetterSize (playerid, InventoryUI_Close[playerid], 0.500000, 0.6);
- PlayerTextDrawColor (playerid, InventoryUI_Close[playerid], -1);
- PlayerTextDrawSetOutline (playerid, InventoryUI_Close[playerid], 0);
- PlayerTextDrawSetProportional (playerid, InventoryUI_Close[playerid], 1);
- PlayerTextDrawSetShadow (playerid, InventoryUI_Close[playerid], 1);
- PlayerTextDrawUseBox (playerid, InventoryUI_Close[playerid], 1);
- PlayerTextDrawBoxColor (playerid, InventoryUI_Close[playerid], 80);
- PlayerTextDrawTextSize (playerid, InventoryUI_Close[playerid], 40.0, 10.0);
- PlayerTextDrawSetSelectable (playerid, InventoryUI_Close[playerid], true);
- for(new i; i < INV_MAX_SLOTS; i++)
- {
- InventoryUI_Item[playerid][i] =CreatePlayerTextDraw(playerid, INV_UI_ORIGIN_X, INV_UI_ORIGIN_Y + (i * INV_UI_SPACING), "<empty>");
- PlayerTextDrawBackgroundColor (playerid, InventoryUI_Item[playerid][i], 255);
- PlayerTextDrawFont (playerid, InventoryUI_Item[playerid][i], 1);
- PlayerTextDrawLetterSize (playerid, InventoryUI_Item[playerid][i], 0.199999, 1.0);
- PlayerTextDrawColor (playerid, InventoryUI_Item[playerid][i], -1);
- PlayerTextDrawSetOutline (playerid, InventoryUI_Item[playerid][i], 0);
- PlayerTextDrawSetProportional (playerid, InventoryUI_Item[playerid][i], 1);
- PlayerTextDrawSetShadow (playerid, InventoryUI_Item[playerid][i], 1);
- PlayerTextDrawUseBox (playerid, InventoryUI_Item[playerid][i], 1);
- PlayerTextDrawBoxColor (playerid, InventoryUI_Item[playerid][i], 0xFF470050);
- PlayerTextDrawTextSize (playerid, InventoryUI_Item[playerid][i], 98.0, 10.0);
- PlayerTextDrawSetSelectable (playerid, InventoryUI_Item[playerid][i], true);
- }
- }
- // Custom UI hooking example for SIF/Inventory
- public OnPlayerOpenInventory(playerid)
- {
- ShowInventoryList(playerid);
- return 1; // Returning 1 on this callback stops the regular dialog from showing.
- }
- public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid)
- {
- if(playertextid == InventoryUI_Close[playerid])
- {
- HideInventoryList(playerid);
- }
- return 1;
- }
- ShowInventoryList(playerid)
- {
- HideInventoryList(playerid);
- PlayerTextDrawShow(playerid, InventoryUI_Background[playerid]);
- PlayerTextDrawShow(playerid, InventoryUI_Close[playerid]);
- for(new i; i < INV_MAX_SLOTS; i++)
- DrawInventoryItem(playerid, i);
- SelectTextDraw(playerid, 0xFFFF00FF);
- }
- HideInventoryList(playerid)
- {
- PlayerTextDrawHide(playerid, InventoryUI_Background[playerid]);
- PlayerTextDrawHide(playerid, InventoryUI_Close[playerid]);
- for(new i; i < INV_MAX_SLOTS; i++)
- PlayerTextDrawHide(playerid, InventoryUI_Item[playerid][i]);
- CallLocalFunction("OnPlayerCloseInventory", "d", playerid); // We need to simulate the dialog being closed in case any other scripts rely on this callback.
- CancelSelectTextDraw(playerid);
- }
- DrawInventoryItem(playerid, slot)
- {
- new itemid = GetInventorySlotItem(playerid, slot);
- if(IsValidItem(itemid))
- {
- new
- ItemType:itemtype,
- itemname[32];
- itemtype = GetItemType(itemid);
- GetItemTypeName(itemtype, itemname);
- PlayerTextDrawSetString(playerid, InventoryUI_Item[playerid][slot], itemname);
- }
- else
- {
- PlayerTextDrawSetString(playerid, InventoryUI_Item[playerid][slot], "<empty>");
- // Or hide the textdraw
- }
- PlayerTextDrawShow(playerid, InventoryUI_Item[playerid][slot]);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement