Перейти к содержимому


Фотография

Вопросы по скриптингу

Arma3 как плотформа для созда Скритпы

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 1486

#861 OFFLINE   Ilias

Ilias

    Прапорщик

  • Пользователи
  • 512 сообщений

Отправлено 30 September 2017 - 00:27

 

Да, ладно, моя оплошность, извините,

*мне нужно перезаписать его


Сообщение отредактировал Ilias: 30 September 2017 - 00:33

  • 0

#862 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 30 September 2017 - 00:35

мне нужно перезаписать его

Во-первых, если перезаписать, то не советую, эта часть в Арме через одно место работает
Во-вторых, если все же ну прям нужно, то:
В случае наличия у нужного класса родителя:
Addon 1:
class CfgPatches {
  class MyAddon1 {...};
};

class MyBaseClass {
  param1 = 1;
  param2 = 2;
};
class MyClass: MyBaseClass {
  param3 = 3;
};
Addon 2:
class CfgPatches {
  class MyAddon2 {
    requiredAddons[] = {"MyAddon1"};
  };
};

class MyBaseClass;
class MyClass: MyBaseClass {
  param1 = -1;
  param2 = -2;
  param3 = -3;
};

В случае отсутствия родительского класса, просто из того что выше удаляет наследование

Сообщение отредактировал vlad333000: 30 September 2017 - 00:34

  • 0

#863 OFFLINE   Ilias

Ilias

    Прапорщик

  • Пользователи
  • 512 сообщений

Отправлено 30 September 2017 - 00:36

 

"Можно ли получить в конфиге класс назначенный в config.bin в другом .pbo (без копирования)" и "перезаписать его" ?


  • 0

#864 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 30 September 2017 - 00:38

Ilias, а теперь вопрос к вам: что вам бл** не понятно из сообщения выше?

Сообщение отредактировал vlad333000: 30 September 2017 - 00:40

  • 0

#865 OFFLINE   Ilias

Ilias

    Прапорщик

  • Пользователи
  • 512 сообщений

Отправлено 30 September 2017 - 00:44

Ilias, а теперь вопрос к вам? Что вам бл** не понятно из сообщения выше?

перезаписать не "его"(немного ошибся словом) а какую то его часть (иначе нафига его получать)


  • 0

#866 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 30 September 2017 - 00:46

Ilias, ну так и не меняйте их, просто skip и забыли что он существует. 2+2 уже сложить не можете?
  • 0

#867 OFFLINE   Ilias

Ilias

    Прапорщик

  • Пользователи
  • 512 сообщений

Отправлено 30 September 2017 - 00:47

Ilias, ну так и не меняйте их, просто skip и забыли что он существует. 2+2 уже сложить не можете?

извините, сплю на ходу )


  • 0

#868 OFFLINE   Ilias

Ilias

    Прапорщик

  • Пользователи
  • 512 сообщений

Отправлено 30 September 2017 - 02:50

(удалено)


Сообщение отредактировал Ilias: 30 September 2017 - 02:51

  • 0

#869 OFFLINE   Ilias

Ilias

    Прапорщик

  • Пользователи
  • 512 сообщений

Отправлено 30 September 2017 - 03:02

 

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание

Спасибо, можно через конфиг ?

x = 0.525791 * safezoneW + safezoneX;
y = 0.411984 * safezoneH + safezoneY;
w = 0.147319 * safezoneW;
h = 0.066012 * safezoneH;
angle[]={240,0.598007 * safezoneW + safezoneX,0.44499 * safezoneH + safezoneY};

и " angle=240; " не сработало


Сообщение отредактировал Ilias: 30 September 2017 - 03:34

  • 0

#870 OFFLINE   Akamaka

Akamaka

    Рядовой

  • Пользователи
  • 5 сообщений

Отправлено 30 September 2017 - 10:51

 

 

 

 

В инитах юнитов в редакторе нельзя чтобы что то возвращалось, execVM возвращает scripthandle, call здесь лишнее, и кажется execvm не работает без параметров

0=[]execVM"script.sqf";

( [] ==параметр для execVM)

Так я тоже пробовал, ничего не выходит. Буду признателен если подскажете каким образом запустить подобный скрипт.

 

Дать юниту variable name и выполнять через init.sqf

 

 

script.sqf переименовал в init.sqf - находится в папке с миссией? Ошибки нет.

 

Про переменные пробовал так:

U2=Bot2;

Не работает. Нашел такой код:

player setVariable["cocaineVal", "vHlam"];

if (player getVariable ["cocaineVal", "bezPaleva"] == "vHlam") then {
  hint "Hello";
};

Работает, но не могу понять куда что подставлять,из моего кода.  Я так понял player - имя юнита (U2); "cocaineVal"-имя переменной??? "vHlam"-???без понятия; "bezPaleva"-???анологично.


  • 0

#871 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 30 September 2017 - 12:52

Ilias, нет
  • 0

#872 OFFLINE   Ilias

Ilias

    Прапорщик

  • Пользователи
  • 512 сообщений

Отправлено 30 September 2017 - 16:19

Ilias, нет

спс


  • 0

#873 OFFLINE   Ilias

Ilias

    Прапорщик

  • Пользователи
  • 512 сообщений

Отправлено 30 September 2017 - 18:11

(удалено)


Сообщение отредактировал Ilias: 30 September 2017 - 18:20

  • 0

#874 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 30 September 2017 - 18:49

 

 

 

 

 

В инитах юнитов в редакторе нельзя чтобы что то возвращалось, execVM возвращает scripthandle, call здесь лишнее, и кажется execvm не работает без параметров

0=[]execVM"script.sqf";

( [] ==параметр для execVM)

Так я тоже пробовал, ничего не выходит. Буду признателен если подскажете каким образом запустить подобный скрипт.

 

Дать юниту variable name и выполнять через init.sqf

 

 

script.sqf переименовал в init.sqf - находится в папке с миссией? Ошибки нет.

 

Про переменные пробовал так:

U2=Bot2;

Не работает. Нашел такой код:

player setVariable["cocaineVal", "vHlam"];

if (player getVariable ["cocaineVal", "bezPaleva"] == "vHlam") then {
  hint "Hello";
};

Работает, но не могу понять куда что подставлять,из моего кода.  Я так понял player - имя юнита (U2); "cocaineVal"-имя переменной??? "vHlam"-???без понятия; "bezPaleva"-???анологично.

 

 

И откуда вы Сударь достали это). Прочитал, ржал минуть 5).

В этом примере я применил слегка юморные имена переменной и её возможных значений.

 

 

Я так понял player - имя юнита (U2);

Нет, player, это юнит которым управляет игрок.

 

 

"cocaineVal"-имя переменной???

Правильно

 

 

"vHlam"-???без понятия;

Вероятное значение переменной cocoineVal

 

 

"bezPaleva"-???

Тоже самое


  • 0

#875 OFFLINE   Akamaka

Akamaka

    Рядовой

  • Пользователи
  • 5 сообщений

Отправлено 30 September 2017 - 19:47

Достал отсюда https://arma3.ru/for...-drugoi-skript/

Благодарю что разжевали. Так и не продвинулся.


  • 0

#876 OFFLINE   Goliaf

Goliaf

    Рядовой

  • Пользователи
  • 1 сообщений

Отправлено 03 October 2017 - 00:09

Добрый день. Подскажите пожалуйста, как сделать отображение траектории полета пули для полигона? Я нашел файл со скриптом 

ссылка
но в нем много лишнего и отсутствует функция отключения скрипта в игре. Может кто знает скрипт попроще или как прописать "вкл/выкл"? Заранее благодарен.


Сообщение отредактировал Goliaf: 03 October 2017 - 00:19

  • 0

#877 OFFLINE   lopster102

lopster102

    Ст.сержант

  • Пользователи
  • 267 сообщений
  • Откуда:mscw

Отправлено 03 October 2017 - 01:31

Добрый день. Подскажите пожалуйста, как сделать отображение траектории полета пули для полигона? Я нашел файл со скриптом 

ссылка
но в нем много лишнего и отсутствует функция отключения скрипта в игре. Может кто знает скрипт попроще или как прописать "вкл/выкл"? Заранее благодарен.

а че такое полигон?полигон который в 3д графике или какой?


  • 0

#878 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 03 October 2017 - 08:44

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание


  • 0

#879 OFFLINE   lopster102

lopster102

    Ст.сержант

  • Пользователи
  • 267 сообщений
  • Откуда:mscw

Отправлено 10 October 2017 - 01:17

а можно ли во втором аддоне изменить базовый класс чтобы в аддоне 3 он уже был изменен?

 

P.S будет ли это работать для  ванильных классов в арма 3 которые загружаются в базовом  конифиге арма 3 таких как вот этот

calss CAManBase{};

можно ли изменить его так чтобы после  мода с моими правками уже все следующие моды использовали этот базовый класс с моими изменениями?и если да то мне нужно будет его полностью переписать только уже со своими параметрами?

 

типо вот так

1)

загрузка всего конфига{

class CAManBase
{
param1 = 1;
};

};

2)

загрузка моего мода{

вот тут я  изменяю параметры  этого класса

class CfgPatches
{

    class My_mod
    {

        units[] = {};
        weapons[] = {};
        requiredVersion = 0.1;
        requiredAddons[] = {"A3_Data_F"};

    };
};
  class CfgVehicles 
  {
      class CAManBase
{
param1 = -999999;
};
};  

};

3)

загрузка уже стороннего мода который использует этот базовый класс для своих классов

class CfgPatches
{

    class Mod_from_WorkShop
    {

        units[] = {};
        weapons[] = {};
        requiredVersion = 0.1;
        requiredAddons[] = {"A3_Data_F"};

    };
};
  class CfgVehicles
  {
   class  CAManBase;
      class Newunit :CAManBase
{
param1 =  ?; //что тут будет "1" или  "-999999" ?
};
}; 

Сообщение отредактировал lopster102: 10 October 2017 - 01:42

  • 0

#880 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 10 October 2017 - 01:30

lopster102, да, но нужно выполнить два условия:
1. В аддоне, который изменяет, нужно указать в зависимостях аддон, в котором эти классы/параметры определяются
2.1 Запустить аддон, который изменяет, ДО аддона, в котором эти изменения должны появится (Порядок запуска = порядок, в котором аддоны написаны в строке запуска)
Или
2.2 В аддоне, в котором эти изменения должны появится, должен указать в зависимостях аддон, который изменяет
А так метод наследования в Арме не очень приспособлен для такого рода вещей, и поэтому легче будет тупо написать все эти 100-1000 финальных классов, изменить нужные параметры и запускать этот аддон в конце, при этом такое с меньшей вероятностью сломает другие аддоны параллельно установленные.

Сообщение отредактировал vlad333000: 10 October 2017 - 01:31

  • 0




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