Автор Тема: Chopper Update  (Прочитано 3007 раз)

Оффлайн SpitFire

  • Прохожий
  • *
  • Сообщений: 55
  • Репутация: +0/-0
    • Просмотр профиля
Chopper Update
« : Май 18, 2016, 10:22:50 pm »
Ух, долго же я возился с моделью коповской вертушки, что прилетает при 3-х звёздах, модель отображалась некорректно, двери были внутри модели, пришлось пойти на хитрость и поменять id 165 на id 217 и о чудо! Наконец-таки всё заработало и все пилоты сели на свои места. Кроме пилотов я решил добавить 2-х спецназовцев с m4, но из-за коллизии вертолёта они не видят игрока. Тогда я решил посадить пулемётчика и сделать условие: если пулемётчик мёртв, то вертолёт перестаёт стрелять. Функция отключения атаки вертолёта у меня есть, скрипт уже написан и работает, но вот не задача! Игра почему-то не видит переменной $PULEMETCHIK, и поэтому условие if Actor.Dead($PULEMETCHK) не работает, а условие if not Actor.inCar($PULEMETCHIK, 2@) так вообще создаёт вылет. https://yadi.sk/d/gz-S9DTSrpLQj
Помогите.  :'(

Оффлайн Shagg_E

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 705
  • Репутация: +24/-4
  • Изобретательный Рукожопъ
    • Просмотр профиля
    • NewRockstar
Re: Chopper Update
« Ответ #1 : Май 18, 2016, 11:46:33 pm »
В клео скриптах нельзя использовать глобальные переменные.

Оффлайн SpitFire

  • Прохожий
  • *
  • Сообщений: 55
  • Репутация: +0/-0
    • Просмотр профиля
Re: Chopper Update
« Ответ #2 : Май 19, 2016, 01:09:08 pm »
В клео скриптах нельзя использовать глобальные переменные.

Что ты имеешь ввиду под фразой "глобальные переменные"?

Оффлайн SpitFire

  • Прохожий
  • *
  • Сообщений: 55
  • Репутация: +0/-0
    • Просмотр профиля
Re: Chopper Update
« Ответ #3 : Май 19, 2016, 01:14:20 pm »
В клео скриптах нельзя использовать глобальные переменные.

Хм, кажись понял, глобальная переменная - это та что с $. Но ведь $Pilot это тоже глоб. переменная? Кстати, скрипт работает как надо, спасибо.

Оффлайн Shagg_E

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 705
  • Репутация: +24/-4
  • Изобретательный Рукожопъ
    • Просмотр профиля
    • NewRockstar
Re: Chopper Update
« Ответ #4 : Май 19, 2016, 01:55:21 pm »
Вообще все $ использовать(записывать) нельзя.
Можно использовать только $PLAYER_CHAR, $PLAYER_ACTOR и читать значения из стандартных глоб. переменных(типа $ONMISSION).
Но и читать тоже не советую - в этом случае, при НЕстандартных мэйнах твои клео скрипты будут работать некорректно.
Некоторые люди думают, что, если у них не вылетает игра - вреда от использования глоб. переменных нет. Но тем временем из-за клео скриптов постепенно перезаписываются стандартные глобальные переменные, и в один прекрасный момент это всё же вызовет негативные последствия. Более того - даже несколько клео скриптов, использующих глоб. переменные - уже могут конфликтовать друг с другом.
А всему виной то, что у игры единый пул глобальных переменных, который юзает и scm и клео скрипты.

Оффлайн mfisto

  • Скриптер
  • Главный Модератор
  • Новичок
  • *****
  • Сообщений: 176
  • Репутация: +19/-0
  • Не пью, не курю, за компьютером сижу...
    • mfistof
    • Просмотр профиля
    • Empire of CJ
Re: Chopper Update
« Ответ #5 : Май 19, 2016, 04:24:32 pm »
В современном клео можно обойтись вообще без глобальных переменных даже таймеров. Переменная $Player_Char всегда равна 0, потому что это индекс игрока всего навсего, переменную player_actor легко получить из игрока опкодом. Вообще советую везде где есть переменная $player_char писать просто 0. После этого становится ясен опкод проверки нажатия клавиши, по идее там идет игрок и клавиша, а точнее номер джойстика и клавиша. Так как игроков может быть два а то и 4 в саньке. но возможность мультика вырезано разрабами за неимением нормального сопровождения.
I know everything and nothing...

Оффлайн Shagg_E

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 705
  • Репутация: +24/-4
  • Изобретательный Рукожопъ
    • Просмотр профиля
    • NewRockstar
Re: Chopper Update
« Ответ #6 : Май 19, 2016, 07:09:40 pm »
В Вайсе тоже 4 игрока по дефолту(0, 1, 2 и 3). Правда, это тоже не используется, как и в СА. Есть подозрение, что и в трехе всё так же - ведь именно там изначально разрабами задумывался мультиплеер...
« Последнее редактирование: Май 19, 2016, 07:14:26 pm от Shaggy »