- Регистрация
- 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;
}