Все посты %s в %S - AMK Team
Перейти к контенту

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


Halford

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

@Dennis_Chikin, добавить/изменить что ты имеешь ввиду? Добавить у меня получилось, а вот изменить я так и не смог, при попытке замены у меня все равно объект юзал движковые методы. Если ты об этом конечно.

 

Управление интерфейсами экспортировать довольно долго, проще что-то альтернативное написать как мне кажется, т.е. не долго экспортировать только то, что конкретно нужно, а вот все и сразу... Я вот хочу что-нибудь с диалогами сделать, но моих кривых рук только на альтернативу хватит, т.е. история например может идти как и с тасками, можно создание перенести на скрипт, в оригинале правда совсем с нуля создать нельзя, т.е. все-таки надо писать <game_task id="task"></game_task>, но в целом можно это все (включая само создание) альтернативно перевести на скрипты (и вообще целиком и полностью отвяжемся от xml), и если в скриптах завести массив (даже читаемый из лтх, типа как во всех супер-менеджерах оригинала) как хранилище то можно будет даже ничего не сохранять имея полный доступ к управлению. Только я боюсь что этим будут злоупотреблять, все-таки по возможности лучше пользоваться xml :).

 

Ладно, это - есть. Но есть ещё одна хотелка (для постановки). Сначала думал: надо в шрифты смайлы добавить, но потом передумал: лучше в диалогах фразам НПС иконки прикрутить. Это можно?

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

В любом случае я думаю можно добавить еще один атрубит в <phrase>, что-то вроде icon =, который будет выводить картинку рядом с текущей фразой, смайлы я пока не знаю как сделать.

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

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


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

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

Функция может примерно так выглядеть:

function t()
--// в начале изменяем xml файл, добавляем туда нужную информацию с помощью пространства io
level.reload_info() --// функция перезагружает все инфопоршни, можно сделать в виде level.reload_xml(const)
--// оперируем со свежедобавленным инфопоршнем
end

Может это дикое зло со стороны оптимизации, я не знаю, просто ковыряюсь :). Так же беспрепятственно можно перезагружать профили, диалоги, статьи, таски (вроде) и споты (вроде) (ну и вывести в режим RW все их параметры вроде как у тасков). Правда как это будет со стороны оптимизации мне неведомо, но переделывать по другому я не могу, туп.

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

  • Нравится 1
  • Полезно 1

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


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

@DJ.Orb.Warpal,

config\misc\task_manager.ltx

Комменитруешь или удаляешь все строки с ключом init_condition.

 

Либо просто в скрипте 101 строку комментурешь/удаляешь и не паришься.



Перенес change_game_time и ЗП. Полет нормальный. Теперь можно делать всякие сны без привычной эквилибристики.

  • Нравится 1

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


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

@Winsor, получи знания сам, напиши статью. Что-бы сократить время можно посмотреть сразу в движке, я 15 дополнительных атрибутов насчитал для статиков. Разумеется для каждого класса свои атрибуты. Их много, просто так их тебе я думаю никто описывать не будет. Туторов по ним я вроде не видел.

  • Спасибо 1

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


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

@Dennis_Chikin, есть ключ need_osoznanie_mode, который скрывает лист диалога, а так же иконки актора и нпс, в общем что ты у осознанца видишь вот это то и есть, можешь любому ставить работает 100%, проверял и не раз. Метода для отдельного скрытия этого окна нет, это уже нужно в движке добавлять. Черная текстурка, ну это можешь из любой вырезать черную часть и размножить :)

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


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

 

 

Значит буду юзерам советовать проходить подземку на статике.

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

 

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

  • Согласен 2
  • Не согласен 1

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


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

@RafMadMan, к чему принадлежит можно поглядеть в сдк по моделям, и либо в самой модели шейдер поменять на существующий, либо сделать похожий.

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


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

 

 

Вот с эти вылетом,

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

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


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

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

 

 

 

Не должно быть в одном скрипте одинаковых названий ф-й.

А я вот хочу чтобы у меня все функции одинаково назывались, низя, да? :(

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

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


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

@RafMadMan, со времен древнего египета известно, что это делается на первом цыкле опдейта.

  • Нравится 1

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


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

@BoBaH_671, лол, рафмэдмэну советую тогда там сразу несколько вложенных циклов на перебор всех объектов сделать, чтобы сразу ощущалась вся соль твоего совета.

  • Нравится 1
  • Согласен 2

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


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

Так допёрло?

Далось не просто, но я сообразил:

это делается на первом цыкле опдейта.

Правильно доперло?

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


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

@Forser@RafMadMan, вы будете смеяться, но этот инфопоршень выдается на апдейте. Так что навесив функцию вы усугубите, незначительно, но что мешает прямо туда же вот зарядить что надо? Вот так у меня:


if not has_alife_info("storyline_actor_start") and level.name() == "l01_escape" then
actor:give_info_portion("storyline_actor_start")
_G.g_start_avi = true 
end

Куда вставлять свое думаю ясно.

 

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


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

@BoBaH_671, для экзекуций с актором нужноможно net_spawn юзать, опдейты тут ни к чему.

  • Согласен 2

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


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

@NL-Vincenz, use(_wpn) = self в мите, есть в мануале, ищи. По тексту, уже вчера советовал, если где-то и есть, то Ctrl+F.

  • Согласен 1

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


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

@Winsor, гвозди телескопом не забиваете? Используйте set_ammo_elapsed, он именно для подобных целей.

  • Согласен 1

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


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

@Winsor, безусловно, применяйте коллбек на выход в онлайн, либо получайте клиентский объект, tertium non datur.

  • Спасибо 1

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


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

@RafMadMan, судя по твоем репорту - недостаточно ;) . А ты пальцы то не растопыривай, тебе дело говорят, назвался груздем лезь в печь или как оно там.

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


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

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