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

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


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

Darien, значит ты вызвал из таск менеджера какое-то задание, которое записано в gameplay\game_tasks.xml c ошибкой

i-igroman.ru - Мой, принципиально новый сайт о компьютерных играх

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

lekzd

Проблема в том, что любое задание(пробовал около 15 штук), которое я хочу получить, вылетает с такой ошибкой.

Кстати про однотипные задания упоминаются только в game_tasks_by_vendor.xml, и то там только названия и описания.

Незаю чё делать :ny_mellow:

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

Darien,

покажи код. Так не понять в чём дело.

 

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

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

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

 

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

malandrinus

Вот часть(другая часть ненужна, там таймер):

function f_1()
local rnd_tsk_1 = {} --\ Список тасков для Сидоровича
local rnd_1 = rnd_tsk_1[math.random(#rnd_tsk_1)]
local new_task_1 = CGameTask()
if db.actor:dont_has_info('info_1') then
	new_task_1:load(rnd)
	db.actor:give_task(new_task_1, 216*100000, false)
	db.actor:give_info_portion('info_1')
	tim_1 = time_global()
else
	news_manager.send_tip(db.actor, 'У меня сейчас нету заданий для тебя.', 0.5, 'trader', 3600)
end
end

 

Знающие люди подсказали парсить конфиг, секцию

  • , но всё равно вылетает с таким же логом.

Неужто придётся превращать все однотипные задание в "подобие неоднотипных"(всмысле писать их в task_level.xml)?

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

Gonarh

я тут твою таблицу вертексов (и скрипт тоже) для своего скрипта заюзал. Ты не против?

Не подскажешь можно ли вообще избавиться ситуаций от спавна объектов за пределами карты? я конечно понимаю что таблицу надо отредактировать - ты сам писал что там вертексы могут не совпадать с теми что будут скажем в моем allspawn - но это вообще реально?

пока у меня объекты когда как спавнятся - в основном на карте - но и определенный процент за ее пределами.

Ссылка на комментарий
Вот часть(другая часть ненужна, там таймер):

По коду ошибки не видно. Может быть в таблице что не так, а её ты не показал. Зашли в личку весь набор.

 

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

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

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

 

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

2Garry_Galler та ради бога, для того и выкладал чтобы все юзали.

Не подскажешь можно ли вообще избавиться ситуаций от спавна объектов за пределами карты?

можно, я делал так: запущщял графвьювер открывал нужную локу, переходил в режим просмотра левелвертексов,

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

118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105
Ссылка на комментарий

А кто-нибудь знает как определить, что актор бежит?

 

пока нашел способ определения по значению accuracy() но приходится подгонять его под каждое оружие

метод сравнения координат актора "до" и "после" почему-то выдает резкие скачки значений, потому не подходит

тоже самое с замером изменения силы актора - тоже резкие скачки значений

Сообщение от модератора n6260
Меряй по скорости ;)

i-igroman.ru - Мой, принципиально новый сайт о компьютерных играх

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

Gonarh

понятно - все значит не так просто.

Ладно будем думать. Спасибо.

 

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

local x ={[123]={},[456]={},[777]={},[555]={}}

 

и еще один вопросик: вызов wait() имеет смысл только в апдейтовых функциях?

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

Всех с наступающим НГ! Подскажите пожалуйста, как в инвентаре тч можно реализовать разворот иконок оружия как в чн и зп?

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

хотиш сделать реализацию стека? :ny_biggrin:

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

вызов wait() имеет смысл только в апдейтовых функциях

крайне не рекомендую юзать тем более в апдейтовых функциях - имхо битые биндеры обеспечены(если оно действительно тормозит поток)

Изменено пользователем Gonarh
118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105
Ссылка на комментарий

Gonarh

н-да то что это похоже на стек я как то не подумал.

мне в общем то необязательно делать таблицу именно в таком виде - просто было интересно а можно ли из ее получить именно этот ключ...

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

 

проблема собственно в другом - спавню серверный объект - схрон - и в него одновременно генерю набор итемсов (серверным методом).

схрон спавнится - вещи не генерятся. хотя в один схрон все таки сгенерились - самый первый - там как раз видимо как задержка сработало условие "если таблица не пустая ( а она была пустая пока айдишка схрона не добавилась) то"

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

или wait использовать - но wait как я понял пашет тока при апдейте - в моей функции (запустил ее как подпрограмму) эффекта от него не было. К тому ж если wait действительно может навредить - тогда конечно вообще не стоит.

 

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

все равно не успеет перейти в онлайн, если ты пишешь мод на основе амк мода, присмотрись к табличке convert_npc, там как раз решена проблема выпихивания в оффлайн и засовывание в онлайн :grin2:

Изменено пользователем Gonarh
118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105
Ссылка на комментарий

Gonarh

присмотрюсь. хотя я не основе АМК делаю - а как отдельную разработку для чистого ТЧ.

только странно что когда я делал скрипт для заполнения рандомным хабаром дефолтных тайников - все 481 разом за один вызов - все тайники игры нормально заполнялись. но видимо я пока еще не разобрался с переводом в оффлайн\онлайн объектов - для чего это надо и с чем это едят ;)

Ссылка на комментарий
для чего это надо и с чем это едят

оффлайн, это когда объект на сервере (в сингле серваком явл. твой комп), а в онлайн - это на клиенте

то есть алайф():креате(... создает объект на серваке, и если его не перевести в онлайн (то есть какбе не синхронизировать клиента с серваком) он не появится в игре (обычно в онлайн переводит сам двигл игры, но можно и ручками пихать/выпихивать :crazy:), хотя через алайф():объект найти его можно

ЗЫ. Все вышенаписанное, глубоко личное имхо, понятое после курения манов, возможно и не правильно понятое :(

ЗЫЗЫ. Весь этот гемор создавался только лишь затем, чтобы прикрутить мультиплеер <_<

Изменено пользователем Gonarh
118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105
Ссылка на комментарий

А что дает вот такая проверка?

box:is_inv_box_empty() == true then

 

Gonarh

Спасибо :ny_cool:

 

 

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

Gonarh

понятно. а я уж для этого дела - проверки что ящик заюзан (обобран) отдельную проверку сделал с занесением тоже true\false - неюзался\юзался в свою табличку.

а можно значит и так :ny_wink:

 

кстати а одномоментная пробежка по 65 тысячам объектов (для сверки парента одного итемса с айди ящика) не будет притормаживать игру? - я имею ввиду если пробежка будет на момент юзания ящика.

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

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

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

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

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

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

Войти

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

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

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