Сообщество скриптеров (Академия)

Организатор конкурсов
Больше
15 года 10 мес. назад - 15 года 10 мес. назад #33370 от dark32
Полезность для папок. Очищает не пустую директорию
Code:
class Dir def clear! counter = 0 map do |item| if item != '.' && item != '..' if File.directory?("#{path}/#{item}") counter += Dir.new("#{path}/#{item}").clear! Dir.rmdir "#{path}/#{item}" else File.unlink "#{path}/#{item}" counter += 1 end end end counter end end

Тьма, тьма, и ничего кроме тьмы...

ПОМОГИТЕ!!! или как быстро получить бан!
Последнее редактирование: 15 года 10 мес. назад пользователем dark32.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • Злодей
  • Автор темы
  • Не в сети
  • Заблокирован
  • Заблокирован
  • Настоящее звание: Прокуратор! Просто опечатка!
Больше
15 года 10 мес. назад #33373 от Злодей
пока не могу понять, что делает этот код. Он вычищает файлы из директории?
И его через ивент запускать? И как скрипт связан с классом Item?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Организатор конкурсов
Больше
15 года 10 мес. назад #33374 от dark32
Добавляешь его в скрипты. Он удаляет всё из директории, кроме самой директории. С item он ни как не связан. А запускать его просто:
Dir.new(dirname).clear!

Тьма, тьма, и ничего кроме тьмы...

ПОМОГИТЕ!!! или как быстро получить бан!

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • Злодей
  • Автор темы
  • Не в сети
  • Заблокирован
  • Заблокирован
  • Настоящее звание: Прокуратор! Просто опечатка!
Больше
15 года 10 мес. назад #33375 от Злодей
Это как для быстрой очистки сейвов?
А я хосу узнать, если указанная директория будет отсутствовать, он создаст её?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Организатор конкурсов
Больше
15 года 10 мес. назад - 15 года 10 мес. назад #33376 от dark32
Проверил. Не создаёт, вылетает с ошибкой.
Как создать папку я писал выше.

Тьма, тьма, и ничего кроме тьмы...

ПОМОГИТЕ!!! или как быстро получить бан!
Последнее редактирование: 15 года 10 мес. назад пользователем dark32.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • Злодей
  • Автор темы
  • Не в сети
  • Заблокирован
  • Заблокирован
  • Настоящее звание: Прокуратор! Просто опечатка!
Больше
15 года 10 мес. назад #33379 от Злодей
Dir.exist?(dirname) - это не сработало

За то сработало это:

File.directory?(dir)
else...

Большое спасибо! Создаёт директорию, и даже кладёт в неё сейвы!

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Организатор конкурсов
Больше
15 года 10 мес. назад - 15 года 10 мес. назад #33419 от dark32
Мне нужна помощь, как ни странно это звучит.
В Ruby есть Proc и lambda, в теории различия ясны.
Первый - поглощает все аргументы, второй - только столько сколько в нём описано.
Если их меньше то первый присваивает nil, второй вызывает ошибку (исключение)
Если больше: первый - игнарирует лишние, второй - ызывает ошибку (исключение)
Сам вопрос: В чем тогда смысл lambda, если он вызывает исключения чаще?

Вопрос снят. Ответ найден:

Ответ кроется в концептуальном различии между процедурами и методами. Процедуры (Proc) в Ruby - это фрагмент кода, не метод. Поэтому return в proc_return по сути является return для самого метада, в котором тот был выполнен. Лямбды (lambda) ведут себя как методы, они проверяют количество аргументов и не переопределяют вызов return в методах. Поэтому проще считать лямбды безымянными методами.


Тьма, тьма, и ничего кроме тьмы...

ПОМОГИТЕ!!! или как быстро получить бан!
Последнее редактирование: 15 года 10 мес. назад пользователем dark32.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • Злодей
  • Автор темы
  • Не в сети
  • Заблокирован
  • Заблокирован
  • Настоящее звание: Прокуратор! Просто опечатка!
Больше
15 года 10 мес. назад #33720 от Злодей
Подскажите пожалуйста оператор, с помощью которого можно сделать снимок экрана (того, что происходит в игре) и сохранить его в файл, а потом стереть.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Организатор конкурсов
Больше
15 года 10 мес. назад - 15 года 10 мес. назад #33725 от dark32
А зачем это делать?
Собственно есть скрипт на это.
Скрипт из блокнота вставить до маина, .dll положить в папку с игрой.
Снимать скриншот Screen::shot(filename)
Удалять File.delete(filename)

Вложенный файл:

Имя файла: ScreenShot.zip
Размер файла:53.51 КБ

Тьма, тьма, и ничего кроме тьмы...

ПОМОГИТЕ!!! или как быстро получить бан!
Последнее редактирование: 15 года 10 мес. назад пользователем dark32.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • Злодей
  • Автор темы
  • Не в сети
  • Заблокирован
  • Заблокирован
  • Настоящее звание: Прокуратор! Просто опечатка!
Больше
15 года 10 мес. назад #33731 от Злодей
Ага, спасибо, нашёл.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Организатор конкурсов Разработчик Писатель Писатель 2 место 2 место Победитель конкурса 3 место
Больше
15 года 10 мес. назад #33899 от James
Свою CBS я пока забросил, делаю проект. Есть пара вопросов.

1) Нужно, чтобы при выборе предмета из инвентаря в переменную, допустим, №25 заносился номер этого предмета.
2) И нужно, чтобы при выборе предмета в правом верхнем углу появлялась картинка из папки pictures/items с названием, равным номеру предмета (Лучше сразу, переменной №25 - в таком случае, при обнулении её эвентами картинка исчезнет, как и должна)
3) И при нажатии шифта чтобы переменная №25 обнулялась. Ну это я и сам эвентами могу сделать.

Прошу помочь, заранее благодарен за информацию

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Организатор конкурсов
Больше
15 года 10 мес. назад - 15 года 10 мес. назад #33902 от dark32
А при чём тут скрипты? Всё решается на GUI через Common event
встречный вопро предмет = вещь или ещё оружие и броня
1) для вещей есть опция коммон эвент
2) сделай в коммон эвенте ветвление на проверку числа и в зависимости от числа выводи ту или иную картинку

если var[25]== 1 тогда
показать картинку 1
иначе
если var[25]== 2 тогда
показать картинку 2
иначе...

3) паралельный коммон эвент.
если нажата клавиша шифт тогдп
var[20]=0

Многое можно сделать эвентами, очень многое. Но по эвентам вопросы задавайте не мне, я в них не силён.
З.Ы. Или нужно именно скрипт?

Тьма, тьма, и ничего кроме тьмы...

ПОМОГИТЕ!!! или как быстро получить бан!
Последнее редактирование: 15 года 10 мес. назад пользователем dark32.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Организатор конкурсов Разработчик Писатель Писатель 2 место 2 место Победитель конкурса 3 место
Больше
15 года 10 мес. назад - 15 года 10 мес. назад #33906 от James
Я знаю, что так можно, и пока у меня так всё и устроено.
Но у меня нет ни желания ни возможности писать кучу коммон эвентов по одному на предмет со всего одной строчкой. Я считаю, что это нерационально. Поэтому и прошу скрипт или помощи.

Кстати, а лучше бы по шифту не обнулялась переменная,а выбирался из инвентаря следующий предмет. Эвентами это будет сделать сложнее, но это хотя бы оправдает нажатие шифта вместо эскейпа.
Последнее редактирование: 15 года 10 мес. назад пользователем James.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Организатор конкурсов
Больше
15 года 10 мес. назад - 15 года 10 мес. назад #33907 от dark32
Понимаешь, здесь по 1 пункту не просто написать рациональное решение не затронув родные скрипты. Просто так предмет не вытащить в переменную.
А во 2 пункт можно реализовать через скрипт
case var[25]
when 1
<....>
when 2
<....>
else
<....>
end
или написать дополнительное окошечко, наподобие того что для голда выводится
Для 3 не вижу смысла в скрипте.

# var[25] - условное обазначение.

Тьма, тьма, и ничего кроме тьмы...

ПОМОГИТЕ!!! или как быстро получить бан!
Последнее редактирование: 15 года 10 мес. назад пользователем dark32.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Организатор конкурсов Разработчик Писатель Писатель 2 место 2 место Победитель конкурса 3 место
Больше
15 года 10 мес. назад #33912 от James
1)Так я и прошу помочь отредактировать родные скрипты. Где и что там надо прописать?
2)Тут можно проще - просто у меня названия картинок предметов совпадают с ID предметов. Я уже как-то смог загрузить спрайт в имени кот-ого есть переменная, мне просто надо знать, куда его вызов прописывать.
3)Просто прибавлять к №25 один нельзя - предмета ведь может и не быть в инвентаре. Поэтому тут нужны постоянные проверки на это. Вот если бы можно было как-нибудь скриптом...

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • Злодей
  • Автор темы
  • Не в сети
  • Заблокирован
  • Заблокирован
  • Настоящее звание: Прокуратор! Просто опечатка!
Больше
15 года 10 мес. назад #33914 от Злодей
скажите, как сохранить предметы в массив, или как быстро очстить инвентарь через скрипт?
Есть такие моменты, где нужно разбить партию на 2 части, а инвентарь как бы остаётся общим. А Это не правдоподобно...

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Организатор конкурсов Разработчик Писатель Писатель 2 место 2 место Победитель конкурса 3 место
Больше
15 года 10 мес. назад #33937 от James
Я, кажется, понял, что делать для 1 и 2. Мне лишь надо понять, как, чёрт побери, в скрипте занести/получить информацию в/из переменную/ой?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Организатор конкурсов
Больше
15 года 10 мес. назад - 15 года 10 мес. назад #33938 от dark32
Присвоить переменной

Тьма, тьма, и ничего кроме тьмы...

ПОМОГИТЕ!!! или как быстро получить бан!
Последнее редактирование: 15 года 10 мес. назад пользователем dark32.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Организатор конкурсов Разработчик Писатель Писатель 2 место 2 место Победитель конкурса 3 место
Больше
15 года 10 мес. назад #33940 от James
Какой именно? Мне нужна именно переменная, которую можно использовать в эвентах.
Насколько я понимаю, переменные - это какой-то массив, как он называется?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Организатор конкурсов
Больше
15 года 10 мес. назад #33941 от dark32
$game_variables

Тьма, тьма, и ничего кроме тьмы...

ПОМОГИТЕ!!! или как быстро получить бан!

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Время создания страницы: 0.152 секунд
Работает на Kunena форум