• Страница 1 из 1
  • 1
Модератор форума: [east_side]_trane, drifter-dron, valych, admin  
Форум » Pawno » Уроки » pawno урок tazer/тазер пистолет с глушителем (*icon-0*)
pawno урок tazer/тазер пистолет с глушителем
adminДата: Воскресенье, 26.05.2013, 17:57:04 | Сообщение # 1

Группа: Администраторы
Сообщений: 3869
Суть урока таков. Когда вы стреляете с пистолета глушителя то игрок падает на землю и замораживается на пару секунд. Этот урок подходит очень для копов чтобы легче было ловить преступников.
И так начнем
Верху мода где все #define вставляем:
Код
#define TAZE_WEAPON 23 // id оружия на котором будет срабатывать tazer.
#define TAZE_TIMER 5000 // Время в сек.когда человек может встать
#define TAZE_SPARK 18717 // искры объекта, можете это не трогать
#define TAZE_DESTROY 1250 // время в сек.когда игрок лежит
#define TAZE_LOSEHP 1 // Если вы поставили 1 то когда игрок лежит у него будут сниматься жизни , если поставите 0 то жизни будут оставаться на месте.

Верху мода где все new вставляем:
Код
new Tazer[MAX_PLAYERS];
new Spark[MAX_PLAYERS];
new Tazed[MAX_PLAYERS];

Верху мода где все forward вставляем:
Код
forward DestroySpark(playerid);
forward TazedRemove(playerid);

После этого ищем public OnPlayerConnect и туда вставляем:
Код
    Tazed[playerid] = 0;
  Tazer[playerid] = 0;

Примерно так должен быть public OnPlayerConnect
Код
public OnPlayerConnect(playerid)
{
  Tazed[playerid] = 0;
  Tazer[playerid] = 0;
  return 1;
}

После этого ищем public OnPlayerGiveDamage и туда вставляем:
Код
if(Tazer[playerid] == 1 && GetPlayerWeapon(playerid) == TAZE_WEAPON)
  {
      new Float:health,losehp;
      GetPlayerHealth(damagedid,health);
      losehp = TAZE_LOSEHP;
      if(Tazed[damagedid] == 1) return 1;
      new Float:x, Float:y, Float:z;
      GetPlayerPos(damagedid, x, y, z);
      ClearAnimations(damagedid);
      ApplyAnimation(damagedid,"PED","KO_skid_front",4.1,0,1,1,1,0);
      Spark[damagedid] = CreateObject(TAZE_SPARK, x, y, z-3, 0, 0, 0);
      SetTimerEx("DestroySpark", TAZE_DESTROY, 0, "i", damagedid);
      SetTimerEx("TazedRemove", TAZE_TIMER, 0, "i", damagedid);
      //TogglePlayerControllable(damagedid, 0);
      Tazed[damagedid] = 1;
      if(losehp) {} else SetPlayerHealth(damagedid, health+amount);
  }

Примерно так должен быть public OnPlayerGiveDamage
Код
public OnPlayerGiveDamage(playerid, damagedid, Float:amount, weaponid)
{
  if(Tazer[playerid] == 1 && GetPlayerWeapon(playerid) == TAZE_WEAPON)
  {
      new Float:health,losehp;
      GetPlayerHealth(damagedid,health);
      losehp = TAZE_LOSEHP;
      if(Tazed[damagedid] == 1) return 1;
      new Float:x, Float:y, Float:z;
      GetPlayerPos(damagedid, x, y, z);
      ClearAnimations(damagedid);
      ApplyAnimation(damagedid,"PED","KO_skid_front",4.1,0,1,1,1,0);
      Spark[damagedid] = CreateObject(TAZE_SPARK, x, y, z-3, 0, 0, 0);
      SetTimerEx("DestroySpark", TAZE_DESTROY, 0, "i", damagedid);
      SetTimerEx("TazedRemove", TAZE_TIMER, 0, "i", damagedid);
      //TogglePlayerControllable(damagedid, 0);
      Tazed[damagedid] = 1;
      if(losehp) {} else SetPlayerHealth(damagedid, health+amount);
  }
  return 1;
}

Потом ищем public OnPlayerCommandText и туда вставляем:
Код
if (strcmp("/sdpistol", cmdtext, true, 6) == 0)
  {
      GivePlayerWeapon(playerid, TAZE_WEAPON, 100);
      return 1;
  }
  if (strcmp("/tazer", cmdtext, true, 6) == 0)
  {
   new string[256];
      new sendername[MAX_PLAYER_NAME];
       GetPlayerName(playerid, sendername, sizeof(sendername));
      if(Tazer[playerid] == 0)
      {
    if(GetPlayerWeapon(playerid) == TAZE_WEAPON) {} else return SendClientMessage(playerid, 0xFFFFFFFF, "{DC0C0C}Тазер: {FFFFFF}Прикрепить tazer к пистолету с глушитилем?.");
    Tazer[playerid] = 1;
    format(string, sizeof(string), "{DC0C0C}Тазер: {FFFFFF}Вы взяли tazer к пистолету с глушителем, %s.", sendername);
    SendClientMessage(playerid, 0xFFFFFFFF, string);
    return 1;
   }
   else if(Tazer[playerid] == 1)
   {
       Tazer[playerid] = 0;
       format(string, sizeof(string), "{DC0C0C}Тазер: {FFFFFF}Вы сняли тазер с пистолета с глушитилем, %s.", sendername);
    SendClientMessage(playerid, 0xFFFFFFFF, string);
    return 1;
   }
   else Tazer[playerid] = 0;
   return 1;
  }

Примерно так должен быть public OnPlayerCommandText
Код
public OnPlayerCommandText(playerid, cmdtext[])
{
     if (strcmp("/sdpistol", cmdtext, true, 6) == 0)
  {
      GivePlayerWeapon(playerid, TAZE_WEAPON, 100);
      return 1;
  }
  if (strcmp("/tazer", cmdtext, true, 6) == 0)
  {
   new string[256];
      new sendername[MAX_PLAYER_NAME];
       GetPlayerName(playerid, sendername, sizeof(sendername));
      if(Tazer[playerid] == 0)
      {
    if(GetPlayerWeapon(playerid) == TAZE_WEAPON) {} else return SendClientMessage(playerid, 0xFFFFFFFF, "{DC0C0C}Тазер: {FFFFFF}Прикрепить tazer к пистолету с глушитилем?.");
    Tazer[playerid] = 1;
    format(string, sizeof(string), "{DC0C0C}Тазер: {FFFFFF}Вы взяли tazer к пистолету с глушителем, %s.", sendername);
    SendClientMessage(playerid, 0xFFFFFFFF, string);
    return 1;
   }
   else if(Tazer[playerid] == 1)
   {
       Tazer[playerid] = 0;
       format(string, sizeof(string), "{DC0C0C}Тазер: {FFFFFF}Вы сняли тазер с пистолета с глушитилем, %s.", sendername);
    SendClientMessage(playerid, 0xFFFFFFFF, string);
    return 1;
   }
   else Tazer[playerid] = 0;
   return 1;
  }
  return 0;
}

Потом в любое место вставляем две функции publica
Код
public DestroySpark(playerid)
{
  DestroyObject(Spark[playerid]);
  return 1;
}

public TazedRemove(playerid)
{
  TogglePlayerControllable(playerid, 1);
  ClearAnimations(playerid);
  Tazed[playerid] = 0;
  return 1;
}


by 26_RUSSS


zm-jail.ru

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


 
СообщениеСуть урока таков. Когда вы стреляете с пистолета глушителя то игрок падает на землю и замораживается на пару секунд. Этот урок подходит очень для копов чтобы легче было ловить преступников.
И так начнем
Верху мода где все #define вставляем:
Код
#define TAZE_WEAPON 23 // id оружия на котором будет срабатывать tazer.
#define TAZE_TIMER 5000 // Время в сек.когда человек может встать
#define TAZE_SPARK 18717 // искры объекта, можете это не трогать
#define TAZE_DESTROY 1250 // время в сек.когда игрок лежит
#define TAZE_LOSEHP 1 // Если вы поставили 1 то когда игрок лежит у него будут сниматься жизни , если поставите 0 то жизни будут оставаться на месте.

Верху мода где все new вставляем:
Код
new Tazer[MAX_PLAYERS];
new Spark[MAX_PLAYERS];
new Tazed[MAX_PLAYERS];

Верху мода где все forward вставляем:
Код
forward DestroySpark(playerid);
forward TazedRemove(playerid);

После этого ищем public OnPlayerConnect и туда вставляем:
Код
    Tazed[playerid] = 0;
  Tazer[playerid] = 0;

Примерно так должен быть public OnPlayerConnect
Код
public OnPlayerConnect(playerid)
{
  Tazed[playerid] = 0;
  Tazer[playerid] = 0;
  return 1;
}

После этого ищем public OnPlayerGiveDamage и туда вставляем:
Код
if(Tazer[playerid] == 1 && GetPlayerWeapon(playerid) == TAZE_WEAPON)
  {
      new Float:health,losehp;
      GetPlayerHealth(damagedid,health);
      losehp = TAZE_LOSEHP;
      if(Tazed[damagedid] == 1) return 1;
      new Float:x, Float:y, Float:z;
      GetPlayerPos(damagedid, x, y, z);
      ClearAnimations(damagedid);
      ApplyAnimation(damagedid,"PED","KO_skid_front",4.1,0,1,1,1,0);
      Spark[damagedid] = CreateObject(TAZE_SPARK, x, y, z-3, 0, 0, 0);
      SetTimerEx("DestroySpark", TAZE_DESTROY, 0, "i", damagedid);
      SetTimerEx("TazedRemove", TAZE_TIMER, 0, "i", damagedid);
      //TogglePlayerControllable(damagedid, 0);
      Tazed[damagedid] = 1;
      if(losehp) {} else SetPlayerHealth(damagedid, health+amount);
  }

Примерно так должен быть public OnPlayerGiveDamage
Код
public OnPlayerGiveDamage(playerid, damagedid, Float:amount, weaponid)
{
  if(Tazer[playerid] == 1 && GetPlayerWeapon(playerid) == TAZE_WEAPON)
  {
      new Float:health,losehp;
      GetPlayerHealth(damagedid,health);
      losehp = TAZE_LOSEHP;
      if(Tazed[damagedid] == 1) return 1;
      new Float:x, Float:y, Float:z;
      GetPlayerPos(damagedid, x, y, z);
      ClearAnimations(damagedid);
      ApplyAnimation(damagedid,"PED","KO_skid_front",4.1,0,1,1,1,0);
      Spark[damagedid] = CreateObject(TAZE_SPARK, x, y, z-3, 0, 0, 0);
      SetTimerEx("DestroySpark", TAZE_DESTROY, 0, "i", damagedid);
      SetTimerEx("TazedRemove", TAZE_TIMER, 0, "i", damagedid);
      //TogglePlayerControllable(damagedid, 0);
      Tazed[damagedid] = 1;
      if(losehp) {} else SetPlayerHealth(damagedid, health+amount);
  }
  return 1;
}

Потом ищем public OnPlayerCommandText и туда вставляем:
Код
if (strcmp("/sdpistol", cmdtext, true, 6) == 0)
  {
      GivePlayerWeapon(playerid, TAZE_WEAPON, 100);
      return 1;
  }
  if (strcmp("/tazer", cmdtext, true, 6) == 0)
  {
   new string[256];
      new sendername[MAX_PLAYER_NAME];
       GetPlayerName(playerid, sendername, sizeof(sendername));
      if(Tazer[playerid] == 0)
      {
    if(GetPlayerWeapon(playerid) == TAZE_WEAPON) {} else return SendClientMessage(playerid, 0xFFFFFFFF, "{DC0C0C}Тазер: {FFFFFF}Прикрепить tazer к пистолету с глушитилем?.");
    Tazer[playerid] = 1;
    format(string, sizeof(string), "{DC0C0C}Тазер: {FFFFFF}Вы взяли tazer к пистолету с глушителем, %s.", sendername);
    SendClientMessage(playerid, 0xFFFFFFFF, string);
    return 1;
   }
   else if(Tazer[playerid] == 1)
   {
       Tazer[playerid] = 0;
       format(string, sizeof(string), "{DC0C0C}Тазер: {FFFFFF}Вы сняли тазер с пистолета с глушитилем, %s.", sendername);
    SendClientMessage(playerid, 0xFFFFFFFF, string);
    return 1;
   }
   else Tazer[playerid] = 0;
   return 1;
  }

Примерно так должен быть public OnPlayerCommandText
Код
public OnPlayerCommandText(playerid, cmdtext[])
{
     if (strcmp("/sdpistol", cmdtext, true, 6) == 0)
  {
      GivePlayerWeapon(playerid, TAZE_WEAPON, 100);
      return 1;
  }
  if (strcmp("/tazer", cmdtext, true, 6) == 0)
  {
   new string[256];
      new sendername[MAX_PLAYER_NAME];
       GetPlayerName(playerid, sendername, sizeof(sendername));
      if(Tazer[playerid] == 0)
      {
    if(GetPlayerWeapon(playerid) == TAZE_WEAPON) {} else return SendClientMessage(playerid, 0xFFFFFFFF, "{DC0C0C}Тазер: {FFFFFF}Прикрепить tazer к пистолету с глушитилем?.");
    Tazer[playerid] = 1;
    format(string, sizeof(string), "{DC0C0C}Тазер: {FFFFFF}Вы взяли tazer к пистолету с глушителем, %s.", sendername);
    SendClientMessage(playerid, 0xFFFFFFFF, string);
    return 1;
   }
   else if(Tazer[playerid] == 1)
   {
       Tazer[playerid] = 0;
       format(string, sizeof(string), "{DC0C0C}Тазер: {FFFFFF}Вы сняли тазер с пистолета с глушитилем, %s.", sendername);
    SendClientMessage(playerid, 0xFFFFFFFF, string);
    return 1;
   }
   else Tazer[playerid] = 0;
   return 1;
  }
  return 0;
}

Потом в любое место вставляем две функции publica
Код
public DestroySpark(playerid)
{
  DestroyObject(Spark[playerid]);
  return 1;
}

public TazedRemove(playerid)
{
  TogglePlayerControllable(playerid, 1);
  ClearAnimations(playerid);
  Tazed[playerid] = 0;
  return 1;
}


by 26_RUSSS

Автор - admin
Дата добавления - 26.05.2013 в 17:57:04
Mattxl8Дата: Четверг, 22.08.2013, 23:00:49 | Сообщение # 2

Группа: Пользователи
Сообщений: 5
Я хочу ево сделать только для админов можно сделать штобы командой ево вызвать ну пример /tweapon id игрока количесто патронов
 
СообщениеЯ хочу ево сделать только для админов можно сделать штобы командой ево вызвать ну пример /tweapon id игрока количесто патронов

Автор - Mattxl8
Дата добавления - 22.08.2013 в 23:00:49
adminДата: Пятница, 23.08.2013, 13:26:17 | Сообщение # 3

Группа: Администраторы
Сообщений: 3869
Цитата (Mattxl8)
Я хочу ево сделать только для админов можно сделать штобы командой ево вызвать ну пример /tweapon id игрока количесто патронов
вот тут меняешь ид оружия на котором будет работать
Код
#define TAZE_WEAPON 23 // id оружия на котором будет срабатывать tazer

а вот с ркон админа будеть работать

Код
public OnPlayerCommandText(playerid, cmdtext[])
{
      if (strcmp("/sdpistol", cmdtext, true, 6) == 0)
   {
       if (!isPlayerAdmin(playerid))

        {
       GivePlayerWeapon(playerid, TAZE_WEAPON, 100);
}
                    else
  {
sendPlayerMessage( playerid, "Вы не администратор, вы не можете использовать эту функцию." );
}
                    }
       return 1;
   }
   if (strcmp("/tazer", cmdtext, true, 6) == 0)
   {
    new string[256];
       new sendername[MAX_PLAYER_NAME];
        GetPlayerName(playerid, sendername, sizeof(sendername));
   if (!isPlayerAdmin(playerid))

        {
       if(Tazer[playerid] == 0)
       {
     if(GetPlayerWeapon(playerid) == TAZE_WEAPON) {} else return SendClientMessage(playerid, 0xFFFFFFFF, "{DC0C0C}Тазер: {FFFFFF}Прикрепить tazer к пистолету с глушитилем?.");
     Tazer[playerid] = 1;
     format(string, sizeof(string), "{DC0C0C}Тазер: {FFFFFF}Вы взяли tazer к пистолету с глушителем, %s.", sendername);
     SendClientMessage(playerid, 0xFFFFFFFF, string);
     return 1;
    }
          else
  {
sendPlayerMessage( playerid, "Вы не администратор, вы не можете использовать эту функцию." );
}
    else if(Tazer[playerid] == 1)
    {
        Tazer[playerid] = 0;
        format(string, sizeof(string), "{DC0C0C}Тазер: {FFFFFF}Вы сняли тазер с пистолета с глушитилем, %s.", sendername);
     SendClientMessage(playerid, 0xFFFFFFFF, string);

     return 1;
    }
    else Tazer[playerid] = 0;
    return 1;
   }
   return 0;
}


zm-jail.ru

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


 
Сообщение
Цитата (Mattxl8)
Я хочу ево сделать только для админов можно сделать штобы командой ево вызвать ну пример /tweapon id игрока количесто патронов
вот тут меняешь ид оружия на котором будет работать
Код
#define TAZE_WEAPON 23 // id оружия на котором будет срабатывать tazer

а вот с ркон админа будеть работать

Код
public OnPlayerCommandText(playerid, cmdtext[])
{
      if (strcmp("/sdpistol", cmdtext, true, 6) == 0)
   {
       if (!isPlayerAdmin(playerid))

        {
       GivePlayerWeapon(playerid, TAZE_WEAPON, 100);
}
                    else
  {
sendPlayerMessage( playerid, "Вы не администратор, вы не можете использовать эту функцию." );
}
                    }
       return 1;
   }
   if (strcmp("/tazer", cmdtext, true, 6) == 0)
   {
    new string[256];
       new sendername[MAX_PLAYER_NAME];
        GetPlayerName(playerid, sendername, sizeof(sendername));
   if (!isPlayerAdmin(playerid))

        {
       if(Tazer[playerid] == 0)
       {
     if(GetPlayerWeapon(playerid) == TAZE_WEAPON) {} else return SendClientMessage(playerid, 0xFFFFFFFF, "{DC0C0C}Тазер: {FFFFFF}Прикрепить tazer к пистолету с глушитилем?.");
     Tazer[playerid] = 1;
     format(string, sizeof(string), "{DC0C0C}Тазер: {FFFFFF}Вы взяли tazer к пистолету с глушителем, %s.", sendername);
     SendClientMessage(playerid, 0xFFFFFFFF, string);
     return 1;
    }
          else
  {
sendPlayerMessage( playerid, "Вы не администратор, вы не можете использовать эту функцию." );
}
    else if(Tazer[playerid] == 1)
    {
        Tazer[playerid] = 0;
        format(string, sizeof(string), "{DC0C0C}Тазер: {FFFFFF}Вы сняли тазер с пистолета с глушитилем, %s.", sendername);
     SendClientMessage(playerid, 0xFFFFFFFF, string);

     return 1;
    }
    else Tazer[playerid] = 0;
    return 1;
   }
   return 0;
}

Автор - admin
Дата добавления - 23.08.2013 в 13:26:17
BumerДата: Среда, 07.12.2016, 17:32:39 | Сообщение # 4

Группа: Пользователи
Сообщений: 11
Надо добавить координаты? или все уже готовое есть ?
 
СообщениеНадо добавить координаты? или все уже готовое есть ?

Автор - Bumer
Дата добавления - 07.12.2016 в 17:32:39
adminДата: Среда, 21.12.2016, 15:25:40 | Сообщение # 5

Группа: Администраторы
Сообщений: 3869
Цитата Bumer ()
Надо добавить координаты? или все уже готовое есть ?
там все готовое 11


zm-jail.ru

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


 
Сообщение
Цитата Bumer ()
Надо добавить координаты? или все уже готовое есть ?
там все готовое 11

Автор - admin
Дата добавления - 21.12.2016 в 15:25:40
Форум » Pawno » Уроки » pawno урок tazer/тазер пистолет с глушителем (*icon-0*)
  • Страница 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)

Вверх
13:00:29
ОбновитьСмайлыУправление мини-чатом
ЧАТ-PAWNO
2010-2024

vkontakte :samp-pawno.ru: