20.12.2013, 17:18
From line 27 to line 110
PHP код:
new gCustomList[MAX_PLAYERS][mS_CUSTOM_MAX_ITEMS];
#define mS_INVALID_LISTID mS_TOTAL_LISTS
#define mS_CUSTOM_LISTID (mS_TOTAL_LISTS+1)
#define mS_NEXT_TEXT "Next"
#define mS_PREV_TEXT "Prev"
#define mS_CANCEL_TEXT "Cancel"
#define mS_SELECTION_ITEMS 21
#define mS_ITEMS_PER_LINE 7
#define mS_DIALOG_BASE_X 75.0
#define mS_DIALOG_BASE_Y 130.0
#define mS_DIALOG_WIDTH 550.0
#define mS_DIALOG_HEIGHT 180.0
#define mS_SPRITE_DIM_X 60.0
#define mS_SPRITE_DIM_Y 70.0
new PlayerText:gCurrentPageTextDrawId[MAX_PLAYERS];
new PlayerText:gHeaderTextDrawId[MAX_PLAYERS];
new PlayerText:gBackgroundTextDrawId[MAX_PLAYERS];
new PlayerText:gNextButtonTextDrawId[MAX_PLAYERS];
new PlayerText:gPrevButtonTextDrawId[MAX_PLAYERS];
new PlayerText:gCancelButtonTextDrawId[MAX_PLAYERS];
new PlayerText:gSelectionItems[MAX_PLAYERS][mS_SELECTION_ITEMS];
new gSelectionItemsTag[MAX_PLAYERS][mS_SELECTION_ITEMS];
new gItemAt[MAX_PLAYERS];
#define mS_LIST_START 0
#define mS_LIST_END 1
new gLists[mS_TOTAL_LISTS][2]; // list information start/end index
#define mS_ITEM_MODEL 0
#define mS_ITEM_ROT_ZOOM_ID 1
new gItemList[mS_TOTAL_ITEMS][2];
new Float:gRotZoom[mS_TOTAL_ROT_ZOOM][4]; // Array for saving rotation and zoom info
new gItemAmount = 0; // Amount of items used
new gListAmount = 0; // Amount of lists used
new gRotZoomAmount = 0; // Amount of Rotation/Zoom informations used
//------------------------------------------------
stock mS_GetNumberOfPages(ListID)
{
new ItemAmount = mS_GetAmountOfListItems(ListID);
if((ItemAmount >= mS_SELECTION_ITEMS) && (ItemAmount % mS_SELECTION_ITEMS) == 0)
{
return (ItemAmount / mS_SELECTION_ITEMS);
}
else return (ItemAmount / mS_SELECTION_ITEMS) + 1;
}
//------------------------------------------------
stock mS_GetNumberOfPagesEx(playerid)
{
new ItemAmount = mS_GetAmountOfListItemsEx(playerid);
if((ItemAmount >= mS_SELECTION_ITEMS) && (ItemAmount % mS_SELECTION_ITEMS) == 0)
{
return (ItemAmount / mS_SELECTION_ITEMS);
}
else return (ItemAmount / mS_SELECTION_ITEMS) + 1;
}
//------------------------------------------------
stock mS_GetAmountOfListItems(ListID)
{
return (gLists[ListID][mS_LIST_END] - gLists[ListID][mS_LIST_START])+1;
}
//------------------------------------------------
stock mS_GetAmountOfListItemsEx(playerid)
{
return GetPVarInt(playerid, "mS_custom_item_amount");
}
//------------------------------------------------
stock mS_GetPlayerCurrentListID(playerid)
{
if(GetPVarInt(playerid, "mS_list_active") == 1) return GetPVarInt(playerid, "mS_list_id");
else return mS_INVALID_LISTID;
}
//------------------------------------------------