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

Monnoroch AI mod


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

I don't know if it was said already... in mon_trade.script there's:

 

self.st.target = nil
self.st.target.i_d = nil

 

while it should be either:

 

self.st.target.i_d = nil
self.st.target = nil

 

or the "self.st.target.i_d = nil" line removed at all, because it crashes the game.

 

Another one, in the same file - I got once a situation, when my "self.st.target" was nil, so it needs:

 

if tar then
    if not self.st.target.i_d then
        self.st.target.i_d = self.st.target:id()
    end
end

 

Once more, thanks for these scripts, they're simply great :)

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

sooner or later... you will meet the undertaker...

utak3r

Ссылка на комментарий

utak3r, Very thanks :)

 

Добавлено через 5 мин.:

utak3r, but i mean self.st.target can't be nil, because evaluator returns true only when self.st.target is not nil...

are you sure?

 

And if you will find other errors,please,write here about it :)

 

 

I'll put the corrected version in the topic.

 

Тэкс,обнова поправленная в шапке.Все спасибы - utak3r.

Изменено пользователем Monnoroch
Ссылка на комментарий
utak3r, but i mean self.st.target can't be nil, because evaluator returns true only when self.st.target is not nil...

are you sure?

 

I know it's strange, but it had to be some coincidence and it happened to me ONCE.

 

BTW, have a look at these funny screens:

 

ssutak3r112309104346l01.th.jpg ssutak3r112309183730l01.th.jpg ssutak3r112309135939l01.th.jpg

sooner or later... you will meet the undertaker...

utak3r

Ссылка на комментарий

utak3r, ок,then you have to write:

 

if not tar then
    return
end
if not self.st.target.i_d then
    self.st.target.i_d = self.st.target:id()
end

 

otherwise the code will be execute with self.st.target = nil.

Изменено пользователем Monnoroch
Ссылка на комментарий

Monnoroch,я так понял эту часть кода заменить на правку utak3r?

function action_trade:execute()

action_base.execute(self)

local npc = self.object

local tar = self.st.target

if not self.st.target.i_d then

self.st.target.i_d = self.st.target:id()

end

А self.st.target.i_d = nil

надо вернуть или как?А то у меня нет такой строки так как я её удалил в связи с 427й ошибкой.

Простите за плохое знание английского :blush:

 

h-264.jpg

Ссылка на комментарий
Простите за плохое знание английского :blush:

 

No problem, I can read Russian, only I cannot write it ;) my keyboard doesn't allow this.

 

А self.st.target.i_d = nil

надо вернуть или как?А то у меня нет такой строки так как я её удалил в связи с 427й ошибкой.

 

Hm, these are two DIFFERENT things... this self.st.target.i_d = nil thing is a definitive bug which will always cause the bugtrap (because we're nulling its parent first). You may freely just remove this line at all, it's not needed.

 

But this another thing was I ONCE got, although it shouldn't happen... but for the sake of safety, just replace those lines:

 

function action_trade:execute()
    action_base.execute(self)
    local npc = self.object
    local tar = self.st.target
    if not self.st.target.i_d then
        self.st.target.i_d = self.st.target:id()
    end

 

with these:

 

function action_trade:execute()
    action_base.execute(self)
    local npc = self.object
    local tar = self.st.target
    if not tar then
        return
    end
    if not self.st.target.i_d then
        self.st.target.i_d = self.st.target:id()
    end

 

sooner or later... you will meet the undertaker...

utak3r

Ссылка на комментарий

utak3r, Я писал скрипт 3 месяца назад. Сейчас я гораздо опытнее. Вчера полистал его и понял - он просто отвратителен.

Я этот ужас переписал как мог по-быстрому.

 

If you want help me, you may test or read my new script :-)

Write me in private message.

 

You are really good scripter.As for me - it's very difficult to read foreign scripts..

 

Добавлено:

CuJIbBEP, Я правку в шапку выложил.Перезалил то есть.

Изменено пользователем Monnoroch
Ссылка на комментарий
utak3r, you tried to do scripting additions?

Строгое предупреждение от модератора n6260
Quoting of the last message is prohibited by rules!

 

Yes, I can write LUA - although I don't know a whole Stalker engine yet, but I'm studying the docs... for now I'm mostly modifying others scripts :)

sooner or later... you will meet the undertaker...

utak3r

Ссылка на комментарий

Clearly, I wish you good luck.))

 

Строгое предупреждение от модератора n6260
По делу пишем. Раскланивайтесь через ЛС.
Изменено пользователем n6260
Ссылка на комментарий

можно в модуль "пьянчуга" добавить НПС косость стрельбы и икание, чтоб врага легче было услышать (хотя куда более :russian_ru: )...

Ссылка на комментарий

Well... in alpha builds there're two nice animations of drunk stalkers. One could bring them back...

It isn't important now.No we would decide problems with trade script :)

Mon.

 

update:

Ha, I already know when this bug happened... it was the NPC was quickly passing by and I pressed 'F' but he was already gone from me... so, trader script has started but there was no target already... yhis qualifies as a bug of the xray then ;)

 

ok, I've just started testing the new version from you.

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

sooner or later... you will meet the undertaker...

utak3r

Ссылка на комментарий

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

В прошлых играх так же бывали вылеты с пустым логом в разных местах.С чем они могут быть связаны? :huh:

Бук не плохо тянет Сталка на статике,тормозов нет,не думаю что это может быть связано с железкой...

 

Добавлено через 33 мин.:

Вот еще вылет которого не видел,гонял собак по заданию Сидора...

Expression    : fatal error
Function      : CScriptEngine::lua_error
File          : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp
Line          : 73
Description   : <no expression>
Arguments     : LUA error: ...hing\s.t.a.l.k.e.r\gamedata\scripts\state_mgr.script:487: attempt to index field '?' (a nil value)

h-264.jpg

Ссылка на комментарий

CuJIbBEP, Как вы можете заметить как раз сейчас полным ходом идет работа над mon_trade.Этот скрипт не доработан ПОКА ЧТО в связи с чем,ежели у вас возникают проблемы,лучше его просто напросто удалить,переименовать,или для большего эффекта написал ровно по центру скрипта (в ширину) большими буквами магическое слово ЖОПА.

 

Тогда,я уверяю вас,все наладится.

Изменено пользователем Monnoroch
Ссылка на комментарий
Гость Вовка Ворон

А это дополнение совместимо с Monnoroch addons 1.5.2.7z и фиксом для него?

readme - переведи на русский - оно какбе намекает.....Mon.

Изменено пользователем Monnoroch
Ссылка на комментарий
Monnoroch, а можешь в своей АИ_сборке доработать watcher_act, что-бы НПС не лезли за хабаром в аномалии? Кстати, как регулировать вероятность обхода аномалий в зависимости от ранга НПС? Изменено пользователем shepard1a

Если ты желаешь возвестить людям какую-либо важную истину, облеки оную в одежду общего мнения.

Пифагор Самосский.

Ссылка на комментарий

И добавлю....,ищу инфу на форуме найти не могу,как отключить урон от костров.На свалке за час двух сталкеров из бадьи с костром вытащил :mellow:

В тырнете искал тоже не нашел конкретной инфы.

Так же добавлю вылет на свалке в перестрелке с бандюганами которые тусуются за ангаром,бросали в меня гранаты один из этих бросков закончился этим:

Expression    : e_entity
Function      : xrServer::Process_event_reject
File          : E:\stalker\patch_1_0004\xr_3da\xrGame\xrServer_process_event_reject.cpp
Line          : 12
Description   : entity not found. id_parent=1752 id_entity=40199 frame=158562

Иду по зоне дальше :pooh_go:

 

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

h-264.jpg

Ссылка на комментарий

Извиняюсь за пост не по теме, в моде фриплей старт ксиани вроде редактировал вотчер_акт, что бы нпс не обыскивали трупы в аномалиях или во время боя. Оттуда возьми.

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

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