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


Фотография

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

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

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

#841 OFFLINE   Ilias

Ilias

    Прапорщик

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

Отправлено 27 September 2017 - 21:41

Кстати из аддона нельзя получить путь к другому (не зная местоположения файла) ? (способ описанный здесь 

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

 не работает (пробовал с ui_f))

 

С чего вы взяли? класс Background удаляется т. к. он где-то уже установлен (Возможно внутри игры) и они его после этого переопределяют на 43153 строчке 

(эти лаганные цитаты меня доканают)

Хотя да, там же всё в одном файле, моя ошибка, извиняюсь


Сообщение отредактировал Ilias: 27 September 2017 - 21:47

  • 0

#842 OFFLINE   vlad333000

vlad333000

    Полковник

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

Отправлено 27 September 2017 - 21:47

способ описанный здесь 2.8 #include не работает (пробовал с ui_f)

НУ так выложите, а мы посмотрим как вы имя файла определили
  • 0

#843 OFFLINE   Ilias

Ilias

    Прапорщик

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

Отправлено 27 September 2017 - 21:49

#include'ui_f\config.bin'
#include'\ui_f\config.bin'
#include'A3\ui_f\config.bin'
#include'\A3\ui_f\config.bin'
#include'ui_f.pbo\config.bin'

ничего из этого не сработало ("A3" сам не помню от куда взялось (просто было записано в пресетах))

(на всякий случай: да, я пробовал их по одному)


Сообщение отредактировал Ilias: 27 September 2017 - 21:53

  • 0

#844 OFFLINE   vlad333000

vlad333000

    Полковник

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

Отправлено 27 September 2017 - 21:57

Ilias, ну ясен пень что не получится, #include это не какая ультра умная директива, она вставляет содержимое указанного файла в текущей, заместо себя и ничего больше не делаете. Откройте в текстовом редакторе этот файл (Без конвертирования) и соотнесите его с содержимым, которое должно быть в конфиге
  • 0

#845 OFFLINE   Ilias

Ilias

    Прапорщик

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

Отправлено 27 September 2017 - 21:59

Ilias, ну ясен пень что не получится, #include это не какая ультра умная директива, она вставляет содержимое указанного файла в текущей, заместо себя и ничего больше не делаете. Откройте в текстовом редакторе этот файл (Без конвертирования) и соотнесите его с содержимым, которое должно быть в конфиге

Я думал она на прогамном уровне работает, то есть когда до неё доходит поддерживаемые игрой форматы уже понимаются, ясно, спасибо

Придётся кромсать ui_f )


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

  • 0

#846 OFFLINE   Ilias

Ilias

    Прапорщик

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

Отправлено 27 September 2017 - 22:05

Тогда другой вопрос ) , (получается верно было бы #include'ui_f\config.cpp') если у меня в папке с аддоном (в котором include) есть папка ui_f то include возьмётся за pbo или за неё ? (так как практика: когда аддонов с такими именами нет папки так работают)


Сообщение отредактировал Ilias: 27 September 2017 - 22:05

  • 0

#847 OFFLINE   vlad333000

vlad333000

    Полковник

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

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

Ilias, во-первых, а вы уверены, что в Arma 3 есть аддон ui_f (Как бы странно это не звучало)
Во-вторых, данный синтаксис добавляет вначале путь к текущему файлу
  • 0

#848 OFFLINE   Ilias

Ilias

    Прапорщик

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

Отправлено 27 September 2017 - 22:29

данный синтаксис добавляет вначале путь к текущему файлу

и если есть addon с таким именем тогда путь к нему ?

Addon locations are saved to memory. To include a file from one of them write:

#include "<addon folder name>\<file>"

 

а вы уверены, что в Arma 3 есть аддон ui_f

Тут не разберёшь всю эту муть )

|addon|= имя pbo или |class|или"name" в CfgPatches или имя папки которая добавляется "-mod" startup командой ?


Сообщение отредактировал Ilias: 27 September 2017 - 22:45

  • 0

#849 OFFLINE   vlad333000

vlad333000

    Полковник

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

Отправлено 27 September 2017 - 22:45

и если есть addon с таким именем тогда путь к нему ?

Хз кто писал эту wiki, но - нет (По крайней мере в текущей версии игры)
Нужно использовать синтаксис:
#include "\path to addon\path to file in addon"
Для ui_f.pbo это будет так:
#include "\a3\ui_f\..."

|addon|= имя pbo или |class|или"name" в CfgPatches или имя папки которая включается "-mod" startup командой ?

Имя аддона - это имя написанное в CfgPatches, addon = patch = патч
-mod - это просто имена папки/папок, откуда загружать .pbo
.pbo - это просто архивы с данными, как .zip или .rar
  • 0

#850 OFFLINE   Ilias

Ilias

    Прапорщик

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

Отправлено 27 September 2017 - 23:05

Addon = class в cfgPatches;

Addon name = name в классе в cfgPatches (особо много не значит, просто для отображения);

 

Подскажете как изменить A3's | configfile >> |class| | аддоном ?


Сообщение отредактировал Ilias: 27 September 2017 - 23:10

  • 0

#851 OFFLINE   vlad333000

vlad333000

    Полковник

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

Отправлено 27 September 2017 - 23:21

Ilias, в cfgPatches добавляете requiredAddons[] = {"имя аддона где ваш класс определен"};
//Определяешь структуру классов где ваш класс находится
//Определеяете родительский класс от которого он наследуется (Если нет, то не определяете)
class вашКласс: классРодитель {
  //Изменяете
};
А вообще текущая стрктура наследования классов не очень дружелюбна к измениню уже существующих классов
  • 0

#852 OFFLINE   Ilias

Ilias

    Прапорщик

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

Отправлено 27 September 2017 - 23:43

Ilias, в cfgPatches добавляете requiredAddons[] = {"имя аддона где ваш класс определен"};

//Определяешь структуру классов где ваш класс находится
//Определеяете родительский класс от которого он наследуется (Если нет, то не определяете)
class вашКласс: классРодитель {
  //Изменяете
};
А вообще текущая стрктура наследования классов не очень дружелюбна к измениню уже существующих классов

Спасибо, кажется получилось, но ..

 

Неважно, было несколько локальных ошибок

Ещё разок спасибо :) , как всегда очень помогли, |heart|, |heart|, |heart|

 

кстати по поводу id-тых предметов: 

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


Сообщение отредактировал Ilias: 28 September 2017 - 14:40

  • 0

#853 OFFLINE   Akamaka

Akamaka

    Рядовой

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

Отправлено 28 September 2017 - 07:13

 

 

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

0=[]execVM"script.sqf";

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

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


  • 0

#854 OFFLINE   Ilias

Ilias

    Прапорщик

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

Отправлено 28 September 2017 - 14:42

 

 

 

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

0=[]execVM"script.sqf";

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

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

 

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


Сообщение отредактировал Ilias: 28 September 2017 - 14:42

  • 0

#855 OFFLINE   Ilias

Ilias

    Прапорщик

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

Отправлено 28 September 2017 - 18:38

0. кто нибудь знает где создаётся BIS_fnc_initDisplay ?

 

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


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

  • 0

#856 OFFLINE   Ilias

Ilias

    Прапорщик

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

Отправлено 29 September 2017 - 02:48

2. И ещё одна ) (ну, эта по проще:)): кто нибудь знает как сделать control с картинкой всегда повёрнутой на 90 градусов ?


  • 0

#857 OFFLINE   vlad333000

vlad333000

    Полковник

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

Отправлено 29 September 2017 - 12:41

кто нибудь знает где создаётся BIS_fnc_initDisplay ?

Ну или посмотреть просмоторщик функций:
A3\functions_f\GUI\fn_initDisplay.sqf

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

А вы что ли копировали каждый раз?

кто нибудь знает как сделать control с картинкой всегда повёрнутой на 90 градусов ?

Открыть картинку в paint и повернуть на 90 градусов
  • 0

#858 OFFLINE   Ilias

Ilias

    Прапорщик

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

Отправлено 29 September 2017 - 20:29

 

0. Да, не смотрел на него, thanks

1. А как иначе ?

 (если попробовать " |_| : |base class (из другого конфига)| { " вылетит " undefined base class "

 а если попробоватьДостать с помощью " class |base class| {}; то тогда " member already defined "(из за перезаписи))

2. Вопрос звучит не так ) (чтобы любая картинка в нём)


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

  • 0

#859 OFFLINE   Schatten

Schatten

    Капитан

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

Отправлено 29 September 2017 - 21:11

 

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

0=[]execVM"script.sqf";
( [] ==параметр для execVM)

 

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

 

Должно работать. Можно попробовать присвоить какой-нибудь переменной:

null = execVM "script.sqf";

Файл script.sqf находится в папке с миссией? Ошибки есть? Что в RPT-файле?
 

кажется execvm не работает без параметров

Всё верно -- кажется.


  • 0

#860 OFFLINE   vlad333000

vlad333000

    Полковник

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

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

Вопрос звучит не так ) (чтобы любая картинка в нём)

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


А как иначе ?

Как и все делают:
Addon 1:
class MyClass {
  param1 = 1;
  param2 = 2;
};
Addon 2:
class MyClass;

class MyNewClass: MyClass {
  param3 = 3;
};

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

  • 0




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