Jump to content


Photo

Как сделать скрипт на открыть\закрыть цикличным?


  • Please log in to reply
4 replies to this topic

#1 OFFLINE   STEAL92

STEAL92

    Рядовой

  • Пользователи
  • 7 posts
  • Откуда:RF

Posted 05 May 2024 - 20:16

При написании скриптов загорелся идеей создать скрипт на открытие и закрытие техники, но столкнулся с проблемой, что не могу зациклить цикл так чтобы одно действие (addAction) появлялось, а другое исчезало, подскажите как это сделать, внизу код с описанием строк в нем.

 

 
/* 0 = [] execVM "addAction.sqf"; */
respMash addAction ["<t color='#00FF00'>Развернуть КШМ</t>", 
myResp = [west, "respMash"] call BIS_fnc_addRespawnPosition;//Создает точку респауна в технике 
 
player addEventHandler ["GetInMan",//Создаем событие GetInMan - если человек внутри
{
["respMash","player"];//Параметры GetInMan = true 
player moveOut respMash;//Действие при true. Высадится игроку
}];
 
respMash setVehicleLock "LOCKED";//Полностью блокирует технику 
hint parseText "<t size='2.0'>КШМ РАЗВЕРНУТ</t>";//Выводит хинт
respMash removeAction 0;//удаляет строчку экшена Развернуть КШМ
respMash addAction ["<t color='#FF0000'>Свернуть КШМ</t>",//Параметры addAction Свернуть КШМ  
{
myResp = [west, 0] call BIS_fnc_removeRespawnPosition;//Удаляем точку респауна в технике
respMash setVehicleLock "UNLOCKED";//Полностью разблокируем технику технику 
player removeAllEventHandlers "GetInMan";
hint parseText "<t size='2.0'>КШМ СВЕРНУТ</t>";//Выводит хинт
respMash removeAction 1;
},
nil, 1.5, true, true, "", "", 5];//Параметры addAction Свернуть КШМ
 
 
player moveOut respMash;//Высадится игроку если он телепортируется в respMash = машина
 
},
nil, 1.5, true, true, "", "", 5];//Параметры addAction Развернуть КШМ
 
 
 
 
 
 
respMash addEventHandler ["Killed",//Событие при котором техника уничтожена
{
myResp = [west, 0] call BIS_fnc_removeRespawnPosition;
respMash removeAction 0;
respMash removeAction 1;
}];
 

 

Attached Files


Edited by STEAL92, 05 May 2024 - 20:20.

  • 0

#2 OFFLINE   Schatten

Schatten

    Капитан

  • Пользователи
  • 1844 posts

Posted 05 May 2024 - 21:39

столкнулся с проблемой, что не могу зациклить цикл так чтобы одно действие (addAction) появлялось, а другое исчезало, подскажите как это сделать

Нужно использовать не глобальные переменные и магические числа (respMash removeAction 0), а локальные.


  • 0

#3 OFFLINE   STEAL92

STEAL92

    Рядовой

  • Пользователи
  • 7 posts
  • Откуда:RF

Posted 06 May 2024 - 11:39

 

столкнулся с проблемой, что не могу зациклить цикл так чтобы одно действие (addAction) появлялось, а другое исчезало, подскажите как это сделать

Нужно использовать не глобальные переменные и магические числа (respMash removeAction 0), а локальные.

 

Мне не понятно как это сделать. Я беру имя переменной respMash поскольку эта переменная прописана в параметрах этого объекта и получается что к нему и цепляю все addAction. 

Видел как применяют другую конструкцию, в ините обекта прописывают addAction и скрипт но там берется this как я понимаю тоже глобально (без _). Если можно скинь видео где с объектом в скрипте применяются локальные переменные, мне надо наглядно видеть, на словах я плохо понимаю.

 


  • 0

#4 OFFLINE   STEAL92

STEAL92

    Рядовой

  • Пользователи
  • 7 posts
  • Откуда:RF

Posted 06 May 2024 - 13:16

 

столкнулся с проблемой, что не могу зациклить цикл так чтобы одно действие (addAction) появлялось, а другое исчезало, подскажите как это сделать

Нужно использовать не глобальные переменные и магические числа (respMash removeAction 0), а локальные.

 

в том то и дело я не знаю как это сделать все что написано, было взято из источников, других видео, методом проб и ошибок у меня получилось сделать addAction и он работает, я хочу его довести до ума. Мне бы пример о том что ты говоришь в виде видео, чтоб наглядно было, так мне пока сложно понять.


  • 0

#5 OFFLINE   Schatten

Schatten

    Капитан

  • Пользователи
  • 1844 posts

Posted 06 May 2024 - 16:49

Если можно скинь видео где с объектом в скрипте применяются локальные переменные, мне надо наглядно видеть, на словах я плохо понимаю.

Разбирайся:


  • 0




Яндекс.Метрика