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

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

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

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

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

Обращение к классу в 5_Mission из 4_World

Каким образом можно запустить функцию класса, находящегося в окружении 5_Mission

class SomeCustomClassName extends UIScriptedMenu {

из класса в 4_World?

 

Пробовал в лоб

ref SomeCustomClassName someCustomClassName;

но безуспешно.

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


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

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

  • 0

никак, на этапе запуска 4_World сервер еще не знает раздела 5_Mission как такового впринципе, ровно как и классов с функциями в нем. Т.е. он попросту их еще не успел подгрузить. Иными словами, из 4_World не обратиться в 5_Mission. Можно лишь в обратном порядке только.

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


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





  • 0
6 часов назад, 123new сказал:

никак, на этапе запуска 4_World сервер еще не знает раздела 5_Mission как такового впринципе, ровно как и классов с функциями в нем. Т.е. он попросту их еще не успел подгрузить. Иными словами, из 4_World не обратиться в 5_Mission. Можно лишь в обратном порядке только.

ну
есть варианты )))

GetGame().GetMission().ЧеНамТамНадо();

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


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

ну
есть варианты )))

GetGame().GetMission().ЧеНамТамНадо();

ну при условии что это GetMission вообще и не в том же самом моде находится, насколько знаю)

 

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


Ссылка на сообщение
Поделиться на других сайтах
  • 0
1 минуту назад, 123new сказал:

ну при условии что это GetMission вообще и не в том же самом моде находится, насколько знаю)

 

не понял

штатная нативная функция GetMission  вернет ссыль на текущую миссию либо NULL

 

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


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

не понял

штатная нативная функция GetMission  вернет ссыль на текущую миссию либо NULL

 

я к тому. что это при условии, что человеку нужен код из миссии родной игры, или из другого мода, а не его же мода, который он в миссии объявит. у и при условии, что ему именно к миссии надо обратиться, а не к какому-то своему кастомному классу ли типу переменной из 5_Mission

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


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

ну
есть варианты )))

GetGame().GetMission().ЧеНамТамНадо();

Таким образом нельзя обращаться к кастомным классам, увы.

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


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

Таким образом нельзя обращаться к кастомным классам, увы.

речь шла про миссию

а не кастомный класс

но

в миссии можно поместить функцию и ссылку и вертать ссылку функцией из миссии

GetGame().GetMission().GetMyMissionClass();

 

ну вобщем как-то так

 

я правда по другому сделал через свой класс конфига

работает

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


Ссылка на сообщение
Поделиться на других сайтах
  • 0
4 часа назад, 123new сказал:

я к тому. что это при условии, что человеку нужен код из миссии родной игры, или из другого мода, а не его же мода, который он в миссии объявит. у и при условии, что ему именно к миссии надо обратиться, а не к какому-то своему кастомному классу ли типу переменной из 5_Mission

честно - чет какой-то сумбур

 

обьясните - что надо КОНКРЕТНОООО!!!!

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


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

честно - чет какой-то сумбур

 

обьясните - что надо КОНКРЕТНОООО!!!!

согласен)

27 минут назад, BorizzK сказал:

речь шла про миссию

а не кастомный класс

но

в миссии можно поместить функцию и ссылку и вертать ссылку функцией из миссии

GetGame().GetMission().GetMyMissionClass();

 

ну вобщем как-то так

 

я правда по другому сделал через свой класс конфига

работает

я делал подругому, сам класс свой заводил в 4_World например и заводил или нужные функции, или функции пустышки, а в 5_Mission просто уже добавлял в этот класс все необходимое. Тоже работает.

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


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

То что топикстартер хочет я описал выше

Он только не описал для чего

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


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

Топикстартер хочет обратиться с классу графического интерфейса описанному в модуле Mission из модуля World.

Что есть немного проблема, в таких случаях обычно разводят костёр и берут в руки бубен)

 

ЗЫ

Самый простой, он же топорный способ избежать танцев с бубном вокруг костра, это описать свой класс графического интефейса в модуле World, компилятор игры это примет, ибо базовые классы интерфейса описаны далеко перед модулем World.

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

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


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

Топикстартер хочет обратиться с классу графического интерфейса описанному в модуле Mission из модуля World.

Что есть немного проблема, в таких случаях обычно разводят костёр и берут в руки бубен)

 

ЗЫ

Самый простой, он же топорный способ избежать танцев с бубном вокруг костра, это описать свой класс графического интефейса в модуле World, компилятор игры это примет, ибо базовые классы интерфейса описаны далеко перед модулем World.

Я выкрутился использованием глобальной переменной, объявленной в 3_Game, которая меняется в 4_World и отслеживается в 5_Mission.

Так и общаемся.

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


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

В принципе, это и есть тот танец с бубном.

Только более правильным, как бы считается в контексте объектно ориентированного программирования, создать в Game или World, по вкусу, базовый класс для вашего интерфейса, объявить внутри него виртуальные функции какие требуются, под виртуальными нужно понимать применительно к дайзет тупо пустые функции, объявить некий набор переменных если требуется, и уже в Mission описать сами интерфейсы требуемые вам используя в качестве базового класса для них созданный в World, и уже в модуле Mission переопределить виртуальные функции в их конкретной реализации. И вы сможете вполне корректно размещать сами классы интерфейса по феньшую, и иметь возможность обращаться к содержимому в этих классах из World. 

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


Ссылка на сообщение
Поделиться на других сайтах
  • 0
17.09.2020 в 08:15, SteelRat сказал:

В принципе, это и есть тот танец с бубном.

Только более правильным, как бы считается в контексте объектно ориентированного программирования, создать в Game или World, по вкусу, базовый класс для вашего интерфейса, объявить внутри него виртуальные функции какие требуются, под виртуальными нужно понимать применительно к дайзет тупо пустые функции, объявить некий набор переменных если требуется, и уже в Mission описать сами интерфейсы требуемые вам используя в качестве базового класса для них созданный в World, и уже в модуле Mission переопределить виртуальные функции в их конкретной реализации. И вы сможете вполне корректно размещать сами классы интерфейса по феньшую, и иметь возможность обращаться к содержимому в этих классах из World. 

Немного тяжело понять на практике, о чем идет речь, поскольку программированию учусь самостоятельно на базе доступного кода.

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


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

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

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

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

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