Mehanik Yar
Обрати внимание.
Цитирую :
combat_safe_altitude = число
Высота, относительно самой высокой точки геометрии на уровне, ниже которой вертолет не будет опускаться в боевой схеме (может быть отрицательным)
Сообщение было успешно отредактировано Gun12 (18-11-2010 18:39 GMT3 часа, назад)
Вопрос. Есть ли возможность, сменить имя ГГ прям во время игры?
Ну есть у нас ГГ, звать Меченый... После диалога ему якобы дают новую кличку и его имя меняется на другое с последующим сохранением, даже после перезагрузки.
function use_med() - это надо ставить на всем знакомый актор апдейт
if eat and type(eat) == 'number' then
if not level.object_by_id( eat ) then
local snd_obj = xr_sound.get_safe_sound_object([[пишем путь до звука]])
snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0)
end
eat = nil
end
if eat and type(eat) == 'userdata' then
eat = eat:id()
else
eat = nil
end
end
function drop_med(obj) - это надо ставить на on_item_drop (obj)
local obj_sect = obj:section()
if obj_sect == 'предмет1' or obj_sect == 'предмет2' or obj_sect == 'предмет3' then - здесь пишем итемы
eat = obj
end
end
добавлено спустя 4 минут
в bind_stalker.script ?
Сообщение было успешно отредактировано batment (18-11-2010 19:59 GMT3 часа, назад)
Камрады - проверка использования предмета делается гораздо проще.
Нужно всего лишь добавить в файл bind_stalker не вписанный туда разрабами каллбек на использование:
--/ /вписать в тело метода actor_binder:reinit() self.object:set_callback(callback.use_object, self.use_callback, self)
--// вписать в тело метода actor_binder:net_destroy() self.object:set_callback(callback.use_object, nil)
--// и добавляем в файл (в любое место) наш новый метод в тело которого теперь можно писать любые проверки на событие использование предмета.
Код:
function actor_binder:use_callback(obj, who)
-- //где obj --клиентская юзердата использованного объекта
--// who -- клиентская юзердата того, кто использовал - всегда равна объекту ГГ
--// пример - проверка по идентификатору класса предмета - проверяем использование любой аптечки
if obj and obj:clsid() ==clsid.obj_medkit then
--// здесь пишем нужное действие - например просто выводим строку в консоль
get_console():execute("load ~ ".."Использована аптечка")
end
end
АнархОПанк
Странный вопрос от тебя. Как ты себе это представляешь - чтобы раз и все имена Меченого сразу во всех файлах(конфигах кстати, которые считываются только при старте новой игры и больше не перезаписываются пока не выйдешь из программы\игры и не зайдешь снова) по щучьему веленью, по твоему хотенью вдруг да изменились. Да даже если б в ТЧ работали методы записи\перезаписи файлов, все равно это было бы неосуществимо по указанной причине - конфиги (ltx, xml )нельзя изменить во время игры. Я пробовал во время игры подменять(через переименование) один конфигурационный файл другим (с уже другими настройками): даже после загрузки - не сейва, а all - для предмета (в моем случае ствола) читались первичные настройки дефолтного файла, который на тот момент уже был заменен новым. То же самое было и с подменой текстур(подменял для теста файл иконок).
erlik ну может и странный... Я же не знал, вот и спросил
Спасибо за ответ.
Просто я думал, есть какая нибудь функция, которой можно через диалог воспользоваться... Эх, жалко.
Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.