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

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


Svoboда

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

Есть вопрос к знающим людям...

После адаптации Smart monster parts нужно начинать новую игру?

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

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: ...:\games\stalker\gamedata\scripts\bind_monster.script:324: attempt to index global 'smart_monster_parts' (a nil value)

 

stack trace:

 

 

Вроде все везде добавил и прописал...

 

Kirag возможно ты был прав, но я сделал по другому - перетащил весь скрипт в bind_monster и все заработало ^_^

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

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


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

Вопрос - как привязать через скрипт появление партикла к определенному погодному конфигу? Например вьюга в грозу(к weather_surge), а выпадение снега к пасмурной погоде(к weather_pasmurno)?

Через ambient_effects негодится...

 

Влад thanks за подсказку - чуть позже проверю.

 

Влад может через менеджер состояния тела?

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

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


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

Появилась одна идейка, но никак немогу ее реализовать(маловато знаю о скриптах).

Хочу сделать прокачку сил ГГ - т.е. через определенный промежуток ГГ будет становится сильнее и максимально переносимый вес будет увеличиваться.

Я хотел создать таймер(т.к. другой альтернативы не получилось), по истечении которого к параметрам max_item_mass, max_walk_weight и max_weight прибавлялось значение 0.1 и таймер снова обнулялся и т.д.

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

Кто-нибудь сможет подсказать что-нибудь на этот счет?

 

Жаль :( . Я уже так замечтался...

А если через костюмное прибавление веса?

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

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


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

Склепал скрипт для проигрывания определенных партиклов в определенные погодные периоды.

Вообщем намекните что нетак я сделал. Вылет с логом, намекающим на неработоспособность bind_stalker.script

  if weather_types[level.name()]==0 then
    local  = level.get_weather()

      if weather ==  then
        if not self.particles then
            self.particles=particles_object("anomaly2\\snow_vuga")
            self.particles:play_at_pos( db.actor:position() )
        end
    end

    if self.particles then
        self.particles:move_to(db.actor:position(),vector():set(0,0,0))
    end

    for k,v in pairs(snow_times) do
        if weather =="weather_surge" then 
            need_play = true
        end
    end

    local need_play = false

    if need_play==true then
        if self.particles and not self.particles:playing() then
            self.particles:play()
        end
    else
        if self.particles and self.particles:playing() then
            self.particles:stop_deffered()
        end
    end
  end

  if weather_types[level.name()]==0 then
    local weather  = level.get_weather()
    if not self.particles then
        self.particles=particles_object("anomaly2\\snow")
        self.particles:play_at_pos( db.actor:position() )
    end

    if self.particles then
        self.particles:move_to(db.actor:position(),vector():set(0,0,0))
    end

    for k,v in pairs(snow_times) do
            if(weather == "weather_rainy" or weather == "weather_stormy") then 
            need_play = true
        end
    end

    local need_play = false

    if need_play==true then
        if self.particles and not self.particles:playing() then
            self.particles:play()
        end
    else
        if self.particles and self.particles:playing() then
            self.particles:stop_deffered()
        end
    end
  end

 

 

Дублирование вообще разрешено в скриптах?

 

Я вообще неочень ориентируюсь в скриптах :ny_ph34r:

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


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

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

Долго думая я переделал его.

И опять при загрузке ловлю вылет с логом, намекающим на неработоспособность bind_stalker.

Вот новый вариант моего скрипта.

  if weather_types[level.name()]==0 then
    local weather = level.get_weather()
    local play_vuga = false
    local play_snow = false
    if play_vuga = false then
        if not self.particles then
            self.particles=particles_object("anomaly2\\snow_vuga")
            self.particles:play_at_pos( db.actor:position() )
        end
        if self.particles then
            self.particles:move_to(db.actor:position(),vector():set(0,0,0))
        end
    end

    if  weather == "weather_surge" or
        weather == "weather_thunder" then
            play_vuga = true
        end
    elseif  weather == "weather_rainy" or
        weather == "weather_stormy" or
        weather == "weather_grey" or 
        weather == "weather_foggy" then
            play_snow = true
        end
    end

    if play_vuga = true then
        if self.particles and not self.particles:playing() then
            self.particles:play()
        end
    else
        if self.particles and self.particles:playing() then
            self.particles:stop_deffered()
        end
    end

    if play_snow = false then
        if not self.particles then
            self.particles=particles_object("anomaly2\\snow")
            self.particles:play_at_pos( db.actor:position() )
        end
        if self.particles then
            self.particles:move_to(db.actor:position(),vector():set(0,0,0))
        end
    end


    if play_snow = true then
        if self.particles and not self.particles:playing() then
            self.particles:play()
        end
    else
        if self.particles and self.particles:playing() then
            self.particles:stop_deffered()
        end
      end
  end

 

 

 

Я уж не знаю где ошибся...вчера когда делал скрипт, просто сонный был - поэтому много ошибок сделал.

По поводу self. - все работает с ним. А вообще он был в скрипте от Monnoroch.

 

И еще один вопрос на засыпку - при каких случаях НПС может заснуть(желательно перечислить все)?

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

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


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

Вопрос на засыпку: каким образом спавнится эколог Семенов?

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

ACS не предлагать.

 

Ок. Попробую этот инфопоршень.

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

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


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

У меня такой простенький нубский вопрос.

 

            return tostring(db.storage[npc:id()].wounded.wound_manager.state) ~= "nil"

Это читается справа налево ведь?

 

И еще вопрос - как заблокировать использование отдельными персонажами отдельных анимаций?

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

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


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

Есть кусок кода из amk_anoms.script

level_arts={ 
l01_escape={2,4,{balb_1=24, balb_2=2, balb_3=0, gravi_1=23, gravi_2=5, gravi_3=0, mincer_1=25, mincer_2=0, mincer_3=0, electra_1=9, electra_2=1, electra_3=0, zharka_1=0, zharka_2=0, zharka_3=0, buzz_1=0, buzz_2=0, buzz_3=0, rusty_1=5, rusty_2=0, rusty_3=0, armor_1=1, babka_1=1, pudd_1=1, spirit_1=1, acumm=2}},
  
l02_garbage={2,4,{balb_1=19, balb_2=5, balb_3=0, gravi_1=25, gravi_2=5, gravi_3=0, mincer_1=20, mincer_2=5, mincer_3=0, electra_1=10, electra_2=0, electra_3=0, zharka_1=0, zharka_2=0, zharka_3=0, buzz_1=0, buzz_2=0, buzz_3=0, rusty_1=5, rusty_2=0, rusty_3=0, armor_1=1, cry_1=1, kol_1=1, pudd_1=1, acumm=2}},
  
l03_agroprom={3,6,{balb_1=12, balb_2=5, balb_3=0, gravi_1=13, gravi_2=5, gravi_3=0, mincer_1=10, mincer_2=5, mincer_3=0, electra_1=10, electra_2=5, electra_3=0, zharka_1=10, zharka_2=5, zharka_3=0, buzz_1=10, buzz_2=0, buzz_3=0, rusty_1=5, rusty_2=0, rusty_3=0, armor_1=1, babka_1=1, pudd_1=1, acumm=2}},
  
l04_darkvalley={6,8,{balb_1=1, balb_2=9, balb_3=0, gravi_1=5, gravi_2=8, gravi_3=0, mincer_1=5, mincer_2=10, mincer_3=0, electra_1=5, electra_2=9, electra_3=0, zharka_1=10, zharka_2=10, zharka_3=0, buzz_1=10, buzz_2=3, buzz_3=0, rusty_1=5, rusty_2=2, voron_1=1, armor_1=1, babka_1=1, dik_1=1, pudd_1=1, spirit_1=1, acumm=2}},
  
l05_bar={2,4,{balb_1=18, balb_2=7, balb_3=0, gravi_1=18, gravi_2=0, gravi_3=0, mincer_1=20, mincer_2=0, mincer_3=0, electra_1=10, electra_2=0, electra_3=0, zharka_1=0, zharka_2=0, zharka_3=0, buzz_1=5, buzz_2=3, buzz_3=0, rusty_1=5, rusty_2=3, rusty_3=0, dummy_1=1, dummy_2=1, dummy_3=0, dummy_4=1, dummy_5=1, babka_1=1, dik_1=1, spirit_1=1, acumm=4}},
  
l06_rostok={2,5,{balb_1=0, balb_2=2, balb_3=2, gravi_1=0, gravi_2=0, gravi_3=0, mincer_1=0, mincer_2=2, mincer_3=2, electra_1=8, electra_2=10, electra_3=0, zharka_1=20, zharka_2=10, zharka_3=5, buzz_1=5, buzz_2=0, buzz_3=0, rusty_1=10, rusty_2=10, rusty_3=5, dummy_1=0, dummy_2=1, dummy_3=1, dummy_4=1, dummy_5=0, babka_1=1, cry_1=1, pudd_1=1, spirit_1=1, acumm=2}},

l08_yantar={4,8,{balb_1=1, balb_2=3, balb_3=2, gravi_1=8, gravi_2=5, gravi_3=3, mincer_1=6, mincer_2=5, mincer_3=2, electra_1=8, electra_2=5, electra_3=2, zharka_1=8, zharka_2=5, zharka_3=2, buzz_1=8, buzz_2=5, buzz_3=1, rusty_1=9, rusty_2=3, rusty_3=2, armor_1=1, cry_1=1, dik_1=2, kol_1=1, pudd_1=1, spirit_1=1}},
  
l07_military={4,7,{balb_1=2, balb_2=4, balb_3=2, gravi_1=3, gravi_2=5, gravi_3=3, mincer_1=6, mincer_2=5, mincer_3=5, electra_1=8, electra_2=5, electra_3=2, zharka_1=6, zharka_2=5, zharka_3=3, buzz_1=8, buzz_2=2, buzz_3=0, rusty_1=8, rusty_2=5, rusty_3=2, dummy_1=0, dummy_2=1, dummy_3=1, dummy_4=0, dummy_5=1, armor_1=1, babka_1=1, cry_1=1, kol_1=1, pudd_1=1, spirit_1=1, acumm=2}},

l10_radar={4,8,{balb_1=3, balb_2=5, balb_3=5, gravi_1=4, gravi_2=3, gravi_3=3, mincer_1=6, mincer_2=6, mincer_3=5, electra_1=5, electra_2=4, electra_3=3, zharka_1=5, zharka_2=5, zharka_3=5, buzz_1=5, buzz_2=5, buzz_3=0, rusty_1=7, rusty_2=6, rusty_3=5, armor_1=1, babka_1=1, kol_1=1, pudd_1=1, spirit_1=1}},
  
l11_pripyat={4,7,{balb_1=3, balb_2=3, balb_3=3, gravi_1=3, gravi_2=3, gravi_3=3, mincer_1=4, mincer_2=4, mincer_3=3, electra_1=4, electra_2=4, electra_3=3, zharka_1=7, zharka_2=4, zharka_3=4, buzz_1=8, buzz_2=4, buzz_3=3, rusty_1=7, rusty_2=5, rusty_3=4, dummy_1=1, dummy_2=2, dummy_3=1, dummy_4=1, dummy_5=1, armor_1=2, cry_1=2, kol_1=1, pudd_1=1, acumm=2}},
  
l12_stancia={2,4,{balb_1=2, balb_2=3, balb_3=3, gravi_1=6, gravi_2=4, gravi_3=3, mincer_1=6, mincer_2=4, mincer_3=3, electra_1=7, electra_2=4, electra_3=3, zharka_1=7, zharka_2=4, zharka_3=3, buzz_1=7, buzz_2=4, buzz_3=3, rusty_1=7, rusty_2=4, rusty_3=3, dummy_1=1, dummy_2=1, dummy_3=1, dummy_4=1, dummy_5=1, armor_1=1, dik_1=1, pudd_1=1, acumm=2}},
  
puzir={2,4,{balb_1=3, balb_2=3, balb_3=0, gravi_1=5, gravi_2=5, gravi_3=0, mincer_1=10, mincer_2=5, mincer_3=0, electra_1=12, electra_2=5, electra_3=0, zharka_1=10, zharka_2=5, zharka_3=0, buzz_1=12, buzz_2=8, buzz_3=5, rusty_1=5, rusty_2=2, rusty_3=0, armor_1=1, babka_1=1, cry_1=1, kol_1=1, spirit_1=1}},
  
aver={4,8,{balb_1=2, balb_2=3, balb_3=3, gravi_1=6, gravi_2=4, gravi_3=3, mincer_1=5, mincer_2=4, mincer_3=1, electra_1=7, electra_2=5, electra_3=2, zharka_1=4, zharka_2=4, zharka_3=1, buzz_1=8, buzz_2=6, buzz_3=4, rusty_1=7, rusty_2=4, rusty_3=4, dummy_1=1, dummy_2=1, dummy_3=1, dummy_4=1, dummy_5=1, armor_1=1, babka_1=1, cry_1=1, kol_1=1, pudd_1=1, spirit_1=1, acumm=2}},

marsh={8,10,{balb_1=2, balb_2=3, balb_3=3, gravi_1=6, gravi_2=4, gravi_3=3, mincer_1=6, mincer_2=4, mincer_3=3, electra_1=7, electra_2=4, electra_3=3, zharka_1=7, zharka_2=4, zharka_3=3, buzz_1=7, buzz_2=4, buzz_3=3, rusty_1=7, rusty_2=4, rusty_3=3, dummy_1=1, dummy_2=1, dummy_3=1, dummy_4=1, voron_1=1, armor_1=1, babka_1=1, cry_1=1, kol_1=1, spirit_1=1}},

limansk={2,4,{balb_1=2, balb_2=4, balb_3=5, gravi_1=5, gravi_2=5, gravi_3=5, mincer_1=4, mincer_2=5, mincer_3=5, electra_1=5, electra_2=5, electra_3=5, zharka_1=5, zharka_2=5, zharka_3=5, buzz_1=5, buzz_2=5, buzz_3=0, rusty_1=5, rusty_2=5, rusty_3=5, armor_1=1, cry_1=1, pudd_1=1, spirit_1=2}},

  hospital={2,4,{balb_1=3, balb_2=4, balb_3=3, gravi_1=6, gravi_2=4, gravi_3=3, mincer_1=6, mincer_2=4, mincer_3=3, electra_1=7, electra_2=4, electra_3=3, zharka_1=7, zharka_2=4, zharka_3=3, buzz_1=7, buzz_2=4, buzz_3=3, rusty_1=7, rusty_2=4, rusty_3=3, dummy_1=1, dummy_2=1, dummy_3=1, dummy_4=1, dummy_5=1, babka_1=1, dik_1=1, spirit_1=1}},

  red_forest={4,8,{balb_1=3, balb_2=9, balb_3=5, gravi_1=4, gravi_2=3, gravi_3=3, mincer_1=6, mincer_2=6, mincer_3=5, electra_1=5, electra_2=4, electra_3=3, zharka_1=5, zharka_2=5, zharka_3=5, buzz_1=5, buzz_2=5, voron_1=1, rusty_1=6, rusty_2=6, armor_1=1, babka_1=1, cry_1=1, dik_1=1, kol_1=1, spirit_1=1}},

  lost_village={3,6,{balb_1=6, balb_2=7, balb_3=5, gravi_1=7, gravi_2=3, gravi_3=3, mincer_1=8, mincer_2=7, mincer_3=5, electra_1=8, electra_2=7, electra_3=2, zharka_1=5, zharka_2=5, zharka_3=5, buzz_1=5, buzz_2=5, dummy_1=5, cry_1=1, kol_1=1}},

  generators={4,8,{balb_1=2, balb_2=4, balb_3=3, gravi_1=4, gravi_2=3, gravi_3=3, mincer_1=5, mincer_2=4, mincer_3=3, electra_1=4, electra_2=4, electra_3=3, zharka_1=7, zharka_2=4, zharka_3=4, buzz_1=8, buzz_2=4, buzz_3=3, rusty_2=9, dummy_1=5, dummy_2=5, dummy_3=1, dummy_4=1, dummy_5=1, armor_1=1, babka_1=1, cry_1=1, dik_1=1, kol_1=1, spirit_1=1}},

  atp_for_test22={4,8,{balb_1=2, balb_2=4, balb_3=3, gravi_1=6, gravi_2=4, gravi_3=3, mincer_1=4, mincer_2=4, mincer_3=1, electra_1=5, electra_2=5, electra_3=2, zharka_1=6, zharka_2=4, zharka_3=1, buzz_1=8, buzz_2=6, buzz_3=4, rusty_1=7, rusty_2=4,dummy_1=5, dummy_2=1, dummy_3=1, dummy_4=1, voron_1=1, armor_1=1, babka_1=1, cry_1=1, dik_1=1, pudd_1=1, acumm=3}},

dead_city={3,6,{balb_1=4, balb_2=4, balb_3=3, gravi_1=4, gravi_2=3, gravi_3=3, mincer_1=5, mincer_2=4, mincer_3=3, electra_1=4, electra_2=4, electra_3=3, zharka_1=7, zharka_2=4, zharka_3=4, buzz_1=8, buzz_2=4, buzz_3=3, rusty_1=7, rusty_2=5, rusty_3=4, dummy_1=1, dummy_2=2, dummy_3=1, dummy_4=1, dummy_5=1, armor_1=1, cry_1=1, kol_1=1, pudd_1=1}},

zaton={6,10,{balb_1=2, balb_2=3, balb_3=3, gravi_1=4, gravi_2=4, gravi_3=3, mincer_1=4, mincer_2=4, mincer_3=3, electra_1=7, electra_2=4, electra_3=3, zharka_1=7, zharka_2=4, zharka_3=3, buzz_1=7, buzz_2=4, buzz_3=3, rusty_1=7, rusty_2=4, rusty_3=3, dummy_1=1, dummy_2=1, dummy_3=1, dummy_4=1, voron_1=1, armor_1=1, babka_1=2, cry_1=1, kol_1=1, spirit_1=2, acumm=2}},

jupiter={4,8,{balb_1=2, balb_2=3, balb_3=3, gravi_1=6, gravi_2=4, gravi_3=3, mincer_1=6, mincer_2=4, mincer_3=3, electra_1=7, electra_2=4, electra_3=3, zharka_1=7, zharka_2=4, zharka_3=3, buzz_1=7, buzz_2=4, buzz_3=3, rusty_1=7, rusty_2=4, rusty_3=3, dummy_1=1, dummy_2=1, dummy_3=1, dummy_4=1, voron_1=1, armor_1=1, babka_1=1, cry_1=1, kol_1=1, spirit_1=1}},

pripyat={4,8,{balb_1=2, balb_2=3, balb_3=3, gravi_1=6, gravi_2=4, gravi_3=3, mincer_1=6, mincer_2=4, mincer_3=3, electra_1=7, electra_2=4, electra_3=3, zharka_1=7, zharka_2=4, zharka_3=3, buzz_1=7, buzz_2=4, buzz_3=3, rusty_1=7, rusty_2=4, rusty_3=3, dummy_1=1, dummy_2=1, dummy_3=1, dummy_4=1, voron_1=1, armor_1=1, babka_1=1, cry_1=1, kol_1=1, spirit_1=1}}

}

 

Вопрос - возможно ли через скрипт добавить в таблицу новые значения?

Чтобы, например, в

pripyat={4,8,{balb_1=2, balb_2=3, balb_3=3, gravi_1=6, gravi_2=4, gravi_3=3, mincer_1=6, mincer_2=4, mincer_3=3, electra_1=7, electra_2=4, electra_3=3, zharka_1=7, zharka_2=4, zharka_3=3, buzz_1=7, buzz_2=4, buzz_3=3, rusty_1=7, rusty_2=4, rusty_3=3, dummy_1=1, dummy_2=1, dummy_3=1, dummy_4=1, voron_1=1, armor_1=1, babka_1=1, cry_1=1, kol_1=1, spirit_1=1}}

добавить spirit_2=1.

Если возможно, то подскажите как.

 

*Shoker* это артефакты, просто они переведены под локальные переменные.

Все это относится к спавну артефактов после выброса. Я же хочу добавить новые артефакты, но чтобы они начали спавниться только после определенного события.

Или лучше сделать новую дополнительную таблицу со своим скриптом спавна?

 

temakonkin если неошибаюсь, то он просит что-то дописать в acdc.pl. Ифнформация связанная с wpn_ak74_m1

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

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


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

Возникла одна назойливая проблемка и вот я незнаю, возможно ли это исправить.

Возможно ли удаление статей или разделов из ПДА в разделе Справка?

 

Забыл кое что - статьи уже добавлены в ПДА в игре, т.е. их нужно именно в игре удалить из ПДА. Ищу скриптовое решение проблемы...

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

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


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

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