erlik
Ты не понял, я говорю вообще про другую функцию, которая вызывается при старте игры и записывает в переменные случайные значения (гв, лв, пос). То что save и load я давно уже понял:-)
А вот с p:w_vec3(n) не выходит, у меня n = level.vertex_position(get_lv). Хотя ты же говорил (да и проверено уже), что такое значение возвращает векторную позицию. Поэтому я и разбивал этот n на n.x, n.y и n.z, и сохранял потом через пакет по отдельности.
В общем, не забивай голову - проблема то решена.
Futura
ага понял.
кстати можешь сделать свой биндер и там разные данные сохранять и загружать
вот у меня биндер который висит на объект флешка (типа такой виртуальный memory disk)
создал обычный итемс и вписал в его конфиг строчку
script_binding = flash.init
а затем такой код в собственном скриптовом файле с именем flash.script
function init(obj)
local flash = flash_binder(obj)
obj:bind_object(flash)
end
class "flash_binder" (object_binder)
function flash_binder:__init(obj) super(obj)
--get_console():execute("flash_binder:__init")
end
function flash_binder:reload(section)
--get_console():execute("flash_binder:reload")
object_binder.reload(self, section)
end
function flash_binder:reinit()
--get_console():execute("flash_binder:reinit")
object_binder.reinit(self)
self.object:set_callback(callback.use_object, self.use_callback, self)
end
-- вот это апдейт - только у меня че то проблемы с ним были когда ставил активацию одной функции
function flash_binder:update(delta)
--local actor_pos = db.actor:position() -- это все лишнее - просто вывод в консоль данных
--local obj_pos = self.object:position()
-- local dist = actor_pos:distance_to(obj_pos)
-- get_console():execute("flash_binder:update_dist="..dist.."_delta="..delta)
object_binder.update(self, delta)
end
function flash_binder:net_spawn(data)
-- get_console():execute("flash_binder:net_spawn")
return object_binder.net_spawn(self, data)
end
function flash_binder:net_destroy()
--get_console():execute("flash_binder:net_destroy")
object_binder.net_destroy(self)
end
function flash_binder:net_save_relevant()
--get_console():execute("flash_binder:net_save_relevant")
return true
end
-- здесь сохраняем - кстати здесь удобно ставить вызов функций для теста - нажал F6(если не ошибаюсь) - быстрое сохранение - функция активировалась
function flash_binder:save(packet) -- зеленым - все мое local size = taynik_rnd.size_tab()
if size+packet:w_tell() > 8192 then
news_manager.send_tip(db.actor, "Места для записи больше нет. Размер таблицы "..tostring(size).."\\nТекущая позиция записи "..tostring(packet:w_tell()), 0, "default", 10000)
return end
-- get_console():execute("flash_binder:save")
object_binder.save(self, packet) taynik_rnd.message_save(packet)
--news_manager.send_tip(db.actor, "Размер таблицы "..tostring(size).."\\nТекущая позиция записи "..tostring(packet:w_tell()), 0, "default", 10000)
end
-- здесь загружаем
function flash_binder:load(reader)
--get_console():execute("flash_binder:load")
object_binder.load(self, reader) taynik_rnd.message_load(reader)
end
-- здесь каллбек на использование - работает только для ящиков - если в конфиг ящика вписана строчка с биндингом
function flash_binder:use_callback(obj, who)
--get_console():execute("flash_binder:use_callback")
end
HASH
ищи в инете - ссылка на него к тому ж была здесь на форуме в теме Арсенала мода в разделе Модификации.
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
erlik
Вот снова спасибо за пример. Я как раз сегодня тутор по созданию класса прочитал, думал попробовать, а тут ещё и пример.:-)
Кстати, а если не вызвать init, то при обращении к функциям класса будет вылет, или просто ничего не произойдёт?
Futura
Если честно, то не знаю - я с классами lua толком не успел поработать.
а сейчас классы на С# создаю - там с ними как то быстрее разобрался - все таки Си шарп основан на них - все построено на классах: работаешь с имеющимися, создаешь свои классы, свои методы и т.д.
Да и среда разработки покруче SCITE будет :-)
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Гражданский зомби харктер_деск_генерал.иксмл в папке геймплей, находишь секцию АКТОР, увидишь КОММУНИТИ, там ставь долго или че те там надо.
Вопрос:
Можно ли создать функцию, что бы когда шел дождик, время бега у гг уменьшалось+быстрее уставал.??? Ну типа одежда мокнет. Есть же функция, на то что ыб когда идет дождь, убтвал тебя, типа он химический, соответственно можно и заюзать такую ф-ю, только какую имеенно?
erlik
В общем получилось у меня создать свой класс с несколькими методами, правда пока не биндер. Но есть проблема - все действия, которые производятся с моими методами должны лежать в том же файле, где и сам класс. Можно как нибудь обращаться к классу из другого файла? АнархОПанк
Получения типа погоды - level.get_weather()
Проверка на погоду - if level.get_weather("тип погоды") then
Ну то что это покруче scite это и так понятно:)) но для Lua я (по крайней мере) аналога получше не нашёл. А ведь раньше вообще командной строкой писали :-)
Futura неет... Есть мод, который делает дождь убойным, т.е наносит хит, якобы химический он. А можно сделать аналогию, что бы при дожде, ГГ быстрее уставал, как бы из-за сырой одежды?
добавлено спустя 18 минут
Скажите подробнее плиз, как можно распаковать файлы формата .xdb1, обычно в них пакуют МП карты и кидаются они в папку МОДС. Мне надо распкавать. Подскажите ТОЧНЕЕ как, а то я пробовал конвертером как сказали, ни чего..(
отредактировал(а) АнархОПанк: 10-04-2010 22:58 GMT3 час.
АнархОПанк
Во первых такой функции нет - нужно придумывать самому.
Во вторых есть есть два варианта как это реализовать:
первый: использовать свойство power - он есть у класса game_object наряду
property health;
property morale;
propert**5003a1109cb3c6967ad6**tart then
level.add_cam_effector("camera_effects\\fatigue.anm", 6777, true, "")
start = true
end
else
if start then
level.remove_cam_effector(6777)
start = false
end
end
end[/code]
Забыл добавить - конечно все это надо на АПДЕЙТ!!!!
есть еще третий вариант - но он фактически нереализуем - есть ведь артефакты которые снижают энергию - вот если бы можно было скриптом навешивать такие арты на пояс ГГ (работают они только на поясе) во время дождя ...но как это сделать - не знаю.
По крайне мере когда спавнишь арты в инвентарь эктору - они спавнятся именно в рюкзак , а не на пояс. Даже если он пустой.
А вот оружие спавнится в слоты - если он пустые.
за счет этого можно реализовать скрипт который будет спавнить ГГ оружие прямо во время боя - выбросил ствол и тут же новый в руках с полной обоймой :-)
отредактировал(а) erlik: 10-04-2010 23:10 GMT3 час. Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Скажите подробнее плиз, как можно распаковать файлы формата .xdb1, обычно в них пакуют МП карты и кидаются они в папку МОДС. Мне надо распкавать. Подскажите ТОЧНЕЕ как, а то я пробовал конвертером как сказали, ни чего..(
добавлено спустя 1 час 49 минут
Привет. Вопрос:
Если кто юзал, скрипты, выброса от ОГСМ, не подскажете, как добавить выброс на новые локации??? (Укрытия я сам:)) Если нужно, я дам ссылку на скачку, посмотрите пожалуйста кто нибудь, как в скрипте, а точнее в каком сделать что бы выброс на новой локе былл...))
отредактировал(а) АнархОПанк: 11-04-2010 10:22 GMT3 час.
Люди помогите! Я установил OGSE 0691 на патч 1.0005. Когда запускаю игру мне пишется "приложение настроено некорректно, попробуйте переустановить игру". Что мне делать?:-(
Не говори что мне делать, и я не скажу куда тебе идти! (с)
Я сделал свой квест с помощью этой статьи http://stalkerin.gameru.net/wiki/index.php/Создание_квестов
Сделал все,как там написано.Но при загрузке игры вылетает с таким логом:
Скажите подробнее плиз, как можно распаковать файлы формата .xdb1, обычно в них пакуют МП карты и кидаются они в папку МОДС. Мне надо распкавать. Подскажите ТОЧНЕЕ как, а то я пробовал конвертером как сказали, ни чего..(
Вопрос 2: Можно ли, заспавнить БТР, и на основе пути walk как у НПС, заставить его ездить от точки к точке?
Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.