Плохо! Плохо!:  0
Показано с 1 по 8 из 8

Тема: Удаление сохранения при окончании всех "попыток"

  1. #1

    По умолчанию Удаление сохранения при окончании всех "попыток"

    Интересует возможно ли сделать счетчик "попыток" по типу тех что были(и все еще есть) в платформерах (Скрин с соником как пример) по окончанию которых игра начиналась с самого начала


  2. #2
    Супер-модератор Аватар для dirge
    Информация о пользователе
    Регистрация
    25.02.2013
    Сообщений
    924
    Репутация: 79 Добавить или отнять репутацию

    По умолчанию

    Дык, а в чем проблема?) Выключаешь сохранения и все, если человек проиграл - все сначала. А если ты хочешь все же как-то игрока сохранять, то можно сделать коды в конце уровня, чтобы начать с определенного уровня, как это бывало в старых играх. Причем можно сделать 3 разных кода на один уровень, каждый из которых бы выдавался в зависимости сколько попыток у игрока осталось.
    Но это если ты тоже хочешь сделать что-то типа платформера с уровнями.
    А так на любом мейкере, в котором есть пользовательские скрипты, можно сделать удаление сохранения.
    Да, счетчик, совсем забыл. Делается он довольно просто, если у тебя этих попыток немного. Через картинки отображаешь, выделяешь каждой попытке одну картинку, а через переменную ведешь счет и в принципе все. При потере жизни уменьшаешь переменную на один и скрываешь одну картинку, и так пока все жизни не уйдут.
    Последний раз редактировалось dirge; 06.10.2016 в 19:02.

  3. #3

    По умолчанию

    Я хочу что бы были сохранения в определенных точках и при смерти возвращался к этой точке
    но когда количество попыток кончится то весь результат сбрасывался

  4. #4
    Супер-модератор Аватар для dirge
    Информация о пользователе
    Регистрация
    25.02.2013
    Сообщений
    924
    Репутация: 79 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от Sosiska Посмотреть сообщение
    Я хочу что бы были сохранения в определенных точках и при смерти возвращался к этой точке
    но когда количество попыток кончится то весь результат сбрасывался
    Окай, ты вроде Асе используешь.
    Через вызов скрипта выполняешь
    Код:
    DataManager.delete_save_file(x)
    Где "х" индекс сохранения, отсчет идет от 0, т.е. если ты хочешь удалить сохранение под номером 1, то пишешь
    Код:
    DataManager.delete_save_file(0)

  5. #5
    Местный Аватар для Gforce_Vtk
    Информация о пользователе
    Регистрация
    04.04.2016
    Адрес
    Волгоград.
    Сообщений
    171
    Записей в дневнике
    18
    Репутация: 26 Добавить или отнять репутацию

    По умолчанию

    Вроде-бы легко можно сделать такую систему на эвентах. Скопируем как Сонике.

    Сначала отключить сохранения. Потом сделать переменную, она будет обозначать жизни. И дальше дело за малым (нет). Есть два способа сделать "сейф поинт" через переключатели или переменные. Если сей поинтов много, можно переменными, если их меньше 3, то переключателями.
    Спойлер Переменными.:
    Делаешь вторую переменную, она будет обозначать "ID" сейф поинта. В сейф поинте надо сделать следующее:
    во время использования мы меняем переменную на нужное число. После смерти, убираем жизнь и надо сделать условие: Переменная 2 [1], например. Поставь на это условие восстановление и перемещение к прошлой сейф точке. И после смерти тебя будет перемещать на первый сейф поинт.

    Спойлер Переключателями.:
    Каждый переключатель будет обозначать номер сейф точки. Можно сделать переменную, которая будет у тебя счетчиком пройденых уровней и по ней будет ориентация, где восстановят игрока.


    Я сейчас сделаю пример такой системы...

  6. #6
    Супер-модератор Аватар для dirge
    Информация о пользователе
    Регистрация
    25.02.2013
    Сообщений
    924
    Репутация: 79 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от Gforce_Vtk Посмотреть сообщение
    Вроде-бы легко можно сделать такую систему на эвентах. Скопируем как Сонике.

    Сначала отключить сохранения. Потом сделать переменную, она будет обозначать жизни. И дальше дело за малым (нет). Есть два способа сделать "сейф поинт" через переключатели или переменные. Если сей поинтов много, можно переменными, если их меньше 3, то переключателями.
    Спойлер Переменными.:
    Делаешь вторую переменную, она будет обозначать "ID" сейф поинта. В сейф поинте надо сделать следующее:
    во время использования мы меняем переменную на нужное число. После смерти, убираем жизнь и надо сделать условие: Переменная 2 [1], например. Поставь на это условие восстановление и перемещение к прошлой сейф точке. И после смерти тебя будет перемещать на первый сейф поинт.

    Спойлер Переключателями.:
    Каждый переключатель будет обозначать номер сейф точки. Можно сделать переменную, которая будет у тебя счетчиком пройденых уровней и по ней будет ориентация, где восстановят игрока.


    Я сейчас сделаю пример такой системы...
    В таком случае игра должна быть маленькой, а лучше и вовсе на одной карте. А если будет большой, то человек ее тупо не сможет покинуть спокойно, чтобы потом продолжить.
    Такие "сейв-поиты" стоит использовать только тогда, когда нужен локальный откат, а не целое сохранение.

  7. #7
    Местный Аватар для Gforce_Vtk
    Информация о пользователе
    Регистрация
    04.04.2016
    Адрес
    Волгоград.
    Сообщений
    171
    Записей в дневнике
    18
    Репутация: 26 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от dirge Посмотреть сообщение
    В таком случае игра должна быть маленькой, а лучше и вовсе на одной карте. А если будет большой, то человек ее тупо не сможет покинуть спокойно, чтобы потом продолжить.
    Такие "сейв-поиты" стоит использовать только тогда, когда нужен локальный откат, а не целое сохранение.
    Можно вкрутить скрипт автосохранения. И после прохождения уровня он будет сохранять прогресс.
    Код:
    #===============================================================================
    #
    # DT's Autosave
    # Author: DoctorTodd
    # Date (06/22/2012)
    # Version: (1.0.0) (VXA)
    # Level: (Simple)
    # Email: Todd@beacongames.com
    #
    #===============================================================================
    #
    # NOTES: 1)This script will only work with ace.
    #
    #===============================================================================
    #
    # Description: Saves the game when transferring the map, before battle,
    # and opening the menu (all optional).
    #
    # Credits: Me (DoctorTodd)
    #
    #===============================================================================
    #
    # Instructions
    # Paste above main.
    # Call using Autosave.call
    #
    #===============================================================================
    #
    # Free for any use as long as I'm credited.
    #
    #===============================================================================
    #
    # Editing begins 37 and ends on 50.
    #
    #===============================================================================
    module ToddAutoSaveAce
    
    	  #Max files (without autosave).
    	  MAXFILES = 2
    
    	  #Autosave file name.
    	  AUTOSAVEFILENAME = "Autosave"
    
    	  #Autosave before battle?
    	  AUTOSAVEBB =  false
    
    	  #Autosave when menu opened?
    	  AUTOSAVEM =  false
    
    	  #Autosave when changing map?
    	  AUTOSAVETM =  false
    	end
    #==============================================================================
    # ** Autosave
    #------------------------------------------------------------------------------
    # This module contains the autosave method. This is allows you to use the
    # "Autosave.call" command.
    #==============================================================================
    
    module Autosave
      #--------------------------------------------------------------------------
      # * Call method
      #--------------------------------------------------------------------------
      def self.call
      DataManager.save_game_without_rescue(0)
    end
    end
    #==============================================================================
    # ** DataManager
    #------------------------------------------------------------------------------
    #  This module manages the database and game objects. Almost all of the
    # global variables used by the game are initialized by this module.
    #==============================================================================
    
    module DataManager
      #--------------------------------------------------------------------------
      # * Maximum Number of Save Files
      #--------------------------------------------------------------------------
      def self.savefile_max
    	return ToddAutoSaveAce::MAXFILES + 1
      end  
    end
    #==============================================================================
    # ** Scene_Map
    #------------------------------------------------------------------------------
    #  This class performs the map screen processing.
    #==============================================================================
    
    class Scene_Map < Scene_Base
      #--------------------------------------------------------------------------
      # * Preprocessing for Battle Screen Transition
      #--------------------------------------------------------------------------
      def pre_battle_scene
    	Graphics.update
    	Graphics.freeze
    	@spriteset.dispose_characters
    	BattleManager.save_bgm_and_bgs
    	BattleManager.play_battle_bgm
    	Sound.play_battle_start
      Autosave.call if ToddAutoSaveAce::AUTOSAVEBB
    end
      #--------------------------------------------------------------------------
      # * Call Menu Screen
      #--------------------------------------------------------------------------
      def call_menu
    	Sound.play_ok
    	SceneManager.call(Scene_Menu)
    	Window_MenuCommand::init_command_position
      Autosave.call if ToddAutoSaveAce::AUTOSAVEM
    end
      #--------------------------------------------------------------------------
      # * Post Processing for Transferring Player
      #--------------------------------------------------------------------------
      def post_transfer
    	case $game_temp.fade_type
    	when 0
    	  Graphics.wait(fadein_speed / 2)
    	  fadein(fadein_speed)
    	when 1
    	  Graphics.wait(fadein_speed / 2)
    	  white_fadein(fadein_speed)
    	end
    	@map_name_window.open
      Autosave.call if ToddAutoSaveAce::AUTOSAVETM
    end
    end

  8. #8
    Супер-модератор Аватар для dirge
    Информация о пользователе
    Регистрация
    25.02.2013
    Сообщений
    924
    Репутация: 79 Добавить или отнять репутацию

    По умолчанию

    Ну, дык да) Вот тут то и нужно удаление сохранения. Ведь нам нужно все начинать с начала. С автосохранением это будет просто удобней и красивей, можно было бы просто уменьшить кол-во ячеек сохранения до 1 и эффект был бы похожим. Главное вырубить не контролируемые автосейвы, а сохранять игрока только по вызову автосохранения.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Метки этой темы

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
Удаление сохранения при окончании всех &quot;попыток&quot;