| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604 |
- static str[128];
- #define _SELECTION_ITEMS 21
- #define _ITEMS_PER_LINE 7
- #define HEADER_TEXT "Objects"
- #define _DIALOG_BASE_X 81.0
- #define _DIALOG_BASE_Y 84.0
- #define _DIALOG_WIDTH 550.0
- #define _DIALOG_HEIGHT 180.0
- #define _SPRITE_DIM_X 60.0
- #define _SPRITE_DIM_Y 70.0
- #define BUY_FURNITURE_CATEGORY_DECO 1
- #define BUY_FURNITURE_CATEGORY_OFFICE 2
- #define BUY_FURNITURE_CATEGORY_HOBBY 3
- #define BUY_FURNITURE_CATEGORY_LOUNGE 4
- #define BUY_FURNITURE_CATEGORY_BEDROOM 5
- #define BUY_FURNITURE_CATEGORY_KITCHEN 6
- #define BUY_FURNITURE_CATEGORY_DINING 7
- #define BUY_FURNITURE_CATEGORY_BATHROOM 8
- #define BUY_FURNITURE_CATEGORY_LAUNDRY 9
- #define BUY_FURNITURE_CATEGORY_ELECTRONICS 10
- #define BUY_FURNITURE_CATEGORY_LIGHTS 11
- #define BUY_FURNITURE_CATEGORY_OUTDOOR 12
- #define BUY_FURNITURE_CATEGORY_STRUCTURE 13
- new MAXIMUM_OBJECTS = 904;
- new PlayerText:_gBackgroundTextDrawId[MAX_PLAYERS];
- new PlayerText:prev_topbar[MAX_PLAYERS];
- new PlayerText:prev_bottombar[MAX_PLAYERS];
- new PlayerText:prev_topbar_line[MAX_PLAYERS];
- new PlayerText:prev_houseicon[MAX_PLAYERS];
- new PlayerText:prev_bottombar_line[MAX_PLAYERS];
- new PlayerText:_gNextButtonTextDrawId[MAX_PLAYERS];
- new PlayerText:_gPrevButtonTextDrawId[MAX_PLAYERS];
- new PlayerText:_gSelectionItems[MAX_PLAYERS][_SELECTION_ITEMS];
- new PlayerText:_gSelectionItemName[MAX_PLAYERS][_SELECTION_ITEMS];
- new PlayerText:_gSelectionItemPrice[MAX_PLAYERS][_SELECTION_ITEMS];
- new PlayerText:_gCurrentPageTextDrawId[MAX_PLAYERS];
- new PlayerText:_gHeaderTextDrawId[MAX_PLAYERS];
- new _gSelectionItemsTag[MAX_PLAYERS][_SELECTION_ITEMS];
- new _gItemAt[MAX_PLAYERS];
- //------------------------------------------------
- _GetNumberOfPages(category)
- {
- new total_pages = 0;
-
- switch(category) {
- case BUY_FURNITURE_CATEGORY_DECO: //Decorations
- {
- total_pages = 5;
- }
- case BUY_FURNITURE_CATEGORY_OFFICE: //Office
- {
- total_pages = 3;
- }
- case BUY_FURNITURE_CATEGORY_HOBBY: //Hobby
- {
- total_pages = 3;
- }
- case BUY_FURNITURE_CATEGORY_LOUNGE: //Lounge
- {
- total_pages = 3;
- }
- case BUY_FURNITURE_CATEGORY_BEDROOM: //Bedroom
- {
- total_pages = 3;
- }
- case BUY_FURNITURE_CATEGORY_KITCHEN: //Kitchen
- {
- total_pages = 7;
- }
- case BUY_FURNITURE_CATEGORY_DINING: //Dining
- {
- total_pages = 2;
- }
- case BUY_FURNITURE_CATEGORY_BATHROOM: //Bathroom
- {
- total_pages = 2;
- }
- case BUY_FURNITURE_CATEGORY_LAUNDRY: //Laundry
- {
- total_pages = 1;
- }
- case BUY_FURNITURE_CATEGORY_ELECTRONICS: //Electronics
- {
- total_pages = 3;
- }
- case BUY_FURNITURE_CATEGORY_LIGHTS: //Lights
- {
- total_pages = 1;
- }
- case BUY_FURNITURE_CATEGORY_OUTDOOR: //Outdoor
- {
- total_pages = 4;
- }
- case BUY_FURNITURE_CATEGORY_STRUCTURE: //Structure
- {
- total_pages = 4;
- }
- }
- return total_pages;
- }
- //------------------------------------------------
- // Creates a model preview sprite
- PlayerText:CreateModelPreviewTextDraw(playerid, modelindex, Float:Xpos, Float:Ypos, Float:width, Float:height, Float:rotX, Float:rotY)
- {
- new PlayerText:txtPlayerSprite = CreatePlayerTextDraw(playerid, Xpos, Ypos, ""); // it has to be set with SetText later
- PlayerTextDrawFont(playerid, txtPlayerSprite, TEXT_DRAW_FONT_MODEL_PREVIEW);
- PlayerTextDrawColor(playerid, txtPlayerSprite, 0xFFFFFFFF);
- PlayerTextDrawBackgroundColor(playerid, txtPlayerSprite, 0x2E2E2E70);
- PlayerTextDrawTextSize(playerid, txtPlayerSprite, width, height); // Text size is the Width:Height
- PlayerTextDrawSetPreviewModel(playerid, txtPlayerSprite, modelindex);
- PlayerTextDrawSetSelectable(playerid, txtPlayerSprite, 1);
- PlayerTextDrawSetPreviewRot(playerid, txtPlayerSprite, rotX, rotY, 0.0, 1.0);
- PlayerTextDrawShow(playerid,txtPlayerSprite);
- return txtPlayerSprite;
- }
- PlayerText:CreateModelPreviewNameTextDraw(playerid, Float:Xpos, Float:Ypos, Float:Width, Float:Height, button_text[])
- {
- new PlayerText:txtInit;
- txtInit = CreatePlayerTextDraw(playerid, Xpos, Ypos, button_text);
- PlayerTextDrawUseBox(playerid, txtInit, 1);
- PlayerTextDrawBoxColor(playerid, txtInit, 0x00000000);
- //PlayerTextDrawBackgroundColor(playerid, txtInit, 0x000000FF);
- PlayerTextDrawLetterSize(playerid, txtInit, 0.15, 0.65);
- PlayerTextDrawFont(playerid, txtInit, 1);
- PlayerTextDrawSetShadow(playerid, txtInit, 0); // no shadow
- PlayerTextDrawSetOutline(playerid, txtInit, 0);
- PlayerTextDrawColor(playerid, txtInit, 0xD3AA29FF);
- PlayerTextDrawAlignment(playerid, txtInit, 2);
- PlayerTextDrawTextSize(playerid, txtInit, Height, Width); // The width and height are reversed for centering.. something the game does <g>
- PlayerTextDrawShow(playerid, txtInit);
- return txtInit;
- }
- PlayerText:CreateModelPreviewPriceTextDraw(playerid, Float:Xpos, Float:Ypos, Float:Width, Float:Height, button_text[])
- {
- new PlayerText:txtInit;
- txtInit = CreatePlayerTextDraw(playerid, Xpos, Ypos, button_text);
- PlayerTextDrawUseBox(playerid, txtInit, 1);
- PlayerTextDrawBoxColor(playerid, txtInit, 0x00000000);
- //PlayerTextDrawBackgroundColor(playerid, txtInit, 0x000000FF);
- PlayerTextDrawLetterSize(playerid, txtInit, 0.15, 0.65);
- PlayerTextDrawFont(playerid, txtInit, 1);
- PlayerTextDrawSetShadow(playerid, txtInit, 0); // no shadow
- PlayerTextDrawSetOutline(playerid, txtInit, 0);
- PlayerTextDrawColor(playerid, txtInit, 0x1A7E1CFF);
- PlayerTextDrawAlignment(playerid, txtInit, 2);
- PlayerTextDrawTextSize(playerid, txtInit, Height, Width); // The width and height are reversed for centering.. something the game does <g>
- PlayerTextDrawShow(playerid, txtInit);
- return txtInit;
- }
- //------------------------------------------------
- _DestroyPlayerModelPreviews(playerid)
- {
- new x=0;
- while(x != _SELECTION_ITEMS) {
- if(_gSelectionItems[playerid][x] != PlayerText:INVALID_TEXT_DRAW) {
- PlayerTextDrawDestroy(playerid, _gSelectionItems[playerid][x]);
- _gSelectionItems[playerid][x] = PlayerText:INVALID_TEXT_DRAW;
-
- //destroy nametag
- PlayerTextDrawDestroy(playerid, _gSelectionItemName[playerid][x]);
- _gSelectionItemName[playerid][x] = PlayerText:INVALID_TEXT_DRAW;
- //destroy price
- PlayerTextDrawDestroy(playerid, _gSelectionItemPrice[playerid][x]);
- _gSelectionItemPrice[playerid][x] = PlayerText:INVALID_TEXT_DRAW;
- }
- x++;
- }
- }
- //------------------------------------------------
- _ShowPlayerModelPreviews(playerid, category)
- {
- new x=0;
- new Float:BaseX = _DIALOG_BASE_X;
- new Float:BaseY = _DIALOG_BASE_Y - (_SPRITE_DIM_Y * 0.33); // down a bit
- new linetracker = 0;
-
- new itemat = GetPVarInt(playerid, "ospawner_page") * _SELECTION_ITEMS;
-
- /*
- //DEBUG
- new dbstr[128];
- format(dbstr, sizeof(dbstr), "itemat is %d", itemat);
- SendClientMessage(playerid, -1, dbstr);
-
- format(dbstr, sizeof(dbstr), "_SELECTION_ITEMS is %d", _SELECTION_ITEMS);
- SendClientMessage(playerid, -1, dbstr);
-
- format(dbstr, sizeof(dbstr), "MAXIMUM_OBJECTS is %d", MAXIMUM_OBJECTS);
- SendClientMessage(playerid, -1, dbstr);
- */
-
- // Destroy any previous ones created
- _DestroyPlayerModelPreviews(playerid);
- switch(category)
- {
- case BUY_FURNITURE_CATEGORY_DECO: //Decor
- {
- itemat = 0 + GetPVarInt(playerid, "ospawner_page") * _SELECTION_ITEMS;
- MAXIMUM_OBJECTS = 88;
- }
- case BUY_FURNITURE_CATEGORY_OFFICE: //Office
- {
- itemat = 88 + GetPVarInt(playerid, "ospawner_page") * _SELECTION_ITEMS;
- MAXIMUM_OBJECTS = 132;
- }
- case BUY_FURNITURE_CATEGORY_HOBBY: //Hobby
- {
- itemat = 132 + GetPVarInt(playerid, "ospawner_page") * _SELECTION_ITEMS;
- MAXIMUM_OBJECTS = 184;
- }
- case BUY_FURNITURE_CATEGORY_LOUNGE: //Lounge
- {
- itemat = 184 + GetPVarInt(playerid, "ospawner_page") * _SELECTION_ITEMS;
- MAXIMUM_OBJECTS = 231;
- }
- case BUY_FURNITURE_CATEGORY_BEDROOM: //Bedroom
- {
- itemat = 231 + GetPVarInt(playerid, "ospawner_page") * _SELECTION_ITEMS;
- MAXIMUM_OBJECTS = 281;
- }
- case BUY_FURNITURE_CATEGORY_KITCHEN: //Kitchen
- {
- itemat = 281 + GetPVarInt(playerid, "ospawner_page") * _SELECTION_ITEMS;
- MAXIMUM_OBJECTS = 417;
- }
- case BUY_FURNITURE_CATEGORY_DINING: //Dining
- {
- itemat = 417 + GetPVarInt(playerid, "ospawner_page") * _SELECTION_ITEMS;
- MAXIMUM_OBJECTS = 449;
- }
- case BUY_FURNITURE_CATEGORY_BATHROOM: //Bathroom
- {
- itemat = 449 + GetPVarInt(playerid, "ospawner_page") * _SELECTION_ITEMS;
- MAXIMUM_OBJECTS = 473;
- }
- case BUY_FURNITURE_CATEGORY_LAUNDRY: //Laundry
- {
- itemat = 473 + GetPVarInt(playerid, "ospawner_page") * _SELECTION_ITEMS;
- MAXIMUM_OBJECTS = 483;
- }
- case BUY_FURNITURE_CATEGORY_ELECTRONICS: //Eletronics
- {
- itemat = 483 + GetPVarInt(playerid, "ospawner_page") * _SELECTION_ITEMS;
- MAXIMUM_OBJECTS = 538;
- }
- case BUY_FURNITURE_CATEGORY_LIGHTS: //Lights
- {
- itemat = 538 + GetPVarInt(playerid, "ospawner_page") * _SELECTION_ITEMS;
- MAXIMUM_OBJECTS = 559;
- }
- case BUY_FURNITURE_CATEGORY_OUTDOOR: //Outdoor
- {
- itemat = 559 + GetPVarInt( playerid, "ospawner_page") * _SELECTION_ITEMS;
- MAXIMUM_OBJECTS = 626;
- }
- case BUY_FURNITURE_CATEGORY_STRUCTURE: //Structural Changes
- {
- itemat = 626 + GetPVarInt( playerid, "ospawner_page") * _SELECTION_ITEMS;
- MAXIMUM_OBJECTS = 693;
- }
- }
-
- while(x != _SELECTION_ITEMS && itemat < MAXIMUM_OBJECTS) {
- if(linetracker == 0) {
- BaseX = _DIALOG_BASE_X + 25.0; // in a bit from the box
- BaseY += _SPRITE_DIM_Y + 1.0; // move on the Y for the next line
- }
-
- _gSelectionItems[playerid][x] = CreateModelPreviewTextDraw(playerid, FurnitureObjectList[itemat][fD_model], BaseX, BaseY, _SPRITE_DIM_X, _SPRITE_DIM_Y, FurnitureObjectList[itemat][fD_rotX], FurnitureObjectList[itemat][fD_rotY]);
- _gSelectionItemsTag[playerid][x] = FurnitureObjectList[itemat][fD_model];
- _gSelectionItemName[playerid][x] = CreateModelPreviewNameTextDraw(playerid, BaseX + _SPRITE_DIM_X / 2, BaseY + _SPRITE_DIM_Y / 2 + 15, 50.0, 30.0, FurnitureObjectList[itemat][fD_name]);
-
- new pricestr[10];
- format(pricestr, sizeof(pricestr), "$%d", FurnitureObjectList[itemat][fD_price]);
-
- _gSelectionItemPrice[playerid][x] = CreateModelPreviewPriceTextDraw(playerid, BaseX + _SPRITE_DIM_X / 2, BaseY + _SPRITE_DIM_Y / 2 + 23, 50.0, 30.0, pricestr);
-
- BaseX += _SPRITE_DIM_X + 1.0; // move on the X for the next sprite
- linetracker++;
- if(linetracker == _ITEMS_PER_LINE) linetracker = 0;
- itemat++;
- x++;
- }
- }
- //------------------------------------------------
- _UpdatePageTextDraw(playerid, category)
- {
- new PageText[64+1];
- format(PageText, 64, "%d/%d", GetPVarInt(playerid,"ospawner_page") + 1, _GetNumberOfPages(category));
- PlayerTextDrawSetString(playerid, _gCurrentPageTextDrawId[playerid], PageText);
- }
- //------------------------------------------------
- _CreateSelectionMenu(playerid, category)
- {
- //background
- _gBackgroundTextDrawId[playerid] = CreatePlayerTextDraw(playerid, 92.000000, 125.000000, "_");
- PlayerTextDrawBackgroundColor(playerid, _gBackgroundTextDrawId[playerid], 255);
- PlayerTextDrawFont(playerid,_gBackgroundTextDrawId[playerid], 1);
- PlayerTextDrawLetterSize(playerid, _gBackgroundTextDrawId[playerid], 0.500000, 25.000003);
- PlayerTextDrawColor(playerid, _gBackgroundTextDrawId[playerid], -1);
- PlayerTextDrawSetOutline(playerid, _gBackgroundTextDrawId[playerid], 0);
- PlayerTextDrawSetShadow(playerid, _gBackgroundTextDrawId[playerid], 1);
- PlayerTextDrawUseBox(playerid, _gBackgroundTextDrawId[playerid], 1);
- PlayerTextDrawBoxColor(playerid, _gBackgroundTextDrawId[playerid], 150);
- PlayerTextDrawTextSize(playerid, _gBackgroundTextDrawId[playerid], 547.000000, 106.000000);
- PlayerTextDrawShow(playerid, _gBackgroundTextDrawId[playerid]);
-
- //bottom bar
- prev_bottombar[playerid] = CreatePlayerTextDraw(playerid, 92.000000, 354.000000, "_");
- PlayerTextDrawBackgroundColor(playerid, prev_bottombar[playerid], 255);
- PlayerTextDrawFont(playerid, prev_bottombar[playerid], 1);
- PlayerTextDrawLetterSize(playerid, prev_bottombar[playerid], 0.500000, 1.000002);
- PlayerTextDrawColor(playerid, prev_bottombar[playerid], -1);
- PlayerTextDrawSetOutline(playerid, prev_bottombar[playerid], 0);
- PlayerTextDrawSetShadow(playerid, prev_bottombar[playerid], 1);
- PlayerTextDrawUseBox(playerid, prev_bottombar[playerid], 1);
- PlayerTextDrawBoxColor(playerid, prev_bottombar[playerid], 180);
- PlayerTextDrawTextSize(playerid, prev_bottombar[playerid], 547.000000, 111.000000);
- PlayerTextDrawShow(playerid, prev_bottombar[playerid]);
-
- //top bar
- prev_topbar[playerid] = CreatePlayerTextDraw(playerid, 92.000000, 112.000000, "_");
- PlayerTextDrawBackgroundColor(playerid, prev_topbar[playerid], 255);
- PlayerTextDrawFont(playerid, prev_topbar[playerid], 1);
- PlayerTextDrawLetterSize(playerid, prev_topbar[playerid], 0.500000, 1.000002);
- PlayerTextDrawColor(playerid, prev_topbar[playerid], -1);
- PlayerTextDrawSetOutline(playerid, prev_topbar[playerid], 0);
- PlayerTextDrawSetShadow(playerid, prev_topbar[playerid], 1);
- PlayerTextDrawUseBox(playerid, prev_topbar[playerid], 1);
- PlayerTextDrawBoxColor(playerid, prev_topbar[playerid], 180);
- PlayerTextDrawTextSize(playerid, prev_topbar[playerid], 547.000000, 111.000000);
- PlayerTextDrawShow(playerid, prev_topbar[playerid]);
-
- //bottom bar line
- prev_bottombar_line[playerid] = CreatePlayerTextDraw(playerid, 92.000000, 353.000000, "_");
- PlayerTextDrawBackgroundColor(playerid, prev_bottombar_line[playerid], 255);
- PlayerTextDrawFont(playerid, prev_bottombar_line[playerid], 1);
- PlayerTextDrawLetterSize(playerid, prev_bottombar_line[playerid], 0.500000, -0.199996);
- PlayerTextDrawColor(playerid, prev_bottombar_line[playerid], -1);
- PlayerTextDrawSetOutline(playerid, prev_bottombar_line[playerid], 0);
- PlayerTextDrawSetShadow(playerid, prev_bottombar_line[playerid], 1);
- PlayerTextDrawUseBox(playerid, prev_bottombar_line[playerid], 1);
- PlayerTextDrawBoxColor(playerid, prev_bottombar_line[playerid], 336860310);
- PlayerTextDrawTextSize(playerid, prev_bottombar_line[playerid], 547.000000, 290.000000);
- PlayerTextDrawShow(playerid, prev_bottombar_line[playerid]);
-
- //top bar line
- prev_topbar_line[playerid] = CreatePlayerTextDraw(playerid, 92.000000, 124.000000, "_");
- PlayerTextDrawBackgroundColor(playerid, prev_topbar_line[playerid], 255);
- PlayerTextDrawFont(playerid, prev_topbar_line[playerid], 1);
- PlayerTextDrawLetterSize(playerid, prev_topbar_line[playerid], 0.500000, -0.199995);
- PlayerTextDrawColor(playerid, prev_topbar_line[playerid], -1);
- PlayerTextDrawSetOutline(playerid, prev_topbar_line[playerid], 0);
- PlayerTextDrawSetShadow(playerid, prev_topbar_line[playerid], 1);
- PlayerTextDrawUseBox(playerid, prev_topbar_line[playerid], 1);
- PlayerTextDrawBoxColor(playerid, prev_topbar_line[playerid], 336860310);
- PlayerTextDrawTextSize(playerid, prev_topbar_line[playerid], 547.000000, 290.000000);
- PlayerTextDrawShow(playerid, prev_topbar_line[playerid]);
-
- //tshirt icon
- prev_houseicon[playerid] = CreatePlayerTextDraw(playerid, 94.000000, 112.000000, "hud:radar_propertyG");
- PlayerTextDrawBackgroundColor(playerid, prev_houseicon[playerid], 255);
- PlayerTextDrawFont(playerid, prev_houseicon[playerid], 4);
- PlayerTextDrawLetterSize(playerid, prev_houseicon[playerid], 0.500000, 1.000000);
- PlayerTextDrawColor(playerid, prev_houseicon[playerid], -1);
- PlayerTextDrawSetOutline(playerid, prev_houseicon[playerid], 0);
- PlayerTextDrawSetShadow(playerid, prev_houseicon[playerid], 1);
- PlayerTextDrawUseBox(playerid, prev_houseicon[playerid], 1);
- PlayerTextDrawBoxColor(playerid, prev_houseicon[playerid], -1);
- PlayerTextDrawTextSize(playerid, prev_houseicon[playerid], 9.000000, 10.000000);
- PlayerTextDrawShow(playerid, prev_houseicon[playerid]);
-
- //page number
- _gCurrentPageTextDrawId[playerid] = CreatePlayerTextDraw(playerid, 545.000000, 112.000000, "0/0");
- PlayerTextDrawAlignment(playerid, _gCurrentPageTextDrawId[playerid], 3);
- PlayerTextDrawBackgroundColor(playerid, _gCurrentPageTextDrawId[playerid], 255);
- PlayerTextDrawFont(playerid, _gCurrentPageTextDrawId[playerid], 1);
- PlayerTextDrawLetterSize(playerid, _gCurrentPageTextDrawId[playerid], 0.149999, 0.899999);
- PlayerTextDrawColor(playerid, _gCurrentPageTextDrawId[playerid], -2105376106);
- PlayerTextDrawSetOutline(playerid, _gCurrentPageTextDrawId[playerid], 0);
- PlayerTextDrawSetShadow(playerid, _gCurrentPageTextDrawId[playerid], 0);
- PlayerTextDrawUseBox(playerid, _gCurrentPageTextDrawId[playerid], 0);
- PlayerTextDrawSetProportional(playerid, _gCurrentPageTextDrawId[playerid], 1);
- PlayerTextDrawShow(playerid, _gCurrentPageTextDrawId[playerid]);
-
- //arrowright
- _gNextButtonTextDrawId[playerid] = CreatePlayerTextDraw(playerid, 537.000000, 354.000000, "LD_BEAT:right");
- PlayerTextDrawBackgroundColor(playerid, _gNextButtonTextDrawId[playerid], 255);
- PlayerTextDrawFont(playerid, _gNextButtonTextDrawId[playerid], 4);
- PlayerTextDrawLetterSize(playerid, _gNextButtonTextDrawId[playerid], 0.500000, 1.000000);
- PlayerTextDrawColor(playerid, _gNextButtonTextDrawId[playerid], -1);
- PlayerTextDrawSetOutline(playerid, _gNextButtonTextDrawId[playerid], 0);
- PlayerTextDrawSetShadow(playerid, _gNextButtonTextDrawId[playerid], 1);
- PlayerTextDrawUseBox(playerid, _gNextButtonTextDrawId[playerid], 1);
- PlayerTextDrawBoxColor(playerid, _gNextButtonTextDrawId[playerid], 255);
- PlayerTextDrawTextSize(playerid, _gNextButtonTextDrawId[playerid], 8.000000, 9.000000);
- PlayerTextDrawSetSelectable(playerid, _gNextButtonTextDrawId[playerid], 1);
- PlayerTextDrawShow(playerid, _gNextButtonTextDrawId[playerid]);
-
- //arrowleft
- _gPrevButtonTextDrawId[playerid] = CreatePlayerTextDraw(playerid, 524.000000, 354.000000, "LD_BEAT:left");
- PlayerTextDrawBackgroundColor(playerid, _gPrevButtonTextDrawId[playerid], 255);
- PlayerTextDrawFont(playerid, _gPrevButtonTextDrawId[playerid], 4);
- PlayerTextDrawLetterSize(playerid, _gPrevButtonTextDrawId[playerid], 0.500000, 1.000000);
- PlayerTextDrawColor(playerid, _gPrevButtonTextDrawId[playerid], -1);
- PlayerTextDrawSetOutline(playerid, _gPrevButtonTextDrawId[playerid], 0);
- PlayerTextDrawSetShadow(playerid, _gPrevButtonTextDrawId[playerid], 1);
- PlayerTextDrawUseBox(playerid, _gPrevButtonTextDrawId[playerid], 1);
- PlayerTextDrawBoxColor(playerid, _gPrevButtonTextDrawId[playerid], 255);
- PlayerTextDrawTextSize(playerid, _gPrevButtonTextDrawId[playerid], 8.000000, 9.000000);
- PlayerTextDrawSetSelectable(playerid, _gPrevButtonTextDrawId[playerid], 1);
- PlayerTextDrawShow(playerid, _gPrevButtonTextDrawId[playerid]);
- _ShowPlayerModelPreviews(playerid, category);
- _UpdatePageTextDraw(playerid, category);
- }
- //------------------------------------------------
- _DestroySelectionMenu(playerid)
- {
- _DestroyPlayerModelPreviews(playerid);
- PlayerTextDrawDestroy(playerid, _gHeaderTextDrawId[playerid]);
- PlayerTextDrawDestroy(playerid, _gBackgroundTextDrawId[playerid]);
- PlayerTextDrawDestroy(playerid, prev_bottombar[playerid]); //bottombar
- PlayerTextDrawDestroy(playerid, prev_topbar[playerid]); //topbar
- PlayerTextDrawDestroy(playerid, prev_topbar_line[playerid]); //topbar line
- PlayerTextDrawDestroy(playerid, prev_bottombar_line[playerid]);
- PlayerTextDrawDestroy(playerid, prev_houseicon[playerid]);
- PlayerTextDrawDestroy(playerid, _gCurrentPageTextDrawId[playerid]);
- PlayerTextDrawDestroy(playerid, _gNextButtonTextDrawId[playerid]);
- PlayerTextDrawDestroy(playerid, _gPrevButtonTextDrawId[playerid]);
- _gHeaderTextDrawId[playerid] = PlayerText:INVALID_TEXT_DRAW;
- _gBackgroundTextDrawId[playerid] = PlayerText:INVALID_TEXT_DRAW;
- prev_bottombar[playerid] = PlayerText:INVALID_TEXT_DRAW; //buttombar
- prev_topbar[playerid] = PlayerText:INVALID_TEXT_DRAW; //topbar
- prev_topbar_line[playerid] = PlayerText:INVALID_TEXT_DRAW; //topbar line
- prev_bottombar_line[playerid] = PlayerText:INVALID_TEXT_DRAW; //bottombar line
- prev_houseicon[playerid] = PlayerText:INVALID_TEXT_DRAW; //bottombar line
- _gCurrentPageTextDrawId[playerid] = PlayerText:INVALID_TEXT_DRAW;
- _gNextButtonTextDrawId[playerid] = PlayerText:INVALID_TEXT_DRAW;
- _gPrevButtonTextDrawId[playerid] = PlayerText:INVALID_TEXT_DRAW;
- }
- stock getFurnitureIndexFromModel(modelid) {
- for(new i; i < sizeof(FurnitureObjectList); i++) {
- if(modelid == FurnitureObjectList[i][fD_model]) {
- return i;
- }
- }
- return -1;
- }
- HandleObjectItemSelection(playerid, selecteditem) {
-
- if(PlayerInfo[playerid][pCash] < FurnitureObjectList[selecteditem][fD_price]) {
- format(str, sizeof(str), "You cant afford the %s.", FurnitureObjectList[selecteditem][fD_name]);
- SendClientMessage(playerid, COLOR_GREY, str);
- return 1;
- }
-
- //add furniture to players house array
- new houseid = PlayerInfo[playerid][pHouseID];
- new modelid = FurnitureObjectList[selecteditem][fD_model];
-
- if(PlayerInfo[playerid][pHouseID] == 0) return SendClientMessage(playerid, COLOR_GREY, "You do not own a house.");
- if(HouseInfo[houseid][hFurnitureAmount] >= MAX_FURNITURE) return SendClientMessage(playerid, COLOR_GREY, "You have reached the max amount of furniture slots.");
-
- CreateHouseFurniture(playerid, houseid, modelid, selecteditem); //ugly
- return 1;
- }
- //------------------------------------------------
- stock clearObjectViewerTD(playerid) {
- // Init all of the textdraw related globals
- _gHeaderTextDrawId[playerid] = PlayerText:INVALID_TEXT_DRAW;
- _gBackgroundTextDrawId[playerid] = PlayerText:INVALID_TEXT_DRAW;
- prev_bottombar[playerid] = PlayerText:INVALID_TEXT_DRAW;
- prev_topbar[playerid] = PlayerText:INVALID_TEXT_DRAW;
- prev_topbar_line[playerid] = PlayerText:INVALID_TEXT_DRAW;
- prev_bottombar_line[playerid] = PlayerText:INVALID_TEXT_DRAW;
- prev_houseicon[playerid] = PlayerText:INVALID_TEXT_DRAW;
- _gCurrentPageTextDrawId[playerid] = PlayerText:INVALID_TEXT_DRAW;
- _gNextButtonTextDrawId[playerid] = PlayerText:INVALID_TEXT_DRAW;
- _gPrevButtonTextDrawId[playerid] = PlayerText:INVALID_TEXT_DRAW;
-
- new x=0;
- while(x != _SELECTION_ITEMS) {
- _gSelectionItems[playerid][x] = PlayerText:INVALID_TEXT_DRAW;
- _gSelectionItemName[playerid][x] = PlayerText:INVALID_TEXT_DRAW;
- _gSelectionItemPrice[playerid][x] = PlayerText:INVALID_TEXT_DRAW;
- x++;
- }
- _gItemAt[playerid] = 0;
- return 1;
- }
- stock playerClickOTextDraw(playerid, Text:clickedid) {
- if(GetPVarInt(playerid, "ospawner_active") == 0) return 0;
- // Handle: They cancelled (with ESC)
- if(clickedid == Text:INVALID_TEXT_DRAW) {
- _DestroySelectionMenu(playerid);
- SetPVarInt(playerid, "ospawner_active", 0);
- PlayerPlaySound(playerid, 1085, 0.0, 0.0, 0.0);
- return 1;
- }
- return 1;
- }
- //------------------------------------------------
- stock playerClickObjectTextDraw(playerid, PlayerText:playertextid) {
- if(GetPVarInt(playerid, "ospawner_active") == 0) return 0;
- new curpage = GetPVarInt(playerid, "ospawner_page");
- new category = GetPVarInt(playerid, "ospawner_category");
-
- // Handle: next button
- if(playertextid == _gNextButtonTextDrawId[playerid]) {
- if(curpage < (_GetNumberOfPages(category) - 1)) {
- SetPVarInt(playerid, "ospawner_page", curpage + 1);
- _ShowPlayerModelPreviews(playerid, category);
- _UpdatePageTextDraw(playerid, category);
- PlayerPlaySound(playerid, 1083, 0.0, 0.0, 0.0);
- } else {
- PlayerPlaySound(playerid, 1085, 0.0, 0.0, 0.0);
- }
- return 1;
- }
-
- // Handle: previous button
- if(playertextid == _gPrevButtonTextDrawId[playerid]) {
- if(curpage > 0) {
- SetPVarInt(playerid, "ospawner_page", curpage - 1);
- _ShowPlayerModelPreviews(playerid, category);
- _UpdatePageTextDraw(playerid, category);
- PlayerPlaySound(playerid, 1084, 0.0, 0.0, 0.0);
- } else {
- PlayerPlaySound(playerid, 1085, 0.0, 0.0, 0.0);
- }
- return 1;
- }
-
- // Search in the array of textdraws used for the items
- new x=0;
- while(x != _SELECTION_ITEMS) {
- if(playertextid == _gSelectionItems[playerid][x]) {
-
- /*
- format(str, sizeof(str), "x is %d.", x);
- SendClientMessage(playerid, COLOR_GREY, str);
-
- format(str, sizeof(str), "_gSelectionItemsTag[playerid][x] is %d.", _gSelectionItemsTag[playerid][x]);
- SendClientMessage(playerid, COLOR_GREY, str);
- */
-
- new i = getFurnitureIndexFromModel(_gSelectionItemsTag[playerid][x]);
- if(i != -1) {
-
- /*
- format(str, sizeof(str), "found match at index %d.", i);
- SendClientMessage(playerid, COLOR_GREY, str);
- */
-
- format(str, sizeof(str), "Are you sure you want to pay $%d for a %s?", FurnitureObjectList[i][fD_price], FurnitureObjectList[i][fD_name]);
- ShowPlayerDialog(playerid, DIALOG_FURNITURE_BUY_CONFIRM, DIALOG_STYLE_MSGBOX, "Confirm", str, "Buy", "Back");
-
- SetPVarInt(playerid, "buying_furniture_id", i);
- PlayerPlaySound(playerid, 1083, 0.0, 0.0, 0.0);
- _DestroySelectionMenu(playerid);
- CancelSelectTextDraw(playerid);
- SetPVarInt(playerid, "ospawner_active", 0);
- }
- return 1;
- }
- x++;
- }
- return 1;
- }
|