Daniel_Cortez
04.10.2015, 21:48
Всем доброго времени суток.
Хочу поделиться с вами простой системой гаражей, которую я начал делать ещё в 2013 году.
И пусть вас не пугает эта цифра, с того момента код системы был несколько раз пересмотрен и улучшен.
В частности, сделано несколько макросов, благодаря которым систему гаражей можно подстроить практически под любой мод.
Также данные обо всех гаражах записаны в файле garages.cfg (см. в архиве вместе с инклудом). Всего этих гаражей 12 - именно столько свободных мест под гаражи я смог найти на карте Сан-Андреаса (и все они в Лос-Сантосе), но вы можете с помощью маппинга добавить ещё.
Скриншоты:
http://ihost.pro-pawn.ru/image.php?di=C4PZ
http://ihost.pro-pawn.ru/image.php?di=BHVW
http://ihost.pro-pawn.ru/image.php?di=T440
http://ihost.pro-pawn.ru/image.php?di=OD1T
http://ihost.pro-pawn.ru/image.php?di=Y23U
http://ihost.pro-pawn.ru/image.php?di=Z8N6
http://ihost.pro-pawn.ru/image.php?di=HQZJ
Пример использования:
#define GARAGES_FILE "Properties/garages.cfg"
#define MAX_GARAGES 12
#define GARAGES_PINFO PlayerInfo
#define GARAGES_PINFO_GARAGEKEY pGarageKey
#define GARAGES_PINFO_MONEY pMoney
#include "../include/dc_garages.inc"
Требования для работы:
sscanf2/3
DC_CMD
Streamer (опционально)
Список макросов для настройки:
Обязательные настройки:
GARAGES_FILE - название файла для хранения.
MAX_GARAGES - кол-во гаражей в файле, указанном в GARAGES_FILE.
GARAGES_PINFO - название массива с информацией обо всех игроках.
GARAGES_PINFO_GARAGEKEY - название свойства в структуре свойств игрока (обычно это pInfo), в котором будет храниться ID гаража, купленного игроком.
Внимание: вам придётся самостоятельно добавлять это свойство в pInfo.
GARAGES_PINFO_MONEY - название свойства, в котором хранятся деньги игрока.
Необязательные настройки:
GARAGES_OPEN_RADIUS - радиус, с которого можно открыть гараж командой /garage (по умолчанию 10.0).
GARAGES_MSG_COLOR_ERROR - цвет для сообщений об ошибках (по умолчанию серый).
GARAGES_MSG_COLOR_INFO - цвет для обычных сообщений (по умолчанию белый).
GARAGES_UNOCCUPIED_PICKUP_MDL - модель пикапа для продающихся гаражей (по умолчанию взята модель синей дискеты).
GARAGES_OCCUPIED_PICKUP_MDL - модель для пикапов купленных гаражей (по умолчанию та же, что и у продающихся гаражей).
Функции:
LoadGarages() - загружает информацию о гаражах из файла.
SaveGarages() - сохраняет информацию о гаражах в файл.
SellGarage(garageid, sellerid) - продаёт гараж garageid, принадлежащий игроку sellerid. Если вместо ID игрока указать INVALID_PLAYER_ID, гараж будет продан без участия владельца - это может пригодиться, если вы захотите написать админскую команду для продажи гаража (что-то вроде /asellgarage).
Команды:
/buygarage - купить свободный гараж.
/sellgarage - продать гараж по рыночной стоимости.
/garage - открыть/закрыть гараж.
Скачать:
https://www.dropbox.com/s/x0cx0eb3951xyr5/dc_garages.zip?dl=0
Автор: Daniel_Cortez (http://pro-pawn.ru/member.php?100-Daniel_Cortez)
Специально для Pro-Pawn.ru (http://www.pro-pawn.ru)
Копирование данной статьи на других ресурсах без разрешения автора запрещено!
Хочу поделиться с вами простой системой гаражей, которую я начал делать ещё в 2013 году.
И пусть вас не пугает эта цифра, с того момента код системы был несколько раз пересмотрен и улучшен.
В частности, сделано несколько макросов, благодаря которым систему гаражей можно подстроить практически под любой мод.
Также данные обо всех гаражах записаны в файле garages.cfg (см. в архиве вместе с инклудом). Всего этих гаражей 12 - именно столько свободных мест под гаражи я смог найти на карте Сан-Андреаса (и все они в Лос-Сантосе), но вы можете с помощью маппинга добавить ещё.
Скриншоты:
http://ihost.pro-pawn.ru/image.php?di=C4PZ
http://ihost.pro-pawn.ru/image.php?di=BHVW
http://ihost.pro-pawn.ru/image.php?di=T440
http://ihost.pro-pawn.ru/image.php?di=OD1T
http://ihost.pro-pawn.ru/image.php?di=Y23U
http://ihost.pro-pawn.ru/image.php?di=Z8N6
http://ihost.pro-pawn.ru/image.php?di=HQZJ
Пример использования:
#define GARAGES_FILE "Properties/garages.cfg"
#define MAX_GARAGES 12
#define GARAGES_PINFO PlayerInfo
#define GARAGES_PINFO_GARAGEKEY pGarageKey
#define GARAGES_PINFO_MONEY pMoney
#include "../include/dc_garages.inc"
Требования для работы:
sscanf2/3
DC_CMD
Streamer (опционально)
Список макросов для настройки:
Обязательные настройки:
GARAGES_FILE - название файла для хранения.
MAX_GARAGES - кол-во гаражей в файле, указанном в GARAGES_FILE.
GARAGES_PINFO - название массива с информацией обо всех игроках.
GARAGES_PINFO_GARAGEKEY - название свойства в структуре свойств игрока (обычно это pInfo), в котором будет храниться ID гаража, купленного игроком.
Внимание: вам придётся самостоятельно добавлять это свойство в pInfo.
GARAGES_PINFO_MONEY - название свойства, в котором хранятся деньги игрока.
Необязательные настройки:
GARAGES_OPEN_RADIUS - радиус, с которого можно открыть гараж командой /garage (по умолчанию 10.0).
GARAGES_MSG_COLOR_ERROR - цвет для сообщений об ошибках (по умолчанию серый).
GARAGES_MSG_COLOR_INFO - цвет для обычных сообщений (по умолчанию белый).
GARAGES_UNOCCUPIED_PICKUP_MDL - модель пикапа для продающихся гаражей (по умолчанию взята модель синей дискеты).
GARAGES_OCCUPIED_PICKUP_MDL - модель для пикапов купленных гаражей (по умолчанию та же, что и у продающихся гаражей).
Функции:
LoadGarages() - загружает информацию о гаражах из файла.
SaveGarages() - сохраняет информацию о гаражах в файл.
SellGarage(garageid, sellerid) - продаёт гараж garageid, принадлежащий игроку sellerid. Если вместо ID игрока указать INVALID_PLAYER_ID, гараж будет продан без участия владельца - это может пригодиться, если вы захотите написать админскую команду для продажи гаража (что-то вроде /asellgarage).
Команды:
/buygarage - купить свободный гараж.
/sellgarage - продать гараж по рыночной стоимости.
/garage - открыть/закрыть гараж.
Скачать:
https://www.dropbox.com/s/x0cx0eb3951xyr5/dc_garages.zip?dl=0
Автор: Daniel_Cortez (http://pro-pawn.ru/member.php?100-Daniel_Cortez)
Специально для Pro-Pawn.ru (http://www.pro-pawn.ru)
Копирование данной статьи на других ресурсах без разрешения автора запрещено!