SaineD
Компетентный
Итак Вот очень простой урок по созданию шипов (для ДПС и FBI)
В начало мода вставляем вот это
Ко всем командам добавляем вот это
В конец мода суем вот это :
Вот и всё ! На этом урок окончен
В начало мода вставляем вот это
Код:
//------------------------------------------------------------------------------
#define MAX_SPIKESTRIPS 30
//для шипов
enum sInfo
{
sCreated,
Float:sX,
Float:sY,
Float:sZ,
sObject,
};
new SpikeInfo[MAX_SPIKESTRIPS][sInfo];
//------------------------------------------------------------------------------
Код:
if(strcmp(cmd, "/ship", true) == 0 || strcmp(cmd, "/shp", true) == 0)
{
if (PlayerInfo[playerid][pMember] != 2 && PlayerInfo[playerid][pLeader] != 2&&PlayerInfo[playerid][pMember] != 1 && PlayerInfo[playerid][pLeader] !=1) return SendClientMessage(playerid, COLOR_GREY, " Вы не состоите в рядах ДПС либо FBI");
new Float:plocx,Float:plocy,Float:plocz,Float:ploca;
GetPlayerPos(playerid, plocx, plocy, plocz);
GetPlayerFacingAngle(playerid,ploca);
CreateStrip(plocx,plocy,plocz,ploca);
GameTextForPlayer(playerid, "Дорожные шипы установлены", 5000, 5);
SendClientMessage(playerid, COLOR_GREEN, "Дорожные шипы установлены. Используйте (/dstr) чтобы убрать Дорожные шипы. ");
return 1;
}
Код:
if(strcmp(cmd, "/destroyallship", true) == 0 || strcmp(cmd, "/dstrall", true) == 0)
{
if (PlayerInfo[playerid][pAdmin] == 5 &&PlayerInfo[playerid][pAdmin] == 10 && PlayerInfo[playerid][pAdmin] == 9 && PlayerInfo[playerid][pAdmin] == 6 && PlayerInfo[playerid][pAdmin] == 7 && PlayerInfo[playerid][pLeader] != 1)
{
SendClientMessage(playerid, COLOR_GREY, " Вы не Администратор либо не лидер ДПС ");
}
DeleteAllStrip();
return 1;
}
Код:
if(strcmp(cmd, "/destroyship", true) == 0 || strcmp(cmd, "/dstr", true) == 0)
{
if (PlayerInfo[playerid][pMember] != 1 && PlayerInfo[playerid][pLeader] != 1)
{
SendClientMessage(playerid, COLOR_GREY, " Вы не состоите в рядах ДПС");
return 1;
}
if (PlayerInfo[playerid][pRank] < 5)
{
SendClientMessage(playerid, COLOR_GREY, " Вам нужен ранг слишком мал для этой команды");
return 1;
}
if (PlayerInfo[playerid][pRadar] == 0)
{
SendClientMessage(playerid, COLOR_GREY, " Дорожных шипов не найдено ");
return 1;
}
DeleteClosestStrip(playerid);
SendClientMessage(playerid, COLOR_GREEN, " Дорожныt шипы убраны.. ");
return 1;
}
Код:
//----------------------------------для шипов
stock CreateStrip(Float:x,Float:y,Float:z,Float:Angle)
{
for(new i = 0; i < sizeof(SpikeInfo); i++)
{
if(SpikeInfo[i][sCreated] == 0)
{
SpikeInfo[i][sCreated]=1;
SpikeInfo[i][sX]=x;
SpikeInfo[i][sY]=y;
SpikeInfo[i][sZ]=z-0.7;
SpikeInfo[i][sObject] = CreateObject(2899, x, y, z-0.9, 0, 0, Angle-90);
return 1;
}
}
return 0;
}
stock DeleteAllStrip()
{
for(new i = 0; i < sizeof(SpikeInfo); i++)
{
if(SpikeInfo[i][sCreated] == 1)
{
SpikeInfo[i][sCreated]=0;
SpikeInfo[i][sX]=0.0;
SpikeInfo[i][sY]=0.0;
SpikeInfo[i][sZ]=0.0;
DestroyObject(SpikeInfo[i][sObject]);
}
}
return 0;
}
stock DeleteClosestStrip(playerid)
{
for(new i = 0; i < sizeof(SpikeInfo); i++)
{
if(IsPlayerInRangeOfPoint(playerid, 2.0, SpikeInfo[i][sX], SpikeInfo[i][sY], SpikeInfo[i][sZ]))
{
if(SpikeInfo[i][sCreated] == 1)
{
SpikeInfo[i][sCreated]=0;
SpikeInfo[i][sX]=0.0;
SpikeInfo[i][sY]=0.0;
SpikeInfo[i][sZ]=0.0;
DestroyObject(SpikeInfo[i][sObject]);
return 1;
}
}
}
return 0;
}
