Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
  • Нужна помощь?

    Создайте тему в соответствующем разделе
    Не нужно писать всё в чат!
  • Загляните на торговую площадку

    Там вы можете купить
    всё что касается игровых серверов
  • Не хотите бан?

    Пожалуйста, ознакомьтесь с нашими правилами
    Не нарушайте порядок!
  • Продаёте или покупаете?

    Пользуйтесь услугами гаранта
    Мы сделаем вашу сделку безопасной
  • 0
TheLinsus

Изменение названия переменной в цикле

Для упрощения кода требуется изменение переменных в цикле.

Пример: нужны переменные _platoon0, _platoon1, _platoon2, _platoon3 и тд. Как их, допустим, разом обнулить в цикле?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендованные сообщения

  • 0

Для упрощения кода требуется изменение переменных в цикле.

Пример: нужны переменные _platoon0, _platoon1, _platoon2, _platoon3 и тд. Как их, допустим, разом обнулить в цикле?

Хорошая трава и велосипед)

 

мб массив бы помог?)

 

Ну раз очень хочется

Private ["_i"];
for "_i" from X to Y do
{
call compile ("_platoon"+str(_i)+"=nil;");
};

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах





  • 0

 

Хорошая трава и велосипед)

 

мб массив бы помог?)

 

Ну раз очень хочется

Private ["_i"];
for "_i" from X to Y do
{
call compile ("_platoon"+str(_i)+"=nil;");
};

А почему у str ставятся плюсы с обоих сторон?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

А почему у str ставятся плюсы с обоих сторон?

 

По правилам математики)))))0

чтоб получить строку

_platoonX=nil;

 

)

Как бэ складываются строки жеж) а _i - число, переделанное в строку)

Изменено пользователем NoNameUltima (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

По правилам математики)))))0

чтоб получить строку

_platoonX=nil;

 

)

Как бэ складываются строки жеж) а _i - число, переделанное в строку)

это понятно что строки складываются) а вот почему справа от str + пишем?) 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

это понятно что строки складываются) а вот почему справа от str + пишем?) 

Потому что, в итоге, тебе надо получить строку -

_platoonX=nil;

платун+число+=nil;

 

получаем строку

платун10=нил;

 

и используя апи армы, компилим строку, а затем выполняем ее как код

call compile "_platoon10=nil;";

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Потому что, в итоге, тебе надо получить строку -

_platoonX=nil;

платун+число+=nil;

 

получаем строку

платун10=нил;

 

и используя апи армы, компилим строку, а затем выполняем ее как код

call compile "_platoon10=nil;";

вроде понял, спасибо

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Похожие публикации

    • Автор: 123new
      Такого плана вопрос по моддингу на 1.0.
      В моде есть, например, класс:
      class ExpansionGlobalChat с кучей функций
      создаю свой мод, в котором указываю
      modded class ExpansionGlobalChat { override void GlobalChat(CallType type, ref ParamsReadContext ctx, ref PlayerIdentity sender, ref Object target) { super.GlobalChat(type, ctx, sender, target); Param2< string, string > data; if ( !ctx.Read( data ) ) return; if( type == CallType.Server ) { string name = sender.GetName(); string steamid = sender.GetPlainId(); string bisid = sender.GetId(); string idtable = sender.GetPlayerId().ToString(); string log_date_time = ExpansionGetDateTime(); string format = "[" + log_date_time + "] " + "[Chat]" + " " + name + "(steamid=" + steamid + ", bisid=" + bisid + ") " + data.param2; Print(format); } } } и пакую, запускаю сервер. Пишет как на скрине.

      Если modded убираю - пишет что класс уже используется. Что я не так делаю? Как делать правильно? не допираю.
    • Автор: DrTauren
      Собственно, из названия понятно, что в этом гайде мы научимся отключать уровень стамины игрока, отключать усталость

      Инструкция:
      1) Находим файл dta/scripts.pbo и распаковываем его при помощи PBO Manager и копируем только что распакованную папку scripts в корневую папку сервера
      2) Открываем файл scripts/3_Game/constants.c и изменяем этот код под себя:
      const int STAMINA_DRAIN_STANDING_SPRINT_PER_SEC = 5; //в единицах (сколько единиц выносливости отбавляется при ускорении) const int STAMINA_DRAIN_CROUCHED_SPRINT_PER_SEC = 1; //в единицах (сколько единиц выносливости отбавляется при ускорении на корточках) const int STAMINA_DRAIN_PRONE_SPRINT_PER_SEC = 3; //в единицах (сколько единиц выносливости отбавляется при ускорении лёжа) const float STAMINA_DRAIN_HOLD_BREATH = 0.2; //в единицах (сколько единиц выносливости отбавляется при задержке дыхания) const int STAMINA_DRAIN_JUMP = 20; //в единицах (сколько единиц выносливости отбавляется при прыжке) const int STAMINA_DRAIN_MELEE_LIGHT = 5; //в единицах (сколько единиц выносливости отбавляется при лёгком ударе в ближнем бою) const float STAMINA_DRAIN_MELEE_HEAVY = 20; //в единицах (сколько единиц выносливости отбавляется при сильном ударе в ближнем бою) const int STAMINA_DRAIN_MELEE_EVADE = 8; //в единицах (сколько единиц выносливости отбавляется при уклонении) Таким образом мы можем отключить усталость игрока, стамина всегда будет максимальная. Для этого нужно всего лишь установить все параметры на значение 0
       
    • Автор: W0LF
      Сабж собственно. Для ручного оружия работает:
      _weapon = "AKM_Kobra_DZ"; _unit_magazine_name = getArray (configFile >> "CfgWeapons" >> _weapon >> "magazines"); systemChat format["%1:",_weapon]; {systemChat format["%1",_x];} forEach _unit_magazine_name; Однако для техники не работает:
      _car = "ArmoredSUV_PMC_DZE4"; _car_magazine_name = getArray (configFile >> "CfgVehicles" >> _car >> "magazines"); systemChat format["%1:",_car]; {systemChat format["%1",_x];} forEach _car_magazine_name; Что не так?
    • Автор: DrTauren
      Дорогие друзья, Администрацией форума приняты новые правила касательно слива\распространения античита InfiSTAR 

      Теперь коллектив сайта не несёт ответственности за слив продукта, т.к. будет создана специальная тема, в которой будут выкладываться уже слитые версии, найденные в интернете, на других сайтах. Выкладываться они будут абсолютно без изменений. Кстати, все темы касательно InfiSTAR будут удалены с сайта.
      Обращаю внимание что данное решение было принято не мной лично, а всем коллективом S-Platoon.
      Внимание! На форуме все так же запрещено сливать\продавать\выкладывать InfiSTAR, это будет караться баном без предупреждения. 
      В данной теме вы можете изложить своё мнение по этому вопросу, а также предложить другие пути разрешения ситуации
    • Автор: DrTauren
      Собственно из названия темы всё понятно, да и сам скрипт всем давно известен. Он позволяет изменить дальность прорисовки при нажатии ПКМ по биноклю или дальномеру.

      Что вам понадобится:

      Инструкция по установке:
      1) Качаем архив: 
      2) Открываем наш extra_rc.hpp и добавляем туда код:
      class Binocular { class distanceb500m { text = "500 meters"; script = "execVM 'custom\setview\500.sqf'"; }; class distanceb1000m { text = "1000 meters"; script = "execVM 'custom\setview\1000.sqf'"; }; class distanceb1500m { text = "1500 meters"; script = "execVM 'custom\setview\1500.sqf'"; }; class distanceb2000m { text = "2000 meters"; script = "execVM 'custom\setview\2000.sqf'"; }; class distanceb2500m { text = "2500 meters"; script = "execVM 'custom\setview\2500.sqf'"; }; class distanceb3000m { text = "3000 meters"; script = "execVM 'custom\setview\3000.sqf'"; }; class distanceb3500m { text = "3500 meters"; script = "execVM 'custom\setview\3500.sqf'"; }; class distanceb4000m { text = "4000 meters"; script = "execVM 'custom\setview\4000.sqf'"; }; class distanceb4500m { text = "4500 meters"; script = "execVM 'custom\setview\4500.sqf'"; }; class distanceb5000m { text = "5000 meters"; script = "execVM 'custom\setview\5000.sqf'"; }; }; class Binocular_Vector { class distanceb500m { text = "500 meters"; script = "execVM 'custom\setview\500.sqf'"; }; class distanceb1000m { text = "1000 meters"; script = "execVM 'custom\setview\1000.sqf'"; }; class distanceb1500m { text = "1500 meters"; script = "execVM 'custom\setview\1500.sqf'"; }; class distanceb2000m { text = "2000 meters"; script = "execVM 'custom\setview\2000.sqf'"; }; class distanceb2500m { text = "2500 meters"; script = "execVM 'custom\setview\2500.sqf'"; }; class distanceb3000m { text = "3000 meters"; script = "execVM 'custom\setview\3000.sqf'"; }; class distanceb3500m { text = "3500 meters"; script = "execVM 'custom\setview\3500.sqf'"; }; class distanceb4000m { text = "4000 meters"; script = "execVM 'custom\setview\4000.sqf'"; }; class distanceb4500m { text = "4500 meters"; script = "execVM 'custom\setview\4500.sqf'"; }; class distanceb5000m { text = "5000 meters"; script = "execVM 'custom\setview\5000.sqf'"; }; }; }; 3) Копируем папку setview из архива в нашу папку custom, находящуюся в папке миссии

      Вот и всё. Надеюсь кому-то помог 

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
  • Наш выбор

×
×
  • Создать...

Важная информация

Используя этот сайт, вы автоматически обязуетесь соблюдать наши Правила и Политика конфиденциальности.
Чтобы сделать этот веб-сайт лучше, мы разместили cookies на вашем устройстве. Вы можете изменить свои настройки cookies, в противном случае мы будем считать, что вы согласны с этим.