Это популярное сообщение. Dennis_Chikin 3 658 Опубликовано 16 Мая 2014 Это популярное сообщение. Поделиться Опубликовано 16 Мая 2014 Ковыряемся в файлах ТЧ Прежде чем писать в тему - внимательно читаем первый пост, и пользуемся поиском. Возможно, ответ на Ваш вопрос уже есть. Касательно телепатии: если Вы передаете Ваши файлы телепатическим путем - ответы будут передаваться тоже телепатически. Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком. 4 8 6 12 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Kirag 39 Опубликовано 18 Мая 2010 Поделиться Опубликовано 18 Мая 2010 elfog Да-а-а... У тебя получилось что-то среднее между вызовом функции и самой функцией... Работоспособность - закономерный ноль... К сожалению, ты пока не понимаешь элементарных вещей, без которых в скриптах ловить ну совсем нечего. Попробую объяснить. Смотри: сама функция выглядит так: function имя_функции(аргументы_функции) последовательность действий end Здесь аргументами будут только переменные, а не конкретные значения. Конкретные значения переменных, с которыми надо производить указанные в функции действия, функция получит в момент вызова. Вызов функции находится в другой функции и выглядит так, если вызываемая функция в том же файле, что и та функция, ИЗ которой происходит вызов: ... имя_функции(аргументы_функции) ... либо так, если вызываемая функция находится в другом файле: ... имя_файла.имя_функции(аргументы_функции) ... Аргументы функции могут быть любыми, и могут задаваться как непосредственно в момент вызова (конкретные значения), так и определяться заранее (переменные). Например, есть функция fun с одним аргументом. Пусть надо ее вызвать с аргументом, равном 2. Вызов fun(2) и конструкция local x = 2 fun(x) эквивалентны. Во втором случае агрументом является переменная Х: сначала определяется переменная Х, ей присваивается значение 2, и затем функция fun вызывается с аргументом, равным 2, как и в первом случае, когда аргументом является число. Писать local x = 2 fun(2) просто бессмысленно, хотя ошибки и не возникнет. Для спавна аномалий тебе нужно из функции spawner:spawn_zone_mincer_weak() вызвать функцию an_spawn с правильными аргументами. То есть функции должно быть как минимум две Попробуй еще раз с новой информацией. Мои работы: Ночные прицелы + смена ножевого слота AI вертолетов + ПЗРК Soul Cube Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем. Ссылка на комментарий
Starter 238 Опубликовано 18 Мая 2010 Поделиться Опубликовано 18 Мая 2010 Кто-нибудь знает как включить бампы на статике уж очень надо, очень. Сообщение от модератора n6260 "Ковырнуть" движок ЯДиск папка с крутым схроном! Ссылка на комментарий
DiXares 1 Опубликовано 18 Мая 2010 Поделиться Опубликовано 18 Мая 2010 И всё таки, как сделать страницу дополнительных опций? Ссылка на комментарий
elfog 0 Опубликовано 18 Мая 2010 Поделиться Опубликовано 18 Мая 2010 (изменено) Kirag, И снова я по поводу спавна аномалий... Можешь дать готовую функцию спавна, с её вызовом как пример, а то когда перед глазами есть пример учиться гораздо проще. А ссылку (если есть таковая) на полную статью по функциям можно? А то ведь это основа основ... забегать наперёд для меня было лишним. Изменено 18 Мая 2010 пользователем elfog morda. cod4 player Ссылка на комментарий
Darien 0 Опубликовано 18 Мая 2010 Поделиться Опубликовано 18 Мая 2010 (изменено) elfog Если хочется научиться основам, то советую настроить Scite с Lua, как это сделать можно прочитать тут - http://www.lua.ru/forum/posts/list/21.page (3 пост, заголовок Настройка компилятора Lua в Scite можно опустить). Когда установишь, там будет оф. справка по языку. Так же советую скачать тутор от хорошего человека Gun12, он не завершён (пока), но читать его легче будет, чем официальный, и инфы больше. Качать отсюда - http://ifolder.ru/17766560 Изменено 18 Мая 2010 пользователем Darien Ссылка на комментарий
Nazgool 250 Опубликовано 18 Мая 2010 Поделиться Опубликовано 18 Мая 2010 (изменено) На счёт слова "ПОКА". Абсолютно не хватает времени для того, чтобы закончить, хотя и есть чем "заполнять". Так же массу времени отнимает оформление. Так что пока слово "пока" останется в силе (намеренная тавтология ). Да и вообще делал в принципе для себя как шпаргалку. Так что есть комментарии, рассуждения и неточности, которые обнаружились уже позже (с опытом так сказать) Изменено 18 Мая 2010 пользователем Gun12 Ссылка на комментарий
AK-103 15 Опубликовано 18 Мая 2010 Поделиться Опубликовано 18 Мая 2010 shooting unicorn, ковырни локу ЧАЭС2 в Народной Солянке. Intel Centrino Mobile (Dual-core) T2700 2,328 GHz, Intel GMA 945GM, 2x1024 MB DDR2-667, WD Scorpio 1200BEVS Microsoft Windows 7 Professional N + Novell Linux 11.2 (OpenSUSE) Dual boot S.T.A.L.K.E.R. SHOC 1.0004 + AMK 1.4.1 + NS3 + NLC3 + Arsenal + Arsenal beta +New weapons Опытный американский дробовик XM1014 =O Хозяйке на заметку: Не спешите выбрасывать чеку от использованной гранаты Ф-1 или РГД-5 - с её помощью можно легко и удобно прикрепить игрушечного пингвинчика к своему рюкзаку. © not me Ссылка на комментарий
DimOriN 35 Опубликовано 19 Мая 2010 Поделиться Опубликовано 19 Мая 2010 есть функция :get_bleeding() - для получения уровня кровотечения. Посмотрел в lua_help, значений она не принимает => установить уровень кровотечения с помощью этой функции невозможно. Кто знает, как поменять этот уровень скриптом? Ссылка на комментарий
Kolmogor 5 Опубликовано 19 Мая 2010 Поделиться Опубликовано 19 Мая 2010 есть функция :get_bleeding() - для получения уровня кровотечения. Кто знает, как поменять этот уровень скриптом? Наносить скриптом хит, подобрав силу и тип. Вроде после chemical_burn появляется только кровотечение Ссылка на комментарий
Crazyman 0 Опубликовано 19 Мая 2010 Поделиться Опубликовано 19 Мая 2010 Вопрос такого смысла: Как редактировать шрифт в игре, всмысле заменить letterica16 на что-нибудь другое, где записаны шрифты игры? S.T.A.L.K.E.R. - Зов Припяти 1.6.00 + повелитель Зоны + мои всякие наработки = какая-то глобалка размером в 1,04 ГБ (1 117 802 496 байт) которая содержит 5580 файлов в 467 папках. Ссылка на комментарий
Push85 4 Опубликовано 19 Мая 2010 Поделиться Опубликовано 19 Мая 2010 Crazyman, в текстурах, конфигах, найди текстуры и уже по ним найдешь где и как прописывается. Возможно всё, ну или почти всё. Ссылка на комментарий
Kirag 39 Опубликовано 19 Мая 2010 Поделиться Опубликовано 19 Мая 2010 Kirag, И снова я по поводу спавна аномалий... Можешь дать готовую функцию спавна, с её вызовом как пример, а то когда перед глазами есть пример учиться гораздо проще. А ссылку (если есть таковая) на полную статью по функциям можно? А то ведь это основа основ... забегать наперёд для меня было лишним. Ссылку дать не могу, объяснял своими словами. В качестве готового примера: Вот эта функция у тебя вызывается при нажатии на кнопку в меню: function spawner:spawn_zone_mincer_weak() if self:check_game() then -- вызов проверки, запущена ли игра. Агрументов нет, они здесь и не нужны. -- Если проверка прошла успешно, игра запущена - двигаемся дальше -- Здесь мы устанавливаем конкретные значения аргументов для вызова функции спавна аномалии local anom_name = "zone_mincer_weak" -- устоновили секцию local plosh = 4 -- установили радиус local distance = plosh + 4 -- расстояние от актора до центра аномалии = радиус -- аномалии (см. предыдущую строку) + 4 метра local position = vector():mad(db.actor:position(),db.actor:direction(),distance) -- переводим из координат относительно актора в координаты на уровне. local level_vertex_id = db.actor:level_vertex_id() -- устанавливаем левел вертекс local game_vertex_id = db.actor:game_vertex_id() -- устанавливаем гейм вертекс local powers_a = 500 -- устанавливаем силу аномалии -- Все, значения аргументов установлены, теперь вызываем функцию спавна с -- этими аргументами. Конкретные значения подставятся сами! an_spawn(anom_name,plosh,position,level_vertex_id,game_vertex_id,powers_a,time_danger os) end end Теперь сама функция спавна. Если ее не будет - вылетит. Но, она нужна в файле только один раз. Когда будешь делать следующую аномалию, второй раз писать эту же функцию в файл не нужно. Просто вызови ее с другими аргументами, в том и состоит смысл выносить этот код в отдельную функцию function an_spawn(anom_name,plosh,position,level_vertex_id,game_vertex_id,powers_a,time_danger os) -- все значения аргументов подставятся в функцию в момент вызова local con = get_console() local obj = alife():create(anom_name,position,level_vertex_id,game_vertex_id) local pac = net_packet() obj:STATE_Write(pac) local game_vertex_id = pac:r_u16() local distance = pac:r_float() local direction = pac:r_u32() local level_vertex_id = pac:r_u32() local object_flags = pac:r_s32() local custom_data = pac:r_stringZ() local story_id = pac:r_s32() local spawn_story_id = pac:r_s32() local shape_count = pac:r_u8() for i=1,shape_count do local shape_type = pac:r_u8() if shape_type == 0 then local center = pac:r_vec3() local plosh = pac:r_float() else local box = pac:r_matrix() end end local restrikror_type = pac:r_u8() local powers = pac:r_float() local owner_id = pac:r_s32() local on_off_mode_enabled_time = pac:r_u32() local on_off_mode_disabled_time = pac:r_u32() local on_off_mode_shift_time = pac:r_u32() local offline_interactive_radius = pac:r_float() local artefact_spawn_places_count = pac:r_u16() local artefact_position_offset = pac:r_s32() local last_spawn_time_present = pac:r_u8() if pac:r_elapsed()~= 0 then -- abort("left=%d",pac:r_elapsed()) end pac:w_begin(game_vertex_id) pac:w_float(distance) pac:w_u32(direction) pac:w_u32(level_vertex_id) pac:w_u32(object_flags) pac:w_stringZ(custom_data) pac:w_s32(story_id) pac:w_s32(spawn_story_id) pac:w_u8(1) pac:w_u8(0) local sphere_center = vector() sphere_center:set(0,0,0) pac:w_vec3(sphere_center) pac:w_float(plosh) pac:w_u8(restrikror_type) if powers_a ~= nil then powers = powers_a end pac:w_float(powers) if time_dangeros == nil then owner_id = bit_not(0) else owner_id = time_dangeros end pac:w_u32(owner_id) pac:w_u32(on_off_mode_enabled_time) pac:w_u32(on_off_mode_disabled_time) pac:w_u32(on_off_mode_shift_time) pac:w_float(offline_interactive_radius) pac:w_u16(artefact_spawn_places_count) pac:w_u32(artefact_position_offset) pac:w_u8(last_spawn_time_present) pac:r_seek(0) obj:STATE_Read(pac,pac:w_tell()) return obj end Ну, вызов функции spawner:spawn_zone_mincer_weak() у тебя вроде был правильным Мои работы: Ночные прицелы + смена ножевого слота AI вертолетов + ПЗРК Soul Cube Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем. Ссылка на комментарий
Elliond 0 Опубликовано 19 Мая 2010 Поделиться Опубликовано 19 Мая 2010 (изменено) Стоит АМК 1.4.1 с Arsenal Mod от Borg. Увидел в одной теме ссылку на WA2000 и решил добавить. Добавляю впервые. В weapon.ltx прописан, иконку для инвентаря добавил, в конфиге винтовки добавил положение в инвентаре, прописал Бармену на продажу. Ну и когда начинает генерироваться бармен с оружием, происходит вылет: Expression : fatal error Function : CInifile::r_section File : E:\stalker\patch_1_0004\xrCore\Xr_ini.cpp Line : 342 Description : <no expression> Arguments : Can't open section 'wpn_Walther_WA_2000' Тут сказано, что еще надо прописать в prefetch.ltx, однако такого файла в геймдате от АМК с Арсеналом нету. Помогите, пожалуйста. З.Ы. Извиняюсь, что тут добавляю. Знаю, что с АМК не связано, но всё же. Оффтоп. Shader, перемести в Ковыряемся, будь добр. [kokkai] Сообщение от модератора Shader Перенес Изменено 19 Мая 2010 пользователем Shader Защити зону от Долга! вступай в www.shoc-role.ucoz.ru !!! Ссылка на комментарий
Real Wolf 34 Опубликовано 19 Мая 2010 Поделиться Опубликовано 19 Мая 2010 Возможно ли изменить радиус действия аномалии? Ссылка на комментарий
Рыло 3 Опубликовано 19 Мая 2010 Поделиться Опубликовано 19 Мая 2010 Elliond Ты лог учись читать... У тебя секцию найти не может, а это значит, что ты никуда не прописал инкюд файла w_Walther_WA_2000.ltx попробуй дописать инкюд на подобии того что в weapons.ltx (gamedata/config/weapons/weapons.ltx) Это судьба Ник St.A.R. узрел - это я Ссылка на комментарий
Real Wolf 34 Опубликовано 19 Мая 2010 Поделиться Опубликовано 19 Мая 2010 лучше все и случайный радиус задать. Но как? Ссылка на комментарий
Elliond 0 Опубликовано 19 Мая 2010 Поделиться Опубликовано 19 Мая 2010 (изменено) Elliond Ты лог учись читать... У тебя секцию найти не может, а это значит, что ты никуда не прописал инкюд файла w_Walther_WA_2000.ltx попробуй дописать инкюд на подобии того что в weapons.ltx (gamedata/config/weapons/weapons.ltx) Дык вот И это было написано в моем первом сообщении Изменено 19 Мая 2010 пользователем Elliond Защити зону от Долга! вступай в www.shoc-role.ucoz.ru !!! Ссылка на комментарий
banderos 17 Опубликовано 19 Мая 2010 Поделиться Опубликовано 19 Мая 2010 (изменено) Elliond, Это то же самое, что и не прописано, поскольку строка закомментирована знаком ";" и не читается. Чтобы инклуд читался, нужно убрать знак ";" перед инклудом, т.е. раскомметировать строку. Изменено 19 Мая 2010 пользователем banderos Мой вариант билдовских локаций: Мёртвый город (build 1935) и Свалка (build 2205) Ссылка на комментарий
Elliond 0 Опубликовано 19 Мая 2010 Поделиться Опубликовано 19 Мая 2010 (изменено) Убрал точку с запятой. Всё равно вылетает с этим логом. Изменено 19 Мая 2010 пользователем Elliond Защити зону от Долга! вступай в www.shoc-role.ucoz.ru !!! Ссылка на комментарий
amik 253 Опубликовано 19 Мая 2010 Поделиться Опубликовано 19 Мая 2010 (изменено) Большие буквы убери Arguments : Can't open section 'wpn_Walther_WA_2000' проверь правильно все ли поставил... И если что редактируй свое предедущее сообщение а то на твой вопрос 5 страниц надо будет Изменено 19 Мая 2010 пользователем and_modern Мой архив Сталкером не занимаюсь. Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти