Создание актёра и разговор с ним Без пикапа - Форум Cheat-Master.ru
  • Страница 1 из 1
  • 1
Модератор форума: Phoenixxx_Czar, Getbackthere, [CM]OlegEhtler  
Создание актёра и разговор с ним Без пикапа
SWAT142RUS Дата: Понедельник, 14.09.2015, 05:36 | Сообщение # 1
Новичок
Сообщений: 2
Статус: Offline
Система актера на сервер суть актера будет подсказывать игрокам что да и как
Автор Олежка

Обязателен include a_actor [URL="http://rghost.ru/67hk8VMSH"]скачать[/URL]

Добавим к инклудам:
Код

#include  a_actor

В начало мода:

[HTML]new bool: bot[MAX_PLAYERS];
new boty[MAX_PLAYERS];[/HTML]

В public OnGameModeInit

Код
SetTimer("SecTimer", 1000, 1);
CreateActor(60, 1953.7014,1340.8524,15.3746,302.5011);


ВНИМАНИЕ!!! Вместо данных координатов укажите свои координаты и угол поворота актёра! И скин свой выберите!!
Сама функция:

Код
CreateActor(скин, координата Х, координата У, координата Z, угол поворота);


В public OnPlayerConnect

Код
bot[playerid] = false;
boty[playerid] = 0;


В public OnDialogResponse
• если у вас стоит switch(dialogid), то

Код
case 1521:
{
      if(!response)
      {
          bot[playerid] = false;
          boty[playerid] = 10;
          return 1;
      }
      bot[playerid] = true;
      switch(listitem)
      {
          case 0: ShowPlayerDialog(playerid, 1522, DIALOG_STYLE_MSGBOX, "Разговор с ботом:", "Меня зовут Oliver. Моя фамилия Green. Я живу не подолёку.", "Ясно", "");
          case 1: ShowPlayerDialog(playerid, 1522, DIALOG_STYLE_MSGBOX, "Разговор с ботом:", "Иди в мэрию. Там тебе всё покажут и расскажут.", "Ясно", "");
          case 2: ShowPlayerDialog(playerid, 1522, DIALOG_STYLE_MSGBOX, "Разговор с ботом:", "Возле Глен-Парка есть ночлежка. Таксист отвезёт.", "Ясно", "");
          case 3: ShowPlayerDialog(playerid, 1522, DIALOG_STYLE_MSGBOX, "Разговор с ботом:", "В мэрии. Там всё показано. Иди да прочитай.", "Ясно", "");
          case 4: ShowPlayerDialog(playerid, 1522, DIALOG_STYLE_MSGBOX, "Разговор с ботом:", "Нет, а вот лесопилка без работяг. Дуй туда!", "Ясно", "");
          case 5: ShowPlayerDialog(playerid, 1522, DIALOG_STYLE_MSGBOX, "Разговор с ботом:", "Меня кстате Oliver  зовут.", "Ясно", "");
      }
}
case 1522:
{
      bot[playerid] = false;
      boty[playerid] = 10;
      return 1;
}


• если у вас перечисление (типа if(dialogid == ..), то

Код
if(dialogid == 1521)
{
      if(!response)
      {
          bot[playerid] = false;
          boty[playerid] = 10;
          return 1;
      }
      bot[playerid] = true;
      switch(listitem)
      {
          case 0: ShowPlayerDialog(playerid, 1522, DIALOG_STYLE_MSGBOX, "Разговор с ботом:", "Мне зовут Oliver. Моя фамилия Green. Я живу не подолёку.", "Ясно", "");
          case 1: ShowPlayerDialog(playerid, 1522, DIALOG_STYLE_MSGBOX, "Разговор с ботом:", "Иди в мэрию. Там тебе всё покажут и расскажут.", "Ясно", "");
          case 2: ShowPlayerDialog(playerid, 1522, DIALOG_STYLE_MSGBOX, "Разговор с ботом:", "Возле Глен-Парка есть ночлежка. Таксист отвезёт.", "Ясно", "");
          case 3: ShowPlayerDialog(playerid, 1522, DIALOG_STYLE_MSGBOX, "Разговор с ботом:", "В мэрии. Там всё показано. Иди да прочитай.", "Ясно", "");
          case 4: ShowPlayerDialog(playerid, 1522, DIALOG_STYLE_MSGBOX, "Разговор с ботом:", "Нет, а вот лесопилка без работяг. Дуй туда!", "Ясно", "");
          case 5: ShowPlayerDialog(playerid, 1522, DIALOG_STYLE_MSGBOX, "Разговор с ботом:", "Меня кстате Oliver  зовут.", "Ясно", "");
      }
}
else if(dialogid == 1522)
{
      bot[playerid] = false;
      boty[playerid] = 10;
      return 1;
}


Функция: в конец мода

Код
stock PlayerToActor(Float:radi, playerid, actorid)
{
          if(IsPlayerConnected(playerid))
          {
                  new Float:pos[3],Float:actpos[3],Float:temppos[3];
                  GetPlayerPos(playerid, actpos[0], actpos[1], actpos[2]);
                  GetActorPos(actorid, pos[0], pos[1], pos[2]);
                  temppos[0] = (actpos[0] -pos[0]); temppos[1] = (actpos[1] -pos[1]); temppos[2] = (actpos[2] -pos[2]);
                  if (((temppos[0] < radi) && (temppos[0] > -radi)) && ((temppos[1] < radi) && (temppos[1] > -radi)) && ((temppos[2] < radi) && (temppos[2] > -radi))) return true;
          }
          return false;
}


Далее в конце мода создаём паблик:

Код
forward SecTimer();
public SecTimer()
{
      for(new i = 0; i < MAX_PLAYERS; i++)
      {
          if(PlayerToActor(1.2, i, 0))
          {
              if(bot[i] == true) return 1;
              if(boty[i] > 0) return 1;
              ShowPlayerDialog(i, 1521, DIALOG_STYLE_LIST, "Oliver: - Что-то хотел?","Кто ты?\nЯ только прилетел, где тут можно оформить документы?\nГде мне можно переночевать?\nКак мне устроиться на работу?\nУ тебя нет для меня работы?\nНет-нет. Нечего не хотел.", "Выбрать", "Отмена");
              bot[i] = true;
          }
          boty[i] --;
      }
      return 1;
}


У кого есть foreach, то вместо паблика выше - паблик ниже:

Код
forward SecTimer();
public SecTimer()
{
      foreach(Player, i)
      {
          if(PlayerToActor(1.2, i, 0))
          {
              if(bot[i] == true) return 1;
              if(boty[i] > 0) return 1;
              ShowPlayerDialog(i, 1521, DIALOG_STYLE_LIST, "Oliver: - Что-то хотел?","Кто ты?\nЯ только прилетел, где тут можно оформить документы?\nГде мне можно переночевать?\nКак мне устроиться на работу?\nУ тебя нет для меня работы?\nНет-нет. Нечего не хотел.", "Выбрать", "Отмена");
              bot[i] = true;
          }
          boty[i] --;
      }
      return 1;
}




Сообщение отредактировал SWAT142RUS - Понедельник, 14.09.2015, 07:42
[CM]Kingster Дата: Понедельник, 14.09.2015, 06:42 | Сообщение # 2
Боец
Сообщений: 245
Статус: Offline
Цитата SWAT142RUS ()
Мне зовут Oliver

Ошибку исправь


Пользователь Cheat - Master уже 400 дней.

Я в Контакте - vk.com/buddy_fly
SWAT142RUS Дата: Понедельник, 14.09.2015, 07:43 | Сообщение # 3
Новичок
Сообщений: 2
Статус: Offline
исправил сори не заметил
A7X Дата: Понедельник, 14.09.2015, 14:24 | Сообщение # 4
Боец
Сообщений: 210
Статус: Offline
Боже, даже скопировать нормально не смог

2000 дней на сайте.
Читер СМ с 21.01.2015 - 14.09.2016


Сообщение отредактировал A7X - Понедельник, 14.09.2015, 14:25
Амасинк Дата: Понедельник, 14.09.2015, 16:48 | Сообщение # 5
Боец
Сообщений: 267
Статус: Offline
A7X, главное, что автора указал, да и думаю любой разберётся как скопировать

Помогаю новичкам в pawn
BrokeMan Дата: Понедельник, 14.09.2015, 18:50 | Сообщение # 6
Новичок
Сообщений: 15
Статус: Offline
Цитата SWAT142RUS ()
Нечего не хотел.

Пишется нИчего
ArrowOfDeath Дата: Среда, 16.09.2015, 19:22 | Сообщение # 7
Советник
Сообщений: 629
Статус: Offline
Спасибо за урок, +

Мои AHК скрипты | Темы:

AHK

Simon4ik228 Дата: Суббота, 19.09.2015, 12:43 | Сообщение # 8
Боец
Сообщений: 237
Статус: Offline
Цитата A7X ()
Боже, даже скопировать нормально не смог

В смысле? Это баянчик чтоль?
CHERDAK228 Дата: Пятница, 30.10.2015, 15:58 | Сообщение # 9
Боец
Сообщений: 105
Статус: Offline
Цитата Churuk ()
Спасибо, лови + искал довно но не работает на всех модах.

Работает абсолютно на всех модах. Просто ты криворукий, и не умеешь даже вставить кусок кода в мод.


[url=http://fastpic.ru/][img]http://i66.fastpic.ru/big/2015/1121/9b/248460b1951cff6df29c52d847df449b.jpg[/img][/url]
[Majestic RP] Обход античита.
http://cheat-master.ru/forum/165-510461-1

[Diamond RP] Быстро выходим из больницы.
http://cheat-master.ru/forum/192-521375-1

[Diamond RP] Катаемся на автобусе бесплатно.
http://cheat-master.ru/forum/192-500618-1

[California RP] Полезные советы.
http://cheat-master.ru/forum/165-515907-1
  • Страница 1 из 1
  • 1
Поиск:
Статистика Форума