Помощь с Lua-скриптами Баян Баян 21-02-2012, 20:56 0 В чём ошибка? Показать / Скрыть текст |-- Как правильно? [signature]--------------------{signature}[/signature] [fast]Цитировать[/fast] Жалоба #0 TranZit Мастера публикаций комментариев TranZit 1 июня 2016 21:33 0 И да, сколько раз подряд в процессе тестирования ты покупал карты той же стоимостью, что и золото у игрока?Просто есть одна деталь: данный краш реагирует на карты по-разному. Я тестировал карты стоимостью в сто монет, и вот что вышло: с картой «Скорость» придётся посидеть, чтоб заставить её крашнуть игру; карта «Выносливость» крашит игру после нескольких (может 3-4, точно уже не помню) второй её покупки; а вот карта «Энергия» крашит игру почти всегда при первой покупке (ну, иногда может и после второй покупки). Если ты, допустим, один раз покупал карту «Скорость», оно и не удивительно, что ты тут про бредовые вещи твердишь. Цитировать Жалоба #331 Jourgensen Модераторы публикаций комментариев Jourgensen 1 июня 2016 23:46 0 Гениально! Добавлено (01.06.2016, 23:46)---------------------------------------------А почему бы мне и не написать? Прибавив к общему количеству золота игрока ТРИ, ДВЕ, да хоть сколько монет, это ты так исправил проблему? Лол. Цитировать Жалоба #332 TranZit Мастера публикаций комментариев TranZit 2 июня 2016 08:32 0 Цитата Jourgensen ()Прибавив к общему количеству золота игрока ТРИ, ДВЕ, да хоть сколько монет, это ты так исправил проблему?Я хоть как-то исправил проблему. Цитировать Жалоба #333 TranZit Мастера публикаций комментариев TranZit 2 июня 2016 08:35 0 И да, раз всё знаешь, напиши сюда альтернативный вариант избежания этого бага. Эта ахинея не в счёт:Цитата Jourgensen ()Достаточно просто взять и вытащить модуль MagicBoard.lua из запакованного архива и оставить в каталоге с игрой. Цитировать Жалоба #334 Jourgensen Модераторы публикаций комментариев Jourgensen 3 июня 2016 18:11 0 У меня ЭТА АХИНЕЯ прекрасно работает. Цитировать Жалоба #335 TranZit Мастера публикаций комментариев TranZit 3 июня 2016 18:34 0 В том-то и дело, что только у тебя. Цитировать Жалоба #336 Jourgensen Модераторы публикаций комментариев Jourgensen 4 июня 2016 21:57 0 Назови людей у кого еще не работает ЭТА АХИНЕЯ. Цитировать Жалоба #337 TranZit Мастера публикаций комментариев TranZit 4 июня 2016 22:52 0 У всех моих друзей, допустим. Цитировать Жалоба #338 Jourgensen Модераторы публикаций комментариев Jourgensen 6 июня 2016 18:43 0 А твои друзья хоть что-то в этом смыслят? Или у них всегда всё как у ТЕБЯ? Цитировать Жалоба #339 TranZit Мастера публикаций комментариев TranZit 6 июня 2016 19:00 0 Мои друзья так же, как и я, занимаются модмейкингом. И помогают мне почти с каждым проектом. Вот я ради интереса рассказал каждому, что и как нужно сделать, а потом выполнить действия в самой игре. И у каждого неоднократно происходил вылет. А мой скрипт пришёлся им по душе. Цитировать Жалоба #340 Jourgensen Модераторы публикаций комментариев Jourgensen 8 июня 2016 18:59 0 Ладно. Спорить все равно бесполезно. Я лучше видео все таки покажу потом в подтверждение того, что эта АХИНЕЯ работает, чтобы ты наконец убедился и поверил в чудо. Цитировать Жалоба #341 TranZit Мастера публикаций комментариев TranZit 4 июля 2016 12:33 0 Бросок гранаты из NecroVisioN.Я перенёс бросок гранаты из NecroVisioN на оригинал v1.64. Получилось не так, как в Некро, но в целом не плохо. Перенёс только один вид гранаты — Stielhandgranate 24, по-русски — «Колотушка». Бросать на G.Скачать (9.45 МБ).Архив распаковать в папку с игрой. Цитировать Жалоба #342 Painkiller-Ivan Посетители + публикаций комментариев Painkiller-Ivan 9 августа 2018 15:03 0 В Painkiller: BooH уровень "Мёртвый город" зависает при сохранении объекта на рабочий стол, находясь в PainEditor'е. Баг также есть в популярных модах. Цитировать Жалоба #343 win32 Посетители + публикаций комментариев win32 14 января 2019 16:51 0 Цитата nonnamed () Как правильно расположить уровни?А как добавить или удалить уровни в колесо/из колеса?.. Цитировать Жалоба #344 Astaroth Модераторы публикация комментариев Astaroth 14 января 2019 17:43 0 win32, в папках LScripts/HUD есть файл Levels.lua, прям в самом начале прописаны уровни для каждой главы, игра, что логично, увидит только максимум 5 глав и максимум 6 уровней.А за что отвечает то или иное действия поподробнее распишу на примере уровня "Кладбище":?[spoiler]uSpoilerzjrcNZl zjrcNZ' zjrcNZ' zjrcNZ' zjrcNZ')).val('[\–] Спойлер');$( zjrcNZ' zjrcNZ' zjrcNZ')).val('[+] Спойлер');$( zjrcNZ'[+] Спойлер1) Название уровня из папки Levels(тот что в Data)2) Наименование уровня, которое будет отображаться на колесе. Здесь же отсылает на строку 283 в файле Lang_Russian(к примеру), который находится в LScripts/Main3) Название скетч-картинки для уровня, находится в Textures/HUD/Map4) Наименование задания статуса карты Таро при просмотре статистики уровня на колесе. Аналогично со 2м пунктом5) Индекс карты Таро, которую игрок получит за выполненное задание, нужно для того чтобы корректно отображался статус ОТКРЫТО или ЗАКРЫТО6) Индекс сложности, на котором уровень будет доступен. То есть: 0 - на всех сложностях, 1 - на всех кроме дрёмы, 2 - кошмар и безумие, 3 - только на сложности безумие7) Видеоролик, который будет воспроизводиться после окончания уровня. В данном случае стоит 'nil', значит ролик отсутствует[/spoiler] Цитировать Жалоба #345 win32 Посетители + публикаций комментариев win32 14 января 2019 19:30 0 Astaroth, я вас благодарю от всей души! А "удалить" наоборот (сократить доступные пункты в колесе) как-то можно? Цитировать Жалоба #346 Astaroth Модераторы публикация комментариев Astaroth 14 января 2019 20:05 0 win32, просто надо в Levels.lua удалить всю строчку с уровнем и его данными Цитировать Жалоба #347 win32 Посетители + публикаций комментариев win32 14 января 2019 20:10 0 Astaroth, спасибо! (это я решил сделать себе мини-версию игры компактных размеров) Цитировать Жалоба #348 Saha2018 Посетители + публикаций комментариев Saha2018 5 мая 2020 19:33 0 Как добавить карты таро в оригинал, чтобы стало их не 24, а 30? Цитировать Жалоба #349 Str_Ghost Посетители публикации комментария Str_Ghost 22 февраля 2012 09:08 0 Если я не ошибаюсь, то этой строчки вообще быть не должно. Хотя, наверное надо в Language.clevel букву "c" написать большой, должно получиться так: Language.Clevel . Будь осторожен с регистром, кстати, lua не любит когда даже пропускаются заглавные буквы! P.S. Переместил в более подходящий раздел Цитировать Жалоба #350 ned18k Мастера публикаций комментариев ned18k 22 февраля 2012 12:55 0 Код можно был и простой цитатой вставить, без картинки. Как делают на форумах программистов обычно. Ошибка может быть много от чего: - нет данных для присвоения - неправильный тип данных - неправильно написан код (ошибки орфографии) и т.д. Потом, почему ты считаешь, что ошибка именно в этой строке. К компиляторе (или что там у пк используется) может быть указание на эту строку, а ошибка может быть в другом месте. Чтобы лучше понять почему ошибка, нужно понимать, что должна делать эта строка. Можешь сказать, что она точно делает? Цитировать Жалоба #351 ItramariN Посетители + публикаций комментариев ItramariN 22 февраля 2012 17:42 0 ЛУА различает строчные и прописные буквы, т.е. переменная АБВ и абв - разные переменные. Во вторых, имя класса - CLevel. В третьих, для ответа на данный вопрос недостаточно данных - не указан текст ошибки. В четвертых - строка делает какую-то хрень - в классе CLevel нет и не может быть переменной CLevel, к которой ты обратился. В пятых - обращение к языковым текстам - Languages.Texts[i], как видно из строчки выше. В шестых - отсутствует текст проверки на получение карты, следовательно первые две строчки можно удалить. Quote (ned18k)Потом, почему ты считаешь, что ошибка именно в этой строке. К компиляторе (или что там у пк используется) может быть указание на эту строку, а ошибка может быть в другом месте. ЛУА походу юзает не компилятор, а интерпретатор (первый создает исполняемый файл и доволен. Второй при запуске обрабатывает прогу без создания исполняемого файла). Не в этом суть - если ты что-то неправильно написал, прога тебе скажет, в какой строке ошибка. Но последующие ошибки могут возникнуть из-за самой первой. Итак, если есть вопросы по ошибкам в ЛУА, то выкладываем не только скрипт (желательно помечая измененную вами часть и строку ошибки), но и сообщение Пейнкиллера. Цитировать Жалоба #352 Баян Посетители + публикаций комментариев Баян 22 февраля 2012 19:37 0 Я хочу добавить свой уровень в игру Цитировать Жалоба #353 Str_Ghost Посетители публикации комментария Str_Ghost 22 февраля 2012 20:12 0 Баян, Если просто добавить уровень, то эта строчка вообще не нужна. Цитировать Жалоба #354 Баян Посетители + публикаций комментариев Баян 22 февраля 2012 20:33 0 А как добавить,чтобы через игру запустить? Цитировать Жалоба #355 Str_Ghost Посетители публикации комментария Str_Ghost 22 февраля 2012 20:44 0 Через игру карту запускают обычно через Powermad (в консоли набираешь pmloadlevel "названиеуровня", без кавычек) или через PainEditor. А если прямо в игре, то это надо скрипты ковырять, позже посмотрю поподробнее, если хочешь Цитировать Жалоба #356 Баян Посетители + публикаций комментариев Баян 22 февраля 2012 23:05 0 посмотри Цитировать Жалоба #357 Str_Ghost Посетители публикации комментария Str_Ghost 23 февраля 2012 15:55 0 Quote (Баян)посмотри Посмотрел. Архив со скриптами я приложил, качай и клади в "/Painkiller/Data/". Скрипт не сам придумал, а нагло стащил из Hills, надеюсь, автор мода меня простит Изначально скрипт отвечает за то, что через меню можно запустить карту "Собор". Изменения в файле PainMenu.lua (ищи в самом низу): Code function PainMenu:PlaySPMap() local map = "C1L1_Cathedral" local path = "../Data/Levels/C1L1_Cathedral/" local files = FS.FindFiles(path.."*.CLevel",1,0) if table.getn(files)<=0 then CONSOLE.AddMessage("Level 'C1L1_Cathedral' not found!!!") return 0 end CONSOLE.Activate(false) Lev._Name = map EDITOR.PostMessage(1,0) PMENU.MapSetCurrLevel( 1, 1 ) PMENU.SwitchToMenu() PMENU.Activate(false) end Итак, здесь тебе нужно изменить все "C1L1_Cathedral" на название своего уровня, который и будет грузиться (по названию .lua файла который ты приложил выше, я так понял тебе нужно написать Ruins, обязательно не забудь кавычки!) Code CONSOLE.AddMessage("Level 'C1L1_Cathedral' not found!!!") Эта строчка отвечает за то, что если карта отсутствует, то в консоль будет выведена надпись в скобках. Code if table.getn(files)<=0 then CONSOLE.AddMessage("Level 'C1L1_Cathedral' not found!!!") return 0 end А это отвечает за то, что если карта вдруг не найдётся, то игра ничего не запустит. Изменения в файле GameMenu.lua: Code Painkiller = { text = TXT.Menu.Painkiller, desc = "Play Cathedral!", x = -1, y = 300, action = "PainMenu:PlaySPMap()", sndLightOn = "menu/menu/option-light-on_main", }, А это и есть кнопочка, по нажатии которой загрузится наша карта. P.S. Надеюсь, понятно объяснил. Качайте, используйте в своих картах/модах. Цитировать Жалоба #358 ItramariN Посетители + публикаций комментариев ItramariN 23 февраля 2012 22:05 0 Quote (Баян)Я хочу добавить свой уровень в игру Сингл, мультиплеер? Замена существующей карты или добавление? И не лезь пока в скрипты вообще! Цитировать Жалоба #359 Str_Ghost Посетители публикации комментария Str_Ghost 23 февраля 2012 23:03 0 Quote (ItramariN)Сингл, мультиплеер? Разумеется сингл, .lua скрипты с настройками уровня прилагаются только к сингл уровням. Цитировать Жалоба #360