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

[SoC] Ковыряемся в файлах


Halford

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

Есть у кого-нибудь функция, которая спавнила бы НПС на 20 метрах от местоположения ГГ?

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

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


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

Garry_Galler

Извини, не совсем понял.Можно в полном виде, если не трудно :)

------------------------------------------------------------------------------------

ФеНиКс

А, так что ли, понятно ...Я просто из-за одного нюансика недопонял :)

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

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


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

Leviathan

В секции твоего непися пропиши:

[esc_chuvak]:stalker_sakharov

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


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

Ну еще можно типа такого:

function immotral()
local npc = level_object_by_sid(006) --волк
if npc then
npc.health = 1
end
end

 

И забиндить.

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


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

_Sniper_

У меня тоже так было.Я просто зашел в настройки игры и поставил галочку перед надписью "показывать оружие" - или типа такого.Оказалось у меня как-то само поменялось ^_^

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


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

кровоSTALKER

Вот, например, в логике рестриктора, при в ходе в него, вызывается функция, указанная в логике:

[logic]
active = sr_idle

[sr_idle]
on_actor_inside = %=функция_в _xr_efftets.script%

--------------------------------------------------------------------------------------------------

 

Да нет вродебы.

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

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


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

Не подскажете, как можно исправить этот вылет?:

Expression : !object->used_ai_locations() || ai().level_graph().valid_vertex_id(object->m_tNodeID)

Function : CALifeSwitchManager::add_online

File : E:\stalker\sources\trunk\xr_3da\xrGame\alife_switch_manager.cpp

Line : 64

Description : Invalid vertex for object

Arguments : esc_dog_weak_0032

 

Спавнил в all.spawn'e.Разве из-за того, что где-то не правильный левел_вертекс написал, может быть такой вылет?

Спавнил на новых локациях(Stalker_Map_Pack_for_СталкерТЧ 1.0004).Может это из-за новых локаций?

)

 

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


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

Я прописал это в way_l01_escape:

[esc_patrul_1_walk]
points = p0,p1
p0:name = name00|p=90|t=10000
p0:flags = 0x1
p0:position =  -240.53,-19.75,-134.62
p0:game_vertex_id = 8
p0:level_vertex_id = 14974
p0:links = p1(1)

p1:name = name02|p=50|t=8000
p1:flags = 0x2
p1:position = -204.38716125488,-20.550384521484,-145.06907653809
p1:game_vertex_id = 57
p1:level_vertex_id = 48482
p1:links = p0(1)


[esc_patrul_1_look]
points = p0,p1
p0:name = name00
p0:flags = 0x1
p0:position =  -240.53,-19.75,-134.62
p0:game_vertex_id = 8
p0:level_vertex_id = 14974

p1:name = name02|p=50|t=8000
p1:flags = 0x2
p1:position = -204.38716125488,-20.550384521484,-145.06907653809
p1:game_vertex_id = 57
p1:level_vertex_id = 48482

 

НПС ходит от координат -240.53,-19.75,-134.62 до -204.38716125488,-20.550384521484,-145.06907653809 и обратно, и так бе конечно.Но стоит мне поменять первые координаты:

[esc_patrul_1_walk]
points = p0,p1
p0:name = name00|p=90|t=10000
p0:flags = 0x1
p0:position =  -253.94,-20.53,-127.18
p0:game_vertex_id = 6
p0:level_vertex_id = 8434
p0:links = p1(1)

p1:name = name02|p=50|t=8000
p1:flags = 0x2
p1:position = -204.38716125488,-20.550384521484,-145.06907653809
p1:game_vertex_id = 57
p1:level_vertex_id = 48482
p1:links = p0(1)


[esc_patrul_1_look]
points = p0,p1
p0:name = name00
p0:flags = 0x1
p0:position =  -253.94,-20.53,-127.18
p0:game_vertex_id = 6
p0:level_vertex_id = 8434

p1:name = name02|p=50|t=8000
p1:flags = 0x2
p1:position = -204.38716125488,-20.550384521484,-145.06907653809
p1:game_vertex_id = 57
p1:level_vertex_id = 48482

 

то есть НПС должен идти от -253.94,-20.53,-127.18 до -204.38716125488,-20.550384521484,-145.06907653809 и обратно, но НПС доходит только до -204.38716125488,-20.550384521484,-145.06907653809 и останавливатся.Дальше ни куда не идет - тупо стои, хотя должен идти.В чем может быть проблема?Я ведь всего координаты поменял ...Если что, логика такая:

[smart_terrains]

none = true

 

[logic]

active = walker

active = remark

 

[remark]

anim = guard

no_move = true

target = actor

meet = meet

on_info = {+esc_kill_strelok_done} walker

 

[walker]

path_walk = esc_patrul_1_walk

path_look = esc_patrul_1_look

 

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

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


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

antreg

Файлы tasks_new.xml регаются в файле game_tasks.xml.Также подобные файле можно зарегать в system.ltx в секции [game_tasks].

Файлы типа storyline_new.xml регаются в string_table_includes.xml.

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


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

Можно ли покапаться/редактировать сейвы?Я где-то видал, что можно, но даввно и не помню как.Подскажите как, или название проги для этого?

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

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


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

БоБеР

12 строка:

<infoportion_complete>escape_guard_task_1_done</infoportion_set_complete>

Теги не соответствуют, исправь и вылета не будет.

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

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


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

Конкретная проблема:Ново-заспавненый НПС под гулагом вот с такой логикой:

[smart_terrain]
prelagerukostra = true

[logic] 
active = kamp  

[kamp] 
center_point = ukostra_kamp_center 
path_walk = ukostra_kamp_center 
path_look = ukostra_kamp_1_center 
radius = 2

 

смеет в оффлайне сбегать со своей точки спавна.Скажите, почему он убегает и именно в оффлайне?И как такое можно исправить?

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

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


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

Scarabay

Я видел в одном моде такую самоездещаю тачку.Ей просто были сделаны вей-поинты, как для НПС, и машина по этим вей-точкам ездила.Вроде как, все просто.

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


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

herurg

Сейчас у многих такой косяк, в интернете какя-то фигня творится.Отключи интернет и играй спокойно.

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

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


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

goroskob

Всмысле, если ипользовал итем, то вызывается какая-то функция, да?

Если да, то вот функция отслеживания использования итема:

function use_item()
    if mobile and type(mobile) == 'number' then
        if not level.object_by_id( mobile ) then
                     --/Действие
        end
        mobile = nil
    end

    if mobile and type(mobile) == 'userdata' then
        mobile = mobile:id()
    else
        mobile = nil
    end
end

function drop_item(obj)
    if obj:section() == 'ПРЕДМЕТ' then
        mobile = obj  
    end
end

 

-------------------------------------------------------

goroskob

В бинд_сталкер

Первую - из актор-апдейта, а вторую из итем_дроп.

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

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


Ссылка на сообщение
function init_dlg(dlg)
    dlg:AddPhrase("Привет, как дела?", "0", "", -10000)
    dlg:AddPhrase("Нормально, у тебя?", "1", "0", -10000)
    dlg:AddPhrase("Тоже.", "2", "1", -10000)
end

 

Тут диалог идет как надо - по порядку, но иногда(типа рандомно) случается вот так:

ss092210205851l01escape.jpg

 

Uploaded with ImageShack.us

 

Чоё к чему не пойму, то в правильном порядке идет, то нет.Ни кто не знает, мож чоё не правильно сделано?

--------------------------------------------------------------------------------------------------------

XrAlexR

Почитай справочник по функциям и классам про диалоги.Там написано, для чего может пригодиться скриптовый диалог, и у меня как раз такой случай.

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

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


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

Вопрос на счет скриптовых диалогов.Возможно ли сделать, чтоб одна фраза, например 5, шла после, например, 2 и 3?

А то у меня такая ситуация: У меня более 30 фраз и после каждой из них должна идти одна фраза, например, 31-ая.И как тут быть?

Пробовал что-то типа такого:dlg:AddPhrase("text.", "31", "30, 29, 28 и т.д", -10000), но так не работает.

Мне придется для каждой фразы идущую за ней фразу по отдельности писать?Или есть какой-нибудь выход?

 

Странно, что-то разрабы не уследили такого минуса в скриптовых диалогах...

 

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

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


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

Совершенно не получается дать обьекту стори_ид при спавне.Делал так:

local obj = alife():create("esc_npc",vector():set(x1,y1,z1),lvid, gvid)
local t = amk.read_stalker_params(obj)
t.story_id = 30139
amk.write_stalker_params(t,obj)

Так же менял визуал неписю - все работает, а вот стори_ид не назначается, я пробовал определить НПС по этому новому стори_иду:

local obj =  alife():story_object( 30139 )

сдесь даже проверка на существование не проходит.Новый стори_ид прописывал в game_story_ids.ltx.

Может кто-нибудь подсобить другим, более надежным вариантом назначения стори_ида?Или я ошибку где-то допустил?

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

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


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

Kolmogor, malandrinus

Спасибо, теперь разобрался.

--------------------------------------------------------------

local Obj = alife():create("esc_k",vector():set(x1,y1,z1),lvid, gvid)
Obj:set_character_community("freedom", 0, 0)

Получаю вылет:attemt to call method 'set_character_community'(a nil value)

Подскажите, что не так?

--------------------------------------------------------------

Kolmogor

Понятно, спасибо.

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

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


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

Как можно скриптом сменить НПС его имя, которое отображается при наведении на него курсора?

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


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

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