ЦитатаТеперь логика
Создаем файл обычный текстовый только с разрешением ltx кидаем его по пути - gamedata\config\scripts\portal_npc.ltx (имя как в all.spawn) и пишем в нём логику логика бывает разной
в начале всегда пишется
[logic]
active =
после active = пишется преимущественная группа
Настройки логики берем тут
_http://www.stalkerin.gameru.net/wiki/index.php/%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B8._%D0%A7%D0%B0%D1%81%D1%82%D1%8C_1
для примера сделаем чтобы наш npc стоял на 1 месте никуда не ходил а привиде врага стрелял в него
ищем логигу camper
и исходя из нее пишем свою:
Цитата[logic]
active = camper
[camper]
path_walk = patrol_path - имя точки патрульного пути которые пишится в way_l01_escape т.к мы делаем стоячего на одном месте в way_l01_escape мы не чего не пишем
path_look = patrol_path - имя точки патрульного пути которые пишится в way_l01_escape
radius = 30 - радиус до врага например если враг подходит к npc ближе чем на 30 метров то npc открывает огонь (радиус любой в пределах разумного)
no_retreat = true - если делаем стоячего (как в нашем случае) то эта функция отключает хождения по точкам path_walk при атаке
shoot = always тип стрельбы ставьте always
какой фаил овечает за путь фалов текстур
Пример: green_stalker_1-модель act_green_stalker2-текстура его одежды
так вот какой фаил отвечает за напровление текстуры на модель
Извените если непонятно выразился !!!
Да,обьяснять ты нешибко умеешьТы хочешь на базе допустим комбеза долга создать такой же,только с другой текстурой?Модель это как маникен,просто какркас.Каждый предмет-каркас(модель)обтянутый текстурой.
Тут пару страниц назад приводился совет-
"Мерк берешь хекс редктор (или блокнотом - коли нет) открываешь модель (ее копию с другим именем - твоим)
находишь там слово .models - перед ним видишь имя текстуры, меняешь на свое. Кол-во символов в имени должно быть таким же как и у имени оригинальной текстуры. Сохраняешь. Кидаешь текстуру с твоим именем в нужную папку. Все."
Благодари erlikа,это он писал.хекс-редактор(да и блокнотом можно)ищи в сети.
Мерк, удачно я прочитал про текстуры, а то блин долблюсь, не знаю, каким боком модель с текстурой связанна...
Ладно, вопрос:
потихоньку балуюсь, заменил в орегинальном сталкере ПМ-модели, по xray... нашел текстуры, а вот, что меня в тупик поставило
Андрюха "Грозный", я думаю это анимация выстрела, перезорядки и т.д. А где ее искать?! Модель и текстуры я взял в Арсенал моде. Ни каких анимаций там нет.
4 папки: config, meshes, textures, sound и фаил particles.xr. Все.
Вставил фаил particles.xr в свою геймдату-не помогло.
добавлено спустя 27 минут
Ладно, обращусь к создателю.
Сообщение было успешно отредактировано Резвый (27-08-2009 13:59 GMT3 часа, назад)
Резвый
в конфиге оригинального pm имя анимации выстрела anim_shoot = shoot1
а в конфиге арсеналовского pm скин1 anim_shoot = shoot (откуда ты взял pm_shoot я не понял)
у тебя видимо конфиг остался с оригинала - и когда игра пытается понять какую анимацию для нового макарыча ей использовать, то ищет shoot1, а так как арсеналовскому пистолю (при создании модели) прописана анимация с именем shoot , то игра сначала долбиться ап стенку, а потом вылетает чтобы юзер понял, что так низя поиграться Кинь в игру конфиг из арсенала (добавь его как доп. ствол, зареги в weapons.ltx, пропиши в mp_ranks - и в конфиге поменяй пути до файлов - там где они отличаются от оригинала). Файл партиклов из арсенала оБязаТельНо Должен Быть.
а иначе будет тебе еще один лог типа "не могу найти партикл arsenal_shells1"
Внимательнее смотри все файлы, когда переносишь оружие из одного мода в свой. Одной моделькой или текстуркой тут не всегда можно обойтитсь...и в конфигах не забывай проверять пути до файлов звука, партиклов, визаулов и т.д. и корректировать их, если они отличаются от того, как у тебя расположены папки (в том же арсенале - отдельная папка для конфигов всех стволов - в конфигах соответственно указаны другие пути до файлов.)
Samforeva
Раз вылетает значит что то не то сделал.
1. Текстуру новую кидаем в папку textures\act (если это текста для визуала костюма)
2. копию модельки (которой новую тексту приписываешь) - куда-нить в meshes\actors\любая папка - тут сам выбираешь.
3. делаешь новый конфиг для нового костюма - там указываешь имя нового визуала (имя копии модели) и путь до папки с его моделькой (куда копию кинул - ту папку и указываешь).
При работе с хекс редактором приписывание должно выглядеть так.
Открываем модель (делаем копию модели которой собираемся приписать новую тексту) - ищем в правой колонке слово .models - например откроем модель stalker_bandit_1.ogf - ищем имя текстуры:
act\ act_bandit.models
меняем его на свое - допустим act\ act_band_1.models (кол-во символов в имени тексты оставляем прежнее).
Нажимаем сохранить. Кидаем тексту и модельку в нужные папки.
Это не я а erlik я процетировал.Ты уверен,что все правильно сделал?Количество символов в названии должно быть как в оригинале.Спроси у erlik
НАРОД-НИКТО НЕВИДЕЛ LVIDGVID_script_amk ДЛЯ ЧИСТОЙ ИГРЫ,А НЕ ДЛЯ АМК???
Мерк
Насчет того, чтобы с неписем нельзя было базарить. Пишешь в секции активной логики стррчку
meet = no_meet
Еще по моему можно так сделать:
в секции [meet] обычно ставятся вот эти строчки
use = true \ если ГГ безоружный
use_wpn = true \ если у ГГ пушка в руках
если true заменить на false то он вроде не будет юзаться с игроком, то есть окошка диалога при подходе к нему ГГ появляться не должно. У меня по крайней мере так было, когда я по не знанию поставил в этих строчках false... непись не хотел со мной говорить.
Вопрос скриптерам... (хоть тут их, к сожалению, раз-два и обчелся )
В lua есть две функции (или по другому - обобщенный оператор for) такого вида
for i,v in ipairs(t) do body end
for k,v in pairs(t) do body end
Требуется пояснить различие в их работе.
Первая функция возвращает три значения: итератор, таблицу t, и 0.
Переменной i присваивается индекс - порядковый номер начиная с 1 (если не задан 0), а переменной v - значение ассоциированное с соответствующим индексом конкретного элемента таблицы.
Как написано в одной статье функция "будет выполнять цикл парами (1,t[1]), (2,t[2]), ..., до первого целого ключа, отсутствующего в таблице". Как бы это на более понятный язык перевести? Понятие ключ в програмировании имеет довольно широкое толкование...
Значит ли что она будет выводить все значения элементов таблицы до определенного момента?
Насчет второй написано, что она возвращает три значения: функцию next, таблицу t, и nil и будет итерировать таблицу полностью - по всем ключевым парам. И ее назначение - вывод всех ключей таблицы.
Опять - что значит ключ? Значит ли что она будет итерировать элементы по числовым индексам? Если нет - то по какому принципу здесь будет происходить обход таблицы и до какого момента?
erlik Поясняю. Первый оператор производит обход целочисленых индексов(ключей), от первого индекса, до первого значения nil. Тоесть. Если в таблице записаны например такие индексы:
То оператор ipairs произведёт обход от первого индекса, до четвёртого. Так как пятого индекса нет, то он имеет значение nil. И именно на нём обход прекратится.
Оператор pairs производит обход всех имеющихся индексов в указанной таблице, не зависимо от типа индекса. Вы бы сказали, а зачем тогда нужен оператор ipairs? А затем, что оператор pairs производит обход РАНДОМНО. Тоесть, в случайном порядке. В отличии от оператора ipairs, который производит обход по математическому порядку.
добавлено спустя 3 минут
БаЛаБоЛ А вообще то, это лог синтаксической ошибки, а не самой игры.
Сообщение было успешно отредактировано singapur22 (27-08-2009 23:20 GMT3 часа, назад)
singapur22
Так, уже стало понятнее как всегда big thanks.
Кстати, нашел вот случайно в инете одно руководство - гораздо менее сухое чем официальная справка ...но только его выложили до 4 главы 1 части (а частей всего 4) может видел его на _http://aap13.narod.ru/PiL/
а полном варианте оно тебе не попадалось?
erlik Неа. Первый раз вижу.
А тебе чё, в ломы было потыкать по ссылкам? Кароче это переведённая версия онлайн книги по lua-5.0. Сама книга вот здесь: _http://www.lua.org/pil/
singapur22
Так я знаю что на аглицом есть...(на нем много чего есть) ....мне бы расейский перевод...как то с ним сподручнее .... а прога-переводчик я думаю мне вряд ли переведет как надо.
Не знаю как у вас городе, а в наших книжных - ни ОДНОЙ книги по lua... одни трубопаскали и трупо це два креста...
erlik У нас в книжных, я кроме C++, Паскаля и Визуал_Бейсик_НЭТ, я больше ничего никада не встречал. В нашем захолустье, врятли чтото когданибудь появится.
Gun12
То есть обход таблицы будет идти по числовому порядку - так как используется ipairs - (1 элемент, 2 элемент, 3 элемент и т.д.) и с выводом значений без присваивания им индексов, которые в этой функции будут нафиг не нужны... Правильно я понял? Спасибо за объяснение.
Кстати вот этот символ _ не попадался мне пока в справочниках по lua... может читал невнимательно...
erlik понял правильно. Но есть более практическое применение этому символу.
Например есть некая функция : function f()
return 1,2,3
end
возвращающая 3 значения. Получить их не трудно : local a,b,c = f() т.е.
а = 1
b = 2
с = 3
Скажем значений, возвращаемых функцией, нужно получить только какое-то одно или два. Например нужно получить 3-ку. Если написать : local a = f()
что в переводе будет : local a = 1,2,3
то a присвоится первое значение, возвращаемое функцией. Т.е. 1. А 2 и 3 отбросятся.
Похожее будет и в такой ситуации : local a,b = f() результат :
а = 1
b = 2
а 3 отбросится
Но если записать так : local _,_,c = f()
то все три значения будут возвращены в переменные. Но 1 и 2 учитываться не будут, т.к. Для них нет объявленной переменной (вернее она фактически объявлена, но фиктивной переменной _). А вот значение 3 пройдет и присвоится реальной переменной с
Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.