• Уважаемый Гость.
    - Прежде чем создать свою тему, пожалуйста, попробуй воспользоваться этим -> ПОИСКОМ !!!
    - После решения Вашего вопроса (проблемы) - нажмите "Лучший ответ", на сообщении, которое его решило. За игнорирование этого действия - Вы получите соответствующее предупреждение. Мы - стараемся Вам помочь. Уделите 10 секунд - чтобы нажать кнопку. (Если у Вас нет такой возможности - укажите в последнем своем сообщении какой ответ Вы считаете лучшим. Наши модераторы сделают это за Вас)
    ЗАПРЕЩЕНО:
    - Cоздавать темы с названиями "Помогите", "Плиз", "Ошибка", "Не могу найти", "Хелп" и тому подобное;
    - Cоздавать темы без детального описания того, что нужно исправить.
    - Cоздавать темы из одного скриншота.
    За игнор правил форума - Ваша тема будет удалена, а Вы получите системное предупреждение.

Помощь по динамическим пикапам.

Статус
В этой теме нельзя размещать новые ответы.

Garthwaite

Начинающий
Пользователь
Регистрация
25 Окт 2019
Сообщения
41
Лучшие ответы
0
Репутация
3
В pawn далеко не круто разбираюсь, пытался всяческими способами написать систему динамических пикапов, видимо что-то пошло не так...Буду очень благодарен тем, кто поправит, объяснит, возможно поможет доделать.



PHP:
else if(StrCmp(cmd,"/pickupentrance"))
	{
    	if(PlayerInfo[playerid][pAdmin] < 7 && !GetPVarInt(playerid,"imalvaro")) return SCM(playerid, COLOR_WHITE, "{FF0000}*{FFFFFF} Недостаточно полномочий для управления пикапами (7+)!");
    	if(GetPVarType(playerid, "pCreatepick")) SCM(playerid, -1, "Пикап входа создан. Пропишите /pickupexit чтобы к нему выход!");
    	new i;
    	for(; i < MAX_PICKUPS; i++)
    	{
        	if(PickupInfo[i][PickID])continue;
        	if(IsPlayerInRangeOfPoint(playerid, 5.0, PickupInfo[i][PickX], PickupInfo[i][PickY], PickupInfo[i][PickZ])) return SCM(playerid, -1,"Нельзя создавать пикапы рядом друг с другом!");
    	}
    	new Float:crX,Float:crY,Float:crZ;
    	GetPlayerPos(playerid, crX, crY, crZ);
    	for(i = 0; i < MAX_PICKUPS; i ++)
		{
        	if(PickupInfo[i][PickID)
 			{
            	PickupInfo[i][PickX] = crX;
            	PickupInfo[i][PickY] = crY;
            	PickupInfo[i][PickZ] = crZ;
            	PickupInfo[i][PickINT] = GetPlayerInterior(playerid);
            	PickupInfo[i][PickVW] = GetPlayerVirtualWorld(playerid);
            	SCM(playerid, -1, "* Встаньте ко выходу и наберите /pickupexit");
            	SetPVarInt(playerid, "pCreatepick", 1);
            	break;
  			}
 		}
    		if( ( i + 1 ) == MAX_PICKUPS ) SCM(playerid, -1,"Достигнуто максимальное кол-во пикапов на сервере!");
    	}
    	return 1;
	}
	else if(strcmp(cmd,"/pickupexit",true) == 0)
	{
    	if(PlayerInfo[playerid][pAdmin] < 7 && !GetPVarInt(playerid,"imalvaro")) return SCM(playerid, COLOR_WHITE, "{FF0000}*{FFFFFF} Недостаточно полномочий для управления пикапами (7+)!");
    	if(GetPVarType(playerid, "pCreatepick")) SCM(playerid, -1, "Сначало создайте вход (/pickupentrance)!");
		{
    	new i;
    	for(; i < MAX_PICKUP; i++)
    		{
        		if(!PicInfo[i][pCreated])continue;
        		if(IsPlayerInRangeOfPoint(playerid, 5.0, PickupInfo[i][SecondPickX], PickupInfo[i][SecondPickY], PickupInfo[i][SecondPickZ])) return SCM(playerid, -1,"Нельзя создавать пикапы рядом друг с другом!");
    		}
    		new Float:TwoX,Float:TwoY,Float:TwoZ;
    		GetPlayerPos(playerid, TwoX, TwoY, TwoZ);
    		for(i = 0; i < MAX_PICKUPS; i++)
    		{
        		if(PickupInfo[i][PickID])
        		{
            	PickupInfo[i][SecondPickX] = TwoX;
            	PickupInfo[i][SecondPickY] = TwoY;
            	PickupInfo[i][SecondPickZ] = TwoZ;
            	PickupInfo[i][SecondPickINT] = GetPlayerInterior(playerid);
            	PickupInfo[i][SecondPickVW] = GetPlayerVirtualWorld(playerid);
            	SCM(playerid, -1,"Создание пикапа завершено!");
            	DeletePVar(playerid, "pCreatepickup");
            	break;
        		}
   		}
    		if( ( i + 1 ) == MAX_PICKUPS ) SCM(playerid, -1,"Достигнуто макс. кол-во пикапов !");
		}
    		return 1;
	}

PHP:
CreatePickupAC(model, type, Float:X, Float:Y, Float:Z, virtualworld = -1,interior = -1,streamer = 30)
{
	new pickupid = Iter_Free(Pickus);
	new TempID = CreateDynamicPickup(model, type, X, Y, Z, virtualworld,interior,-1,streamer);
	PickupInfo[pickupid][PickX] = X;
	PickupInfo[pickupid][SecondPickX] = X;
	PickupInfo[pickupid][PickY] = Y;
	PickupInfo[pickupid][SecondPickY] = Y;
	PickupInfo[pickupid][PickZ] = Z;
	PickupInfo[pickupid][SecondPickZ] = Z;
	PickupInfo[pickupid][PickID] = TempID;
	PickupInfo[pickupid][SecondPickID] = TempID;
	PickupInfo[pickupid][PickVW] = virtualworld;
	PickupInfo[pickupid][SecondPickVW] = virtualworld;
	PickupInfo[pickupid][PickINT] = interior;
	PickupInfo[pickupid][SecondPickINT] = interior;
	Iter_Add(Pickus, pickupid);
	if(model == 1239 || model == 1275 || model == 1314) PickupInfo[pickupid][PickT] = true;
	else PickupInfo[pickupid][PickT] = false;
	return TempID;
}
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу