Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define MAX_SERVER_PICKUPS (10000) // магическое число
- #define PICKUP_TYPE_HOUSE (0)
- #define PICKUP_TYPE_BUSINESS (1)
- #define PICKUP_SUBTYPE_HOUSE_ENTER (2)
- #define PICKUP_SUBTYPE_HOUSE_EXIT (3)
- #define PICKUP_SUBTYPE_HOUSE_GARA_DOOR (4)
- #define PICKUP_SUBTYPE_HOUSE_ENTER_GARA (5)
- #define PICKUP_SUBTYPE_HOUSE_EXIT_GARA (6)
- #define PICKUP_SUBTYPE_BUSINESS_ENTER (7)
- #define PICKUP_SUBTYPE_BUSINESS_EXIT (8)
- #define PICKUP_SUBTYPE_BUSINESS_MENU (9)
- enum e_PICKUP_INFO
- {
- pickup_type,
- pickup_subtype,
- pickup_object_id
- }
- new
- gPickupInfo[MAX_PICKUPS][e_PICKUP_INFO];
- public OnPlayerPickUpDynamicPickup(playerid, pickupid)
- {
- switch(gPickupInfo[pickupid][pickup_type])
- {
- case PICKUP_TYPE_HOUSE:
- {
- new
- houseId = gPickupInfo[pickup][pickup_object_id],
- playerState = GetPlayerState(playerid);
- switch(gPickupInfo[pickupid][pickup_subtype])
- {
- case PICKUP_SUBTYPE_HOUSE_ENTER:
- {
- if(playerState != PLAYER_STATE_ONFOOT)
- return 1;
- new
- string[256];
- if(h_info[i][h_user_id] != INVALID_ACCOUNT_ID)
- {
- format(string, sizeof(string), ""W"Владелец:\t"I"%s\n"W"Номер дома:\t"I"%d\n\n"W"[1] Войти в дом [%s"W"]",
- h_info[i][h_owner], i, h_info[i][h_lock] == 0 ? ("{008000}Открыт"):("{FF0000}Закрыт"));
- if(h_info[i][h_squar] > 1)
- format(string, sizeof(string), "%s\n[2] Войти в гараж [%s"W"]", string, h_info[i][h_garage_lock] == 0 ? ("{008000}Открыт"):("{FF0000}Закрыт"));
- return ShowPlayerDialog(playerid, D_HOUSE_DOOR,DIALOG_STYLE_INPUT,"Дом куплен", string,"Выбрать","Отмена");
- }
- else
- {
- static const
- house_class[][] = {"15 кв.м", "36 кв.м", "72 кв.м", "120 кв.м"};
- format(string, sizeof(string), ""W"Площадь:\t"I"%s\n"W"Номер дома:\t"I"%d\n\n"W"Стоимость:\t"S"%d$\n\n"I"Для приобретения дома нажмите кнопку "I"\"Купить\"",
- house_class[h_info[i][h_squar]-1],i,h_info[i][h_value]);
- return ShowPlayerDialog(playerid,D_HOUSE_DOOR,DIALOG_STYLE_MSGBOX,"Дом свободен",string,"Купить","Отмена");
- }
- }
- case PICKUP_SUBTYPE_HOUSE_EXIT:
- {
- if(playerState != PLAYER_STATE_ONFOOT)
- return 1;
- if(h_info[i][h_squar] > 1)
- return ShowPlayerDialog(playerid, D_HOUSE_DOOR,DIALOG_STYLE_INPUT,"Выход из дома","Куда вы хотите выйти из дома?\n\n[1] На улицу\n[2] В гараж","Выбрать","Отмена");
- else
- return ShowPlayerDialog(playerid, D_HOUSE_DOOR,DIALOG_STYLE_MSGBOX,"Выход из дома","Вы хотите выйти из дома?","Выйти","Отмена");
- }
- case PICKUP_SUBTYPE_HOUSE_GARA_DOOR:
- {
- if(playerState == PLAYER_STATE_ONFOOT)
- return ShowPlayerDialog(playerid, D_GARAGE_DOOR,DIALOG_STYLE_INPUT,"Выход из гаража","Куда вы хотите выйти из гаража?\n\n[1] На улицу\n[2] В дом","Выбрать","Отмена");
- }
- case PICKUP_SUBTYPE_HOUSE_ENTER_GARA:
- {
- if(playerState == PLAYER_STATE_DRIVER)
- return ShowPlayerDialog(playerid, D_GARAGE_AREA, DIALOG_STYLE_MSGBOX,"Заехать в гараж?","Вы хотите заехать в гараж?","Выбрать","Отмена");
- }
- case PICKUP_SUBTYPE_HOUSE_EXIT_GARA:
- {
- if(playerState == PLAYER_STATE_DRIVER)
- return ShowPlayerDialog(playerid, D_GARAGE_AREA, DIALOG_STYLE_MSGBOX,"Выехать из гаража?","Вы хотите выехать из гаража?","Выбрать","Отмена");
- }
- }
- }
- case PICKUP_TYPE_BUSINESS:
- {
- if(playerState != PLAYER_STATE_ONFOOT)
- return 1;
- new
- businessId = gPickupInfo[pickup][pickup_object_id],
- pickupSubtype = gPickupInfo[pickupid][pickup_subtype];
- if(pickupSubtype == PICKUP_SUBTYPE_BUSINESS_ENTER)
- {
- if(b_info[businessId][_owned] == 0)
- {
- STRING_GLOBAL[0] = EOS;
- format(STRING_GLOBAL,sizeof(STRING_GLOBAL),""W"Цена: %d$\nЕсли вы действительно хотите приобрести данный бизнес, нажмите "I"Купить",b_info[businessId][_price]);
- return ShowPlayerDialog(playerid,36,DIALOG_STYLE_MSGBOX,"Покупка бизнеса",STRING_GLOBAL,"Купить","Отмена");
- }
- if(b_info[businessId][_tip] == 4)
- return 1;
- if(b_info[businessId][_lock] == 1 && businessId != p_info[playerid][key_bizz])
- return SendClientMessage(playerid,error,"Бизнес закрыт");
- SetPlayerPos(playerid, b_info[businessId][b_exit][0],b_info[businessId][b_exit][1],b_info[businessId][b_exit][2]);
- SetPlayerInterior(playerid, b_info[businessId][_int]), SetPlayerVirtualWorld(playerid, b_info[businessId][_world]);
- SetCameraBehindPlayer(playerid);
- SetPVarInt(playerid, "bID", businessId);
- return 1;
- }
- else if(pickupSubtype == PICKUP_SUBTYPE_BUSINESS_EXIT)
- {
- if(b_info[businessId][_tip] == 2 && p_info[playerid][member] == 0)
- {
- SetPlayerSkin(playerid, p_info[playerid][skin]);
- DeletePVar(playerid,"@clothes");
- SendClientMessage(playerid, info, "Жаль, что вам ничего не подошло. Приходите к нам еще.");
- }
- if(b_info[businessId][_tip] == 5 && GetPVarInt(playerid,"CasinoRank"))
- {
- DeletePVar(playerid,"CasinoRank");
- SetPlayerSkin(playerid, p_info[playerid][skin]);
- }
- SetPlayerPos(playerid, b_info[GetPVarInt(playerid, "bID")][b_enter][0], b_info[GetPVarInt(playerid, "bID")][b_enter][1], b_info[GetPVarInt(playerid, "bID")][b_enter][2]);
- SetPlayerInterior(playerid, 0);
- SetPlayerVirtualWorld(playerid, 0);
- return 1;
- }
- else // PICKUP_SUBTYPE_BUSINESS_MENU
- {
- if(b_info[GetPVarInt(playerid, "bID")][_owned] == 0)
- return SendClientMessage(playerid,error,"Магазин не работает");
- MENU_BIZ(playerid, b_info[GetPVarInt(playerid, "bID")][_tip]);
- return 1;
- }
- }
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement