Пользователей: 0
Гостей: 356
Всего: 356

» Подробно
» Сегодня


Привет, Гость!

Ник


Пароль


Запомнить?




» Добавить в избранное

» Сделать стартовой

Главная
Форум
Обзор игры
Мир Зоны
Файлы
Галерея
Разное






Форумы > Архив > Склад > Вопросы и ответы (по 05.06.10)

Страница 50 из 51Первая«4748495051 »
Быстрый переход:


 

Автор Сообщение
Sine
[1] Странник
Онлайн статус=0  Профиль    




Посты: 960
Откуда: Краснодар
Занятие: брейкданс, модмейкинг
Возраст: 29

09-01-2011
02-06-2010 19:53 GMT3 часа #1260305   Split
мои вопрос остается в силе, что нужно писать в спейс рестриктор, чтоб при входе в него актора активировался путь?


Deviks
[1] Странник
Онлайн статус=0  Профиль    




Посты: 122
Откуда: Ейск
Занятие:
Возраст:

02-06-2010 20:32 GMT3 часа #1260333   Split
Sine Если я правильно тебя понял, то примерно так..

[logic]
active = sr_idle@sine

[sr_idle@sine]
on_actor_inside = %+info% -- выдается инфопоршень, при входе актора в рестриктор.
-------------------------
on_signal = {+info}| walker


userbar
Xray23
[10] Житель
Онлайн статус=0  Профиль    




Посты: 748
Откуда: Неизвестно
Занятие: Поклонения Монолиту
Возраст:

02-06-2010 20:42 GMT3 часа #1260346   Split
Ребята а что за мод в этом видео?:
-------->


Darien Fx
[1] Странник
Онлайн статус=0  Профиль    




Посты: 1372
Откуда:
Занятие:
Возраст: 30

02-06-2010 21:05 GMT3 часа #1260364   Split
Xray23
Судя по комменту Old Good Stalker Mod v.2.2.


ВЕРЕС14
[1] Странник
Онлайн статус=0  Профиль    




Посты: 362
Откуда: Калуга
Занятие: S.T.A.L.K.E.R.
Возраст: 28

02-06-2010 21:59 GMT3 часа #1260421   Split
Немного не в тему, но срочно надо ... Почему в OGSE 0.6.9.1. вылетает игра без лога при переходе Свалка-Кордон? Можно это вылечить?


АнархОПанк
[1] Странник
Онлайн статус=0  Профиль    




Посты: 998
Откуда:
Занятие:
Возраст:

02-06-2010 22:00 GMT3 часа #1260424   Split
ВЕРЕС14 есть тема по этому моду!


Sine
[1] Странник
Онлайн статус=0  Профиль    




Посты: 960
Откуда: Краснодар
Занятие: брейкданс, модмейкинг
Возраст: 29

09-01-2011
02-06-2010 22:11 GMT3 часа #1260430   Split
Deviks спасибо, систему понял, я так думаю, что есле это под гулаговая работа (путь, который активируется через рестриктор) то то что под чертой писать не надо? НПС сами я так понимаю перейдут на эту работу?


Gun12
[7] Выживший
Онлайн статус=0  Профиль    




Посты: 773
Откуда: СССР
Занятие: Всё, что заставляет напрягать серое вещество
Возраст: 51

02-06-2010 23:34 GMT3 часа #1260508   Split
Цитата
# Sine :Что нужно вписать в спейс рестирктор, чтоб активировать путь?...


Могу написать подробно, в качестве тутора.
А могу и быстрее, только покажи в gulag*.script загрузку работ и состояний.


БаЛаБоЛ
[10] Житель
Онлайн статус=0  Профиль    



skill issue

Посты: 5064
Откуда: Промышленный район нанотехнологий
Занятие: FORTNITE, драка за батон
Возраст: 30

28-03-2017
03-06-2010 00:01 GMT3 часа #1260526   Split
Вопрос: Где находятся "хитрые планы" ГГ и его собранных КПК?
папку rus обшарил всю, ничего не нашёл..


userbar
Artos
[20] Сталкер
Онлайн статус=0  Профиль    




Посты: 4176
Откуда:
Занятие:
Возраст: 65

03-06-2010 00:54 GMT3 часа #1260574   Split
Stalk15
Научись в конце концов читать простейшие сообщения лога:
  [error]Description : Specified story object is already in the Story registry!

Лог сообшает тебе о том, что ошибка возникла при появлении (попытка заспавнить) в игре объекта, стори-айди (Story_Id) которого уже зарегистрирован. Т.е. в игре уже имеется другой объект с таким же Story_Id.

Ты очевидно допустил простейшую ошибку и спавнишь "копию" уже имеющегося рестриктора, не изменив стори-айди, а разглагольствуешь о Кордоне/Свалке/онлайне ... Так погадалками ты долго и себя будешь путать и подобными постами топик 'засорять'.
Сделай простейшую проверку перед спавном на наличие в игре предполагаемого к использованию идентификатора - и многое прояснится.

Сообщение было успешно отредактировано Artos (03-06-2010 00:54 GMT3 часа, назад)

Struck
[7] Выживший
Онлайн статус=0  Профиль    




Посты: 1946
Откуда:
Занятие:
Возраст:

03-06-2010 02:19 GMT3 часа #1260630   Split
Artos какой функцией можно закрыть инвентарь?

добавлено спустя 5 минут

HideActorMenu() подойдёт?

Сообщение было успешно отредактировано Struck (03-06-2010 02:19 GMT3 часа, назад)

Artos
[20] Сталкер
Онлайн статус=0  Профиль    




Посты: 4176
Откуда:
Занятие:
Возраст: 65

03-06-2010 02:46 GMT3 часа #1260643   Split
Struck
HideActorMenu() не подойдет в любом случае.
Сам загляни в азбуку (lua_help.script).
1. Этот метод применим только начиная с ЧН.
2. Применим к "class CUIGameCustom', т.е. к тем окнам, которые ты можешь создать и управлять.

Чем закрыть (кроме горячей кнопки) не знаю, не интересовался.


Gun12
[7] Выживший
Онлайн статус=0  Профиль    




Посты: 773
Откуда: СССР
Занятие: Всё, что заставляет напрягать серое вещество
Возраст: 51

03-06-2010 03:19 GMT3 часа #1260651   Split
Цитата
# Struck :какой функцией можно закрыть инвентарь?

Нашел в закромах такой код.
Сам не пользовался, но думаю попробовать не сложно.
Код:
local self=level.main_input_receiver()
self:GetHolder():start_stop_menu(self, true)


Artos
[20] Сталкер
Онлайн статус=0  Профиль    




Посты: 4176
Откуда:
Занятие:
Возраст: 65

03-06-2010 12:17 GMT3 часа #1260770   Split
Gun12
Ты прав, этот кусок можно попробовать использовать.
Только потребуется чтобы self'ом оказалось именно нужное окно (инвентаря), а не иное.

function actor_binder:info_callback(npc, info_id)
  ...
  on_info(info_id) --/#+# сигнал получения инфопоршня
end

function on_info(info_id) --/ вы(опре)деляем нужный инфопоршень
  if info_id == "ui_inventory" then --/ открылось окно "инвентаря"
    local wnd_inv = level.main_input_receiver() --/ объект "окно инвентаря"
    Check_on_inventory(wnd_inv) --/ что-то проверяем ... при открытом "инвентаре"
  end
end

function Check_on_inventory(wnd_inv)
  ... --/ что-то делаем/проверяем
  if wnd_inv and условие then --/ при требуемом событии - закрываем
    wnd_inv:GetHolder():start_stop_menu(wnd_inv,true) --/ закрываем "инвентарь"
  end
end

Это только "рыба"(!), работает "однократно", т.е. в момент открытия окна. Следует ее дописать, вероятно 'запомнить' событие открытия окна и собственно объект окна ... и оптимизировать.


Stalk15
[1] Странник
Онлайн статус=0  Профиль    




Посты: 1023
Откуда: Как-бэ Новосибирск(Точно не знаю=))
Занятие: Модю сталкера, полегоньку юзаю Visual Basic и Visual С#.
Возраст: 30

19-11-2012
03-06-2010 14:13 GMT3 часа #1260883   Split
Artos
Я рестриктору при спавне story_id не присваивал.Вот в этой статье написано, что если story_id не нужен, то в функции спавна нужно просто вместо sid прставить значение nil.Я так и сделал, но вылет все равно происходит.Странно


Xray23
[10] Житель
Онлайн статус=0  Профиль    




Посты: 748
Откуда: Неизвестно
Занятие: Поклонения Монолиту
Возраст:

03-06-2010 15:42 GMT3 часа #1260984   Split
Ребята! Я установил Freeplay start мод и вступил в Бандиты, И я на Кордоне живого Гордона Фримена встретил!


Gun12
[7] Выживший
Онлайн статус=0  Профиль    




Посты: 773
Откуда: СССР
Занятие: Всё, что заставляет напрягать серое вещество
Возраст: 51

03-06-2010 23:50 GMT3 часа #1261032   Split
Artos
Не помню, закрывается ли окно инвентаря автоматом, при нажатии "Esc".
Если так, то сохранять нет смысла.
Вот один из вариантов (уже правленный, как и пост, после нашей дискуссии). Уже проверено. Работает как и задумано .
Код:
function actor_binder:update(delta)
    ...
    if db.actor:has_info("ui_inventory") then
        on_info()
    end
end

И дальше :
Код:
local wnd_inv

function on_info()
    if wnd_inv then
        if "условие" then
            wnd_inv:GetHolder():start_stop_menu(wnd_inv,true)
            wnd_inv = nil
        end
    else
        wnd_inv = level.main_input_receiver()
    end
end

Сообщение было успешно отредактировано Gun12 (03-06-2010 23:50 GMT3 часа, назад)

Artos
[20] Сталкер
Онлайн статус=0  Профиль    




Посты: 4176
Откуда:
Занятие:
Возраст: 65

03-06-2010 19:47 GMT3 часа #1261163   Split
Gun12
По эскейпу закрывается, но не суть ...
1. При данном варианте кодов on_info() - 'точечная' одноразовая функция, которая срабатывает в момент открытия окна инвентаря.
Если кому-то требуется закрывать окно НЕ сразу, а по какому-то отложенному во времени событию, то коды закрытия следует вынести в стороннюю функцию.
2. wnd_inv - это один и тот же объект в отрезке 'окно открыто-закрыто'. Но(!) если окно закрыть и вновь открыть - это уже совершенно разные объекты.
Определять/обнулять этот объект можно введя двойную проверку на открытие и(!) закрытие окна, нечто типа:
Код:
local bShow = false --/ флаг открыто/закрыто окно инвентаря"
local wnd_inv = nil --/ объект "окно инвентаря"

--/ Открытие/закрытие инвентаря
function on_info(npc, info_id)
   if info_id == "ui_inventory" then
      bShow = true
      wnd_inv = level.main_input_receiver()
   elseif info_id == "ui_inventory_hide" then
      bShow = false
      wnd_inv = nil
   end
end

Ну и использовать полученный флаг и/или объект по мере необходимости.


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

Сообщение было успешно отредактировано Artos (03-06-2010 19:47 GMT3 часа, назад)

Struck
[7] Выживший
Онлайн статус=0  Профиль    




Посты: 1946
Откуда:
Занятие:
Возраст:

03-06-2010 21:43 GMT3 часа #1261261   Split
Artos Gun12 спасибо, теперь вопрос следующий, как вывести кастом статик с таймером?(в формате ММ:СС)

Н-р у меня работает функция и вот пока он работает чтобы был на экране таймер с отсчётом до окончании работы функции, или просто как вывести таймер на экран?


Stalk15
[1] Странник
Онлайн статус=0  Профиль    




Посты: 1023
Откуда: Как-бэ Новосибирск(Точно не знаю=))
Занятие: Модю сталкера, полегоньку юзаю Visual Basic и Visual С#.
Возраст: 30

19-11-2012
03-06-2010 21:44 GMT3 часа #1261263   Split
Artos
Спасибо за твою строгость
Просто там надо было не nil писать, а само число story_id


Darien Fx
[1] Странник
Онлайн статус=0  Профиль    




Посты: 1372
Откуда:
Занятие:
Возраст: 30

03-06-2010 21:52 GMT3 часа #1261270   Split
Stalk15
Ну а если у рестриктора не будет сида, что будешь делать? Не писать же его каждому рестриктору. Я когда делал по статье, спокойно передавал nil. Возможно ты где-то ошибся.


Николай ФеНиКс
[10] Житель
Онлайн статус=0  Профиль    




Посты: 1493
Откуда: От Туда!
Занятие: Мотоциклы =)
Возраст: 29

15-01-2011
03-06-2010 23:27 GMT3 часа #1261339   Split
как должна выглядеть логика кемпера??? (снайпера)


userbar
Мастер с обрезом
[1] Странник
Онлайн статус=0  Профиль    




Посты: 7
Откуда: Владимир
Занятие: Сталкер и моды
Возраст: 30

04-06-2010 01:25 GMT3 часа #1261445   Split
Николай ФеНиКс для снайпера вроде достаточно поставить в логике sniper = true


Gun12
[7] Выживший
Онлайн статус=0  Профиль    




Посты: 773
Откуда: СССР
Занятие: Всё, что заставляет напрягать серое вещество
Возраст: 51

04-06-2010 02:10 GMT3 часа #1261461   Split
Мастер с обрезом
Дружищееее!!! Приветствую на сайте.
Почему я конкретно не отвечаю?
Тут г. Artos прививает всем "лентяям" привычку прикладывать хоть немного собственных усилий для достижения цели.
Я полностью поддерживаю эту идею, и стараюсь ответить на вопрос так, чтобы человек "помучался", ради его собственного же блага.

добавлено спустя 7 минут

Цитата
# Sine :...я так думаю, что есле это под гулаговая работа (путь, который активируется через рестриктор) то то что под чертой писать не надо? НПС сами я так понимаю перейдут на эту работу?


И тут же буду противоречить себе.
Просто уже подготовил ответ, поэтому чтобы не пропал выложу :
Значит так.
Работа (записанная в таблице t), которую делает сталкер, зависит от двух условий.
Состояния гулага :
Код:
state = {***}

и соответствующей этому состоянию секции логики :
Код:
section = "logic@***"

Т.е. сталкер будет выполнять эту работу (отрабатывать эту секцию логики), пока функция :
Код:
function load_states(gname, type)

будет возвращать значение, соответствующее записанному(ым) в :
Код:
state = {***}

для данного гулага.

Отсюда следует, что для того чтобы переключить сталкера на другую работу,
необходимо изменить состояние гулага и секцию логики.

Поскольку таблица t - это отдельно взятая работа, то для новой работы нужно создать такую же таблицу,
но в вышеупомянутые поля записать новые значения состояния и секции логики :
Код:
t = { section = "logic@new***"
          ... ,
          state = {новое значение},
          ...
      }
      table.insert(sj, t)

С секцией понятно. Создаёшь в файле config\misc\gulag_*.ltx новую логику.
А вот в функцию load_states добавляешь новое условие, для переключения на новое состояние.

Что именно писать - зависит от твоей необходимости.
Например (по-проще). Есть загрузка состояний, которые уже используются в гулаге :
Код:
if type == "esc_bridge" then
    return  function(gulag)
                    if ( level.get_time_hours() >= 5 and level.get_time_hours() <= 22 ) then
                        return 0  -- день
                    else
                         return 1  -- ночь
                    end
                end
end

Добавим новое. После строки return function(gulag) вставляем :
Код:
if has_alife_info("поршн") then
    return 2
end

Т.е. при установке поршна "поршн", гулаг переключится в состояние 2, которое и нужно указать
в строке state = {2} новой работы.

Как выдать поршн - твоё дело.
Если ты хочешь через рестриктор, то тебе уже сказали.
Только если этот рестриктор нужен исключительно для выдачи поршна, нужно отправить его в NIL, чтобы без дела не грузил систему :
Код:
on_actor_inside = nil %+поршн%

Пойдёт ли сталкер на новую работу, зависит от полей :
Код:
in_rest = "***", out_rest = "***"

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

Если у тебя в гулаге несколько НПС, то при переключении состояния они выйдут из своей логики, соответствующей бывшему состоянию.
Поэтому необходимо им тоже установить логику для нового состояния.
Если при переключении НПС должны продолжать выполнять ту же работу, то в поле state, этой логики, нужно добавить новое состояние :
Код:
state = {***, 2}

Сообщение было успешно отредактировано Gun12 (04-06-2010 02:10 GMT3 часа, назад)

HASH
[1] Странник
Онлайн статус=0  Профиль    




Посты: 58
Откуда: Петрозаводск
Занятие:
Возраст: 33

04-06-2010 11:37 GMT3 часа #1261621   Split
Как уменьшить дальность обзора у НПЦ ночью?


стрелок 2034
[1] Странник
Онлайн статус=0  Профиль    




Посты: 32
Откуда: Москва
Занятие: игра в комп,спорт,и погулять
Возраст: 28

04-06-2010 11:55 GMT3 часа #1261636   Split
Подскажите как выложить свой мод в инет.


БаЛаБоЛ
[10] Житель
Онлайн статус=0  Профиль    



skill issue

Посты: 5064
Откуда: Промышленный район нанотехнологий
Занятие: FORTNITE, драка за батон
Возраст: 30

28-03-2017
04-06-2010 12:15 GMT3 часа #1261655   Split
При переходе на Припять вот такая вот, "фича"
Код:
FATAL ERROR

[error]Expression    : fatal error
[error]Function      : CScriptEngine::lua_error
[error]File          : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp
[error]Line          : 73
[error]Description   : <no expression>
[error]Arguments     : LUA error: ...:\ЫгрЫ\stalker\gamedata\scripts\sim_statistic.script:4: attempt to index local 'npc' (a nil value)


stack trace:


Как исправить?


userbar
blackraven6
[1] Странник
Онлайн статус=0  Профиль    



Черный Ворон

Посты: 625
Откуда: СПб
Занятие: Страйкбол. Мододел STALKER, Fallout 3. В КОМАНДУ НЕ ЗВАТЬ!!!
Возраст: 31

01-09-2010
04-06-2010 15:39 GMT3 часа #1261873   Split
Какая строчка отвечает за "встряску" земли и камеры при взрыве гранат.


userbar
Stalk15
[1] Странник
Онлайн статус=0  Профиль    




Посты: 1023
Откуда: Как-бэ Новосибирск(Точно не знаю=))
Занятие: Модю сталкера, полегоньку юзаю Visual Basic и Visual С#.
Возраст: 30

19-11-2012
04-06-2010 17:59 GMT3 часа #1261971   Split
Сделал квест, но стрелка/метка на карте не появляется.
Вот какбэ план действий:
1.Сначала заспавнил рестриктор и присвоил эму story_id:
Код:
function spawn_restrictor()
    local pos = vector():set(-225.191,-8.282,-138.940)
    local lv = 16424
    local gv = 281
    local radius = 45

    local ltx = "[logic]\n"..
   "active = sr_idle\n"..
   "[sr_idle]\n"..
   "on_actor_inside = %+esc_kvest_about_secret_merc_go_to_trups%\n"   --Выдача поршня
    kvests_spawn.create_restr(7412, pos, lv, gv, ltx, radius) --7412 - это story_id
end

2.Потом в файле game_story_ids.ltx прописал story_id для рестриктора:
7412 = "gar_restrictor"

3.В скелете квеста указал все, что нужно для появления метки:
<game_task id="kvest_secret_merc_searsh_ulik">
<title>...?...</title>
<objective>
<icon>ui_iconsTotal_find_item</icon>
<text>...?...</text>
<map_location_type hint="gar_kvest_merc_mapspot">green_location</map_location_type>
<object_story_id>gar_restrictor</object_story_id>

<infoportion_complete>esc_kvest_about_secret_merc_go_to_trups</infoportion_complete>
</objective>
<objective>
<text>...?...</text>
<icon>ui_iconsTotal_find_item</icon>
<map_location_type hint="gar_kvest_merc_mapspot">green_location</map_location_type>
<object_story_id>gar_restrictor</object_story_id>

<infoportion_complete>esc_kvest_about_secret_merc_go_to_trups</infoportion_complete>
</objective>
</game_task>

4.В файле string_table_mapspots_garbage.xml вписал это:
<string id="gar_kvest_merc_mapspot">
<text>...?...</text>
</string>

Беру у Сидрыча квест, а метка на Свалке не появляетсяСделал все, как нужно.Кто знает, как это можно исправить?Кто-нибудь нашел ошибку?


blackraven6
[1] Странник
Онлайн статус=0  Профиль    



Черный Ворон

Посты: 625
Откуда: СПб
Занятие: Страйкбол. Мододел STALKER, Fallout 3. В КОМАНДУ НЕ ЗВАТЬ!!!
Возраст: 31

01-09-2010
04-06-2010 18:01 GMT3 часа #1261973   Split
Stalk15 так ты эту самую метку то привязал?


userbar


Форумы > Архив > Склад > Вопросы и ответы (по 05.06.10)

Страница 50 из 51Первая«4748495051 »


Эта тема закрыта, публикация новых сообщений недоступна.



???????@Mail.ru Rambler's Top100
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для
просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.

Использование материалов сайта возможно с разрешения администрации. Все права защищены. © 2004–2024 «Stalker-Portal.ru»