Войти на сайт

Авторизация, ждите ...
×

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

Сообщество скриптеров (Академия) 14 года 5 мес. назад #33942

  • James
  • James аватар
  • Вне сайта
  • Архитектор Миров
  • Ленивый мечтатель
  • Сообщений: 1167
  • Спасибо получено: 159
  • Писатель 2 местоПисатель3 место2 место Победитель конкурсаОрганизатор конкурсовРазработчик
Спасибо. Заработало.
Администратор запретил публиковать записи гостям.

Сообщество скриптеров (Академия) 14 года 5 мес. назад #33944

  • James
  • James аватар
  • Вне сайта
  • Архитектор Миров
  • Ленивый мечтатель
  • Сообщений: 1167
  • Спасибо получено: 159
  • Писатель 2 местоПисатель3 место2 место Победитель конкурсаОрганизатор конкурсовРазработчик
Помогите справиться с проблемой:

В scene_map в update у меня стоит:
    if $game_variables[25]!=0
     @ItmSpr.bitmap=Bitmap.new("Graphics/Pictures/ITEMS/item"+$game_variables[25].to_s(10)+".png")
   elsif @ItmSpr.bitmap!=nil
     @ItmSpr.bitmap.clear
   end
и
if Input.trigger?(Input::B)
      if $game_variables[25]>0
       $game_variables[25]=0
       @ItmSpr.bitmap.clear
      end

То есть, при доступе в меню изображение должно исчезать. Но оно мало того, что не исчезает (пока из меню обратно не выйдешь), так он ещё и отпечатывается в углу на чёрном фоне (я убрал там всякие меню, оставив лишь доступ к ивентарю и сейвскрину в центре).

Что делать?

_________________________________________________________________________________________
И ещё кое-что: Куда стоит перенести кусок
    if $game_variables[25]!=0
     @ItmSpr.bitmap=Bitmap.new("Graphics/Pictures/ITEMS/item"+$game_variables[25].to_s(10)+".png")
   elsif @ItmSpr.bitmap!=nil
     @ItmSpr.bitmap.clear
   end
Чтобы изображение создавалось только один раз - в противном случае это тормозит процесс игры.
Последнее редактирование: 14 года 5 мес. назад от James.
Администратор запретил публиковать записи гостям.

Сообщество скриптеров (Академия) 14 года 5 мес. назад #33945

  • Злодей
  • Злодей аватар
  • Вне сайта
  • Архитектор Миров
  • Настоящее звание: Прокуратор! Просто опечатка!
  • Сообщений: 1876
  • Спасибо получено: 78
Э ! Ты тут не один!)))
Администратор запретил публиковать записи гостям.

Сообщество скриптеров (Академия) 14 года 5 мес. назад #33950

  • James
  • James аватар
  • Вне сайта
  • Архитектор Миров
  • Ленивый мечтатель
  • Сообщений: 1167
  • Спасибо получено: 159
  • Писатель 2 местоПисатель3 место2 место Победитель конкурсаОрганизатор конкурсовРазработчик
Я без этих скриптов дему не могу закончить.)
Администратор запретил публиковать записи гостям.

Сообщество скриптеров (Академия) 14 года 5 мес. назад #33952

  • dark32
  • dark32 аватар
  • Вне сайта
  • Просветлённый
  • Тёмный
  • Сообщений: 361
  • Спасибо получено: 21
  • Организатор конкурсов
попробуй вместо @ItmSpr.bitmap.clear использовать @ItmSpr.bitmap.dispose
Тьма, тьма, и ничего кроме тьмы...

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

Сообщество скриптеров (Академия) 14 года 5 мес. назад #33955

  • James
  • James аватар
  • Вне сайта
  • Архитектор Миров
  • Ленивый мечтатель
  • Сообщений: 1167
  • Спасибо получено: 159
  • Писатель 2 местоПисатель3 место2 место Победитель конкурсаОрганизатор конкурсовРазработчик
Попробую. Сейчас это сделать проблематично:
Дабы избежать торможения, я перенёс кусок
    if $game_variables[25]!=0 
     $ItmSpr.bitmap=Bitmap.new("Graphics/Pictures/ITEMS/item"+$game_variables[25].to_s(10)+".png") 
   elsif $ItmSpr.bitmap!=nil 
     $ItmSpr.bitmap.clear 
   end  
В initialize в Scene_Map (Сделал этот метод). По идее, это значит, что при Scene_map.new должна выполняться проверка и рисоваться картинка. Проверка выполняется (я проверял), но картинка почему-то не рисуется.
___________________________________________________
UPD:Если надо, могу написать весь код


Часть сообщения скрыта для гостей. Пожалуйста, авторизуйтесь или зарегистрируйтесь, чтобы увидеть его.

Как можно всё это упростить и исправить ошибки?
Последнее редактирование: 14 года 5 мес. назад от James.
Администратор запретил публиковать записи гостям.

Сообщество скриптеров (Академия) 14 года 5 мес. назад #33960

  • James
  • James аватар
  • Вне сайта
  • Архитектор Миров
  • Ленивый мечтатель
  • Сообщений: 1167
  • Спасибо получено: 159
  • Писатель 2 местоПисатель3 место2 место Победитель конкурсаОрганизатор конкурсовРазработчик
Перенёс строчку "$ItmSpr=Sprite.new" из main в Scene_menu. Вначале в initialize (никак не отразилось), потом в update. Это сработало, но игра опять тормозит.

P.S. А в меню это всё равно пропечатывается... Даже с bitmap.dispose
Последнее редактирование: 14 года 5 мес. назад от James.
Администратор запретил публиковать записи гостям.

Сообщество скриптеров (Академия) 14 года 4 мес. назад #33971

  • dark32
  • dark32 аватар
  • Вне сайта
  • Просветлённый
  • Тёмный
  • Сообщений: 361
  • Спасибо получено: 21
  • Организатор конкурсов
Ломай (dispose) картинку когда вызываешь меню. Перед заданием новой картинки спрайту ломай её. Не помещай создание картинки в update. А где кусок в котором ты меняешь вещь в игре, не в меню?
Тьма, тьма, и ничего кроме тьмы...

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

Сообщество скриптеров (Академия) 14 года 4 мес. назад #33973

  • James
  • James аватар
  • Вне сайта
  • Архитектор Миров
  • Ленивый мечтатель
  • Сообщений: 1167
  • Спасибо получено: 159
  • Писатель 2 местоПисатель3 место2 место Победитель конкурсаОрганизатор конкурсовРазработчик
Если у меня создание картинки не стоит в update, то она не появляется. В initialize она по идее рисуется, я проверял, но её мгновенно что-то очищает. Поэтому она отрисовывается постоянно, что снижает скорость. Проблему с отпечатыванием картинки в меню я пока решил накладыванием на это место чёрного квадратика - но он появляется немного раньше меню. Т.е. резко появляется в углу квадрат, а уже потом плавно чернеет всё остальное.

P.s. Я пока третий кусок не сделал ещё. Можешь что-нибудь посоветовать?
Администратор запретил публиковать записи гостям.

Сообщество скриптеров (Академия) 14 года 4 мес. назад #33974

  • dark32
  • dark32 аватар
  • Вне сайта
  • Просветлённый
  • Тёмный
  • Сообщений: 361
  • Спасибо получено: 21
  • Организатор конкурсов
насчёт update, сделай проверку на существование картинки, если она существует то зачем её рисовать ещё раз.
Тьма, тьма, и ничего кроме тьмы...

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

Сообщество скриптеров (Академия) 14 года 4 мес. назад #33976

  • James
  • James аватар
  • Вне сайта
  • Архитектор Миров
  • Ленивый мечтатель
  • Сообщений: 1167
  • Спасибо получено: 159
  • Писатель 2 местоПисатель3 место2 место Победитель конкурсаОрганизатор конкурсовРазработчик
Я думаю, что проблема с меню также может заключаться в том, что я ставлю рисование в update. Т.е., при вызове меню картинка очищается, но update рисует его заново. Или проблема может быть как-то связана с Graphics. Graphics.freeze или что-то в этом роде. Тем не менее, твой совет проверю.
_______________________________
И как сделать эту проверку? По крайней мере, если использовать if $ItmSpr.bitmap=nil, то он, во-первых, картинку не отрисовывает, а во-вторых выдаёт ошибку при повторном доступе к инвентарю. Если же использовать if $ItmSpr=nil, то ошибка появляется уже при загрузке карты.
Последнее редактирование: 14 года 4 мес. назад от James.
Администратор запретил публиковать записи гостям.

Сообщество скриптеров (Академия) 14 года 4 мес. назад #33993

  • James
  • James аватар
  • Вне сайта
  • Архитектор Миров
  • Ленивый мечтатель
  • Сообщений: 1167
  • Спасибо получено: 159
  • Писатель 2 местоПисатель3 место2 место Победитель конкурсаОрганизатор конкурсовРазработчик
Ура! Я сделал это! Я обнаружил ошибку, чёрт побери!

Честно признаться, я идиот. Я при создании спрайта не назначил ему z. Итого он создаётся на одном уровне с картой, и в следующий же кадр карта его перекрывает.

А, назначив z, я избавился сразу от двух проблем - не надо помещать создание в update, и поэтому, при выходе в меню его можно спокойно удалить.

Теперь надо бы сделать "прокрутку" - смену предметов по шифту. Что можно посоветовать?

____________________________
Где хранится информация о количестве/наличии/отсутствии предметов в инвентаре?
Последнее редактирование: 14 года 4 мес. назад от James.
Администратор запретил публиковать записи гостям.

Сообщество скриптеров (Академия) 14 года 4 мес. назад #33997

  • dark32
  • dark32 аватар
  • Вне сайта
  • Просветлённый
  • Тёмный
  • Сообщений: 361
  • Спасибо получено: 21
  • Организатор конкурсов
Смотрим стандартные скрипты, а именно инвентарь. Если коментарии не были удалены, то там всё написано
Тьма, тьма, и ничего кроме тьмы...

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

Сообщество скриптеров (Академия) 14 года 4 мес. назад #34001

  • James
  • James аватар
  • Вне сайта
  • Архитектор Миров
  • Ленивый мечтатель
  • Сообщений: 1167
  • Спасибо получено: 159
  • Писатель 2 местоПисатель3 место2 место Победитель конкурсаОрганизатор конкурсовРазработчик
Всё. Я закончил скрипт - он работает - переключает предметы. Могу выложить:

ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]


Может, можно как-нибудь упростить?
Последнее редактирование: 14 года 4 мес. назад от James.
Администратор запретил публиковать записи гостям.

Сообщество скриптеров (Академия) 14 года 4 мес. назад #34003

  • Злодей
  • Злодей аватар
  • Вне сайта
  • Архитектор Миров
  • Настоящее звание: Прокуратор! Просто опечатка!
  • Сообщений: 1876
  • Спасибо получено: 78
поподробнее... что делает твой скрипт? В каком смысле переключает!?
Администратор запретил публиковать записи гостям.

Сообщество скриптеров (Академия) 14 года 4 мес. назад #34008

  • dark32
  • dark32 аватар
  • Вне сайта
  • Просветлённый
  • Тёмный
  • Сообщений: 361
  • Спасибо получено: 21
  • Организатор конкурсов
Мой мозг категорически отказывается понимать зачем в скрипте loop.
Кажется допёр...
В принципе скрипт нормальный, можно конечно сделать по другому, но и этот хорошо сделан
Тьма, тьма, и ничего кроме тьмы...

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

Сообщество скриптеров (Академия) 14 года 4 мес. назад #34012

  • Злодей
  • Злодей аватар
  • Вне сайта
  • Архитектор Миров
  • Настоящее звание: Прокуратор! Просто опечатка!
  • Сообщений: 1876
  • Спасибо получено: 78
поподробнее... что делает твой скрипт? В каком смысле переключает!?
Администратор запретил публиковать записи гостям.

Сообщество скриптеров (Академия) 14 года 4 мес. назад #34023

  • James
  • James аватар
  • Вне сайта
  • Архитектор Миров
  • Ленивый мечтатель
  • Сообщений: 1167
  • Спасибо получено: 159
  • Писатель 2 местоПисатель3 место2 место Победитель конкурсаОрганизатор конкурсовРазработчик
У меня в инвентаре есть предметы. Выбирая какой-нибудь предмет я изменяю переменную 25 - она влияет на игру (напр. в эвенте прописать, если равно 2 (нож), то убить, если 4 (палка) - оглушить и т.п.). Причём для каждого предмета есть картинка. Этот скрипт переключает эти предметы - выбирается следующий из имеющихся (Или предыдущий). Если предмет включает коммон эвент, то предмет пропускается.
Администратор запретил публиковать записи гостям.

Сообщество скриптеров (Академия) 14 года 4 мес. назад #34025

  • James
  • James аватар
  • Вне сайта
  • Архитектор Миров
  • Ленивый мечтатель
  • Сообщений: 1167
  • Спасибо получено: 159
  • Писатель 2 местоПисатель3 место2 место Победитель конкурсаОрганизатор конкурсовРазработчик
Кстати, ещё кое что спросить: Мне надо, чтобы когда получил предмет, в углу его картинка замигала (Или просто появилась и исчезла). Как это можно реализовать?

Насколько я понимаю, это делается в Game_Party, в Gain_Item. В таком случае, как сделать паузу (скушать twix не предлагать)? Т.е. на секунду появилась картинка (пауза), исчезла (ещё пауза), снова появилась (и опять пауза), а потом вернулась картинка выбранного предмета. Меня интересует только как сделать эту паузу, чтобы в общем игра не останавливалась (можно было ходить и т.д.) - как сделать остальное, вроде бы, понятно (Если моё предположение о Game_Party верно)
Администратор запретил публиковать записи гостям.

Сообщество скриптеров (Академия) 14 года 4 мес. назад #34026

  • dark32
  • dark32 аватар
  • Вне сайта
  • Просветлённый
  • Тёмный
  • Сообщений: 361
  • Спасибо получено: 21
  • Организатор конкурсов
MOG в помощь

Часть сообщения скрыта для гостей. Пожалуйста, авторизуйтесь или зарегистрируйтесь, чтобы увидеть его.
Тьма, тьма, и ничего кроме тьмы...

ПОМОГИТЕ!!! или как быстро получить бан!
Последнее редактирование: 14 года 4 мес. назад от dark32.
Администратор запретил публиковать записи гостям.
Модераторы: NeKotZima
Время создания страницы: 0.547 секунд