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

Vano_Santuri

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

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

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

О Vano_Santuri

  • Звание
    Алхимик

Информация

  • Интересы
    Радиохимия, Выживание, WorkOut ...

Недавние посетители профиля

1 515 просмотров профиля
  1. Ищу файлы / моды / аддоны

    Здравствуйте, не поделитесь ссылкой на последнюю, опубликованную версию мода Сюжетное продолжение Чистого Неба. и фикс к нему? Заранее огромное спасибо! P.S. https://yadi.sk/d/n6Yx-iP9FoW42- спасибо автору модификации!
  2. Shoker Mod CS v[2.0]

    Установи обычную, коробочную версию. С этим изданием у многих проблемы, и оно несовместимо с модами.
  3. Ищу файлы / моды / аддоны

    Ребят, не поделитесь файликом son+chasy5.05.rar , он весит 18 мб. Это сон в мешке из АМК для ТЧ + там были часы на худ от Сяка. Может у кого осталось? А то народ тупит и файл не выдает. А больше нигде не осталось. Заранее спасибо. Для ЧН. Это не то? Cyclone
  4. Сообщество Мапперов

    Полный архив всех патчей 1-8 для Cop's Level Pack
  5. НОВЫЙ СЮЖЕТ 4

    Вот ссылка на яндекс диск
  6. PCFM COP Addon

    Кому необходимо - мод+патч в одном архиве. Народ
  7. [CoP] Ковыряемся в файлах

    Так как прошел? В чем именно была проблема?
  8. [CoP] Ковыряемся в файлах

    Походу тело разорвало, такой вылет говорит что дочерние объекты не найдены в инвентаре.... Вылет постоянен?
  9. Нужна помощь с тозлой. Напиши пожалуйста в личку.... или очисти... не могу отправить пм

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

    А не проще прописать логику, и в секцию on_deth - поставить действие? Это разовый вызов. А проверку у вас на всю игру... и таро уже такие вещи - прорверки 1 объекта на апдейт лепить.
  11. amk-team.ru сайт и форум

    Хемуль36рус, ребят в настройках браузера отключите джаваскрипты и все.... Правда спойлеры и быстрй ответ работать не будут. - Это как временное решение.
  12. Скриптование

    Artos, В общем сбылась мечта дурака - сделал то, чего вообще никто до меня не делал... Но появилась небольшая проблемка. Решить ее и кульминация, попрут скрипты. Есть ли функция, метод, которая определяет, что данный объект НЕ находится ни у кого в инвентаре\ящике, а просто валяется на улице? Ели такого метода нема, то придется довольствоваться переборчиком function NotInInventory(Art) for k,v in pairs(StkOnline) do local Stk = level.object_by_id(k) local InInv = Stk:object(Art) -- есть ли арт if InInv then return false -- есть end end return true -- нема end Просто хочется эстетичнее и "правильнее"... А скрины - в качестве подтверждения моей "гениальности" - только попробуйте сказать, что такое было. К показанному могу сказать, что в новостях сообщается о наличии\отсутствии арта в аномалии, вероятность того, что нпс словит арт - зависит от его детектора и ранга. Ну и рандома -новичкам иногда везет ) Artos, Shadows спасибо.
  13. Скриптование

    IQDDD, понятно. Т.к. мой скрипт будет в основном использоваться на больших "супер-модах" как дополнение, просто хочется сделать его максимально быстрым и чтоб не лагало... А чтоб не лагало, это нужно или вообще избавиться от работы с объектами в оффлайне, или же свисти к минимуму затраты на такие циклы. Artos, вот пытаюсь приспособить твой чудо-скрипт для оптимизации сканирования объектов. Но что-то мало не понимаю. Можешь почеркать то, что не нужно для работы? (выводы в лог и т.д) И да, что должна делать эта функция?\ --/ -- обработка объекта ---------------- this.Build_TableObj(soObj,iCurID) --/ ------------------------------------- Как я понял, она должна заносить в таблицу искомый объект и его id? local iPrgScan = 25 --/ периодичность сканирования Зоны (25ms => ~15 минут) function OnUpdate(uo,delta) --/ непрерывное циклическое сканирование локаций по всему диапазону ID объектов (1...65534) if coroutine.status(CoScan) == 'suspended' then --/ статус сопрограммы: приостановлена? local bFlg,Result = coroutine.resume(CoScan, iPrgScan) --/ (пере)запуск сопрограммы if not bFlg then --/ ошибка при выполнении сопрограммы printf("OnUpdate:Error_CoScan=[%s]:<%s>", Result, "Error!") end end end -- local tOAMain,tTmpMain = {},{} --/ дин.массив основных объектов (используется в m_news.script) local tOwners,tTmpOwn = {},{} --/ дин.массив владельцев предметов local CoScan = coroutine.create( --/ сопрограмма сканирования объектов игры function(iTimeLimit) --/ функция сканирования объектов игры с ограничением времени работы -- log("%s:CoScan:TimeLimit=[%s]:[%s]", sModule, iTimeLimit, ">") --/#~# local oPTimer,iTimeStop,soObj = nil,nil,nil local iCurID = 65535 --/ начальный ID while true do if iCurID >= 65534 then --/ проверка: цикл закончен (или предустановка)? --coroutine.yield(iCurID) --/ приостановка (опционально) if iCurID == 65534 then tOAMain,tOwners = tTmpMain,tTmpOwn --/ обновляем основные массивы log("%s:CoScan:Owners=[%s]:Time=[%s]%s", sModule, GetSizeTable(tOwners), Get_StrTime(), "") --/#~# --Print_Tables_OffLineAlife() --/#~# for Debug end --/ предустановки для нового цикла: tTmpMain,tTmpOwn = {},{} --/ временные массивы iCurID = 0 --/ начальный ID (опускаем 0-actor) iTimeStop = iTimeLimit --/ начальная установка для таймера oPTimer = profile_timer() --/ (пере)создаем объект таймера end iCurID = iCurID +1 --/ переход к следующему ID soObj = sim:object(iCurID) --/ очередной серверный объект игры if soObj then --/ объект в игре? ('пустышки' пропускаются и таймером) oPTimer:start() --/ старт таймера (на продолжение) --/ -- обработка объекта ---------------- this.Build_TableObj(soObj,iCurID) --/ ------------------------------------- oPTimer:stop() --/ (при)остановка таймера if oPTimer:time() > iTimeStop then --/ проверка: не закончен ли лимит времени? coroutine.yield(iCurID) --/ приостановка цикла iTimeStop = oPTimer:time() + iTimeLimit --/ обновляем для текущего подцикла сканирования end end end printf("%s:DoScan:<Error!>") return 65535 --/> end )
  14. Скриптование

    Artos, Теперь возвращаюсь к производительности. for k=1,65535 do local obj = level.object_by_id(k) if obj then local Cid= get_clsid(obj) if Cid == "artefact_s" table.insert(ArtsTbl, k) -- записываем k, а не объекты как таковые end end end Функция вызывается разок в 3 игровых часа. Что лучше? Вернее менее громоздко - заносить ключ k, или же копию obj? а потом работать с ними. Выигрыш в производительности будет? Или нет? Так же есть такой вариант local t = 0 for k=1,65535 do local obj = level.object_by_id(k) if obj then local Cid= get_clsid(obj) if Cid == "artefact_s" t=t+1 ArtsTbl[t] = k end end end Здесь я избавился от инзерта. Вы неоднократно говорили, что он оч медленно работает... Будет и еще выигрыш в производительности?
  15. Скриптование

    _Призрак_, а таким способом она будет доступна после 1го апдейта актора? Или же до актора?
×