• Страница 1 из 1
  • 1
Модератор форума: [east_side]_trane, drifter-dron, valych, admin  
pawno урок миниган на танк!
adminДата: Пятница, 11.11.2011, 16:11:39 | Сообщение # 1

Группа: Администраторы
Сообщений: 3869

Думаю по скрину вы поняли! начнем уроку!
верху мода:
Code
#include < a_npc > //если у вас этот инклуд есть то его 2 раз можно не ставить!

#define MAX_MINIGUNS 5 //в место 5 заменить на свое число сколько у вас танков устоновлено на сервере
#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)

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

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() и туда вставляем:
Code
for( new i = 0; i < MAX_VEHICLES; ++i )
      vehhasminigun[ i ] = 0;
  SetTimer( "check", 5000, 1 );
  SetTimer( "loop", 500, 1 );

Примерно так должен быть public:
Code
public OnGameModeInit( ) {
  for( new i = 0; i < MAX_VEHICLES; ++i )
      vehhasminigun[ i ] = 0;
  SetTimer( "check", 5000, 1 );
  SetTimer( "loop", 500, 1 );
  return 1;
}

После этого в любое место добавляем еще функции:
Code
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;
}

И потом находим
Code
public OnPlayerDeath
и вставляем туда код если хотите видеть если убили с минигана :)
желательно конечно это делать в [FS] public вот:
Code
public OnPlayerDeath( playerid, killerid, reason ) {
  // сюда поставьте ваш код убийство!
  return 1;
}

урок by - 26_RUSSS


zm-jail.ru

Разработка сайта samp-pawno.ru


 
Сообщение
Думаю по скрину вы поняли! начнем уроку!
верху мода:
Code
#include < a_npc > //если у вас этот инклуд есть то его 2 раз можно не ставить!

#define MAX_MINIGUNS 5 //в место 5 заменить на свое число сколько у вас танков устоновлено на сервере
#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)

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

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() и туда вставляем:
Code
for( new i = 0; i < MAX_VEHICLES; ++i )
      vehhasminigun[ i ] = 0;
  SetTimer( "check", 5000, 1 );
  SetTimer( "loop", 500, 1 );

Примерно так должен быть public:
Code
public OnGameModeInit( ) {
  for( new i = 0; i < MAX_VEHICLES; ++i )
      vehhasminigun[ i ] = 0;
  SetTimer( "check", 5000, 1 );
  SetTimer( "loop", 500, 1 );
  return 1;
}

После этого в любое место добавляем еще функции:
Code
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;
}

И потом находим
Code
public OnPlayerDeath
и вставляем туда код если хотите видеть если убили с минигана :)
желательно конечно это делать в [FS] public вот:
Code
public OnPlayerDeath( playerid, killerid, reason ) {
  // сюда поставьте ваш код убийство!
  return 1;
}

урок by - 26_RUSSS

Автор - admin
Дата добавления - 11.11.2011 в 16:11:39
BaksДата: Среда, 25.01.2012, 00:26:19 | Сообщение # 2

Группа: Пользователи
Сообщений: 17
А он сам находит все танки? или еще координаты танков вставлять?

Пересмотрел код, увидел, + получишь, если надо =)


AddPlayerClass(За компьтером);
P.S Люблю набивать посты! =)


Сообщение отредактировал Baks - Среда, 25.01.2012, 00:38:01
 
СообщениеА он сам находит все танки? или еще координаты танков вставлять?

Пересмотрел код, увидел, + получишь, если надо =)

Автор - Baks
Дата добавления - 25.01.2012 в 00:26:19
  • Страница 1 из 1
  • 1
Поиск:
Загрузка страницы, займет меньше минуты...
Загрузка...

Статистика Форума
Последнии темы Читаемые темы Лучшие пользователи Новые пользователи
Система телефонов поломалась
Не в себе
фильм скалайн
Трансформеры 3
форсаж 6
Ищу [FS]Для админок на сервер
нужны координаты карты для отметки зон...
Помогите найти мод
pawno урок автоматические ворота
обращение к скриптерам.
Вопросы по скриптингу
Ваши ошибки при компиляции GM/FS

Вопросы по скриптингу

(1081)

Считаем до 1000

(274)

Ваши ошибки при компиляция gm

(260)

Набор в команду

(80)

Ваши ошибки при компиляции GM/FS

(71)

вопроосы по скриптингу от 22.04.2013

(64)

Баннеробмен

(64)

несколько команд на samp 0.3 c

(64)

Оценки сайта samp-pawno.ru

(55)

Заказ хостинга

(51)

Набор в команду(форум)

(45)

Урок №61 по созданию системы авто для GodFather

(45)

admin

(3869)

[east_side]_trane

(443)

TWiX

(316)

valych

(501)

drifter-dron

(477)

danik_rok

(317)

Dimka_71rus

(360)

Drifter96

(300)

MaNb9K

(220)

[MTA]MaPeR5518

(181)

Dima_Tkach

(107)

Nik_Ull

(184)

system32xzxz

(Четверг 09:25:24)

torbin169

(Суббота 23:09:29)

kuchuk_00

(Суббота 17:10:14)

artem_boyko_3

(Суббота 15:57:37)

greggelbak

(Среда 18:29:37)

vladisvlavs

(Среда 13:51:57)

add02102002

(Понедельник 22:37:15)

Диман221

(Понедельник 18:12:45)

almas051004

(Воскресенье 11:05:32)

megasuccessms

(Суббота 14:15:36)

nawe

(Пятница 22:25:23)

swoysb

(Пятница 14:55:29)

Вверх
23:31:47
ОбновитьСмайлыУправление мини-чатом
ЧАТ-PAWNO
2010-2025

vkontakte :samp-pawno.ru: