Nestyreff
Новичок
MasPickups
Удобнее, функциональнее, проще
Удобнее, функциональнее, проще
Описание:
Данный инклуд писался мной давно для своих личных целей, я не заметил похожих библиотек, разве что некоторые другие подобия, которые мне показались не достаточно удобными и функциональным да и их поддержка уже закончилась, поэтому я решил заняться этим. Инклуд находится в данный момент в режиме тестирования, обо всех багах прошу сообщать мне на гитхаб или в эту тему, постараюсь фиксить оперативно.
Зависимости:
Streamer
Совместим с:
YSF
ePickups
YSI
Функции:
Код:
PickupCreate(pick_Function[23], pick_Model, pick_Type, Float:pick_X, Float:pick_Y, Float:pick_Z, pick_VirtualWorld = 0, pick_Interior = 0, pick_Playerid = 0, Float:streamdistance = STREAMER_PICKUP_SD)
pick_Function - функция, которая будет вызвана при взятии пикапа.
Возвращает: id созданного пикапа
Пример:
Код:
PickupCreate("testPickup", 19197, 23, 0.0, 0.0, 0.0, 0);
Код:
PickupSetAntiFlood(id, interval)
id - id пикапа
interval - количество времени в секундах для действия антифлуда после подбора пикапа
Возвращает: в любом случае 1
Пример:
Код:
new test = PickupCreate("testPickup", 19197, 23, 0.0, 0.0, 0.0, 0);
PickupSetAntiFlood(test , 3);
Код:
GetPickupTypeEx(id)
id - id пикапа
Возвращает: id типа пикапа
Пример:
Код:
new test = PickupCreate("testPickup", 19197, 23, 0.0, 0.0, 0.0, 0);
new model = GetPickupTypeEx(test); // в данном случае 23
Код:
GetPickupVirtualWorldEx(id)
id - id пикапа
Возвращает: id виртуального мира
Пример:
Код:
new test = PickupCreate("testPickup", 19197, 23, 0.0, 0.0, 0.0, 0);
new vw = GetPickupVirtualWorldEx(test ); // в данном случае 0
Код:
GetPickupPlayerid(id)
id - id пикапа
Возвращает: id игрока
Пример:
Код:
new test = PickupCreate("testPickup", 19197, 23, 0.0, 0.0, 0.0, 0);
new playerid = GetPickupPlayerid(test ); // в данном случае 0
Код:
PickupEmitate(playerid, id)
playerid - id игрока
id - id пикапа
Возвращает: 0, если функция не была найдена
Пример:
Код:
new test = PickupCreate("testPickup", 19197, 23, 0.0, 0.0, 0.0, 0);
PickupEmitate(playerid, test );
Код:
SetPickupModel(id, model)
id - пикап
model - модель
Возвращает: всегда 1
Код:
SetPickupType(id, type)
id - пикап
type - тип
Возвращает: всегда 1
Код:
SetPickupVirtualWorld(id, world)
id - пикап
world - мир
Возвращает: всегда 1
Код:
SetPickupInterior(id, interior)
id - пикап
interior - тип
Возвращает: всегда 1
Теперь переходим к интересному:
Пример работы с пикапами:
Код:
new PolicePickup;
OnGamemodeInit() {
PolicePickup = PickupCreate("dynPoliceDetective", 19197, 23, 2545.0198, -2114.5449, 11.0047, 0);
PickupSetAntiFlood(PolicePickup, 10);
return 1;
}
Pickup:dynPoliceDetective(playerid, pickupid) { // указывать Pickup: обязательно
return 1;
}
Синхронизания двух пикапов
Нужно для пикапов входа и выхода из здания/в здание. Один пикап телепортирует игрока на другой пикап, также и наоборот. Виртуальный мир и интерьеры также синхронизированы.
Код:
SyncPickup(syncid, withid)
syncid - первый пикап
withid - второй пикап
Возвращает: всегда 1
Пример синхронизации:
Код:
new tcd = PickupCreate("", 19197, 23, 2507.3115, -2125.3401, 11.0047, 0);
PickupSetAntiFlood(tcd, 3);
new tsd = PickupCreate("", 19197, 23, 2507.3115, -2130.3401, 11.0047, 0);
PickupSetAntiFlood(tsd, 3);
SyncPickup(tcd, tsd);
Код:
OnPlayerUseSyncPickup(playerid, pickupid, syncpickupid)
playerid - id игрока
pickupid - id пикапа
syncpickupid - id пикапа, к которому игрок телепортировался
Пикап на клавишу
Пикап будет срабатывать только при нажатии на клавишу, которую можно поменять.
Код:
PickupSetOnKey(id)
id - пикап
Возвращает: всегда 1
По умолчанию клавиша - левый альт, ее можно поменять вставив перед #include:
Код:
#define MAS_PCK_KEY 1024 // вместо 1024 код вашей клавиши
Также можно поменять текст, который будет показываться как подсказка в таких пикапах, для этого в инклуде поменяйте строчку:
Код:
static const _mas_KEY_PRESS_TEXT[] = "{ADFF2F}Нажмите левый альт";
В следующих версиях:
- Временные пикапы
-
- Альтернатива SetPlayerCheckpoint
и другое
Текущая версия: 0.6
- Добавлены функции SetPickupModel, SetPickupType, SetPickupVirtualWorld и SetPickupInterior
- Добавлена возможность сделать пикап работающим только по нажатию клавиши через функцию PickupSetOnKey
- Добавлена возможность полной настройки данных:
Можно задефайнить MAS_PCK_TEXT_KEY до подключения инклуда, это заменит текст-подсказку возле пикапа, работающем только по клавише.
Аналогично с PICKUP_SYNC_STANDART_ANTIFLOOD. Задефайнив новое значение, можно изменить стандартный антифлуд у синхронизированных пикапов.
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Автор: Masson
Публикация в иных источниках без согласия автора запрещена.
