Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Need help?

    Create a topic in the appropriate section
    Don't write everything in the chat!
  • Take a look at the marketplace

    There you can buy
    everything related to game servers
  • Don't want a ban?

    Please read our rules
    Don't disturb the order!
  • Sell or buy?

    Use services of the guarantor
    We will make your deal safe
  • 0
unholy

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

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

 

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

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

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

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

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

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

 

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

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

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

Edited by unholy (see edit history)

Share this post


Link to post
Share on other sites

4 answers to this question

Recommended Posts

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

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

 

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

 

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

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

 

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

 

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

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

 

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

 

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

 

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

Share this post


Link to post
Share on other sites



  • 0

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

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

 

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

 

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

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

 

 

 

Share this post


Link to post
Share on other sites
  • 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, значит предмет в руках есть.

Edited by 123new (see edit history)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site, you automaticly agree to our Guidelines and Privacy Policy.
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.