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

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


Svoboда

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

@dPlayer

local item_in_slot_cond = item_in_slot_1:condition 

тут тоже скобки нужны, т.е. так:

local item_in_slot_cond = item_in_slot_1:condition()

Изменено пользователем UnLoaded
  • Спасибо 1

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


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

 

 

С чем едят такую константу const light_burn = 11?

Поиском по содержимому файлов в исходниках(1.0007rc1) и в чистой геймдате ТЧ(папки скрипт и конфиг) не нашел такого. Если это у тебя мод какой-то - лучше с вопросом к авторам.

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


Ссылка на сообщение
or db.actor:has_info("aes2_osoznanie_death3") ~= nil

В твоем варианте получается, что срабатывает последнее условие, т.к. отсутствие инфо-порции - это false, и false ~= nil. Убери вообще " ~= nil", поправь так:

if db.actor and (db.actor:has_info("aes2_osoznanie_death") or db.actor:has_info("aes2_osoznanie_death2") or db.actor:has_info("aes2_osoznanie_death3")) then

 и будет тебе счастье...

Изменено пользователем UnLoaded
  • Спасибо 1

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


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

 

 

Кто знает подскажите!!!

Чудес не бывает - проверяй все внимательно. Если на Волка срабатывает нормально, значит что-то не то с добавленными тобой новыми неписями. Ну и код в студию - покажи, что прописывал в task_manager.ltx.

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


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

 

 

Ее возможно прописать например как условия существования смарта или нет?

Для смартов используется "cond" в настройках смарта, смотри тут.

 

активация схемы в логике поддерживает условия:

Это называется "кондлист". Для гулагов добавляется крайне просто: в xr_gulag.script находишь ф-цию function gulag:get_job_path_name( job ), в ней меняешь строку

local active_section = self.ltx:r_string( section, "active" )

на такую

local active_section_cond = xr_logic.cfg_get_condlist(self.ltx, section, "active", self).-- добавлено чтение кондлиста

Для персональной логики, я думаю, можно исправить по аналогии...

Изменено пользователем UnLoaded
  • Спасибо 1
  • Полезно 1

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


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

 

 

Тут ничего такого вроде не прописано. Тем не менее, есть.

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

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


Ссылка на сообщение
Или так и должно быть, по уходу в оффлайн возвращается сначала в место спавна, а потом уже куда требуется???

У тебя непись работает под собственной логикой, а логика работает только в онлайне. Причем сделано так, что при входе объекта в онлайн логика инициализируется с начала. Решений несколько, первое - дробить логику как-то так:

[logic]
active = walker@stalker_reset

[walker@stalker_reset]
path_walk = stalker_propusk_reset
on_info = {+info1} walker@stalker_место_работы_1
on_info2 = {+info2} walker@stalker_место_работы_2
on_info3 = {+info3} walker@stalker_место_работы_3

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

Изменено пользователем UnLoaded
  • Спасибо 1

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


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

 

 

Получил задание днем, а выполнение его будет происходить ночью

Если я правильно понял, это что-то вроде: берем у Сидора в 14:00 задание - "Меченый, тут по ночам слепыши повадились выть близ деревни, спать мешают. Разберись". И этих слепышей возле деревни быть не должно до 22-23:00 и после 6-7:00.

Ну так у тебя само задание - таймер: используй тег <function_complete>, в котором укажи ф-цию. Эта ф-ция будет выполняться на апдейте - вот тебе и таймер. В ф-ции проверяй игровое время и соответственно выполняй что-то по достижении нужного(к примеру спавни этих самых собачек в 22 и удаляй\уводи в офф-лайн в 6). Дешево и сердито...

  • Согласен 1

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


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

А как проверить игровое время???

Ленимся, однако...

Есть такой чудесный раздел: "Справочник по функциям и классам" - там есть почти усё, заглядываем тудой почаще...

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

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


Ссылка на сообщение
Поэтому более надежный вариант можно было бы написать примерно так

Все пытаетесь универсальную защиту "от дурака" смастырить ? Так я Вам скажу, что дурак впиндюрит такое, что все эти защиты обделаются. Имхо, мое мнение: не надо дуракам программный код писать, а если очень хочется - пусть учится, как это правильно делать, и соответственно перестает быть дураком...

Да и такие способы защиты - если передали не верное community, то вернуть что-то от community = stalker - это чисто медвежья услуга. Пусть лучше писатель кода получит вылет, при тестировании, и будет вынужден найти ошибку и исправить ее, а не получить в виде этой самой медвежьей услуги левый результат.

Изменено пользователем UnLoaded
  • Нравится 1
  • Согласен 2

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


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

 

 

Я посчитал, что если напишу  : -- тут что-то делать. лог, вылет, исправить или ничего не делать  то, будет достаточно ясно. Видимо ошибался.

Возьмем вариант с не валидным значением аргумента ф-ции "community". В local data в этом случае получим данные из community = stalker, следовательно код:

then

      return -- тут что-то делать. лог, вылет, исправить или ничего не делать
end

никогда не выполнится. Это по Вашему не медвежья услуга ?

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


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

 

 

что делает функция

Так, ты сам уже нашел, что она делает - задает условие принятия неписей на работу в гулаге. Т.е. на эту работу("logic@esc_killer1_raid") будет назначен только тот непись, у которого профиль в конфиге - "esc_killer_specnaz".

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


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

 

 

правильное ли такое решение и не будет потом багов?

Разве не понятно, что таким образом ты отключил привязку к AI-сетке у ВСЕХ "eatable" объектов. Багов скорее всего не будет, не думаю что этот флаг("used ai locations") критичен для "eatable" хлама, но кто его знает что об этом движок думает ?

А вообще, на мой взгляд, правильнее будет сбрасывать этот флаг для поля "object_flags"(правкой нет-пакета, вроде доступ к этому полю есть) при спавне конкретного объекта.

  • Согласен 1

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


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

 

 

Можно и через net-пакеты, конечно, но в случае ЗП проще воспользоваться готовой функцией.

Не спорю, ни грамма - если ф-ция работает без дрюканья нет-пакетов. то я только ЗА...

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


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

 

 

почему когда я пишу верные координаты при спавне нпс через allspawn он появляется в другом месте
Откуда уверенность, что спавн происходит не по координатам ? И насколько это - в другом месте ? Из вариантов: непись может просто успевает свалить с точки спавна(такое возможно в зависимости от прописанной неписю логики\ее отсутствия), для непися выставлены флаги спавна с привязкой к AI-сетке - движок его подвинет к ближайшей ноде, если точка задана не на сетке.
  • Согласен 1

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


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

@Stalkeruga_238Попробуй на него метку поставить, и после начала НИ по наблюдай за меткой...

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


Ссылка на сообщение
1 час назад, CRAZY_STALKER666 сказал:

Есть ли смысл фиксить, заплаточки пилить?

А что именно фиксить ? Отсутствие, в конфигах твоей геймдаты, XML-секции "newspaper_video" ? У меня к примеру эта секция присутствует в двух конфигах. И что фиксить ?

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


Ссылка на сообщение
1 час назад, CRAZY_STALKER666 сказал:

Ну, если не сложно - скинь, пожалуйста, саму секцию.

gamedata\config\ui\ui_mm_load_dlg.xml:

    <newspaper_video x="137" y="512" width="256" height="256">
        <texture>ui\ui_mm_newspaper</texture>
    </newspaper_video>

gamedata\config\ui\ui_mm_save_dlg.xml:

    <newspaper_video x="137" y="512" width="256" height="256">
        <texture>ui\ui_mm_newspaper</texture>
    </newspaper_video>

Если надо сам ui_mm_newspaper.ogm - напиши, скину...

  • Нравится 1

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


Ссылка на сообщение
Только что, Jekyll сказал:

Но как вместо db.actor впихнуть другого монстра?

Из смыслового понимания этой фразы, следует, что ГГ - это монстр. Прикольно:az1000106:...

Собственно, по общему смыслу вопроса: а что мешает использовать "distance_to" для любого игрового объекта ? Метод абсолютно рабочий...

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


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

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