|
|
|
#16 Добавлено: 23 июня 2011 20:51 |
|
|
|
|
Посетители
vladgalay
--
Возраст: 27 |  |
Сообщений: 1400
Благодарности: 22 / 150
Репутация: 190
Предупреждений: 0
Друзья
Тут: 13 лет 4 месяцa
|
|
nikita1996spb, я уже и так понял  . Смотри: Предположим, до while true do вставим функцию dofile, распознающую весь файл как скрипт, и читающую оттуда переменные, и пропишем путь к файлу конфигурации:dofile("config.ini") Структура файла config.ini по умолчанию такова:lang = 1 scrload = 1 sound = 1 А если настройки поменялись, поможет следующий код, уже после while true do: System.removeFile("config.ini") config = io.open("config.ini","w") config:write("lang = "..lang.."/n scrload = "..scrload.."/n sound = "..sound) config:close() config = nil
Вроде бы, всё  ! Надеюсь поможет  !
|
|
|
|
Спасибо за пост: 1 |
#17 Добавлено: 23 июня 2011 21:04 |
|
|
|
|
|
|
ап Добавлено спустя 9 минут 7 секунд:vladgalay , dofile("config.ini")
lang = 1 scrload = 1 sound = 1
Это мы считываем файл конфигурации А если настройки поменялись, поможет следующий код, уже после while true do:
System.removeFile("config.ini") config = io.open("config.ini","w") config:write("lang = "..lang.."/n scrload = "..scrload.."/n sound = "..sound) config:close() config = nil
не понял  . можешь для конкретики написать, допустим, скрипт, чтобы при нажатии на X менялось значение lang с 1 на 2, а при нажатии O менялось scrload с 1 на 0 и всё это сохранялось. Я потом поменяю всё на стрелочки и крестик поменяю сам 
|
|
|
|
|
#18 Добавлено: 23 июня 2011 21:06 |
|
|
|
|
Посетители
vladgalay
--
Возраст: 27 |  |
Сообщений: 1400
Благодарности: 22 / 150
Репутация: 190
Предупреждений: 0
Друзья
Тут: 13 лет 4 месяцa
|
|
nikita1996spb, последний скрипт вставишь тогда, когда произойдёт выход из опций  .
|
|
|
|
|
#19 Добавлено: 23 июня 2011 21:15 |
|
|
|
|
|
|
config = io.open("config.ini","w") то есть по этой команде создаётся новый файл. и в самом скрипте пишу if lang == 1 and scrload == 0 and scrload == 0 and pad:cross then System.removeFile("config.ini") config = io.open("config.ini","w") config:write("lang = 1/n scrload = 0/n sound = 0")[/quote] config:close() config = nil dofile('script.lua") end при этом игра перезагружается с новыми настройками, если перед while true do строчка dofile("config.ini")? 
|
|
|
|
Спасибо за пост: 1 |
#20 Добавлено: 23 июня 2011 21:22 |
|
|
|
|
Посетители
vladgalay
--
Возраст: 27 |  |
Сообщений: 1400
Благодарности: 22 / 150
Репутация: 190
Предупреждений: 0
Друзья
Тут: 13 лет 4 месяцa
|
|
nikita1996spb, чтобы игра в прямом смысле слова перезагрузилась, нужно сделать следующее: if lang == 1 and scrload == 0 and scrload == 0 and pad:cross then System.removeFile("config.ini") config = io.open("config.ini","w") config:write("lang = 1/n scrload = 0/n sound = 0")[/quote] config:close() config = nil dofile('script.lua") end System.runeboot("EBOOT.PBP")
Поймёшь, надеюсь, что я имел ввиду  .
|
|
|
|
|
#21 Добавлено: 23 июня 2011 21:43 |
|
|
|
|
|
|
System.runeboot("EBOOT.PBP") Этим мы перезагружаем и LuaPlayer, dofile перезагружает только скрипт(игру). Эффект в данном случае, одинаковый  . А если не сложно, можешь ещё кое в чём подсказать? Допустим я хочу, чтобы игра запускала определённый скрипт из определённой папки. Если его там нет, то она напишет стандартную ошибку. Как сделать так, чтобы, если файл есть - выполняет его, а если нет - пишет посередине экрана "File not found"(ну или другое действие)  Сообщение отредактировано 23 июня 2011 21:44. Редактировалось 2 раз(а)
|
|
|
|
|
#22 Добавлено: 23 июня 2011 21:46 |
|
|
|
|
Посетители
vladgalay
--
Возраст: 27 |  |
Сообщений: 1400
Благодарности: 22 / 150
Репутация: 190
Предупреждений: 0
Друзья
Тут: 13 лет 4 месяцa
|
|
Цитата: nikita1996spb Этим мы перезагружаем и LuaPlayer, dofile перезагружает только скрипт(игру) System.runeboot лучше тем, что он полностью перезагружает LuaPlayer, освобождая RAM, а dofile загружает скрипт, не перезагружая ничего тем самым, нагружая RAM. Цитата: nikita1996spb А если не сложно, можешь ещё кое в чём подсказать? Допустим я хочу, чтобы игра запускала определённый скрипт из определённой папки. Если его там нет, то она напишет стандартную ошибку. Как сделать так, чтобы, если файл есть - выполняет его, а если нет - пишет посередине экрана "File not found"(ну или другое действие) Ну вот скажи - на кой оно тебе надо  ? Ладно, как так сделать я знаю, скоро напишу  .
|
|
|
|
|
#23 Добавлено: 23 июня 2011 22:20 |
|
|
|
|
|
|
System.runeboot лучше тем, что он полностью перезагружает LuaPlayer, освобождая RAM, а dofile загружает скрипт, не перезагружая ничего тем самым, нагружая RAM. тогда так: if lang == 1 and scrload == 0 and scrload == 0 and pad:cross then System.removeFile("config.ini") config = io.open("config.ini","w") config:write("lang = 1/n scrload = 0/n sound = 0")[/quote] config:close() config = nil System.runeboot("EBOOT.PBP") end
Ну вот скажи - на кой оно тебе надо? Хочу в игру включить несколько слотов для созданных пользователем карт и мануал по их созданию  Сообщение отредактировано 23 июня 2011 22:20. Редактировалось 5 раз(а)
|
|
|
|
|
#24 Добавлено: 23 июня 2011 22:28 |
|
|
|
|
Посетители
vladgalay
--
Возраст: 27 |  |
Сообщений: 1400
Благодарности: 22 / 150
Репутация: 190
Предупреждений: 0
Друзья
Тут: 13 лет 4 месяцa
|
|
nikita1996spb, завтра напишу, ибо сейчас не вспомню функции одной... 
|
|
|
|
|
#25 Добавлено: 24 июня 2011 10:32 |
|
|
|
|
Посетители
vladgalay
--
Возраст: 27 |  |
Сообщений: 1400
Благодарности: 22 / 150
Репутация: 190
Предупреждений: 0
Друзья
Тут: 13 лет 4 месяцa
|
|
nikita1996spb, есть одна функция, проверяющая файл на его наличие  : f = System.doesFileExist("Путь к файлу")Функция возвращает значение true, если файл есть, и false, если нет. Дальше, надеюсь разберёшься  !
|
|
|
|
|
#27 Добавлено: 27 июня 2011 20:37 |
|
|
|
|
Посетители
vladgalay
--
Возраст: 27 |  |
Сообщений: 1400
Благодарности: 22 / 150
Репутация: 190
Предупреждений: 0
Друзья
Тут: 13 лет 4 месяцa
|
|
nikita1996spb, глянул. Но у меня ведь и свои дела есть, верно  ?
|
|
|
|
|
#28 Добавлено: 27 июня 2011 22:43 |
|
|
|
|
|
|
vladgalay,ты просто обычно пишешь в таких случаях что-нибудь типа "сейчас не могу посмотрю через час" Добавлено спустя 57 минут 22 секунды:ап Сообщение отредактировано 27 июня 2011 21:46. Редактировалось 1 раз(а)
|
|
|
|
|
#30 Добавлено: 30 июня 2011 07:05 |
|
|
|
|
Посетители
vladgalay
--
Возраст: 27 |  |
Сообщений: 1400
Благодарности: 22 / 150
Репутация: 190
Предупреждений: 0
Друзья
Тут: 13 лет 4 месяцa
|
|
nikita1996spb, уже знаю, как такое сделать. Осталось только код написать  .
|
|
|