PainkilleR

Фан-клуб

ОПРОС

Оцените этот сайт

menuleft3
menuleft4

Помощь с Lua-скриптами

В чём ошибка?

Как правильно?
[signature]
--------------------
{signature}
[/signature]
[fast]Цитировать[/fast] Жалоба
#0
TranZit
Мастера
  • публикаций
  • комментариев
И да, сколько раз подряд в процессе тестирования ты покупал карты той же стоимостью, что и золото у игрока?
Просто есть одна деталь: данный краш реагирует на карты по-разному. Я тестировал карты стоимостью в сто монет, и вот что вышло: с картой «Скорость» придётся посидеть, чтоб заставить её крашнуть игру; карта «Выносливость» крашит игру после нескольких (может 3-4, точно уже не помню) второй её покупки; а вот карта «Энергия» крашит игру почти всегда при первой покупке (ну, иногда может и после второй покупки). Если ты, допустим, один раз покупал карту «Скорость», оно и не удивительно, что ты тут про бредовые вещи твердишь.
Цитировать Жалоба
Jourgensen
Модераторы
  • публикаций
  • комментариев
Гениально! facepalm

Добавлено (01.06.2016, 23:46)
---------------------------------------------
А почему бы мне и не написать? Прибавив к общему количеству золота игрока ТРИ, ДВЕ, да хоть сколько монет, это ты так исправил проблему? Лол.

Цитировать Жалоба
TranZit
Мастера
  • публикаций
  • комментариев
Цитата Jourgensen ()
Прибавив к общему количеству золота игрока ТРИ, ДВЕ, да хоть сколько монет, это ты так исправил проблему?
Я хоть как-то исправил проблему.
Цитировать Жалоба
TranZit
Мастера
  • публикаций
  • комментариев
И да, раз всё знаешь, напиши сюда альтернативный вариант избежания этого бага. Эта ахинея не в счёт:
Цитата Jourgensen ()
Достаточно просто взять и вытащить модуль MagicBoard.lua из запакованного архива и оставить в каталоге с игрой.
Цитировать Жалоба
Jourgensen
Модераторы
  • публикаций
  • комментариев
У меня ЭТА АХИНЕЯ прекрасно работает.
Цитировать Жалоба
TranZit
Мастера
  • публикаций
  • комментариев
В том-то и дело, что только у тебя.
Цитировать Жалоба
Jourgensen
Модераторы
  • публикаций
  • комментариев
Назови людей у кого еще не работает ЭТА АХИНЕЯ.
Цитировать Жалоба
TranZit
Мастера
  • публикаций
  • комментариев
У всех моих друзей, допустим.
Цитировать Жалоба
Jourgensen
Модераторы
  • публикаций
  • комментариев
А твои друзья хоть что-то в этом смыслят? Или у них всегда всё как у ТЕБЯ?
Цитировать Жалоба
TranZit
Мастера
  • публикаций
  • комментариев
Мои друзья так же, как и я, занимаются модмейкингом. И помогают мне почти с каждым проектом. Вот я ради интереса рассказал каждому, что и как нужно сделать, а потом выполнить действия в самой игре. И у каждого неоднократно происходил вылет. А мой скрипт пришёлся им по душе.
Цитировать Жалоба
Jourgensen
Модераторы
  • публикаций
  • комментариев
Ладно. Спорить все равно бесполезно. Я лучше видео все таки покажу потом в подтверждение того, что эта АХИНЕЯ работает, чтобы ты наконец убедился и поверил в чудо.
Цитировать Жалоба
TranZit
Мастера
  • публикаций
  • комментариев
Бросок гранаты из NecroVisioN.

Я перенёс бросок гранаты из NecroVisioN на оригинал v1.64. Получилось не так, как в Некро, но в целом не плохо. Перенёс только один вид гранаты — Stielhandgranate 24, по-русски — «Колотушка». Бросать на G.

Скачать (9.45 МБ).
Архив распаковать в папку с игрой.
Цитировать Жалоба
Painkiller-Ivan
Посетители +
  • публикаций
  • комментариев
В Painkiller: BooH уровень "Мёртвый город" зависает при сохранении объекта на рабочий стол, находясь в PainEditor'е. Баг также есть в популярных модах.
Цитировать Жалоба
win32
Посетители +
  • публикаций
  • комментариев
Цитата nonnamed ()
Как правильно расположить уровни?


А как добавить или удалить уровни в колесо/из колеса?..
Цитировать Жалоба
Astaroth
Модераторы
  • публикация
  • комментариев
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/Main
3) Название скетч-картинки для уровня, находится в Textures/HUD/Map
4) Наименование задания статуса карты Таро при просмотре статистики уровня на колесе. Аналогично со 2м пунктом
5) Индекс карты Таро, которую игрок получит за выполненное задание, нужно для того чтобы корректно отображался статус ОТКРЫТО или ЗАКРЫТО
6) Индекс сложности, на котором уровень будет доступен. То есть: 0 - на всех сложностях, 1 - на всех кроме дрёмы, 2 - кошмар и безумие, 3 - только на сложности безумие
7) Видеоролик, который будет воспроизводиться после окончания уровня. В данном случае стоит 'nil', значит ролик отсутствует[/spoiler]
Цитировать Жалоба
win32
Посетители +
  • публикаций
  • комментариев
Astaroth, я вас благодарю от всей души! 
А "удалить" наоборот (сократить доступные пункты в колесе) как-то можно?
Цитировать Жалоба
Astaroth
Модераторы
  • публикация
  • комментариев
win32, просто надо в Levels.lua удалить всю строчку с уровнем и его данными
Цитировать Жалоба
win32
Посетители +
  • публикаций
  • комментариев
Astaroth, спасибо! 
(это я решил сделать себе мини-версию игры компактных размеров)  :)
Цитировать Жалоба
Saha2018
Посетители +
  • публикаций
  • комментариев
Как добавить карты таро в оригинал, чтобы стало их не 24, а 30?
Цитировать Жалоба
Str_Ghost
Посетители
  • публикации
  • комментария
Если я не ошибаюсь, то этой строчки вообще быть не должно. Хотя, наверное надо в Language.clevel букву "c" написать большой, должно получиться так: Language.Clevel . Будь осторожен с регистром, кстати, lua не любит когда даже пропускаются заглавные буквы!

P.S. Переместил в более подходящий раздел
Цитировать Жалоба
ned18k
Мастера
  • публикаций
  • комментариев
Код можно был и простой цитатой вставить, без картинки. Как делают на форумах программистов обычно.

Ошибка может быть много от чего:
- нет данных для присвоения
- неправильный тип данных
- неправильно написан код (ошибки орфографии)

и т.д.

Потом, почему ты считаешь, что ошибка именно в этой строке. К компиляторе (или что там у пк используется) может быть указание на эту строку, а ошибка может быть в другом месте.

Чтобы лучше понять почему ошибка, нужно понимать, что должна делать эта строка. Можешь сказать, что она точно делает?
Цитировать Жалоба
ItramariN
Посетители +
  • публикаций
  • комментариев
ЛУА различает строчные и прописные буквы, т.е. переменная АБВ и абв - разные переменные. Во вторых, имя класса - CLevel. В третьих, для ответа на данный вопрос недостаточно данных - не указан текст ошибки. В четвертых - строка делает какую-то хрень - в классе CLevel нет и не может быть переменной CLevel, к которой ты обратился. В пятых - обращение к языковым текстам - Languages.Texts[i], как видно из строчки выше. В шестых - отсутствует текст проверки на получение карты, следовательно первые две строчки можно удалить.
Quote (ned18k)
Потом, почему ты считаешь, что ошибка именно в этой строке. К компиляторе (или что там у пк используется) может быть указание на эту строку, а ошибка может быть в другом месте.

ЛУА походу юзает не компилятор, а интерпретатор (первый создает исполняемый файл и доволен. Второй при запуске обрабатывает прогу без создания исполняемого файла). Не в этом суть - если ты что-то неправильно написал, прога тебе скажет, в какой строке ошибка. Но последующие ошибки могут возникнуть из-за самой первой.
Итак, если есть вопросы по ошибкам в ЛУА, то выкладываем не только скрипт (желательно помечая измененную вами часть и строку ошибки), но и сообщение Пейнкиллера.
Цитировать Жалоба
Баян
Посетители +
  • публикаций
  • комментариев
Я хочу добавить свой уровень в игру
Цитировать Жалоба
Str_Ghost
Посетители
  • публикации
  • комментария
Баян, Если просто добавить уровень, то эта строчка вообще не нужна. wink
Цитировать Жалоба
Баян
Посетители +
  • публикаций
  • комментариев
А как добавить,чтобы через игру запустить?
Цитировать Жалоба
Str_Ghost
Посетители
  • публикации
  • комментария
Через игру карту запускают обычно через Powermad (в консоли набираешь pmloadlevel "названиеуровня", без кавычек) или через PainEditor. А если прямо в игре, то это надо скрипты ковырять, позже посмотрю поподробнее, если хочешь wink
Цитировать Жалоба
Баян
Посетители +
  • публикаций
  • комментариев
посмотри
Цитировать Жалоба
Str_Ghost
Посетители
  • публикации
  • комментария
Quote (Баян)
посмотри

Посмотрел. Архив со скриптами я приложил, качай и клади в "/Painkiller/Data/". Скрипт не сам придумал, а нагло стащил из Hills, надеюсь, автор мода меня простит happy Изначально скрипт отвечает за то, что через меню можно запустить карту "Собор".

Изменения в файле 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. Надеюсь, понятно объяснил. Качайте, используйте в своих картах/модах. smile
Цитировать Жалоба
ItramariN
Посетители +
  • публикаций
  • комментариев
Quote (Баян)
Я хочу добавить свой уровень в игру

Сингл, мультиплеер? Замена существующей карты или добавление? И не лезь пока в скрипты вообще!
Цитировать Жалоба
Str_Ghost
Посетители
  • публикации
  • комментария
Quote (ItramariN)
Сингл, мультиплеер?

Разумеется сингл, .lua скрипты с настройками уровня прилагаются только к сингл уровням. teehee
Цитировать Жалоба

Добавить комментарий

Автору будет очень приятно узнать обратную связь о своей новости.

Мы в ВК

***
Фан группа по игре
Большая группа по игре
Первая группа по игре
menuright2
menuright3
menuright4
Сайт работает под управлением DataLife Engine.
© PainkillerClub.ru 2011-2023 | © Design by Мария Андрюшечкина.