Доступ к готовым решениям

Переход в группу "Пользователь"

300.00
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Функция GetFreeAttachSlot

OKStyle

Адвокат по делам семейным
Administrator
Wiki Team
Регистрация
4 Мар 2011
Сообщения
7,094
Лучшие ответы
226
Репутация
2,455
Награды
11
Функция проверяет (ищет первый свободный) слот для прикрепления объекта. Так как на некоторых серверах многое цепляется на игрока, да и я делал пару работ с объектами, то поиск идёт с конца.

PHP:
stock GetFreeAttachSlot(playerid)
{
	for(new i = 9; i >= 0; i--)
	{
		if(IsPlayerAttachedObjectSlotUsed(playerid, i)) continue;
		return i;
	}
	return -1;
}
Пример использования из темы про снег на сервере:
PHP:
SetPlayerAttachedObject(playerid, GetFreeAttachSlot(playerid), 18864, 1, -9.0, 0.0, 3.2229, 33.0, 139.1, 45.0, 0.1640, 0.1349, 0.3170, 0xFFFFFFFF);
Для серверов с динамической системой прикрепления объектов, рекомендую найденный слот писать в PVar. Либо каждый:
PHP:
SetPVarInt(playerid, "Slot_Object_01", GetFreeAttachSlot(playerid));
SetPlayerAttachedObject...
SetPVarInt(playerid, "Slot_Object_02", GetFreeAttachSlot(playerid));
SetPlayerAttachedObject...
SetPVarInt(playerid, "Slot_Object_03", GetFreeAttachSlot(playerid));
SetPlayerAttachedObject...
Либо только последний, если не планируется во время аттача одно объекта цеплять другой. Либо если не в каждом случае требуется искать свободный слот:
PHP:
SetPVarInt(playerid, "LastFreeSlot", GetFreeAttachSlot(playerid));
Автор: OKStyle
 
Последнее редактирование:
Сверху Снизу