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

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


Svoboда

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

Напшите пожалуйста пример как снять и потом записать характеристики оружия через нет пакет. Т.е. сначала снять хар-ки какого либо оружия затем через некоторое время записать эти хар-ки в другое оружие (модификацию). Хочу сделать чтобы модишикации оружия постепенно превращались в само оружие но где найти полный список хар-к нетпакета для оружия незнаю :(

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


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

Заспавнил несколько зомбей на кордоне скриптом. Поймал вылет:

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: ...w of chernobyl\gamedata\scripts\smart_terrain.script:1137: attempt to index local 'obj' (a nil value)

Я в смарт террейны не лазил только бинд сталкер и мой скрипт спавна. Как исправить?

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


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

Если

"нет такого файла"
то при чём тут ошибка синтаксиса? :crazy:

Дай весь лог вылета

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


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

Кстати чтобы узнать секцию костюма надо писать db.actor:item_in_slot(6):section()

И сравнивать outfit == "костюм". У меня луа чекер сломался так что попробуй пройтись им ещё

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

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


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

А как проверить что ГГ находится на янтаре? Пробовал несколько функций все вылетали.

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


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

if belt and next(belt) and belt[твой итем в кавычках] then
действие
end

Если я правильно понял вопрос

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


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

Как можно скриптом "вскрыть" ltx файл? Я смотрел примеры но чтото так и не понял. Мне надо чтото вроде "предмет" = "x", "y", "z", "lv", "gv" = "вероятнось". Такое можно устроить вообще? Если да то как?

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


Ссылка на сообщение
find_in_string(outfit:section(),"stalker_monolith_outfit")

может

string.find(outfit:section(),"stalker_monolith_outfit")

?

find_in_string если чесно не разу не видел

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

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


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

а есть ли чтото вроде

db.actor:set_actor_position

для неписей?

 

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

И ещё вот такой момент:

Вот код

    for k, v in pairs(one_slot) do
        local kol = 0
        db.actor:iterate_inventory(function (dummy, item)if item:section() == v then kol=kol+1 end end, nil)
        return kol
        if  kol > kol_one then
            tramp.drop(v)
        end
    end

И вот такая ошибка

перед 'if' ожидается 'end'  
(необходимо закрыть 'for' в строке 110)

 

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


Ссылка на сообщение
Цикл for закрой end-ом. Чекер тебе написал все что нужно сделать. И nil можешь убрать - он не нужен.

В том то и дело что он закрыт (это и есть вся функция). Прошлую такую ошибку я исправил перегрузкой чекера (перепроверял им скрип пока он мне не показал что всё правильно. глупо конечно, но ошибка для меня и правда непонятная.

А дабы не путаться вместо анонимной функции итерации пиши локальную

Если честно не понял :(:blush: Создать одну в начале и подгружать? Было такое дело. Не вылета небыло, ничего, но и функция не заработала :(

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

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


Ссылка на сообщение
for у тебя не закрыт. Ты не соблюл правила lua - так что вперед изучать теорию.

НУ как не закрыт? Вот вся функция без изменений:

function oOne()
    for k, v in pairs(one_slot) do
        local kol = 0
        db.actor:iterate_inventory(function (dummy, item)if item:section() == v then kol=kol+1 end end, nil)
        return kol
        if  kol > kol_one then
            tramp.drop(v)
        end
    end
end

Всегу нужно 3 endа. Так? 1 для функции, 2 для for и 3 для if.

p/s/ Спасибо за идею таких названий (вроде: oOne, tTwo)!

Очень плохо что не понял. Локальная функция - это именованная функция внутри функции. Посмотри примеры в модах.

Это вроде

local function.....()
...
end

?

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

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


Ссылка на сообщение
После ретурн ничего не должно стоять

А если его убрать ничего не будет? Я собственно и ставить его не хотел, но.....

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


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

про лишний ретурн чекер ничего не говорил...

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


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

А перемещение предмета в слот можно расценивать как drop предмета? Или это другое действие?

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


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

Не совсем про неписей но:

А как сделать чтобы БТР атаковала и актора и неписей в зависимости от того кто есть?

Князь - http://www.stalkerin.gameru.net/wiki/index.php/SoC._Смартеррейны_и_гулаги

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

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


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

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

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


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

А можно ли как либо активировать твёрдую вещь (артефакт) через скрипт?

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


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

Активацию я имел в виду: арты превращать в аномалии, оружие перемещать в слот, выстрелить и тп

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


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

Есть вот такая табличка:

local tbl_part = {["bloodsucker"] = {"mutant_krovosos_jaw", 1},.....}

Нужно проверить string.find'ом что mob:section() = bloodsucker и запустить

local function spawn(who, how)

со значениями таблицы.....

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

Помогите пожалуйста.....

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

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


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

Тогда удали её (sound_idle). По идеи должен быть звук стандартного полтергейста

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

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


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

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