Перейти к контенту
Rolan

Редактирование движка X-Ray

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

К сожалению не могу проверить. В свое время зажлобил 500 рублей на оригинал и теперь не могу пользоваться мультиплеером. Но в билде 2945 (он вышел буквально за несколько дней до финалки) скрипты работают. Еще нужно решить проблему с выделеном сервером (говорят что скрипты не работают, но нужно подумать, потестить) и еще кой чего.

 

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

Freedom

Ссылка на комментарий

_Призрак_

И какие у тебя есть идеи. Без alife() пол игры уже губится на корню.

Можно просто Shoker, форум АМК съел моё старое имя и не хочет отдавать о_О

Мастер аномалий на свою заднюю точку.

Ссылка на комментарий

_Призрак_,

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

Это совершенно тупиковое направление, но мне надоело это доказывать. Кроме того, на мой взгляд вокруг этой темы больше пустого шороху, нежели действительно реальной нужды в таком режиме. Если обладать хоть толикой воображения и чутка его напрячь, то станет ясно, что игра в таком режиме (работай он даже в полную силу) будет неиграбельна.

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Ссылка на комментарий

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

Научился делать апдейт (подойдет для биодетекторов)

В мп можно спавнить спейсы, смарты

Если покопаться, возможно получится отсылать данные на сервер и тогда получится сделать разговоры через диалоги между игроками в мп

Можно заспавнить торговца-сталкера, стоящего на базе

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

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

 

malandrinus

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

Изменено пользователем _Призрак_

Freedom

Ссылка на комментарий

_Призрак_,

В мп можно спавнить спейсы, смарты

Если покопаться, возможно получится отсылать данные на сервер и тогда получится сделать разговоры через диалоги между игроками в мп

Мне кажется, что это будет уж оооочень мееедленно работать. Разрабы ведь не зря минимизацию функций сделали; сталкер в МП и так много жрёт, а что станет, если мы мегатонну примочек приделаем? Вот то и оно. Изменено пользователем Шип
Ссылка на комментарий

Шип, "жрёт" много чего?

Пинг - как в КС:С, или БФБК2.

Производительность - тоже на уровне.

Ссылка на комментарий

_Призрак_

>

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

Научился делать апдейт (подойдет для биодетекторов

<

 

А вот это уже интересно, не поделишься способом, а заодно способ получения объектов в МП. Если не кооп, то хоть МП разнообразить.

Можно просто Shoker, форум АМК съел моё старое имя и не хочет отдавать о_О

Мастер аномалий на свою заднюю точку.

Ссылка на комментарий

Ну, есть 2 варианта получения объекта. По-синглплееровски и по-нормальному.

По-синглплееровски.

Все просто как палка.

for i=1,65535 do

local obj = level.object_by_id(i)

И крутите пока не получите объект с нужной вам секцией.

А вот по-нормальному у меня пока не получается получить. Точнее получить я это все получаю, но сделать ничего не могу. Дело в том что в МП вместо alife() есть класс game_sv_mp_script. Он позволяет спавнить, получать количество неписей на сервере и т.д. и т.п. Но для 10% функций нужен объект в качестве аргумента ClientID а еще для 30% - некий айди, который получается, когда у нас есть ClientID. Сначала я попытался тупо перебором подобрать этот ClientID - пофиг . Я все перепробывал, и потом все таки получил его при помощи нет_пакета и функции r_ClientID. Но вот функции, которые принимают в качестве аргумента clientID возвращают nil при использовании, если ClientID получен через нет_пакет. Теперь я думаю почему. Очень большое функций в качестве аргумента получают число, которое получается функцией get_id(ClientID), поэтому нужно копать и копать

 

Но если получить актора перебором (только нужно узнавать какой актор чей) то с ним можно делать все что угодно

 

А апдейт делается функцией fastcall, который я повесил на актора. Только вот он вызывается раза 2 чаще => нагрузка в 2 раза больше

Изменено пользователем _Призрак_

Freedom

Ссылка на комментарий

_Призрак_, Слушай, а вот ведь был билд какой-то, в котором в mp можно было заспавнить непися, а что если от туда перебрать mp скрипты?

Да и ктомуже, ты говришь нужно узнать какой актор чей?А если палить его айпи? При заходе на сервер он же палится. Или сталкерский луа и на это обрезан?

Изменено пользователем Rolan
Ссылка на комментарий

А какой билд то? В тех что у меня есть (2205,2232,2571,2945,2947) там есть только 2 скрипта, которые связаны с МП

 

А легче не по айпм, а по имени выбирать кого нужо

Freedom

Ссылка на комментарий

_Призрак_

В архивах ТЧ/ЧН ещё лежат остатки режима Last Standing

Он был построен полностью на скриптах, я на его основе создавал сервер в ТЧ (ну точнее билде 3120, но там без разницы)

(принудительно режим last_standing включал, но вместо его скриптов можно свои засунуть, так как это не имеет разницы)

Прелесть в том, что там есть различные колбеки на создание игрока, смерти и прочее (но не уверен что все работают), в том числе Client Id там не раз встречается в виде передаваемой переменной, он вроде как преобразуется в id игрового объекта. (кажется это ID другого игрока)

 

Единственная но серьёзная проблема была, что я не смог нормально UI сделать. Он там старого формата и в игре не выводился (вылеты), а когда я его вырезал под корень, то в игре при попытке выйти из режима спектатора случался движковый вылет. (подозреваю из за того что нет UI выбора скина персонажа и тому подобное)

 

Проблему обошёл тем, что сразу спавнил игрока как актёра, а не как спектатора, (только РПоинты не работали, даже те что скриптом делал, я глубоко не копал потом, просто нашёл просто карту, где игрок появляется на земле а не под ней, кажется Росток и Ж\Д) он бегал по карте, там были аномалии и прочее, небыло тока UI, хотя он тоже как то скриптово строится, но я уже не стал разбираться с этим, а забил.

 

Возможно на его останках и можно построить свой собственный режим, но там нужно основательно копаться.

 

*******

Ещё я не проверял по сети, играл один по локальной, но должен поидее заработать тоже.

 

++++++++++++++++++++

Вот моя мусорка. Там ещё куча других скриптов, скорее всего это я смешал их со скриптами из 3120 чтобы он корректно работал.

На ТЧ запускать не пробовал но по аналогии можно тоже и там сделать.

 

Основные скрипты, на которые тебе стоит обратить внимание:

 

game_registrator - тип игры

game_shoker_cl - клиент

game_shoker_ps - игрок

game_shoker_sv - сервер

sm - там просто вывод в консоль

 

Остальные вроде как мусор от билда.

 

Что удивительно по моему у сервера работает _cl скрипт. Я точно не помню, но если что у меня там куча отладочных сообщений в консоль выводится, так что по ним соориентируешься.

 

Ещё я менял bind_restrictor.scirpt

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

 

Если что пиши суда, постараюсь помочь.

 

И да, просто закинь скрипты, и создай любой тип игры (по идее даже сингл прокатит, но я не пробовал).

Будет принудительно грузиться именно новый режим.

 

Тут ты возможно что и накопаешь, удачи.

 

Изменено пользователем *Shoker*

Можно просто Shoker, форум АМК съел моё старое имя и не хочет отдавать о_О

Мастер аномалий на свою заднюю точку.

Ссылка на комментарий

http://www.sendspace.com/file/0r1wsq

Ссылка на скрипты. Дописал выше.

 

Режим last_standing работает в одном из билдов. Но тот билд довольно стар, ещё на старой скриптовой системе был написан.

 

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

 

Добавлено через 7 мин.:

*******

 

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

 

Если что, то что помещено в скриптах в скобки --[[ и ]] не будет учитываться игрой.

 

И да, ещё раз: эти скрипты создадут сервер с новым режимом.

На карте просто появится игрок и сможет бегать по ней. В интернете не проверял.

Больше там смотреть не на что, так что это чисто загатовка.

Изменено пользователем *Shoker*

Можно просто Shoker, форум АМК съел моё старое имя и не хочет отдавать о_О

Мастер аномалий на свою заднюю точку.

Ссылка на комментарий

Мне кажется, что не надо подстраиваться под мп режим, т.е. использовать их скриптовые ф-ции. А надо просто разрешить использование стандартных ф-ций в мульте. Сегодня в билде нашел ф-цию cscriptbinder__set_object. В ней есть проверка на сингл. Я почти уверен, что при изменении ее можно будет апдейт сделать оригинальный.

Ссылка на комментарий

Супер! Работает апдейт! Значит бинд_сталкер и мотиватор можно включить, а это дает + 1 шаг к осуществлению коопа. Осталось понять систему включения alife()

 

Добавлено через 29 мин.:

Кстати, получить гг можно теперь через db.actor.

 

Добавлено через 24 мин.:

Только может быть вылет в db с переменной obj, когда время переходит с тренировочного на обычное. Но я решил вылет проверкой на obj.

Изменено пользователем SkyLoader
Ссылка на комментарий

Парни! Респект вам! Если это всё заработает то, то УХ что можно сделать :)))

Если вы правда хотите делать кооп то нужно делать его под ЗП... ИМХО там больше играет народу да и двиг новее...

 

 

П.С. Может ли скромный маппер чем то помочь?

Ссылка на комментарий

ЗП конечно игра лучше ТЧ, но в нем нет pdb файлов. А в билде 2947 (почти релиз) они есть

 

-StalkMen-

Если сделаешь аи-сетку для любой карты из билда 2215 - буду благодарен

Изменено пользователем _Призрак_

Freedom

Ссылка на комментарий

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

Комментарии могут оставлять только зарегистрированные пользователи

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

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

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

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

    Ни один зарегистрированный пользователь не просматривает эту страницу.

AMK-Team.ru

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