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

[CS] Ковыряемся в файлах


Halford

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

SDeal

См. в release_body_manager.script строку 45:

 

self.body_max_count = 15 -- количество тел которое одновременно может находится в игре

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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


Ссылка на сообщение

*Shoker*, смотри в сторону 'character_reputation()'

Т.е. [game_relations] -> reputation (very_bad ... very_good)

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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


Ссылка на сообщение

Timoha

Довольно странный вопрос ...

Если ничего в моддинге не понимаешь, то для чего задаваться подобными вопросами? Играется - и играй без заморочек. :-)

Если возникла нужда иль помодить захотелость - то придется озаботиться пониманием хотя бы азов и начать с чтения ФАКов.

 

В упомянутой тобою строке:

x,y,z - значения координат объекта на карте (локации). y - высота.

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

gv - гейм-вертекс (game_vertex) - некий кусочек некоей карты. Именно по нему можно определить принадлежность этого кусочка к конкретной карте, а значит и о локации, на которой находится объект/предмет.

lv - левел-ветекс (level_vertex) - некий кусочек карты. По сути, этот кусочек включает и точку, которая определена координатами x,y,z.

 

По вопросам:

Чтобы вычислить предмет по координатам - придется перебирать все объекты в игре, отсекая те, которые на на искомой локации, и сравнивать (с приемлемой погрешностью) координаты объектов с твоими.

Вычислить координаты можно только по неким исходным данным, про которые ты ничего не упоминаешь.

Для получения координат объектов в игре можно использовать различные скрипты/моды из темы "Инструментарий для мододелов.".

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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


Ссылка на сообщение

Clayman, что-то ты заблуждаешься ...

Нет такого класса 'ph_target' ни в одной игре (ТЧ/ЧН/ЗП). Но во всех играх есть клиентский класс CDestroyablePhysicsObject -> P_DSTRBL.

В ЗП к этому классу уже можно скриптами зацепиться (см. O_DSTR_S), так что (ИМХО) вполне реально в ЗП аналогичное сделать. Да и в ТЧ, если модель адаптировать.

  • Согласен 1

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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


Ссылка на сообщение

Clayman, модули подключаются во всех версиях игры одинаково, т.е. нужен собственно модуль (скрипт-файл), его нужно прописать в modules.script как для физ.объектов, т.е. аналогично 'ph_idle'.

Строка:

load_scheme("ph_target", "ph_target", stype_item)

Ну а далее - просмотреть скрипт (из ЧН) на предмет совместимости используемых методов/неаименований параметров для ЗП или ТЧ, при необходимости адаптировать - и использовать.

Изменено пользователем Artos
  • Согласен 1

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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


Ссылка на сообщение

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

Для ЧН (ЗП) были изменены/дополнены/изъяты некоторые методы, мог бы сам сравнить lua_help и/или справиться в топике "Справочник по классам и функциям".

Если в ТЧ для кнопок (CUI3tButton,CUIStatic,...) было: btn:Init(x,y,w,h) , то в ЧН - btn:SetWndRect(Frect():set(x,y,w,h))

 

Так же форматы некоторых вызовов, например для SetWndPos, измеенились:

( wnd:SetWndPos(x,y) -> wnd:SetWndPos(vector2():set(x,y)) )

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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


Ссылка на сообщение

Boofer, ведь дал же совет где посмотреть, но похоже тебе побыстрее и полегче хотСа получить результат. :-(

Обычно пару раз на подобное отвечаю - далее и в более серьезном могу проигнорировать.

 

1. В игре практически все объекты получены из классов (обычно говорят "объект класса ..."). Оконные классы - это те, которыми создаются различные типы объектов для "окон" (статики, списки, менюшки, кнопки ...). Почитай на досуге, раз уж окунулся в эту тему.

2. В твоей функции ошибка как раз в методе SetWndRect, о котором уже сказал, что для кнопок (класс CUI3tButton) он применяется с иным аргументом, чем в ТЧ.

Вот пример:

function Get_Button(x,y,w,h)
  local btn_metka = CUI3tButton()
  btn_metka:InitTexture("ui_button_metka_pda")
  --btn_metka:SetWndRect(Frect():set(310,660,255,60)) --/ можно так
  btn_metka:SetWndPos (vector2():set(310,660))
  btn_metka:SetWndSize(vector2():set(255,60))
  btn_metka:SetWidth(255)
  btn_metka:SetHeight(70)
  btn_metka:SetFont(Graffiti22)
  btn_metka:SetTextAlign(2) --/ Left|Right|Center: 0|1|2
  btn_metka:SetText("Установить метку")
  btn_metka:SetTextY(1)
  btn_metka:SetAutoDelete(true)
  btn_metka:Show(true)
  return btn_metka --/>
end

Примечание: Специально дал иное название функции, т.к. 'голая' кнопка на игровом экране бессмыслена. Как минимум что-то должно обрабатывать эту кнопку, да и сама кнопка вероятно должна быть на некоем фоновом окне.

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

 

И совершенно непонятно, почему бы тебе не использовать более простой класс для создания "твоей кнопки" - CScriptXmlInit, в котором для тебя проще xml-ку написать/править, чем чисто скриптовое окно.

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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


Ссылка на сообщение

KOJIUM6, ты же сам уже в первый раз исправил подобную ошибку ...

Лог тебе говорит, что в конфигах игры обнаружены две (иль более) секций с одним и тем же именем (sect_cs_novice_immunities) - вот и ищи где у тебя продублировано [sect_cs_novice_immunities] и изменяй в нужном месте на иное название.

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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


Ссылка на сообщение

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

Но все одно - ковырялкин не соблюдает простейших правил правки конфигов, выкладывая только описание ошибки из лога, а не то в чем "накосячил" ... В общем - для любителей погадать. ;-)

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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


Ссылка на сообщение

Nic101, ты уже наверное все форумы засорил ... ;-), но так и не сформулировал внятно свой вопрос.

Чего же ты называешь проблемой? То, что исчезают или наоборот, хочется чтобы не исчезали?

Количества трупов в оригинальных ТЧ и ЧН никде не указываются чтобы из как-то обсчитывать. Этот параметр (кол-во трупов) только или в модах или ы ЗП имеется. Вот и делай выводы - смотреть в ЗП иль модах и портировать к себе нужное или ... внятно пояснить что же тебе потребно в качестве решения твоей неясной проблемы.

 

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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


Ссылка на сообщение

Boofer, всегда в таких вопросах справляйся в lua_help.script.

Для твоего "родительского" класса CUIScriptWnd в ЧН уже нет метода Init(...). Используй его аналог(и) - SetWndRect(...)

 

и используй, плз, тэг спойлера для портянок технологических кодов.

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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


Ссылка на сообщение

Boofer, что-то ты не туда смотришь. В ТЧ - да, используется в ui_main_menu: self:Init(0,0,1024,768) , но в ЧН уже: self:SetWndRect(Frect():set(0,0,1024,768)).

Внимательнее! :-)

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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


Ссылка на сообщение

Сашка_из_Шебекино, не путай, файлы *.xml и *.ltx - не скрипты, а конфиги, которые читаются движком и параметры/значения из них могут использоваться и в скриптах.

auto_static - это тэг, а никакая не функция. Этот тэг говорит движку о том, что нужно бы без наопминалок извне вывести статичное окно по указанным координатам и пр. Ну а в твоем случае в этом окне будет отображаться текст, соответствующий параметру ui_dlg_answer.

Судя по вопросу - тебе стОит почитать самые азы и по конфигам и по форматам файлов ...

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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


Ссылка на сообщение
RDS, отвечает за присвоение story_id объекту - файл all.spawn или же скрипты, где объекту прописывается нет-пакетом ... Изменено пользователем Artos

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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


Ссылка на сообщение

pasha19

1. Выбор и использование оружия неписями зависит от их рангов. Если оружие не 'по рангу', то будет просто баластом присутствовать в рюкзаке непися. Почитай про \gamedata\configs\mp\mp_ranks.ltx ...

2. Тебе ясно лог говорит о том, что не найдена некая секция 'ammo-og-7b'. Как можно предположить - это патроны и прописывать их нужно там, где и прописаны патроны ...

Однако следует учитывать, что если твои секции неписей с прописанными им патронами читаются в system.ltx ранее, чем секуции из файла с патронами - то и будешь получать подобные ошибки. Тут правило просто: если в секции упоминается другая секция - то эта "другая" уже должна быть была прочитана.

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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


Ссылка на сообщение

pasha19, извини, но твои "вопросы" напоминают обращения к ясновидящим ... Если у других (и у меня в частности) нет проблем заспавнить нужное оружие нужному непися с требуемой группировкою/опытностью, то твои проблемя явно упираются в некие твои коды и их нюансы, которые нам недоступны.

Хватит пустословить и предполагать, выкладывай соотв.конфиги (куски) и будем думать ... В игре/кодах многое взаимозавязано и вполне ты что-то или нарушил или не учел.

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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


Ссылка на сообщение
pasha19, а как ты определяешь, что неписю чего-то не заспавнилось? Убил - посмотрел в труп и ...? А про менеджер лута (death_manager.script) ты не забыл? ;-) Изменено пользователем Artos

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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


Ссылка на сообщение

pasha19, мда-а-а уж, батенька ... читать и читать мат.часть!

Во-первых, стволы вешаются "на плечо", поэтому неактивный ствол можно увидеть и у спокойно бредущего непися, а вот пистолеты - убираются в кобуру, так что если в бою или при опасности не вынимает, а убегает (да еще с воплями "Не стреляйте, я без оружия!") - вот тогда и можно говоить об отсутствии ...

Ну а трупы до твоего носа в них - подчищает менеджер лута, так что то, что не в руках - часто и не найдешь в трупах.

Про правки

mp_ranks мне неинтересто толковать, об 'этом уйма материалов, в том числе и на этом форуме (только ищи в топиках по ТЧ/SoC).

 

 

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

varnak01, если играешь в NLC6 (версии ниже 1.6008) и правил коды мода, то падение репутации - это пасхалка от команды Сяка. :crazy:

(по адресу мода и обращайся ...)

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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


Ссылка на сообщение
pasha19, гадай дальше без меня ... Что за expirienced1 (в оринале вообще только expirienced) и что/как ты в ней менял и вообще зачем(?), где секции спавна и пр. - думай сам.

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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


Ссылка на сообщение

karonbaron

1. Отображением худа здоровья вертушек ведает схема heli_move.script (смотри параметр 'show_health' и с ним связанное).

2.' Правильно' менять силу аномалий нужно через их конфиги, а не через алл.спавн.

 

Подбери, плз, иное обращение к форумчанам ... далеко не все тут в "ребяческом" возрасте, да и ты вроде как не... Чебурашка ... ;-)

 

 

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

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