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


Фотография

Вопросы по МП.


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

#181 OFFLINE   TankiSD

TankiSD

    Ст. Прапорщик

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

Отправлено 23 July 2015 - 18:41

система

 

Скрытый текст

 

 

Выявил проблемы кроются, в sposobnost\creatThing.sqf

 

1. Игрок все равно становится гражданским.

2. Игрок после смерти респится гражданским на маркере синих.

 

Решение, как я думаю.

 

1. никак не думаю

2. сохранить класс игрока и после смерти вернуть ему класс. 

Или даже прям во время респа поменять тушу, чтобы отреспился за синих.

3. И это получается убого, если опять создать бойца за синих и применить selectplayer.

И тогда как удалить первоначальное тело?

 

В остальном, всё работает пока что отлично.

 

Товарищ  SteelRat хорошо подсказал насчёт не заморачиваться со сторонами.

 

p.s. initPlayerLocal.sqf срабатывает и при респе? 

 


Сообщение отредактировал TankiSD: 23 July 2015 - 20:13

  • 0

#182 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 28 July 2015 - 00:01

 

Товарищ  SteelRat хорошо подсказал насчёт не заморачиваться со сторонами.

Сам геймплей, который вы строите, располагает к такому подходу.

 

p.s. initPlayerLocal.sqf срабатывает и при респе? 

 

Executed locally when player joins mission (includes both mission start and JIP).

Перевод транслятора сами найдёте в сети, я уверен).

 

Нет, код из этого файла будет исполнен, когда игрок присоединяется к игре.

А для респавнов свой файл, у него даже имя само за себя говорящее).


  • 0

#183 OFFLINE   TankiSD

TankiSD

    Ст. Прапорщик

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

Отправлено 28 July 2015 - 00:27

Я уже пробовал с файлом для респавна.

В итоге в самом начале игры игрок сначала дохнет, а потом респится.

 

Сейчас основная проблема, это грамотно отреспить игрока.

 

И способы, которые есть, либо крайне криво работают, либо какие-то замороченные с присвоением глобальных переменных и постоянными циклами.

 

Я всё же склоняюсь к тому, что всё надо обрабатывать на серваке.

Чтобы не было проблем с JIP и дисконектами. 


  • 0

#184 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 28 July 2015 - 10:52

 

Я уже пробовал с файлом для респавна.

В итоге в самом начале игры игрок сначала дохнет, а потом респится.

Где то, при инициализации подключившегося игрока, ваш код тупо его килит, вот этот кусочек кода и нужно найти, и исправить.

Тут нужно просто понять, что куда прописать.

 

Например init.sqf, здесь как правило инициализируется всё и вся, весь геймплей, и сервера и клиента, каждому своё.

А при респавне, вам уже нет нужды инициализировать абсолютно всё!


  • 0

#185 OFFLINE   TankiSD

TankiSD

    Ст. Прапорщик

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

Отправлено 28 July 2015 - 13:24

Как обнулить имя?

 

у меня всё стопорнулось на респе.

Ещё и проверку на дисконект надо делать.

А для всего этого, надо глобальную переменную.

 

P.S. Быть может лучше новый класс бойца в виде аддона сделать?

Тогда ведь не придётся паритсья с классами да всякими способностями. 

хотя о чём я говорю.

этот геморрой точно заставит меня больше не возвращаться к арма 


Сообщение отредактировал TankiSD: 28 July 2015 - 14:07

  • 0

#186 OFFLINE   vlad333000

vlad333000

    Полковник

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

Отправлено 28 July 2015 - 13:31

TankiSD, какое имя? Все переменные можно обнулить так: myVar = nil
  • 1

#187 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 30 July 2015 - 03:53

 

этот геморрой точно заставит меня больше не возвращаться к арма 

Я иногда, во время очередного, после рабочего фана, вечера за песочницей армы, делаю по раз 100 рестартов армы, пытаясь сделать конфетку из всего одной функции.

 

Вы через сколько рестартов готовы бросить!?)

 

Вы знаете, мне кажется понятна ваша проблема. Вы, во что бы то ни стало, решили сделать своей обязанностью обязательно выпустить релиз своего творения, и как можно быстрее! Для вас это уже не фан, а проблема. А если из чего либо делать проблему, или ещё страшнее превращать в обязанность, это уже совсем не фан. Это тупо геморрой!)


  • 0

#188 OFFLINE   TankiSD

TankiSD

    Ст. Прапорщик

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

Отправлено 30 July 2015 - 13:46

Я иногда, во время очередного, после рабочего фана, вечера за песочницей армы, делаю по раз 100 рестартов армы, пытаясь сделать конфетку из всего одной функции.

 

Вы через сколько рестартов готовы бросить!?)

 

Вы знаете, мне кажется понятна ваша проблема. Вы, во что бы то ни стало, решили сделать своей обязанностью обязательно выпустить релиз своего творения, и как можно быстрее! Для вас это уже не фан, а проблема. А если из чего либо делать проблему, или ещё страшнее превращать в обязанность, это уже совсем не фан. Это тупо геморрой!)

 

Я когда щит делал *и таки доделал)*, около 17 раз АрмА перезапускал и около пяти раз удалял АрмА полностью)) Вместе с проектом)

А так да, Вы правы насчёт собственного проекта, фана и проблемы.

Хочу выпустить именно своё творение *хотя под своим, там остались мелочи, в основном все решения кода были от Вас и от Влада*. 

 

p.s. я просто понял, что такие вещи, надо делать как аддон. 

Намного проще вписать в конфиг готовые скрипты и запаковать как отдельный объект.

Решаются проблемы с респом, JIP и присваиванием способностей игроку.

 

P.S.S. Были бы ещё студенческие годы, было бы ещё проще.

А так приходишь со службы никакушный, а тут ещё и работать делать надо свою задумку)

 

===================

 

а я ещё планировал выпустить мод ArmA: SWAT :D

 

Хотя модели зданий у меня получаются лучше, чем скрипты. 


Сообщение отредактировал TankiSD: 30 July 2015 - 13:48

  • 0

#189 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 30 July 2015 - 20:49

P.S.S. Были бы ещё студенческие годы, было бы ещё проще.

 

Мы тоже уже давно не молоды). 

 

 

А так да, Вы правы насчёт собственного проекта, фана и проблемы.

Хочу выпустить именно своё творение *хотя под своим, там остались мелочи, в основном все решения кода были от Вас и от Влада*. 

 

p.s. я просто понял, что такие вещи, надо делать как аддон. 

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

Просто ваш геморрой упёрся в нестыковки одних событий с другими, решить, и будет всё пучком.

 

 

Хотя модели зданий у меня получаются лучше, чем скрипты. 

А вот это очень интересно!

Я пока отдыхаю от армы в другом месте, как надоест, вернусь.

 

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

Мне пришла в голову мысль, а собственно действительно, какой ресурс забирают на себя разные объекты.

По спавнил я эдак по 1000 шт всякого на виртуальной карте, от мусора до домиков, и понял простую вещь, если исключить из обработки графоном теней, блендингов, супер пупер бумерасингов, то я без проблем для фпс могу наспавнить на двух квадратных километрах хоть по 300 - 500 пятидесятиэтажных билдингов! И иметь при этом фпс в районе 50-80!

 

И когда я отспавнил 1000 домиков я вспомнил, что уже когда то давно, у меня была мысль перетащить генератор городов из армы 2, ну так живописно они смотрелись).

 

Так вот, с большой долей вероятности это будет то чем я и займусь по возвращении, и вот тут, ваши домики будут весьма кстати!

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


  • 0

#190 OFFLINE   TankiSD

TankiSD

    Ст. Прапорщик

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

Отправлено 30 July 2015 - 23:06

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

Просто ваш геморрой упёрся в нестыковки одних событий с другими, решить, и будет всё пучком.

 

Вся проблема в респе.

 

Предлагают такой вариант, но он какой-то замудрённый.

Это  часть Игрока  
Monstr = "NUL"; // переменная несёт Имя Чудовища  
if (Local Player) then {  

_as = [] Spawn {  
While {true} do {  
WaitUntil {Monstr == name Player};  

// запоминаем где стоял Игрок, угол и прячем тело.  
_pos = getPos player;  
_dir = getDir Player;  
_Old = Player;  
_Old setPos ДАЛЕКО;  

//делаем Монстра  
_side = createCenter west;  
_groupThingPL = createGroup west;  
_ThingPL = _groupThingPL createUnit ["C_scientist_F", [0, 0, 0], [], 0, "FORM"];  
_ThingPL setpos _pos;  
_ThingPL setdir _dir;  
SelectPlayer _ThingPL; //  Воплощаемся в монстра  
_ThingPL addrating -20000;  
[_ThingPL] execvm "sposobnost\SPOSOBNOSTI.sqf";  
[_ThingPL] execvm "sposobnost\godmodeSTART.sqf";  
[_ThingPL] execvm "sposobnost\zrenie.sqf";  
[_ThingPL] execvm "sposobnost\Conc.sqf";  
[_ThingPL] execvm "sposobnost\netoryzieTMSQ.sqf";  
[_ThingPL] execvm "sposobnost\netformaTMSQ.sqf";  
[_ThingPL] execvm "sposobnost\zapretCAR.sqf";  

// ожидаем сметри монстра  
WaitUntil {! alive _ThingPL};  
Monstr = "NUL";  
PublicVariable "Monstr"; // Объявление что Чудовеще Дед  
sleep 2;  
SelectPlayer _Old;  // воплощаемся в Старое тело  
Player setpos Возврат на респ;  

}}};  

это часть сервера  

sleep 3; 

Monstr = "NUL"; // переменная несёт Имя Чудовища 

if isserver then { 
_as = [] Spawn { 
While {true} do {  // Начало Бесконечного Цикла 

_thing = allplayers select (floor random (count allplayers)); //  Выбираем Чудовище 
Monstr = name _thing; 
PublicVariable "Monstr"; //  Объявляем Его Имя 
WaitUntil {Monstr == "NUL"}; // Дожидаемся его смерти 
sleep 2; 
// ПОВТОРЯЕМ ВСЁ ЗАНОВО 
}}};
 

Но он через раз выдаёт ошибки и получается криво.

 

Время респа по дискрипшину 30 секунд.

И даже если тут время подгонять, то получается крайне криво и + создаётся левое тело.

 

 

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

Мне пришла в голову мысль, а собственно действительно, какой ресурс забирают на себя разные объекты.

По спавнил я эдак по 1000 шт всякого на виртуальной карте, от мусора до домиков, и понял простую вещь, если исключить из обработки графоном теней, блендингов, супер пупер бумерасингов, то я без проблем для фпс могу наспавнить на двух квадратных километрах хоть по 300 - 500 пятидесятиэтажных билдингов! И иметь при этом фпс в районе 50-80!

 

Так проблема малого онлайна АрмА в том, что нет карт и нормальных режимов.
Играют в основном кооп. 

На огромном острове, который не интересен.

Нужны ограниченные карты.

Что-то типо

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

Тогда и производительность будет и зарубы интересные.

 

Но как всегда, никто не хочет делать инструкции *гайды*, по созданию чего-либо.

 

 

Так вот, с большой долей вероятности это будет то чем я и займусь по возвращении, и вот тут, ваши домики будут весьма кстати!

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

 

Я и планировал в карте ВР просто расставлять свои готовые объекты. 

Т.е. ландшафт будет как 3д модель.

Здания тоже как 3д модель.

Декорации с не очень хорошими текстурами, а основные здания *в том числе высотки* в отличном качестве.


Сообщение отредактировал TankiSD: 30 July 2015 - 23:10

  • 0

#191 OFFLINE   vlad333000

vlad333000

    Полковник

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

Отправлено 31 July 2015 - 01:24

Local Player

Бессмысленно:

The player's unit is always local to its client


это часть сервера sleep 3; Monstr = "NUL"; // переменная несёт Имя Чудовища if isserver then { _as = [] Spawn { While {true} do { // Начало Бесконечного Цикла _thing = allplayers select (floor random (count allplayers)); // Выбираем Чудовище Monstr = name _thing; PublicVariable "Monstr"; // Объявляем Его Имя WaitUntil {Monstr == "NUL"}; // Дожидаемся его смерти sleep 2; // ПОВТОРЯЕМ ВСЁ ЗАНОВО }}};

Не легче сразу при получении переменной выполнять код, а не ждать её изменения в отдельном цикле?

Вам зачем дана команда:

"myVar" addPublicVariableEventHandler {//Код\\}

Сообщение отредактировал vlad333000: 31 July 2015 - 01:24

  • 0

#192 OFFLINE   TankiSD

TankiSD

    Ст. Прапорщик

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

Отправлено 31 July 2015 - 01:33

это не мой код)

Я даже не знаю, зачем тут паблик вариабле.

Я вообще склоняюсь к тому, что всё надо делать на сервере. 

Дабы избежать проблем с JIP и дисконектом.

И глобальные переменные давать на сервере.


  • 0

#193 OFFLINE   vlad333000

vlad333000

    Полковник

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

Отправлено 31 July 2015 - 12:41


Я вообще склоняюсь к тому, что всё надо делать на сервере. 

Не все :)


  • 0

#194 OFFLINE   TankiSD

TankiSD

    Ст. Прапорщик

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

Отправлено 31 July 2015 - 12:51

"способности" обрабатывать на игроке, а JIP и дисконект с рандомным выбором - на серваке?


  • 0

#195 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 31 July 2015 - 18:31

 

Local Player

Бессмысленно:

The player's unit is always local to its client

 

 

Это альтернатива этому

if (!isDedicated) then {}; // если это не выделенный сервер, то ...

 

Но он через раз выдаёт ошибки и получается криво.

 

Время респа по дискрипшину 30 секунд.

И даже если тут время подгонять, то получается крайне криво и + создаётся левое тело.

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


  • 0

#196 OFFLINE   TankiSD

TankiSD

    Ст. Прапорщик

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

Отправлено 31 July 2015 - 18:36

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

 

спустя две секунды

 

блиииин.... вот я дебилоид.

Можно ведь просто униформу поменять и всё.

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


  • 0

#197 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 31 July 2015 - 18:43

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

 

спустя две секунды

 

блиииин.... вот я дебилоид.

Можно ведь просто униформу поменять и всё.

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

Как вариант да, но это не очень хорошая практика.

 

Давайте так поступим, я скоро не много освобожусь. Мне нужен будет перекур однозначно, мне в другой теме коробка автомат автомобиля сделала реальный, душевный такой секс моему интеллекту), действительно мутный девайс что в реальности, что в виртуальности.

 

И покурю над вашей миссией, что то вы реально зависли на одном месте, посмотрим, что там с респом.


  • 0

#198 OFFLINE   TankiSD

TankiSD

    Ст. Прапорщик

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

Отправлено 31 July 2015 - 21:01

А что с коробкой?
Может подскажу.

Я ведь судовым механиком когда-то был. 


  • 0

#199 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 01 August 2015 - 02:09

А что с коробкой?
Может подскажу.

Я ведь судовым механиком когда-то был. 

 

С коробкой, математика в обнимку с JScript), оказалось достаточно проблематично смоделировать логику виртуальной коробки автомат.

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


  • 0

#200 OFFLINE   TankiSD

TankiSD

    Ст. Прапорщик

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

Отправлено 01 August 2015 - 02:26

а-а-а-а

тут в этом плане.

я думал сломалось что. тьфу тьфу тьфу

 

ну я думаю в виртуальной жизни, стоит взять только обороты и скорость.

А то и вообще тупо скорость. 

И от неё уже шагать.

 

p.s. техника не совершенна) даже военная техника порою даёт критические сбои. 


  • 0




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