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

_Призрак_

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

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

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

  • AMKoin

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

Весь контент пользователя _Призрак_

  1. Проконсультируйте по такому вопросу: У меня в моде получается очень много рестрикторов, который срабатывают один раз, а потом лежат мертвых грузом. Хотел бы узнать, как правильно удалить спейс_рестриктор чтобы не получить после удаления осложнений. Спейсы не прописаны в in/out рестрикторах у НПС. Подойдет ли здесь простое получение серверного объекта и его удаление через alife():release()?
  2. Подскажите пожалуйста, в чем разница логик animpoint и smartcover? Как я понял последняя необходима для боевых смарт каверов?
  3. SkyLoader Да, вполне, но не для всех. Например для ворон не работает
  4. Получить значение поля bio не представляется возможным через функции. Можно конечно написать движковую функцию для того чтобы получать биографию, но врядли ты это осилишь. Поэтому придется парсить весь файл. Есть отличный парсер xml от Kirag, который отлично распарсивает весь файл в табличку, откуда я вынимал значения поля bio. Поищи на этом форуме
  5. Clayman Гадать не хочу, но проверь не завис ли какой нибудь из биндеров.
  6. _Призрак_

    Опросы форума.

    1. Сюжет оригинальный в солянки нужно было давно поменять, но не на билдовский, а на свой, уникальный. 2. Нет, не верю. Тот Самый Сталкер забыт навсегда
  7. Buusty А не проще разобраться почему непись зависает и удаляется этим скриптом? Потому как костыль сделать можно, но ты уверен что этот костыль не приведет к вылетам
  8. Artos Не хочу ввязываться в очередной срач, но любопытство берет вверх А зачем вообще нужно было снимать координаты для 4 различных точек? Ведь у спейс рестрикторов нет оболочки, поэтому по идее можно было бы использовать math.random для получения рандомной точки в пространстве. Зачем нужно было напрягаться и искать эти 4 точки? Немного не правильно понял. Координаты здесь практически не причём, во всяком случае те, которые на уровне. Есть четыре метки круглой формы, а у этих меток центр окружности смещён (вверх, вниз, влево, вправо), а скрипт выбирает одну из них рандомно, из чего получаем эффект не точного местонахождения объекта (поскольку метку можно поставить лишь на сам объект), а с какой либо погрешностью смещения. ColR_iT
  9. Как вариант: local id = obj:id() if alife():object(id) then --Существует серверный обьект end Пример взят из оригинальных скриптов Перепрочти вопрос и процитированное в нем, обратив внимание на: "При попытке вызвать любой метод этого объекта будет вылет. ", и в последующем не спеши с ответами из серии "В огороде бузина, а в киеве дядька". --/Artos [x]
  10. Artos А еще обезьяну часто называют человеком. Давайте сразу приучаться говорить правильно. Смотря где. Если смотреть по чистым скриптам то отображают, т.к. обьект записывается в табличку при вызове net_spawn() и удаляется при net_destroy(). Следовательно обьект в таблице, пока он в онлайне. Не так ли? Ну а если кто-то неаккуратно работает с обьектом, то тут уж ничего не поделаешь. Если включить логику и понять что локации сталкера в большенстве своем гораздо больше 150 метров по длине, поэтому тут нужно всегда помнить о том что обьект может быть в оффлайне. И тогда при попытке получить обьект при помощи функций пространства level ничего не даст. *Shoker* Спасибо не знал. Точнее не замечал этого момента
  11. Да, но обьекты находят в онлайне не в пределе одной локации, а в пределе 150 метров по дефолту (не помню как называется параметр, который отвечает за дистанцию алайфа). Получается что если обьект будет дальше 150 метров то функция не удалит обьект
  12. А вы уверенны, что вертолет будет в онлайне и его можно будет отловить при помощи таблички db.* или функций level.* ?
  13. _Призрак_

    X-Ray extensions

    Это затычка, для того чтобы при помощи alife():release(...) не пытались удалить nil или 0 обьект. Это приводит к очень плохим последствиям и бою сейвов
  14. Здравствуйте. Хотел бы прояснить вот какой момент - можно ли в лист вставлять объект не в конец, а в середину. Поясняю: Есть объект типа CUIListBox (тот же CUIListWnd только в ЗП) и нужно в его середину вставить строку с текстом. На Qt есть отличная функция insert, которой можно указать куда вставлять обьект. Однако в сталкере я такого не нашел. Может я слепой? Больно уж не хочится очищать и заного добавлять все обьекты для того чтобы вставить пару строк текста в лист.
  15. _Призрак_

    [CoP] Квесты

    В файле кодировка сбита, но там и так все ясно. Нельзя в поле <text></text> писать больше чем 128 или 256 символов (точно не помню). Хочешь больше - используй идентификатор фразы
  16. olaf1 Sorry for English:) Firstly, you have logical error in your timer. You have used level.get_time_hours() and time_global() which return not the same type of time. If you open the Referenceща Function and classes (you can find it on our forum) you will see, that level.get_time_hours() returns time in hours,which show which hour now in game, but time_global() returns time in milliseconds,which show how many milliseconds have passed since starting the program. So, you must change underlying code: if timer == nil then timer = level.get_time_hours() + math.random(3, 6) if timer > 23 then timer = timer - 24 end end if time_global() > timer then on this code: if timer == nil then timer = level.get_time_hours() + math.random(3, 6) if timer > 23 then timer = timer - 24 end end if level.get_time_hours() = timer then Secondly, what this code must do? It so.... I can't translate what I think, but it's realy strange code: for npc,spwan in pairs(respwan_npc)do if spwan == true then respwan_table[alife():create("mar_clear_sky_respawn_1", pos, lvi, gvi).id] = true table.insert(respwan_npc,2,false) end end Please, explain:) And the last for now, May be I now why you have crash witout log. In for construction you use 'spwan' which already name of function. Change for npc,spwan in pairs(respwan_npc)do if spwan == true then on for npc,myspwan in pairs(respwan_npc)do if myspwan == true then and try again. Replay after check
  17. Driv3r Это рестриктор, у которого тип не 0 и не 3 (на вики посмотри)
  18. Видимо проблема в том что почему то Sender - не сталкер. Поэтому я бы тебе посоветовал вставить эту строку перед получением character_name: get_console():execute("news:name="..Sender:name()) И я готов поспорить что имя будет принадлежать не сталкеру
  19. Есть более элегантное решение. Установите себе X-Ray extensions, там есть метод (в каком то из последних ревизий добавили), который возвращает вес инвентаря
  20. Стоит такая задача - нужно из файла (с расширением .xml) считать все. Собственно у Kirag'a был такой вариант в его парсере .xml файлов: local str = r:r_stringZ() if r:r_tell() > size then str = string.sub(str,1,size) end Все логично, но если файл упакован в архив, то я получаю вылет без лога, т.к. в архивах у файлов нет \0 символа, обозначающего конец файла. Тогда я попытался сделать так: local str = "" for i=1,size do str=str..string.char(r:r_u8()) end где size - размер файла в байтах Все работает, но работает невероятно медленно. Если раньше был небольшой лаг, то сейчас у меня игра зависает на пол минуты. Может у кого нибудь есть универсальное решение?
  21. ColR_iT id в двигателе обозначается чилом типа unsigned short int (2 байта), которое ну никак не может быть равно -1. id у актора = 0
  22. Озадачился я сегодня такой проблемой. Есть текст произвольной длинны. Нужно узнать сколько строк он займет при выводе на статик. У статика задан параметр компекс_мод=1 У меня было несколько идей: 1. Посчитать какой размер текста и сколько в нем символов \n. Но проблема в том что из-за переменоса слов на другую строку этот метод дает погрешность в несколько строк при большом объеме текста. 2. Фактически переписать метод SetText. Идея такая - резать строку по словам и смотреть помещается ли это слово на эту строку. заодно посчитать символы \n. Но при больших текстах такая система будет работать очень долго, а там как у меня и так много чего в этот момент обрабатывается это не есть хорошо. Заранее спасибо
  23. Sektor1986 Вообще делается это так: 1. Создается сквард из НПС/мутантов, в конфиге скварда которого прописанно on_death = %+info% 2. Создается смарт с работой для них 3. Когда нужно вызывается функция xr_effects.create_squard(...) 4. В таске отслеживается получение инфопоршня info
  24. Artos Могу. В функции апгрейда окна диалога стоит проверка на то что один из регистров меньше 3.0. Меняем это число например на 150.0 (подходящее число есть в длл), идем в xr_meet.script и удаляем оттуда проверку на 3.0 метра Wookie Какой патч? В ЛС.
  25. Wookie Тут нужен движковый фикс. Я уже сделал такой для билда 2945, могу перенести на финалку
×
×
  • Создать...