Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #if defined _txdmenu_included
- #endinput
- #endif
- #define _txdmenu_included
- /*
- ==========================================================================================================
- Text Draw menu include
- ==========================================================================================================
- Functions:
- menu_create - create menu | return menu-id
- menu_additem - add item to the menu
- menu_display - display the menu for player, you can choose page
- menu_destroy - destroy menu for player
- Defines:
- MAX_ITEMS - default : 40 | the max items in menu
- MENU_EXIT - default : -1 | don't touch this you can if the item = MENU_EXIT
- MAX_MENUS_ONCE - default : 50 | don't need to touch it basicly that change max menus in once.
- Description :
- easy to use, good, beutiful.
- have many usages for it.
- Credits:
- ==========================================================================================================
- */
- /* NATIVES */
- native menu_create(Header[],Handler[]);
- native menu_additem(menu,Item[]);
- native menu_display(playerid,menu,page=1);
- native menu_destroy(playerid);
- /* ------- */
- #define MAX_ITEMS 40 // max items that can be in menu, defult : 50
- #define MENU_EXIT -1 // exit from menu like if item == MENU_EXIT
- #define MAX_MENUS_ONCE 50 // max menus can create at once.
- #define TD_BOX (0)
- #define TD_HEADER (1)
- #define TD_BUTTON1 (2)
- #define TD_BUTTON2 (3)
- #define TD_BUTTON3 (4)
- #define TD_BUTTON4 (5)
- #define TD_BUTTON5 (6)
- #define TD_BUTTON6 (7)
- #define TD_BUTTON7 (8)
- #define TD_BUTTON8 (9)
- #define TD_NEXT (10)
- #define TD_BACK (11)
- #define TD_EXIT (12)
- new mNum = -1; // menu count
- new PlayerText:mTd[MAX_PLAYERS][13]; // menu bullshit
- new mPlayerid[MAX_PLAYERS]; // menu bullshit
- new mPlayerPage[MAX_PLAYERS];
- new mHandler[MAX_MENUS_ONCE][32]; // menu bullshit
- new mHeader[MAX_MENUS_ONCE][64];
- new mLines[MAX_MENUS_ONCE][MAX_ITEMS][32]; // menu bullshit
- new mItemsnum[MAX_MENUS_ONCE]; // menu bullshit
- stock menu_create(Header[],menu_handler[]) {
- if(mNum >= MAX_MENUS_ONCE-1) mNum = -1;
- mNum++;
- format(mHeader[mNum],64,Header);
- format(mHandler[mNum],32,menu_handler);
- mItemsnum[mNum] = 0;
- return mNum;
- }
- stock menu_additem(menu,Item[]) {
- if(mItemsnum[menu] == MAX_ITEMS) return 0;
- format(mLines[menu][mItemsnum[menu]],64,Item);
- mItemsnum[menu]++;
- return 1;
- }
- stock menu_destroy(playerid) {
- for(new i;i < 13;i++) PlayerTextDrawHide(playerid,mTd[playerid][i]);
- CancelSelectTextDraw(playerid);
- return 1;
- }
- stock menu_display(playerid,menu,page=1) {
- if(page <= 0) page = 1;
- else if((page-1)*8 >= mItemsnum[menu]) page=page-1;
- PlayerTextDrawSetString(playerid,mTd[playerid][TD_HEADER],mHeader[menu]);
- PlayerTextDrawShow(playerid,mTd[playerid][TD_HEADER]);
- PlayerTextDrawShow(playerid,mTd[playerid][TD_EXIT]);
- PlayerTextDrawShow(playerid,mTd[playerid][TD_NEXT]);
- PlayerTextDrawShow(playerid,mTd[playerid][TD_BACK]);
- PlayerTextDrawShow(playerid,mTd[playerid][TD_BOX]);
- mPlayerid[playerid] = menu;
- for(new i;i < 8 ;i++) {
- if(mLines[menu][i][0] == EOS) continue;
- PlayerTextDrawSetString(playerid,mTd[playerid][2+i],mLines[menu][i*page]);
- PlayerTextDrawShow(playerid,mTd[playerid][2+i]);
- }
- mPlayerPage[playerid] = page;
- SelectTextDraw(playerid, 0xA3B4C5FF);
- return 1;
- }
- public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid)
- {
- if(_:playertextid == INVALID_TEXT_DRAW) return menu_destroy(playerid);
- for(new i;i < 8;i++) {
- if(playertextid == mTd[playerid][2+i]) {
- CallLocalFunction(mHandler[mPlayerid[playerid]],"ddd",playerid,mPlayerid[playerid],i*mPlayerPage[playerid]);
- menu_destroy(playerid);
- return 1;
- }
- }
- if(playertextid == mTd[playerid][TD_EXIT]) CallLocalFunction(mHandler[mPlayerid[playerid]],"ddd",playerid,mPlayerid[playerid],MENU_EXIT);
- else if(playertextid == mTd[playerid][TD_BACK]) menu_destroy(playerid),menu_display(mPlayerid[playerid],playerid,mPlayerPage[playerid]-1);
- else if(playertextid == mTd[playerid][TD_NEXT]) menu_destroy(playerid),menu_display(mPlayerid[playerid],playerid,mPlayerPage[playerid]+1);
- if (funcidx("TMenu_OnPlayerClickPlayerTextDraw") != -1)
- {
- return CallLocalFunction("TMenu_OnPlayerClickPlayerTextDraw", "");
- }
- return 1;
- }
- #if defined _ALS_OnPlayerClickPlayerTextDraw
- #undef OnPlayerClickPlayerTextDraw
- #else
- #define _ALS_OnPlayerClickPlayerTextDraw
- #endif
- #define OnPlayerConnect TMenu_OnPlayerClickPlayerTextDraw
- forward TMenu_OnPlayerClickPlayerTextDraw();
- //#if defined FILTERSCRIPT
- public OnPlayerConnect(playerid)
- {
- mTd[playerid][TD_BOX] = CreatePlayerTextDraw(playerid,10.000000, 150.000000, "~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~");
- PlayerTextDrawBackgroundColor(playerid,mTd[playerid][TD_BOX], 255);
- PlayerTextDrawFont(playerid,mTd[playerid][TD_BOX], 1);
- PlayerTextDrawLetterSize(playerid,mTd[playerid][TD_BOX], 0.500000, 1.000000);
- PlayerTextDrawColor(playerid,mTd[playerid][TD_BOX], -1);
- PlayerTextDrawSetOutline(playerid,mTd[playerid][TD_BOX], 0);
- PlayerTextDrawSetProportional(playerid,mTd[playerid][TD_BOX], 1);
- PlayerTextDrawSetShadow(playerid,mTd[playerid][TD_BOX], 1);
- PlayerTextDrawUseBox(playerid,mTd[playerid][TD_BOX], 1);
- PlayerTextDrawBoxColor(playerid,mTd[playerid][TD_BOX], 120);
- PlayerTextDrawTextSize(playerid,mTd[playerid][TD_BOX], 199.000000, 312.000000);
- PlayerTextDrawSetSelectable(playerid,mTd[playerid][TD_BOX], 0);
- mTd[playerid][TD_HEADER] = CreatePlayerTextDraw(playerid,10.000000, 150.000000, "Header-Header-Header-Header");
- PlayerTextDrawBackgroundColor(playerid,mTd[playerid][TD_HEADER], 255);
- PlayerTextDrawFont(playerid,mTd[playerid][TD_HEADER], 1);
- PlayerTextDrawLetterSize(playerid,mTd[playerid][TD_HEADER], 0.360000, 1.000000);
- PlayerTextDrawColor(playerid,mTd[playerid][TD_HEADER], -1);
- PlayerTextDrawSetOutline(playerid,mTd[playerid][TD_HEADER], 0);
- PlayerTextDrawSetProportional(playerid,mTd[playerid][TD_HEADER], 1);
- PlayerTextDrawSetShadow(playerid,mTd[playerid][TD_HEADER], 1);
- PlayerTextDrawSetSelectable(playerid,mTd[playerid][TD_HEADER], 0);
- mTd[playerid][TD_BUTTON1] = CreatePlayerTextDraw(playerid,21.000000, 175.000000, "Button1");
- PlayerTextDrawBackgroundColor(playerid,mTd[playerid][TD_BUTTON1], 255);
- PlayerTextDrawFont(playerid,mTd[playerid][TD_BUTTON1], 1);
- PlayerTextDrawLetterSize(playerid,mTd[playerid][TD_BUTTON1], 0.360000, 1.000000);
- PlayerTextDrawColor(playerid,mTd[playerid][TD_BUTTON1], -1);
- PlayerTextDrawSetOutline(playerid,mTd[playerid][TD_BUTTON1], 0);
- PlayerTextDrawSetProportional(playerid,mTd[playerid][TD_BUTTON1], 1);
- PlayerTextDrawSetShadow(playerid,mTd[playerid][TD_BUTTON1], 1);
- PlayerTextDrawUseBox(playerid,mTd[playerid][TD_BUTTON1], 1);
- PlayerTextDrawBoxColor(playerid,mTd[playerid][TD_BUTTON1], 255);
- PlayerTextDrawTextSize(playerid,mTd[playerid][TD_BUTTON1], 179.000000, 20.000000);
- PlayerTextDrawSetSelectable(playerid,mTd[playerid][TD_BUTTON1], 1);
- mTd[playerid][TD_BUTTON2] = CreatePlayerTextDraw(playerid,21.000000, 191.000000, "Button2");
- PlayerTextDrawBackgroundColor(playerid,mTd[playerid][TD_BUTTON2], 255);
- PlayerTextDrawFont(playerid,mTd[playerid][TD_BUTTON2], 1);
- PlayerTextDrawLetterSize(playerid,mTd[playerid][TD_BUTTON2], 0.360000, 1.000000);
- PlayerTextDrawColor(playerid,mTd[playerid][TD_BUTTON2], -1);
- PlayerTextDrawSetOutline(playerid,mTd[playerid][TD_BUTTON2], 0);
- PlayerTextDrawSetProportional(playerid,mTd[playerid][TD_BUTTON2], 1);
- PlayerTextDrawSetShadow(playerid,mTd[playerid][TD_BUTTON2], 1);
- PlayerTextDrawUseBox(playerid,mTd[playerid][TD_BUTTON2], 1);
- PlayerTextDrawBoxColor(playerid,mTd[playerid][TD_BUTTON2], 255);
- PlayerTextDrawTextSize(playerid,mTd[playerid][TD_BUTTON2], 179.00, 20.000000);
- PlayerTextDrawSetSelectable(playerid,mTd[playerid][TD_BUTTON2], 1);
- mTd[playerid][TD_BUTTON3] = CreatePlayerTextDraw(playerid,21.000000, 207.000000, "Button3");
- PlayerTextDrawBackgroundColor(playerid,mTd[playerid][TD_BUTTON3], 255);
- PlayerTextDrawFont(playerid,mTd[playerid][TD_BUTTON3], 1);
- PlayerTextDrawLetterSize(playerid,mTd[playerid][TD_BUTTON3], 0.360000, 1.000000);
- PlayerTextDrawColor(playerid,mTd[playerid][TD_BUTTON3], -1);
- PlayerTextDrawSetOutline(playerid,mTd[playerid][TD_BUTTON3], 0);
- PlayerTextDrawSetProportional(playerid,mTd[playerid][TD_BUTTON3], 1);
- PlayerTextDrawSetShadow(playerid,mTd[playerid][TD_BUTTON3], 1);
- PlayerTextDrawUseBox(playerid,mTd[playerid][TD_BUTTON3], 1);
- PlayerTextDrawBoxColor(playerid,mTd[playerid][TD_BUTTON3], 255);
- PlayerTextDrawTextSize(playerid,mTd[playerid][TD_BUTTON3], 179.000000, 20.000000);
- PlayerTextDrawSetSelectable(playerid,mTd[playerid][TD_BUTTON3], 1);
- mTd[playerid][TD_BUTTON4] = CreatePlayerTextDraw(playerid,21.000000, 223.000000, "Button4");
- PlayerTextDrawBackgroundColor(playerid,mTd[playerid][TD_BUTTON4], 255);
- PlayerTextDrawFont(playerid,mTd[playerid][TD_BUTTON4], 1);
- PlayerTextDrawLetterSize(playerid,mTd[playerid][TD_BUTTON4], 0.360000, 1.000000);
- PlayerTextDrawColor(playerid,mTd[playerid][TD_BUTTON4], -1);
- PlayerTextDrawSetOutline(playerid,mTd[playerid][TD_BUTTON4], 0);
- PlayerTextDrawSetProportional(playerid,mTd[playerid][TD_BUTTON4], 1);
- PlayerTextDrawSetShadow(playerid,mTd[playerid][TD_BUTTON4], 1);
- PlayerTextDrawUseBox(playerid,mTd[playerid][TD_BUTTON4], 1);
- PlayerTextDrawBoxColor(playerid,mTd[playerid][TD_BUTTON4], 255);
- PlayerTextDrawTextSize(playerid,mTd[playerid][TD_BUTTON4], 179.000000, 20.000000);
- PlayerTextDrawSetSelectable(playerid,mTd[playerid][TD_BUTTON4], 1);
- mTd[playerid][TD_BUTTON5] = CreatePlayerTextDraw(playerid,21.000000, 239.000000, "Button5");
- PlayerTextDrawBackgroundColor(playerid,mTd[playerid][TD_BUTTON5], 255);
- PlayerTextDrawFont(playerid,mTd[playerid][TD_BUTTON5], 1);
- PlayerTextDrawLetterSize(playerid,mTd[playerid][TD_BUTTON5], 0.360000, 1.000000);
- PlayerTextDrawColor(playerid,mTd[playerid][TD_BUTTON5], -1);
- PlayerTextDrawSetOutline(playerid,mTd[playerid][TD_BUTTON5], 0);
- PlayerTextDrawSetProportional(playerid,mTd[playerid][TD_BUTTON5], 1);
- PlayerTextDrawSetShadow(playerid,mTd[playerid][TD_BUTTON5], 1);
- PlayerTextDrawUseBox(playerid,mTd[playerid][TD_BUTTON5], 1);
- PlayerTextDrawBoxColor(playerid,mTd[playerid][TD_BUTTON5], 255);
- PlayerTextDrawTextSize(playerid,mTd[playerid][TD_BUTTON5], 179.000000, 20.000000);
- PlayerTextDrawSetSelectable(playerid,mTd[playerid][TD_BUTTON5], 1);
- mTd[playerid][TD_BUTTON6] = CreatePlayerTextDraw(playerid,21.000000, 256.000000, "Button6");
- PlayerTextDrawBackgroundColor(playerid,mTd[playerid][TD_BUTTON6], 255);
- PlayerTextDrawFont(playerid,mTd[playerid][TD_BUTTON6], 1);
- PlayerTextDrawLetterSize(playerid,mTd[playerid][TD_BUTTON6], 0.360000, 1.000000);
- PlayerTextDrawColor(playerid,mTd[playerid][TD_BUTTON6], -1);
- PlayerTextDrawSetOutline(playerid,mTd[playerid][TD_BUTTON6], 0);
- PlayerTextDrawSetProportional(playerid,mTd[playerid][TD_BUTTON6], 1);
- PlayerTextDrawSetShadow(playerid,mTd[playerid][TD_BUTTON6], 1);
- PlayerTextDrawUseBox(playerid,mTd[playerid][TD_BUTTON6], 1);
- PlayerTextDrawBoxColor(playerid,mTd[playerid][TD_BUTTON6], 255);
- PlayerTextDrawTextSize(playerid,mTd[playerid][TD_BUTTON6], 179.000000, 32.000000);
- PlayerTextDrawSetSelectable(playerid,mTd[playerid][TD_BUTTON6], 1);
- mTd[playerid][TD_BUTTON7] = CreatePlayerTextDraw(playerid,21.000000, 272.000000, "Button7");
- PlayerTextDrawBackgroundColor(playerid,mTd[playerid][TD_BUTTON7], 255);
- PlayerTextDrawFont(playerid,mTd[playerid][TD_BUTTON7], 1);
- PlayerTextDrawLetterSize(playerid,mTd[playerid][TD_BUTTON7], 0.360000, 1.000000);
- PlayerTextDrawColor(playerid,mTd[playerid][TD_BUTTON7], -1);
- PlayerTextDrawSetOutline(playerid,mTd[playerid][TD_BUTTON7], 0);
- PlayerTextDrawSetProportional(playerid,mTd[playerid][TD_BUTTON7], 1);
- PlayerTextDrawSetShadow(playerid,mTd[playerid][TD_BUTTON7], 1);
- PlayerTextDrawUseBox(playerid,mTd[playerid][TD_BUTTON7], 1);
- PlayerTextDrawBoxColor(playerid,mTd[playerid][TD_BUTTON7], 255);
- PlayerTextDrawTextSize(playerid,mTd[playerid][TD_BUTTON7], 179.000000, 20.000000);
- PlayerTextDrawSetSelectable(playerid,mTd[playerid][TD_BUTTON7], 1);
- mTd[playerid][TD_BUTTON8] = CreatePlayerTextDraw(playerid,21.000000, 288.000000, "Button8");
- PlayerTextDrawBackgroundColor(playerid,mTd[playerid][TD_BUTTON8], 255);
- PlayerTextDrawFont(playerid,mTd[playerid][TD_BUTTON8], 1);
- PlayerTextDrawLetterSize(playerid,mTd[playerid][TD_BUTTON8], 0.360000, 1.000000);
- PlayerTextDrawColor(playerid,mTd[playerid][TD_BUTTON8], -1);
- PlayerTextDrawSetOutline(playerid,mTd[playerid][TD_BUTTON8], 0);
- PlayerTextDrawSetProportional(playerid,mTd[playerid][TD_BUTTON8], 1);
- PlayerTextDrawSetShadow(playerid,mTd[playerid][TD_BUTTON8], 1);
- PlayerTextDrawUseBox(playerid,mTd[playerid][TD_BUTTON8], 1);
- PlayerTextDrawBoxColor(playerid,mTd[playerid][TD_BUTTON8], 255);
- PlayerTextDrawTextSize(playerid,mTd[playerid][TD_BUTTON8], 179.000000, 20.000000);
- PlayerTextDrawSetSelectable(playerid,mTd[playerid][TD_BUTTON8], 1);
- mTd[playerid][TD_EXIT] = CreatePlayerTextDraw(playerid,78.000000, 326.000000, "EXIT");
- PlayerTextDrawBackgroundColor(playerid,mTd[playerid][TD_EXIT], 255);
- PlayerTextDrawFont(playerid,mTd[playerid][TD_EXIT], 1);
- PlayerTextDrawLetterSize(playerid,mTd[playerid][TD_EXIT], 0.500000, 1.000000);
- PlayerTextDrawColor(playerid,mTd[playerid][TD_EXIT], -1);
- PlayerTextDrawSetOutline(playerid,mTd[playerid][TD_EXIT], 0);
- PlayerTextDrawSetProportional(playerid,mTd[playerid][TD_EXIT], 1);
- PlayerTextDrawSetShadow(playerid,mTd[playerid][TD_EXIT], 1);
- PlayerTextDrawUseBox(playerid,mTd[playerid][TD_EXIT], 1);
- PlayerTextDrawBoxColor(playerid,mTd[playerid][TD_EXIT], 255);
- PlayerTextDrawTextSize(playerid,mTd[playerid][TD_EXIT], 112.000000, 30.000000);
- PlayerTextDrawSetSelectable(playerid,mTd[playerid][TD_EXIT], 1);
- mTd[playerid][TD_NEXT] = CreatePlayerTextDraw(playerid,146.000000, 311.000000, "NEXT");
- PlayerTextDrawBackgroundColor(playerid,mTd[playerid][TD_NEXT], 255);
- PlayerTextDrawFont(playerid,mTd[playerid][TD_NEXT], 1);
- PlayerTextDrawLetterSize(playerid,mTd[playerid][TD_NEXT], 0.500000, 1.000000);
- PlayerTextDrawColor(playerid,mTd[playerid][TD_NEXT], -1);
- PlayerTextDrawSetOutline(playerid,mTd[playerid][TD_NEXT], 0);
- PlayerTextDrawSetProportional(playerid,mTd[playerid][TD_NEXT], 1);
- PlayerTextDrawSetShadow(playerid,mTd[playerid][TD_NEXT], 1);
- PlayerTextDrawUseBox(playerid,mTd[playerid][TD_NEXT], 1);
- PlayerTextDrawBoxColor(playerid,mTd[playerid][TD_NEXT], 255);
- PlayerTextDrawTextSize(playerid,mTd[playerid][TD_NEXT], 186.000000, 30.000000);
- PlayerTextDrawSetSelectable(playerid,mTd[playerid][TD_NEXT], 1);
- mTd[playerid][TD_BACK] = CreatePlayerTextDraw(playerid,13.000000, 311.000000, "BACK");
- PlayerTextDrawBackgroundColor(playerid,mTd[playerid][TD_BACK], 255);
- PlayerTextDrawFont(playerid,mTd[playerid][TD_BACK], 1);
- PlayerTextDrawLetterSize(playerid,mTd[playerid][TD_BACK], 0.500000, 1.000000);
- PlayerTextDrawColor(playerid,mTd[playerid][TD_BACK], -1);
- PlayerTextDrawSetOutline(playerid,mTd[playerid][TD_BACK], 0);
- PlayerTextDrawSetProportional(playerid,mTd[playerid][TD_BACK], 1);
- PlayerTextDrawSetShadow(playerid,mTd[playerid][TD_BACK], 1);
- PlayerTextDrawUseBox(playerid,mTd[playerid][TD_BACK], 1);
- PlayerTextDrawBoxColor(playerid,mTd[playerid][TD_BACK], 255);
- PlayerTextDrawTextSize(playerid,mTd[playerid][TD_BACK], 55.000000, 30.000000);
- PlayerTextDrawSetSelectable(playerid,mTd[playerid][TD_BACK], 1);
- if (funcidx("TMenu_OnPlayerConnect") != -1)
- {
- return CallLocalFunction("TMenu_OnPlayerConnect", "");
- }
- return 1;
- }
- #if defined _ALS_OnPlayerConnect
- #undef OnPlayerConnect
- #else
- #define _ALS_OnPlayerConnect
- #endif
- #define OnPlayerConnect TMenu_OnPlayerConnect
- forward TMenu_OnPlayerConnect();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement