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

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


Svoboда

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

(изменено)

strelok200,

Вообще непонятно, какого зомби ты спаунил, нового или обычного из игры. Но судя по тому, что ты делал дописку в xr_statistic, все-таки нового. Значит не так прописал...

А вообще...инфы мало))) Пару-тройку строчек из скрипта уж всяко можно под спойлер забить.

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

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


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

 

 

3 функции. В первой сталкер самовыпиливается

А можно подробней про самовыпиливание? Что-это такое, раз после этого нужно проверять, жив ли он? С учетом того, что функция **суицида** к примеру убивает сталкера достаточно надежно. А из его логики всегда можно выдать посмертный поршень или вызвать любую функцию. 

Или это - "забор"?

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


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

 

 

Зато есть четкая форма записи

И до кучи - наглядно.

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


Ссылка на сообщение
(изменено)
В чём выражается "нечёткость"

Вот это стремно выглядит...

{+infop1 =func1} {+infop2 =func2}

Так и хочется подумать - а чего тут не хватает?

Изменено пользователем _Val_
  • Согласен 1

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


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

Программистский вариант - неправильный по сути, ибо в обоих случаях должно проверяться gulag_active(esc_lager), а у тебя переход во вторую секцию чисто по поршню.

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


Ссылка на сообщение
(изменено)
Если активен, проверяем дальше

Такс...А если он внезапно станет неактивным? Ну вот прямо в момент проверок? В сталкере много чего творится странного...

Не - вы сами парни запутались и меня путаете.

1. Проверяется активность гулага, проверки поршней нет.

Если гулаг неактивен, переходим в первую секцию.

Если активен - переходим к дальнейшей проверке.

2. Если есть поршень, переходим во вторую секцию.

Но судя по исходнику мы должны перейти в неё при неактивном гулаге.

Вот же человеческий вариант))

{=gulag_inactive(esc_lager)} section1, {=gulag_active(esc_lager) +esc_infop1} section2
Изменено пользователем _Val_

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


Ссылка на сообщение
(изменено)

Хм...Продолжим. В данном случае переход по секциям отличается только одним условием - наличием-отсутствием поршня. Гулаг в обоих случаях должен быть неактивен.

Итого получается, что отсутствие проверки поршней при первой проверке приведет к тому, что при наличии неактивного гулага произойдет переход в первую секцию независимо от наличия поршней.

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

{=gulag_inactive(esc_lager) -esc_infop1} section1, {=gulag_inactive(esc_lager) +esc_infop1} section2

Ну или допустим такая..хм?

{=gulag_inactive(esc_lager) -esc_infop1} section1, {+esc_infop1} section2

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

То бишь получается, что повторная проверка то она вроде и режет глаза...но хоть тресни нужна.

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

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


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

Ну и нормально всё выглядит. Всё понятно - кроме одного, чего огород городить))

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


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

 

 

логику среднего размера

Эмм...Хочется посмотреть на логику караульного.

Задачи. Поспать, покараулить(вовремя сменив предыдущего постового), сменившись пожрать у костра. Ну чё - в  принципе простенько должно быть.

  • Согласен 1

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


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

По мне - так лишняя проверка и не помешает. Сталкер же...

В связи с этим вспоминается.

В условиях бурного развития ПВО и переходе на массовое использование ЗРК - американцы решили отказаться от дублирования систем на своих летающих гробах. Мысль была такова - попадут ракетой, всё равно кабздец. Как результат - большие потери во Вьетнаме от обычного стрелкового оружия.

 

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


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

 

 

сделать рестрикторы на локации

Хм...А по примеру АМК-мода никак на ЗП не сделать?

Со списочком запретных для аномалий зон...anoms.ltx. Координаты без вертексов и радиус запретной зоны. 

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


Ссылка на сообщение
(изменено)

@nego, спавн рестра правильный. Логика тоже...Но!

[sr_idle@one]

Вот так по уму надо писать...ибо секция логики должна быть sr_idle.

К тому же не вижу смысла в one, секция то у тебя одна. Двигло и так поймет))

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

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


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

@UnLoaded, это вроде как не перенос, хотя в ЛУА я дуб дубом))

Вот так короче - да...

local custom = "[logic]\ncfg = scripts\\restr.ltx"

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


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

:offtopic:

@nego, кстати...к слову пришлось.

У тов. @Charsi в подписи есть плагин Луа для Нотепад++. А в этом плагине есть функция проверки синтаксиса. Так вот она четко показывает ошибку в функции спавна рестра.

 

invalid escape sequence near '\c'

 

Пишем \ncfg, проверяем...О чудо!

 

Syntax OK!

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


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

 

 

проще всё это "повесить" на инфопоршни - по одному на каждую локацию (например, "<имя_уровня>_info").

Как-то так к примеру.

function start_скрипт()
if level.name()=="predbannik" and not has_alife_info("info_pred") then db.actor:give_info_portion(info_pred")
......
......
elseif level.name()=="hiding_road" and not has_alife_info("info_road") then db.actor:give_info_portion("info_road")
    end
end

Ну может скрипто_гуру что-то и поновей предложат.

  • Спасибо 1

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


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

@_Sk8_AsTeR_ 

Для проверки нужно увеличить время. Допустим 10 поставить. Время в игре оно течет побыстрей...Пока сейв грузится - вполне может пройти пресловутые две минуты.

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


Ссылка на сообщение
(изменено)

@AndreySol 

Сложновато для того, кто не в курсе - что такое СДК от слова вообще. Да и не непись это получается - а голем какой-то. 

В принципе спорно и утверждение, что метод лучше - чем приравнивание в сталкеру Сахарову.

 

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

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


Ссылка на сообщение
(изменено)

@Rietmon

По твоей логике.

1. Враждебность к актеру.

actor_enemy ...

ценность данного предусловия по моим скромным наблюдениям стремится к нулю.

Попробуй лучше использовать fighting_actor.

Угум...И все эти дела скорее относятся к проверке враждебности актора, чем к установке на его убийство.

Потому я делаю так %=killactor%

2. По вылету.

Поршень явно срабатывает, и персонаж переходит в следующую секцию.

Секция имеет схему walker.

А где в таком случае пути?

Кстати - логика случаем не для ЗП?

corpse_detection_enabled - это что?

Изменено пользователем _Val_
  • Полезно 1

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


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

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

AMK-Team.ru

×
×
  • Создать...