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

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

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

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

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

Массив параметров

Всем привет, может кто подсказать как создать массив параметров и как к нему обращаться.
ref array<ref Param4<string,ItemBase,ItemBase,ItemBase>> testArr = new array<ref Param4<string,ItemBase,ItemBase,ItemBase>>; - компилятор не кушает.
А обращаться я думаю надо так - testArr[idx].param1 = somestring; и тд, поправьте если я не прав.

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

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


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

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

  • 0
Только что, NoNameUltima сказал:

@Armor Какой еще ник, харе бредить. Составляй свой РПС как хочешь, хочешь прям в него клади позицию сразу.

 

"Во 2. На сервере ВРОДЕ как тоже естьобработчик чата в котором уже есть отправивший(но он от патча к патчу ломается)" я на это отвечал

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


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

1 В контексте миссии и вообще за пределами контекста scripts наследование классов из контекста scripts невозможно
2 504ю строку бы увидеть

 

Непонятно, что Вы хотите реализовть?

 

Я создаю класс OksopPl, который наследуется от PlayerBase, чтобы хранить в нем информацию о том, сколько каждый игрок полечился за свою жизнь(healCount).
Вот эта 504 строчка кода - 

OksopPl m_player = new OksopPl;

Она находится в теле функции - 
 

void heal(PlayerBase player)
{
	OksopPl m_player = new OksopPl;
	Class.CastTo(m_player, player);
	float health_player;
	if (m_player.getHealCount() > 0)
	{
		health_player = m_player.GetHealth("GlobalHealth", "Health");
		m_player.SetHealth("GlobalHealth", "Health", health_player + 30);
		m_player.decHealCount();
	}
	else
	{
		MesToPlayer(m_player,"message");
	}
}

 

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


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

Я его наследовал, чтобы сохранить все свойства и методы PlayerBase, но и внести некоторые свои

И что ты собрался делать дальше?))))))))))

Ну ты создал наследника, наебенил ему горы свойств, и методов, а дальше точто?))))))

В игре ты собрался ВСЕ скрипты перелопатить, и заменить там PlayerBase, на MySuperPlayerBase?)))

Как ты его собрался использовать то)

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


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

И что ты собрался делать дальше?))))))))))

Ну ты создал наследника, наебенил ему горы свойств, и методов, а дальше точто?))))))

В игре ты собрался ВСЕ скрипты перелопатить, и заменить там PlayerBase, на MySuperPlayerBase?)))

Как ты его собрался использовать то)

Зачем же мне все перелопачить, если я буду использовать свой супер класс только в 1 функции, видимо я не могу понять какой то истинны, неужели если я создаю класс, который наследуется от PlayerBase, я должен заменить все PlayerBase переменные на свои?(сомнительно)

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


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

Когда игрок входит создается экземпляр PlayerBase для его перса
Ваш класс при этом просто есть и ничего не создается

Ну вот совсем

Ну и наследование за пределами контекста ваще бред

Понял, спасибо, не подумал об этом.

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


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

@Armor 

У тебя есть наследник, ну и хер бы с ним - это абстрактный класс какой то...

Игра то создаст PlayerBase

Ты где то в своих скриптах то что будешь делать?)

Брать и писать

MySuperPlayerBase m_MySuperPlayerBase = new .... ? - И чО?))))))

Или ты вздумал делать так

MySuperPlayerBase m_MySuperPlayerBase = PlayerBase.Cast( m_Player );

?)))))))))

И чо ты получаешь в итоге?)

Даже еслион каким то хером прокастит класс игрока в твой, то получится 2 класса одинаковых по факту, где во втором только 1 метод добавлен.

)

Какая то жуть)

 

Модди СТАНДАРТНЫЙ класс игрока, и добавляй в него СВОЙ класс, чтоб с ним работать, и уж в него суй что хочешь.

 

Пример

modded class PlayerBase

{

private ref MyPlayerBase m_MyPlayerBase = new MyPlayerBase();

 

ref MyPlayerBase GetMyPlayerBase()

{

return m_MyPlayerBase ();

}

}

 

class MyPlayerBase

{

........

}

 

Теперь спокойно обращаемся к игроку и своему классу внутри игрока, как тотак

player.GetMyPlayerBase().GetXXX();

player.GetMyPlayerBase().SetXXX( argument1 );

Спасибо за помощь, свою ошибку понял. Создал мод ну и с его созданием надобность в этом классе отпала) Просто повешу хил на какой нибудь адреналин и буду выдать n-ое кол-во каждому игроку.

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


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

Чет у меня ранжировка сообщений на форумек глючит.

Борис ответил выше моего сообщения, а отображается оно у меня на предыдущей странице....

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


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

Чет у меня ранжировка сообщений на форумек глючит.

Борис ответил выше моего сообщения, а отображается оно у меня на предыдущей странице....

Приводят форум в соответствие Дейзу? )))

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


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

@BorizzK Ага, Саня в боегемию устроился)))))

Главное что бы не Богемия в него ))

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


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

Ну раз уже все тут сегодня собрались можете мне объяснить разницу между missionGameplay.c и missionServer.c при создании мода, пожалуйста. Как я понял гейплей исполняется на стороне клиентской машины и сервер тоже, в чем отличия? Спасибо. 

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


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

Ну раз уже все тут сегодня собрались можете мне объяснить разницу между missionGameplay.c и missionServer.c при создании мода, пожалуйста. Как я понял гейплей исполняется на стороне клиентской машины и сервер тоже, в чем отличия? Спасибо. 

Первый на клиенте работает, второй на сервере

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


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

Первый на клиенте работает, второй на сервере

То есть грубо говоря init.c в миссии = missionServer.c ?

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


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

Да, так

От души, спасибо. 

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


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

Получается овверайд функции в миссионСервер приоритеней чем в инит?

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


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

@Armor Ну ессесно, если инит читает уже скомпиленные классы(в т.ч. отмодденные).

псц, я чет даже некоторые свои сообщения не вижу теперь)

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


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

Получается овверайд функции в миссионСервер приоритеней чем в инит?

нет

тк init компилится последним то и override там выше
например если там override init() и забыть в конце/начале super.init(); то вся игра сломается ибо нативный (в missionserver) init выполняться не будет

 

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

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


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

Кому верить? )

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


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

Кому верить? )

В каком смысле?
Если делаешь МОД - именно как мод - то разумеется ТАМ моддишь

Но моддинг missionserver в init.c имеет высший приоритет

 

 

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


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

В каком смысле?
Если делаешь МОД - именно как мод - то разумеется ТАМ моддишь

Но моддинг missionserver в init.c имеет высший приоритет

 

 

На чьей машине исполняется missionServer?

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


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

На чьей машине исполняется missionServer?

НА СЕРВЕРЕ!

 

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


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

@Armor Какой еще приоритет? ты о чем? Есть порядок компиляции. Инит компилится самым последним.  Если говорить про приоритеты - то он на дне.

Если говорить про порядок компила - он последний.

Только нафига тебе это? ты че собрался половинку в моде отмоддить, а половинку в инит, и сидеть смотреть - когот апочки будут?

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


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

Была тема  про массив параметров....
А теперь все и обо всем....?

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

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

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

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

Поддержка