Ria
С помощью этой системки можно вызвать воздушную поддержку, которая может доставить ТС в любое место. Доставка осуществляется путем выброса контейнера из самолета с ТС внутри, у контейнера имеется парашюты, так что посылка благополучно приземлится в указном вами месте.
Виды ТС, которые доступны для доставки:
- Хаммер
- Грузовик
- Квадроцикл
- Танк
- Катер
- Истребитель
- Апач
- Пассажирский вертолет
И так начнем
К всем #define
К всем FORWARD`S
К всем new
В public OnVehicleSpawn(vehicleid)
В public OnVehicleDeath(vehicleid, killerid)
К всем командам
В public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
В конец мода
Вот и все
Вырезал из Скрипта думаю кому понадбится
Автор системы DemonoloG
Виды ТС, которые доступны для доставки:
- Хаммер
- Грузовик
- Квадроцикл
- Танк
- Катер
- Истребитель
- Апач
- Пассажирский вертолет
И так начнем
К всем #define
PHP:
#define CMD 0x999999AA
#define DSL DIALOG_STYLE_LIST
#define COLOR_RED 0xAA3333AA
#define COLOR_ORANGE 0xFF9900AA
#define DSM DIALOG_STYLE_MSGBOX
#define COLOR_GRAD1 0xB4B5B7FF
К всем FORWARD`S
PHP:
forward DosArmy();
forward DosArmyCar();
forward DosArmyCarH();
forward DosArmyCarM();
PHP:
new One;
new Ty;
new Onep;
new Typ;
new Flar;
new doscar;
new vehcreat[MAX_VEHICLES];
В public OnVehicleSpawn(vehicleid)
PHP:
if(vehicleid == doscar)
{
DestroyVehicle(doscar);
}
В public OnVehicleDeath(vehicleid, killerid)
PHP:
if(vehicleid == doscar)
{
DestroyVehicle(doscar);
}
К всем командам
PHP:
if(!strcmp(cmdtext, "/deldos", true))
{
if(doscar)
{
DestroyVehicle(doscar);
}
}
if(!strcmp(cmdtext, "/doscar", true))
{
ShowPlayerDialog(playerid,0,DSL,"Воздушная Доставка Транспорта","Хамер\nГрузовик\nКвадрацикл\nТанк\nКатер\nИстрибитель\nАпач\nПассажирский вертолет", "Выбор", "Отмена");
}
В public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
PHP:
if(dialogid == 0)
{
switch(listitem)
{
case 0: //Если был выбран 1 пункт списка
{
new Float:X2,Float:Y2,Float:Z2;
GetPlayerPos(playerid, X2,Y2,Z2);
Flar = CreateObject(18728,X2,Y2,Z2-2.4, 0, 0, 0);
One = CreateObject(18253, X2,Y2,Z2+100,0,0,0);
Onep = CreateObject(18253, X2,Y2,Z2+100, 0, 180, 0);
Ty = CreateObject(18849, X2,Y2-6,Z2+106, 0, 0, 0);
Typ = CreateObject(18849,X2,Y2+6,Z2+106, 0, 0, 0);
doscar = AddStaticVehicleEx(470,X2,Y2,Z2+97,0,0,0,300); // хамер
new Float:X1,Float:Y1,Float:Z1;
GetPlayerPos(playerid, X1,Y1,Z1);
SetObjectPos(Flar, X1, Y1, Z1-2.4);
ApplyAnimation(playerid,"BOMBER","BOM_Plant",1.4,0,1,1,1,1,1);
new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid, X,Y,Z);
MoveObject(One, X, Y, Z+2,3.0);
MoveObject(Onep, X, Y, Z+2,3.0);
MoveObject(Ty, X, Y-6, Z+8,3.0);
MoveObject(Typ, X, Y+6, Z+8,3.0);
SendClientMessage(playerid, COLOR_ORANGE, "Транспорт будет доставлен через 30 секунд!");
SendClientMessage(playerid, COLOR_RED, "Отойдите на расстоянии от этого места,чтобы избежать травм!!!");
SetTimer("DosArmy",27000,false);
return 1;
}
case 1: //Если был выбран 1 пункт списка
{
new Float:X2,Float:Y2,Float:Z2;
GetPlayerPos(playerid, X2,Y2,Z2);
Flar = CreateObject(18728,X2,Y2,Z2-2.4, 0, 0, 0);
One = CreateObject(18253, X2,Y2,Z2+100,0,0,0);
Onep = CreateObject(18253, X2,Y2,Z2+100, 0, 180, 0);
Ty = CreateObject(18849, X2,Y2-6,Z2+106, 0, 0, 0);
Typ = CreateObject(18849,X2,Y2+6,Z2+106, 0, 0, 0);
doscar = AddStaticVehicleEx(433,X2,Y2,Z2+97,0,0,0,300); // хамер
new Float:X1,Float:Y1,Float:Z1;
GetPlayerPos(playerid, X1,Y1,Z1);
SetObjectPos(Flar, X1, Y1, Z1-2.4);
ApplyAnimation(playerid,"BOMBER","BOM_Plant",1.4,0,1,1,1,1,1);
new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid, X,Y,Z);
MoveObject(One, X, Y, Z+2,3.0);
MoveObject(Onep, X, Y, Z+2,3.0);
MoveObject(Ty, X, Y-6, Z+8,3.0);
MoveObject(Typ, X, Y+6, Z+8,3.0);
SendClientMessage(playerid, COLOR_ORANGE, "Транспорт будет доставлен через 30 секунд!");
SendClientMessage(playerid, COLOR_RED, "Отойдите на расстоянии от этого места,чтобы избежать травм!!!");
SetTimer("DosArmy",27000,false);
return 1;
}
case 2: //Если был выбран 1 пункт списка
{
new Float:X2,Float:Y2,Float:Z2;
GetPlayerPos(playerid, X2,Y2,Z2);
Flar = CreateObject(18728,X2,Y2,Z2-2.4, 0, 0, 0);
One = CreateObject(18253, X2,Y2,Z2+100,0,0,0);
Onep = CreateObject(18253, X2,Y2,Z2+100, 0, 180, 0);
Ty = CreateObject(18849, X2,Y2-6,Z2+106, 0, 0, 0);
Typ = CreateObject(18849,X2,Y2+6,Z2+106, 0, 0, 0);
doscar = AddStaticVehicleEx(471,X2,Y2,Z2+97,0,0,0,300); // хамер
new Float:X1,Float:Y1,Float:Z1;
GetPlayerPos(playerid, X1,Y1,Z1);
SetObjectPos(Flar, X1, Y1, Z1-2.4);
ApplyAnimation(playerid,"BOMBER","BOM_Plant",1.4,0,1,1,1,1,1);
new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid, X,Y,Z);
MoveObject(One, X, Y, Z+2,3.0);
MoveObject(Onep, X, Y, Z+2,3.0);
MoveObject(Ty, X, Y-6, Z+8,3.0);
MoveObject(Typ, X, Y+6, Z+8,3.0);
SendClientMessage(playerid, COLOR_ORANGE, "Транспорт будет доставлен через 30 секунд!");
SendClientMessage(playerid, COLOR_RED, "Отойдите на расстоянии от этого места,чтобы избежать травм!!!");
SetTimer("DosArmy",27000,false);
return 1;
}
case 3: //Если был выбран 1 пункт списка
{
new Float:X2,Float:Y2,Float:Z2;
GetPlayerPos(playerid, X2,Y2,Z2);
Flar = CreateObject(18728,X2,Y2,Z2-2.4, 0, 0, 0);
One = CreateObject(18253, X2,Y2,Z2+100,0,0,0);
Onep = CreateObject(18253, X2,Y2,Z2+100, 0, 180, 0);
Ty = CreateObject(18849, X2,Y2-6,Z2+106, 0, 0, 0);
Typ = CreateObject(18849,X2,Y2+6,Z2+106, 0, 0, 0);
doscar = AddStaticVehicleEx(432,X2,Y2,Z2+97,0,0,0,300); // хамер
new Float:X1,Float:Y1,Float:Z1;
GetPlayerPos(playerid, X1,Y1,Z1);
SetObjectPos(Flar, X1, Y1, Z1-2.4);
ApplyAnimation(playerid,"BOMBER","BOM_Plant",1.4,0,1,1,1,1,1);
new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid, X,Y,Z);
MoveObject(One, X, Y, Z+2,3.0);
MoveObject(Onep, X, Y, Z+2,3.0);
MoveObject(Ty, X, Y-6, Z+8,3.0);
MoveObject(Typ, X, Y+6, Z+8,3.0);
SendClientMessage(playerid, COLOR_ORANGE, "Транспорт будет доставлен через 30 секунд!");
SendClientMessage(playerid, COLOR_RED, "Отойдите на расстоянии от этого места,чтобы избежать травм!!!");
SetTimer("DosArmy",27000,false);
return 1;
}
case 4: //Если был выбран 1 пункт списка
{
new Float:X2,Float:Y2,Float:Z2;
GetPlayerPos(playerid, X2,Y2,Z2);
Flar = CreateObject(18728,X2,Y2,Z2-2.4, 0, 0, 0);
One = CreateObject(18253, X2,Y2,Z2+100,0,0,0);
Onep = CreateObject(18253, X2,Y2,Z2+100, 0, 180, 0);
Ty = CreateObject(18849, X2,Y2-6,Z2+106, 0, 0, 0);
Typ = CreateObject(18849,X2,Y2+6,Z2+106, 0, 0, 0);
doscar = AddStaticVehicleEx(430,X2,Y2,Z2+97,0,0,0,300); // хамер
new Float:X1,Float:Y1,Float:Z1;
GetPlayerPos(playerid, X1,Y1,Z1);
SetObjectPos(Flar, X1, Y1, Z1-2.4);
ApplyAnimation(playerid,"BOMBER","BOM_Plant",1.4,0,1,1,1,1,1);
new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid, X,Y,Z);
MoveObject(One, X, Y, Z+2,3.0);
MoveObject(Onep, X, Y, Z+2,3.0);
MoveObject(Ty, X, Y-6, Z+8,3.0);
MoveObject(Typ, X, Y+6, Z+8,3.0);
SendClientMessage(playerid, COLOR_ORANGE, "Транспорт будет доставлен через 30 секунд!");
SendClientMessage(playerid, COLOR_RED, "Отойдите на расстоянии от этого места,чтобы избежать травм!!!");
SetTimer("DosArmy",27000,false);
return 1;
}
case 5: //Если был выбран 1 пункт списка
{
new Float:X2,Float:Y2,Float:Z2;
GetPlayerPos(playerid, X2,Y2,Z2);
Flar = CreateObject(18728,X2,Y2,Z2-2.4, 0, 0, 0);
One = CreateObject(18253, X2,Y2,Z2+100,0,0,0);
Onep = CreateObject(18253, X2,Y2,Z2+100, 0, 180, 0);
Ty = CreateObject(18849, X2,Y2-6,Z2+106, 0, 0, 0);
Typ = CreateObject(18849,X2,Y2+6,Z2+106, 0, 0, 0);
new Float:X1,Float:Y1,Float:Z1;
GetPlayerPos(playerid, X1,Y1,Z1);
SetObjectPos(Flar, X1, Y1, Z1-2.4);
ApplyAnimation(playerid,"BOMBER","BOM_Plant",1.4,0,1,1,1,1,1);
new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid, X,Y,Z);
MoveObject(One, X, Y, Z+2,3.0);
MoveObject(Onep, X, Y, Z+2,3.0);
MoveObject(Ty, X, Y-6, Z+8,3.0);
MoveObject(Typ, X, Y+6, Z+8,3.0);
SendClientMessage(playerid, COLOR_ORANGE, "Транспорт будет доставлен через 30 секунд!");
SendClientMessage(playerid, COLOR_RED, "Отойдите на расстоянии от этого места,чтобы избежать травм!!!");
SetTimer("DosArmyCarH",27000,false);
return 1;
}
case 6: //Если был выбран 1 пункт списка
{
new Float:X2,Float:Y2,Float:Z2;
GetPlayerPos(playerid, X2,Y2,Z2);
Flar = CreateObject(18728,X2,Y2,Z2-2.4, 0, 0, 0);
One = CreateObject(18253, X2,Y2,Z2+100,0,0,0);
Onep = CreateObject(18253, X2,Y2,Z2+100, 0, 180, 0);
Ty = CreateObject(18849, X2,Y2-6,Z2+106, 0, 0, 0);
Typ = CreateObject(18849,X2,Y2+6,Z2+106, 0, 0, 0);
new Float:X1,Float:Y1,Float:Z1;
GetPlayerPos(playerid, X1,Y1,Z1);
SetObjectPos(Flar, X1, Y1, Z1-2.4);
ApplyAnimation(playerid,"BOMBER","BOM_Plant",1.4,0,1,1,1,1,1);
new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid, X,Y,Z);
MoveObject(One, X, Y, Z+2,3.0);
MoveObject(Onep, X, Y, Z+2,3.0);
MoveObject(Ty, X, Y-6, Z+8,3.0);
MoveObject(Typ, X, Y+6, Z+8,3.0);
SendClientMessage(playerid, COLOR_ORANGE, "Транспорт будет доставлен через 30 секунд!");
SendClientMessage(playerid, COLOR_RED, "Отойдите на расстоянии от этого места,чтобы избежать травм!!!");
SetTimer("DosArmyCar",27000,false);
return 1;
}
case 7: //Если был выбран 1 пункт списка
{
new Float:X2,Float:Y2,Float:Z2;
GetPlayerPos(playerid, X2,Y2,Z2);
Flar = CreateObject(18728,X2,Y2,Z2-2.4, 0, 0, 0);
One = CreateObject(18253, X2,Y2,Z2+100,0,0,0);
Onep = CreateObject(18253, X2,Y2,Z2+100, 0, 180, 0);
Ty = CreateObject(18849, X2,Y2-6,Z2+106, 0, 0, 0);
Typ = CreateObject(18849,X2,Y2+6,Z2+106, 0, 0, 0);
new Float:X1,Float:Y1,Float:Z1;
GetPlayerPos(playerid, X1,Y1,Z1);
SetObjectPos(Flar, X1, Y1, Z1-2.4);
ApplyAnimation(playerid,"BOMBER","BOM_Plant",1.4,0,1,1,1,1,1);
new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid, X,Y,Z);
MoveObject(One, X, Y, Z+2,3.0);
MoveObject(Onep, X, Y, Z+2,3.0);
MoveObject(Ty, X, Y-6, Z+8,3.0);
MoveObject(Typ, X, Y+6, Z+8,3.0);
SendClientMessage(playerid, COLOR_ORANGE, "Транспорт будет доставлен через 30 секунд!");
SendClientMessage(playerid, COLOR_RED, "Отойдите на расстоянии от этого места,чтобы избежать травм!!!");
vehcreat[doscar] = 1;
SetTimer("DosArmyCarM",27000,false);
return 1;
}
}
}
В конец мода
PHP:
public DosArmy()
{
new Float:X,Float:Y,Float:Z;
GetObjectPos(One, X,Y,Z);
CreateObject(18737,X,Y,Z+1, 0, 0, 0);
CreateObject(18737,X-2,Y-2,Z-1, 0, 0, 0);
CreateObject(18737,X+2,Y+2,Z-2, 0, 0, 0);
CreateObject(18737,X-3,Y-3,Z-2, 0, 0, 0);
CreateObject(18737,X+3,Y+3,Z-2, 0, 0, 0);
CreateObject(18737,X+3,Y+3,Z-2, 0, 0, 0);
CreateObject(18737,X-4,Y-4,Z-2, 0, 0, 0);
CreateObject(18737,X+4,Y+4,Z-2, 0, 0, 0);
DestroyObject(18737);
return 1;
}
public DosArmyCarH()
{
new Float:X,Float:Y,Float:Z;
GetObjectPos(One, X,Y,Z);
CreateObject(18737,X,Y,Z+1, 0, 0, 0);
CreateObject(18737,X-2,Y-2,Z-1, 0, 0, 0);
CreateObject(18737,X+2,Y+2,Z-2, 0, 0, 0);
CreateObject(18737,X-3,Y-3,Z-2, 0, 0, 0);
CreateObject(18737,X+3,Y+3,Z-2, 0, 0, 0);
CreateObject(18737,X+3,Y+3,Z-2, 0, 0, 0);
CreateObject(18737,X-4,Y-4,Z-2, 0, 0, 0);
CreateObject(18737,X+4,Y+4,Z-2, 0, 0, 0);
doscar = AddStaticVehicleEx(520,X,Y,Z-1,0,0,0,300); // хамер
DestroyObject(18737);
return 1;
}
public DosArmyCar()
{
new Float:X,Float:Y,Float:Z;
GetObjectPos(One, X,Y,Z);
CreateObject(18737,X,Y,Z+1, 0, 0, 0);
CreateObject(18737,X-2,Y-2,Z-1, 0, 0, 0);
CreateObject(18737,X+2,Y+2,Z-2, 0, 0, 0);
CreateObject(18737,X-3,Y-3,Z-2, 0, 0, 0);
CreateObject(18737,X+3,Y+3,Z-2, 0, 0, 0);
CreateObject(18737,X+3,Y+3,Z-2, 0, 0, 0);
CreateObject(18737,X-4,Y-4,Z-2, 0, 0, 0);
CreateObject(18737,X+4,Y+4,Z-2, 0, 0, 0);
doscar = AddStaticVehicleEx(425,X,Y,Z-1,0,0,0,300); // хамер
DestroyObject(18737);
return 1;
}
public DosArmyCarM()
{
new Float:X,Float:Y,Float:Z;
GetObjectPos(One, X,Y,Z);
CreateObject(18737,X,Y,Z+1, 0, 0, 0);
CreateObject(18737,X-2,Y-2,Z-1, 0, 0, 0);
CreateObject(18737,X+2,Y+2,Z-2, 0, 0, 0);
CreateObject(18737,X-3,Y-3,Z-2, 0, 0, 0);
CreateObject(18737,X+3,Y+3,Z-2, 0, 0, 0);
CreateObject(18737,X+3,Y+3,Z-2, 0, 0, 0);
CreateObject(18737,X-4,Y-4,Z-2, 0, 0, 0);
CreateObject(18737,X+4,Y+4,Z-2, 0, 0, 0);
doscar = AddStaticVehicleEx(487,X,Y,Z-1,0,0,0,300); // хамер
DestroyObject(18737);
return 1;
}
public OnObjectMoved(objectid)
{
DestroyObject(Flar);
DestroyObject(Onep);
DestroyObject(Ty);
DestroyObject(Typ);
DestroyObject(One);
Flar = CreateObject(18728,0.0,0.0,-50.0, 0, 0, 0);
One = CreateObject(18253, 0.0,0.0,-30.0,0,0,0);
Onep = CreateObject(18253, 0.0,0.0,-30.0, 0, 180, 0);
Ty = CreateObject(18849, 0.0,0.0-6,-30.0, 0, 0, 0);
Typ = CreateObject(18849,0.0,0.0+6,-30.0, 0, 0, 0);
return 1;
}
/*******************************************************************************
strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}
new offset = index;
new result[20];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}
*******************************************************************************/
Вот и все
Вырезал из Скрипта думаю кому понадбится
Автор системы DemonoloG
PHP:
http://samp-mods.com/uploads/download/posts/2013-05/thumbs/1367677247_sa-mp-007.jpg
Последнее редактирование:
