SkyLoader
При использовании 'load_variable(name, value)', следует учитывать аргументы вызова этой функции:
name - имя запрашиваемой переменной/элемента массива стораджа;
value - значение 'по-умолчанию', которое вернет эта функция в случае отсутствия записи в сторадже с именем 'name';
Т.к. сама функция 'load_variable' не из исходных кодов игры, а из модов (скорее всего из АМК), то ее реализация может быть различной. Возможно отутствие в твоем примере этого аргумента приведет к ошибке в самой функции ...
Т.о. если ты сделаешь так: if load_variable("trololo", 0) ~= 2 then - то и желаемой получишь и основных проблем с использованием функции не будет.
По-первому товему варианту, ты получишь не правильный для тебя ответ, т.к. если твоя переменная будет равна 0/1/3/... - то все это ~= nil, хотя и ~=2 !
Stalker_Alex333
Если в твоем логе фигурирует 'global_wnd', то скрипты/движек их получают при чтении/использовании.
Не пойму, почему не привести чуть более полный лог/строки, откуда можно было бы понять источник вывода ошибки?
Погадалки - не самое лучшее занятие для тех, кто ... этим не любит иль не может заниматься. ;-)
Artos, опять вернусь к вопросу про скриптовое напяливание аддона. Я хотел "клонировать" аддоны на другое оружие (таже секци). В ЗП есть метод clone_addons() (он, видимо, понадобился для кат-сцен), но он движковой, поэтому мне не удалось взять его.
А вот нет-пакетами... что-то не выходит. Можете помочь, если время есть?
function use_med()
if eat and type(eat) == 'number' then
if not level.object_by_id( eat ) then
local snd_obj if tips==1 then
snd_obj = xr_sound.get_safe_sound_object([[scripts\inv_medkit]])
else
if tips==2 then
snd_obj = xr_sound.get_safe_sound_object([[scripts\inv_softdrink]])
else
if tips==3 then
snd_obj = xr_sound.get_safe_sound_object([[scripts\inv_pills]])
else
if tips==4 then
snd_obj = xr_sound.get_safe_sound_object([[scripts\inv_bandage]])
else
if tips==5 then
else
snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0)
end
if eat and type(eat) == 'userdata' then
eat = eat:id()
else
eat = nil
end
function drop_med(obj)
local obj_sect = obj:section()
if obj_sect == 'medkit' or obj_sect == 'energy_drink' or obj_sect == 'antirad' or obj_sect == 'bandage' then
eat = obj
end
луа чекер пишет : Checking D:\Games\S.T.A.L.K.E.R\gamedata\scripts\medkit_used.script:
medkit_used.script (0): mismatched input '' expecting 'end'
Found 1 errors.
batment, эм... я ж откуда знаю? Видимо, эта переменная создается для разных звуков использования предметов. Ты что-то упустил в задавании этой переменной.
У меня уже 3 ночи, поэтому я спать.
Надо в коллбеке на дроп настроить переменную эту. Например, при дропе аптечки tips задать 1 и тд.
#SkyLoader : batment, ну я ж не знаю, откуда и зачем тебе переменная tips, и как она влияет на обстановку. Если бы объяснил...
Она у него и определяет тип сжираемого обьекта, а точнее соответствуещего звука. Ток вот откуда он её взял неясно, в его примере она не задаётся. Видать вырезал кусок скрипта хрен знает откуда и теперь маится.
1.
Проверку можно записать как :
if type(eat) == 'number' then
Если еаt это NIL, то и тип не совпадет, т.е. проверка всё равно не пройдет.
2.
а) Если tips==5 то что???
b) иначе (else) что???
3.
Насколько необходимо задавать глобальную переменную еаt?
Если есть возможность, то не лучше ли передать оbj сразу в функцию function use_med(оbj)
вместо еаt?
#batment :перепробовал ставить end где только возможно
А это вообще ни в какие рамки не вписывается.
Luа не рулетка.
.
Вы же видете, что чекер не совсем справляется со своей задачей. В начальном коде куча ошибок, а он нашел только одну.
Лучший чекер - прямые руки.
Так что, шановнi, изучайте Luа.
отредактировал(а) Gun12: 30-11-2010 14:55 GMT3 час. Не стань номинантом премии Дарвина.
SkyLoader
Должен с тобой согласиться насчет фразы, - "я думал"
Я тоже не могу развернуто ответить на этот вопрос, т.к. не знаю как, что и где подключается.
Остается предполагать ... или забить =)
я вырезал этот кусок скрипта из NLC 6 там еще скрипты некоторые написаны вместе с иероглифами
добавлено спустя 4 минут
Gun12
function drop_med(obj)
local obj_sect = obj:section()
if obj_sect and (obj_sect == 'medkit' or obj_sect == 'energy_drink' or obj_sect == 'antirad' or obj_sect == 'bandage') then
eat = obj -получается это надо стереть ??? или написать eat= nil ????
end
end
отредактировал(а) batment: 30-11-2010 12:26 GMT3 час.
function snd_eat_med(tips)
local snd_obj
if tips==1 then
snd_obj = xr_sound.get_safe_sound_object([[scripts\inv_medkit]])
snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0)
elseif tips==2 then
snd_obj = xr_sound.get_safe_sound_object([[scripts\inv_softdrink]])
snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0)
elseif tips==3 then
snd_obj = xr_sound.get_safe_sound_object([[scripts\inv_pills]])
snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0)
elseif tips==4 then
snd_obj = xr_sound.get_safe_sound_object([[scripts\inv_bandage]])
snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0)
else
end
end
end
if eat and type(eat) == 'userdata' then
eat = eat:id()
else
eat = nil
end
end
function drop_med(obj)
local obj_sect = obj:section()
if obj_sect and (obj_sect == 'medkit' or obj_sect == 'energy_drink' or obj_sect == 'antirad' or obj_sect == 'bandage') then
eat = obj
end
end
отредактировал(а) batment: 30-11-2010 13:34 GMT3 час.
вопрос: как вырезать сюжет со всеми сценами и т.д?
Могу посоветовать очищать АллСпавн от рестрикторов, НПС и смарт_терейнов, а также квестовых предметов. Плюс понадобится редактировать некоторые файлы с инфопоршнями.
Всё зависит насколько ты хочеш очистить сюжет или вернее сказать что хочеш оставить на картах.
З.Ы.: Из личного опыта могу сказать, что процес умной очистки от сюжета это достаточно трудоемкое и нудный занятие. Чуть не забыл скащать Файлы Вэй в АллСпавне можно не трогать.
Знаю, что я надоел глупыми вопросами, но нпц, когда стреляют в меня например, то они держат прицел выше, попадают, если подойти в упор и то еле-еле, как исправить?
batment Просто при взятии квестового предмета за частую выдается инфопоршень и соответственно задание. Пример с лету привести не могу к сожалению, но из личного опыта могу сказать что бывают даже вылеты без лога из-за того что НПС, которому надо отдать предмет, нету, а предмет у тебя в инвентаре. Еще забыл сказать что в лабораториях, например, нужно будет править файлы логики для дверей и рычагов и еще возможно что-то.
krovoSapiens Я видел скрин, где снорку добавили скелет обычного сталкера и он мог стрелять, может, если в поисковиках поищешь, то че-нить найдешь или можно самому сделать, но надо уметь
Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.