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

Тема: "Скользкий" (ледяной) пол

  1. #1
    Маститый Аватар для Yuryol
    Информация о пользователе
    Регистрация
    06.03.2014
    Адрес
    Красноярск
    Сообщений
    1,420
    Записей в дневнике
    44
    Репутация: 60 Добавить или отнять репутацию

    По умолчанию "Скользкий" (ледяной) пол

    Название плагина: "Скользкий" (ледяной) пол
    Автор: Yuryol
    Версия: крайняя
    Поддерживаемые языки: Русский
    Описание: Плагин позволяет паззлы "скользкий(ледяной) пол" - скольжение персонажа вперед на определенных клетках до тех пор, пока он не уткнется в препятствие либо не попадет на "нескользкую" клетку.
    Пример подобного паззла из покемонов: тык
    В настройках можно указать, какой регион тайла необходимо считать "скользким".

    В расширенной версии плагина Yuryol_Slip_Tile_Plus персонаж может поворачиваться во время "скольжения"
    Также есть параметр "Run". Если он равен "true", то во время скольжения будет увеличиваться скорость персонажа.

    Скриншоты: не требуются

    Первую версию плагина скачать по ссылке

    либо скопировать в блокнот, назвать Yuryol_Slip_Tile.js:

    Спойлер тык:
    Код:
    //=============================================================================
    // Yuryol_Slip_Tile.js
    //=============================================================================
    /*:
     
     * @plugindesc "Скользкий" (ледяной) пол
     * @author Yuryol
     
     * @param regionId
     * @desc ID региона
     * @default 1
     
     @help
     * Yuryol Slip Tile ("Скользкий" (ледяной) пол)
     * ----------------------------------------------------------------------------
     * Плагин позволяет паззлы "скользкий(ледяной) пол" - скольжение персонажа 
     * вперед на определенных клетках до тех пор, пока он не уткнется в препятствие
     * либо не попадет на "нескользкую" клетку
     * В настройках можно указать, какой регион тайла необходимо считать "скользким"
     * ----------------------------------------------------------------------------
     * Спасибо DK, Caveman
     * ----------------------------------------------------------------------------
     * 
     
    */
    
    (function() {
    	
    var parameters = PluginManager.parameters('Yuryol_Slip_Tile');
    var regionId = parameters['regionId'];
    	
    var YuryolMoveCommonEvent = Game_Player.prototype.startMapEvent;
    Game_Player.prototype.startMapEvent = function(x, y, triggers, normal) {
    	this.ABSYuryolSlipTile();
    	if (!$gameMap.isEventRunning()) {
    			$gameMap.eventsXy(x, y).forEach(function(event) {
    					if (event.isTriggerIn(triggers) && event.isNormalPriority() === normal) {
    						event.start()
    					}
    			});
    	}
    };
    	
    Game_Player.prototype.ABSYuryolSlipTile	 = function() {
    	if ($gameMap.regionId($gamePlayer.x, $gamePlayer.y) == regionId){
    		if ($gamePlayer._movementSuccess) $gamePlayer.moveForward();
    	}
    }
    })()


    Расширенную версию плагина скачать по ссылке

    либо скопировать в блокнот, назвать Yuryol_Slip_Tile_Plus.js:

    Спойлер тык:
    Код:
    //=============================================================================
    // Yuryol_Slip_Tile_Plus.js
    //=============================================================================
    /*:
     
     * @plugindesc "Скользкий" (ледяной) пол
     * @author Yuryol
     
     * @param regionId
     * @desc ID региона
     * @default 1
     
     * @param run
     * @desc повышение скорости при попадании на скользкий пол
     * @default true
     
     @help
     * Yuryol Slip Tile Plus ("Скользкий" (ледяной) пол)
     * ----------------------------------------------------------------------------
     * Плагин позволяет паззлы "скользкий(ледяной) пол" - скольжение персонажа 
     * вперед на определенных клетках до тех пор, пока он не уткнется в препятствие
     * либо не попадет на "нескользкую" клетку
     * В настройках можно указать, какой регион тайла необходимо считать "скользким"
     * В отличии от плагина Yuryol_Slip_Tile персонаж может
     поворачиваться во время "скольжения"
     * Также выставив параметр "run" как "true" во время скольжения 
     * будет увеличиваться скорость персонажа.
     * ----------------------------------------------------------------------------
     * Спасибо DK, Caveman
     * ----------------------------------------------------------------------------
     * 
     
    */
    
    (function() {
    	
    var parameters = PluginManager.parameters('Yuryol_Slip_Tile_Plus');
    var regionId = parameters['regionId'];
    var run = parameters['run'];
    	
    var YuryolMoveCommonEvent = Game_Player.prototype.startMapEvent;
    Game_Player.prototype.startMapEvent = function(x, y, triggers, normal) {
    	if ($gamePlayer.direction0 == undefined) {
    		$gamePlayer.direction0 = $gamePlayer._direction;
    		$gamePlayer._directionFix = false;
    		if($gamePlayer._moveSpeed!=5 && run=='true') $gamePlayer._moveSpeed+=1;
    	}
    	this.ABSYuryolSlipTile($gamePlayer.direction0);
    	if (!$gameMap.isEventRunning()) {
    			$gameMap.eventsXy(x, y).forEach(function(event) {
    					if (event.isTriggerIn(triggers) && event.isNormalPriority() === normal) {
    						event.start()
    					}
    			});
    	}
    };
    	
    Game_Player.prototype.ABSYuryolSlipTile	 = function(direction0) {
    	if ($gameMap.regionId($gamePlayer.x, $gamePlayer.y) == regionId && $gamePlayer._movementSuccess){	
    		$gamePlayer.moveStraight(direction0);	
    	} else {
    		$gamePlayer._directionFix = false;
    		delete $gamePlayer.direction0;
    		if (run=='true') $gamePlayer._moveSpeed-=1;	
    	}
    }
    
    var YuryolUpdate = Scene_Map.prototype.update;
    Scene_Map.prototype.update = function() {
    	YuryolUpdate.call(this);
      this.YuryolInput();
    }
    
    Scene_Map.prototype.YuryolInput = function() {
    	if($gamePlayer.direction0!=undefined){
    		$gamePlayer._directionFix = false;
    		(Input.isTriggered('left')) ?	$gamePlayer.setDirection(4):
    		(Input.isTriggered('down')) ? $gamePlayer.setDirection(2):
    		(Input.isTriggered('right')) ? $gamePlayer.setDirection(6):
    		(Input.isTriggered('up')) ?	$gamePlayer.setDirection(8):
    		 '';
    		$gamePlayer._directionFix = true;
    	}
    }
    
    })()
    Последний раз редактировалось Yuryol; 08.01.2018 в 23:23.

  2. #2
    Маститый Аватар для Yuryol
    Информация о пользователе
    Регистрация
    06.03.2014
    Адрес
    Красноярск
    Сообщений
    1,420
    Записей в дневнике
    44
    Репутация: 60 Добавить или отнять репутацию

    По умолчанию

    Добавил расширенную версию плагина - Yuryol_Slip_Tile_Plus

    1) Главное отличие - персонаж может поворачиваться во время "скольжения" вправо, вверх,влево, вниз.
    2) Также есть параметр "Run". Если он равен "true", то во время скольжения будет увеличиваться скорость персонажа.

  3. #3

    По умолчанию

    скрипты не работают как нужно, точнее второй не работает вообще, а первый просто катает персонажа туда обратно по региону

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

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

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

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

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

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

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
"Скользкий" (ледяной) пол