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

*Shoker*

Жители
  • Число публикаций

    926
  • Регистрация

  • Последнее посещение

  • Дней в топе

    15
  • AMKoin

    107 [Подарить AMKoin]

Весь контент пользователя *Shoker*

  1. *Shoker*

    Скриптование

    _Призрак_ Не беспокойся, игра и такую таблицу переваривает, проверенно RvP Спс. Буду знать
  2. *Shoker*

    Old Good Stalker Mod - Clear Sky

    Ренегаты по хорошему визуально должны быть как зомби, кроме лиц. Тоесть это сталкеры разных группировок, изгнанных от туда. Носят свою старую одежду, но она вся грязная и порванная. Это лучше всего отражало бы их суть, выглядеть правда пёстро будут. Ну и это потребует серьёзных усилий в плане текстурирования персонажей. Символика им в принципе тогда вообще не нужна, но можно и добавить, чтобы придать отличие их одежде.
  3. *Shoker*

    Скриптование

    Darkscape Всегда лог прикладывай. Кроме ошибки, указанной Desertir-ом пока ничего не видно.
  4. *Shoker*

    Скриптование

    _Призрак_ Тоже сталкивался с этой проблемой, ты пробовал второго человека подключать и смотреть у него? Может для создателя сервера клиентский класс не работает полностью. =\
  5. *Shoker*

    Shoker Mod v1.2 (CS)

    Ну практически закончил уже мод. Координаты сняты, торговля расписана. Уже успел даже пробежаться, и правлю последние недочёты. У меня небольшой список по пунктам, которых каждый день становится всё меньше. В ближайшее время думаю уже выпущу версию без сюжета, и в дальнейшем займусь им. Ещё раз извиняюсь что так долго резину тяну.
  6. What about surge and psy-surge from CoP - Version?
  7. *Shoker*

    Скриптование

    Atros Спасибище за скрипты Очень пригодятся для многих квестов. Только вот ещё, есть смена позиции и дирекции, а можно НПС телепортнуть на другой уровень, изменив game vertex, не пробовал? И свои наработки лучше оформи сюда (http://www.amk-team.ru/forum/index.php?showtopic=6458&st=40) или ещё куда нить, а то тут они быстро потеряются, потом фиг найдёшь.
  8. *Shoker*

    Dinamic News COP 1.0

    Отличная новость Особенно хорошо что реальные сендеры теперь шлют сообщения, сам такое делал для твоей предыдущей версии. А то всегда раздражало такое в новостных модах. ЗЫ: Не забудь добавить новости о квестах, очень понравилось в той версии Ну и если что вдруг, могу помочь "причесать" скрипт, если что, пиши в ЛС. Удачи.
  9. *Shoker*

    Скриптование

    Что такое постоянный колбек? Такого нету, есть функция update, которая вызывается несколько раз в секунду (зависит от fps)
  10. *Shoker*

    Скриптование

    Artos Присоединяюсь к вопросу о флаге. > Ты прав, это 'мои грабли' А если не секрет, для чего они были необходимы.
  11. *Shoker*

    X-Ray extensions

    Либо неправильно пропатчил, либо твой NoDVD изменяет xrGame.dll (как в ЧН)
  12. > А ты вообще по текстовым индексам-то к таблице обращаешься? а то может они тебе и не нужны. Ну текстовые индексы я привёл для примера, просто обычно я использую в качестве индекса не порядковый номер в таблице а какое то имя или id-шку объекта. И вот сегодня был момент, когда надо убедится в том, что таблица пустая, в принципе мне это уже не нужно, но знать та хочется > Пустые циклы for i=1, #tbl do быстрее pairs() аж на 30% Спасибо Надо попробовать. Хотя я щас провёл вот тест на пустом цикле с моими двустами объектами, через profiler_timer(), цикл с pairs() отнимал около 6-7 ... тактов (?) тоесть польза 30% ускорения по мне сомнительна, но заюзать можно вполне.
  13. *Shoker*

    Скриптование

    abramcumner Ну похоже что так Собстно я сейчас ищу методы ускорения определия дистанции ГГ до объекта. Есть таблица, там в среднем около 200 объектов - аномалий, и нужно каждый апдейт (возможны небольшие погрешности) сравнивать их дистанцию до игрока. Остановился на использовании distance_to_sqr, но потери времени всё равно очень большие, за 1 апдейт в среднем 600-900 "мсек" теряется (не знаю в чём определяется значение profile_timer()) Я вот думаю, каким макаром можно ещё это ускорить ...
  14. *Shoker*

    Скриптование

    Кто знает, почему в Сталкере разработчики, при определении расстояния от одного вектора к другому, используют преимущественно функцию v1:distance_to_sqr(v2) -- квадрат расстояния между v1 и v2, а не обычную?
  15. Есть таблица вида: tbl = { text = ..., ... } Тоесть не с числовыми индексами, как можно определить, что таблица не пустая, кроме как делать перебор вида for k,v in pairs() Для таблиц с числовыми индексами есть table.getn, а как с этими быть? Вроде бы getn возвращает 0. (я правда #tbl так проверял, но это эквивалентно вроде) Ну и ещё вопросец, возникла необходимость перебирать с большой скоростью (несколько раз в секунду) довольно большую таблицу (около 200 элементов). Таблица с нечисловыми индексами. Перебор делаю через pairs(), если я переделаю таблицу на числовые индексы и буду делать перебор по for i=1, #tbl do, она будет заметно быстрее перебираться? Или перебор таблицы сам по себе не особо много процессорного времени использует?
  16. *Shoker*

    Скриптование

    Скриншоты не могу глянуть, интернет не позволяет, но как насчёт того (возможно не до конца тебя понял) local MsgTbl = {} function addToTbl(name,ti) if MsgTbl[name] == nil then MsgTbl[name] = {} end table.insert(MsgTbl[name], ti) end С помощью функции addToTbl() ты можешь добавить в MsgTbl нужный тебе текст к нужной группировке. Тоесть если тебе надо допустим добавить текст (или не тока текст, ti может быть и таблицой и чем угодно) к свободе, то ты просто пишешь addToTbl("freedom", <...>) Ну и соответственно получить таблицу свободы через такую функцию. function getFromTbl(name) if MsgTbl[name] == nil then return nil --\\ вернёт nil если ничего нету end return MsgTbl[name] end Сама таблица будет примерно как та, что я выше показывал. local MsgTbl = { freedom = { -- эту таблицу вернёт функция getFromTbl, name = freedom 1 = ..., 2 = ..., }, }
  17. *Shoker*

    Скриптование

    Vano_Santuri А что тебе мешает сделать одну глобальную таблицу с подтаблицами? Типа: local NewsTbl = { ["all"] = { --\\ Общий канал "Текст новости", "Текст новости", ... }, ["freedom"] = { --\\ Свобода "Текст новости", "Текст новости", ... }, ... } А дальше можно получать рэндомный текст таким образом. local ntbl = NewsTbl["freedom"] --\\ получаем подтаблицу с текстами свободы local random_text = ntbl[math.random(#ntbl)] В итоге random_text будет равен случайному сообщению из таблицы freedom И тебе достаточно будет лишь менять имя таблицы в local ntbl, передавая её нужное строкове имя. C if-ами лучше не заигрывайся, а то на твоей предыдущей версии новостей из за них Lua Cheker виснул Ну и заполнять их аналогично можно, ты только учти что в table.insert первый аргумент это таблица как раз, куда ты будешь свой текст добавлять, тоесть если хочешь туда добавить текст, то пишешь так: table.insert(ntb, "текст") и всё Artos Спасибо за новую версию нет-пакетов И как тебе хватает терпения каждый раз их перелапатывать чуть ли не полностью, я б повесился давно Я их постараюсь проверить, отпишусь, спасибо По поводу STATE_Read\Write, я просто не понял зачем при загрузке сохранения, во первых функция STATE_Read вызывается 3 (!) раза за загрузку для всех объектов. А во вторых в конце загрузки при синхронизации происходить вызов STATE_Write (тоесть по сути во время загрузки сохранять все наши переменные) для всех объектов а потом опять STATE_Read (но уже для тех что на 1 локации с ГГ) И того 3 Read и 1 Write во время загрузки... зачем?
  18. *Shoker*

    Скриптование

    Хотел вот спросить по поводу некоторых странностей в работе STATE_Read и State_write колбеков в скриптах типа se_xxx.script В скрипте sim_faction.script (ЧН, 10 патч) в функциях -- Сейв function se_sim_faction:STATE_Write(packet) -- ЛОАД function se_sim_faction:STATE_Read(packet, size) Поставил вывод сообщения такого типа: sm.ilog_c("load faction %s sid %s", self:name(), self.sid) В итоге вот лог, записан сразу после save\load
  19. *Shoker*

    Скриптование

    Galil Если статьи выдаются инфопоршнями, попробуй просто эти инфопоршни "забрать" (db.actor:disable_info_portion(" ") - но не уверен что именно так, проверь в lua_help)
  20. *Shoker*

    [CS] Вопросы по SDK

    Хах, попробовал, сработало. Странно, вчера целый день пытался на карту его заспавнить. Спасибо.
  21. *Shoker*

    [CS] Вопросы по SDK

    Кто подскажет как в СДК ЧН привязать к объекту шейп? Ставлю на карту space_restrictor. Хочу задать ему радиус действия, для этого надо к нему приатачить шейп но я не знаю как это сделать. В СДК есть вкладка Shape но чтобы я не делал, он не хочет прибавляться ни к каком объекту.
  22. Последняя версия скрипта для отлова выстрела из оружия
  23. *Shoker*

    Скриптование

    Artos Похоже на ошибку GSC. Если взять utils.script безпатченной версии, то там функция w_CTime() такая: if not (t == CTime_0) then local Y, M, D, h, m, s, ms = 0, 0, 0, 0, 0, 0, 0 Y, M, D, h, m, s, ms = t:get( Y, M, D, h, m, s, ms ) А в патченой версии я нигде не нашёл, чтобы вызывался код вида utils.CTime Разве что как то движково. И да, так мне получается параметр updskeleton_flags просто удалить? А то я вставил его чтение\запись
  24. *Shoker*

    Скриптование

    Лёха_тц И новую игру не забывай начинать, если спавн меняешь.
×
×
  • Создать...