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

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

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

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

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

Несколько вопросов к знатокам

Добрый вечер товарищи. Прошу оказать посильную помощь по нескольким интересующим меня вопросам.

 

1. Имею класс `MyClass`. Каким образом можно создать объект на основе этого класса доступный из любой точки скрипта

2. Каким образом можно загнать вышеуказанный объект например в объект `MissionServer`, что бы он был доступен в виде `MissionServer.MyObject`

3. Что делает функция `Cast` в примере `ItemBase.Cast(new_item);`

4. Есть ли какая либо возможность переопределения констант в классах в файле sripts.pbo, не затрагивая сам файл

5. Маловажный вопрос.. Как узнать есть ли определенный предмет в руках у пользователя

6. Маловажный вопрос.. Как узнать состояние предмета "дорожный огонь" (красная палка), горит или не горит?

 

P.S. Имею значительный опыт программирования, но в совершенно другой среде, и сходу в enscript разобраться не удается.

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

Заранее благодарю.

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

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


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

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

  • 0
19 минут назад, NoNameUltima сказал:

Интересно в какой такой другой - Fortran?)

 

С#, Node, PHP, JS. Причем тут именно Fortan ?

 

19 минут назад, NoNameUltima сказал:

Какого еще "скрипта"? Ты ООП с процедуркой не путаешь?

 

Простите ООП и как вы назвали "процедурка" это стили программирования. Все что вы, товарищ, пишете на языке enSCRIPT  и является скриптом. 

 

19 минут назад, NoNameUltima сказал:

Остальное - гугл форумы.

 

Я задал вопросы в ветке "Помощь" в описании которой дословно написано "Здесь вы можете задать любой интересующий вас вопрос"

 

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

 

Не стоит язвить и раздувать свое пустое ЭГО, от этого лопнуть можно. Товарищ

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


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





  • 0

Я объясню но чуть позже

Заодно сам знания подкреплю/подправлю

 

PS Есть еще интересная хрень в языке дейза - scripted objects

 

PS2 Ультима - если тебе нечего сказать/нечем помочь, нафига вообще писать в теме, а потом удалять?

Реально, жаль не я не модератор, за такое банить надо

 

 

 

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


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

Добрый вечер товарищи. Прошу оказать посильную помощь по нескольким интересующим меня вопросам.

 

1. Имею класс `MyClass`. Каким образом можно создать объект на основе этого класса доступный из любой точки скрипта

2. Каким образом можно загнать вышеуказанный объект например в объект `MissionServer`, что бы он был доступен в виде `MissionServer.MyObject`

3. Что делает функция `Cast` в примере `ItemBase.Cast(new_item);`

4. Есть ли какая либо возможность переопределения констант в классах в файле sripts.pbo, не затрагивая сам файл

5. Маловажный вопрос.. Как узнать есть ли определенный предмет в руках у пользователя

6. Маловажный вопрос.. Как узнать состояние предмета "дорожный огонь" (красная палка), горит или не горит?

 

P.S. Имею значительный опыт программирования, но в совершенно другой среде, и сходу в enscript разобраться не удается.

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

Заранее благодарю.

по 1 и 2 пример:

class MySuperPuperClass
{
	void MySuperPuperClass()
	{
		Print("[MySuperPuperClass] Class Created");
	}
	void MySuperPuperFunction()
	{
		Print("[MySuperPuperClass] YES YES YES, ITS WORKED!!!");
	}
	void `MySuperPuperClass()
	{
		Print("[MySuperPuperClass] Class Destroyed");
	}
}
ref  MySuperPuperClass  My_UsedName_MyClass = new  MySuperPuperClass();

создали мы класс. Создаем его, например, в scripts\3_Game

как видим по последней строке, мы его уже инициализировали и присвоили ему имя My_UsedName_MyClass

Соответственно в MissionServer своей, или любо другом скрипте выше уровня 3 Game вы можете его использзовать, например. так:

My_UsedName_MyClass.MySuperPuperFunction();

вот вам 1 и 2 вопрос, 2 в 1 так сказать. Иного варианта не нашел, и наврядли будет, т.к. при запуске игры/сервера он считывает сначала моды, потом родной scripts поуровнево, от 1 блока до 5 включительно, и то что объявлено в блоке 1 или 3 будет доступно, например, в блоке 4 или 5, но если объявить в блоке 5, то в блоке 3 эту функцию сервер не найдет. Т.е. такую уровневую инициализацию стоит понимать всем. кто пытается что-то свое сделать.
По поводу 3 вопроса - Cast - преобразование. Иными словами смена класса объекта. Т.е. в

EntityAI MyObject = "MyObject"; // значение переменной условно, не является допустимой, и отображает лишь то, что переменная заполнена какими-то данными
ItemBase MyObjectItem = ItemBase.Cast(MyObject);

был у нас объект типа 'EntityAI', стал тот же самый объект типа ItemBase. При этом сам объект как был, так и остался один и в том же месте. Эти манипуляции необходимы для обращения к функциям внутри разных классов, с самим предметом в игре и базе данных ничего не происходит при этом.
по 4 и 6 не подскажу точно.
по 5 - пример:

EntityAI itemInHands_player = player.GetHumanInventory().GetEntityInHands();

где player - не нулевой объект игрока типа PlayerBase. Если в переменную запишется значение, отличное от NULL, значит предмет в руках есть.

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

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


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

123new Огромное Вам спасибо. 

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

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

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