Перейти к содержанию
Авторизация  
Komaroff 71

Пулемёт на танке

Рекомендуемые сообщения

Komaroff 71

Добрый вечер,господа.

 

Как-то раз видел вопрос,связанный с аттачем рабочего минигана к танку(или БТР,но не суть)

Вот пример такого готового решения:

 

В начале мода добавим:

#define MAX_MINIGUNS 10 //количество танков
#undef MAX_PLAYERS
#define MAX_PLAYERS 100 //кол-во слотов
new mgun[MAX_MINIGUNS] ,minigunnum = 0 ,vehhasminigun[MAX_VEHICLES] ,laser[MAX_PLAYERS];
#define PUB:%1(%2) forward %1(%2); public %1(%2)

После этого добавим функцию в любое место(удобней в конец мода):

GetXYInFrontOfPlayer(playerid, &Float:x, &Float:y, Float:distance)
{
new Float:a;
GetPlayerPos(playerid, x, y, a);
GetPlayerFacingAngle(playerid, a);
if (GetPlayerVehicleID(playerid))
{
GetVehicleZAngle(GetPlayerVehicleID(playerid), a);
}
x += (distance * floatsin(-a, degrees));
y += (distance * floatcos(-a, degrees));
}

В public OnGameModeInit():

for(new i = 0; i < MAX_VEHICLES; ++i)
vehhasminigun[i] = 0;
SetTimer("check", 5000, 1);
SetTimer("loop", 500, 1);

Теперь в конце мода создадим ещё несколько функций:

PUB:check( )
{
for( new i = 0; i < MAX_VEHICLES; ++i )
{
new model = GetVehicleModel( i );
if( model == 432 )
{
if( vehhasminigun[ i ] == 0 )
{
vehhasminigun[ i ] = 1;
mgun[ minigunnum ] = CreateObject( 2985, 0, 0, 0, 0, 0, 0 );
AttachObjectToVehicle( mgun[ minigunnum ], i, 0.74, 3.37, -0.25, 0.00, 0.00, 89.47 );
minigunnum ++;
}
}
}
return 1;
}

PUB:loop( )
{
for( new i = 0; i < MAX_PLAYERS; ++i )
{
if( IsPlayerConnected( i ) )
{
new vehicleid = GetPlayerVehicleID( i );
new model = GetVehicleModel( vehicleid );
if( model == 432 )
{
new keys ,ud ,lr;
GetPlayerKeys( i, keys, ud, lr );
if( keys & 128 )
{
SetPlayerAttachedObject( i, 0, 18695, 1, 0.379999, 1.799999, -2.700000, 0.000000, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000 );
laser[ i ] = CreateObject( 19084, 0.75, 3.84, 0.86, 0.00, 0.00, 92.61 );
AttachObjectToVehicle( laser[ i ], vehicleid, 0.73, 4.18, 0.86, 0.00, 0.00, 88.03 );
PlayerPlaySound( i, 1135, 0.0, 0.0, 0.0 );
SetTimerEx( "destroy", 250, 0, "i", i );
new Float:x ,Float:y ,Float:z ,Float:x2 ,Float:y2;
GetPlayerPos( i, x2, y2, z );
#pragma unused x2
#pragma unused y2
GetXYInFrontOfPlayer(i, x, y, 5.0);
for( new u = 0; u < MAX_PLAYERS; ++u)
{
if( IsPlayerInRangeOfPoint(u, 6.0, x, y, z ) && u != i)
{
new Float:hp;
GetPlayerHealth( u, hp );
SetPlayerHealth( u, hp - 5 );
PlayerPlaySound( u, 1135, 0.0, 0.0, 0.0 );
if( hp < 1 )
CallLocalFunction( "OnPlayerDeath", "ddd", u, i, 38 );
}
}
}
}
}
}
return 1;
}

PUB:destroy(i)
{
RemovePlayerAttachedObject( i, 0 );
DestroyObject( laser[ i ] );
return 1;
}
db995831aa18.png

 

 

 

Найдено на просторах Интернета.

Автор неизвестен.

В целом решение универсально.Нужно только в некоторых случаях подстроить под свой мод.

 

На этом всё.Комментируйте,оценивайте.

 

Удачи в работе.

Изменено пользователем AMD71
  • Like 4

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
SHOROOP

На кой черт подключать a_npc? Неписи в коде вообще не затрагиваются.

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Komaroff 71

На кой черт подключать a_npc? Неписи в коде вообще не затрагиваются.

 

Извиняюсь, мой косяк,от прошлого кода осталось,вот я и скопировал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Komaroff 71

Обновил первый пост! UP!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Egorcik

норм

Изменено пользователем Egorcik

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Komaroff 71

UP!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Smolin

Про табуляцию помолчу. Кодинг убогий совсем.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Komaroff 71

Кому нужно,пусть табулируют и оптимизируют сами

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Smolin

Скриншот хотя бы приложи.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Komaroff 71

В первом посте я описал,почему их нет,будет время выложу.

 

P.S Спасибо за код  :D

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Komaroff 71

Обновил первый пост - добавил скриншот!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Thomas_Andreas

Так-то хорошо, но не пулемет а миниган :wink:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Komaroff 71

А разница?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Komaroff 71

Обновил первый пост! UP!

Изменено пользователем AMD71

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Komaroff 71

Поднимаю

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Thomas_Andreas

Поднимаю

А он стреляет или просто как объект висит?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Komaroff 71

 

Поднимаю

А он стреляет или просто как объект висит?

 

 

Разумеется,стреляет,правда скорострельность не такая,как у ручного...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Thomas_Andreas

 

 

Поднимаю

А он стреляет или просто как объект висит?

 

 

Разумеется,стреляет,правда скорострельность не такая,как у ручного...

 

Ясно, а на что там нажимать чтобы стрелял?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Komaroff 71

 

 

 

Поднимаю

А он стреляет или просто как объект висит?

 

 

Разумеется,стреляет,правда скорострельность не такая,как у ручного...

 

Ясно, а на что там нажимать чтобы стрелял?

 

 

Пробел

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Thomas_Andreas

 

 

 

 

Поднимаю

А он стреляет или просто как объект висит?

 

 

Разумеется,стреляет,правда скорострельность не такая,как у ручного...

 

Ясно, а на что там нажимать чтобы стрелял?

 

 

Пробел

 

Спасибо

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Komaroff 71

UP!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Komaroff 71

Вверх!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
ByMeR_OK

ещё бы РПГ замутили, ппц)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Rustyk

ещё бы РПГ замутили, ппц)

И RPG можно :) В интернете есть урок ) видал недавно

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
ByMeR_OK

Норм тема, для лаунчерных серверов. модельки БМП сделал и пулемент намутил, аххаха )

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.