Страница 429 из 643 ПерваяПервая ... 329379419427428429430431439479529 ... ПоследняяПоследняя
Показано с 4,281 по 4,290 из 6423

Тема: Общие вопросы

  1. #4281
    Маститый Аватар для Alisa
    Информация о пользователе
    Регистрация
    29.08.2013
    Сообщений
    1,425
    Записей в дневнике
    8
    Репутация: 76 Добавить или отнять репутацию

    По умолчанию

    Ребят, чтот голову совсем сломала. Подскажите:
    Сразу пример. Возьмём пока три переменных. Атака игрока (=3), жизнь врага (=15), защита врага (=1).
    Вот так я отнимаю у врага 3 HP:

    Но, так как защита врага равна 1, то, от переменной Атака игрока нужно отнять -1 (только на время удара), а потом снова вернуть это значение опять к 3-ём.
    Есть способ запомнить переменную?

  2. #4282
    Хранитель Аватар для Paranoid
    Информация о пользователе
    Регистрация
    22.12.2014
    Сообщений
    2,776
    Записей в дневнике
    34
    Репутация: 28 Добавить или отнять репутацию

    По умолчанию

    Просто вычитай через скрипт
    Лицензионный VX Ace. Спасибо Петр.
    2 года мукеризма в пустую.

  3. #4283
    Маститый Аватар для Alisa
    Информация о пользователе
    Регистрация
    29.08.2013
    Сообщений
    1,425
    Записей в дневнике
    8
    Репутация: 76 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от Paranoid Посмотреть сообщение
    Просто вычитай через скрипт
    Разобралась Par. Я как всегда рано бью тревогу.
    Кстати глянь проект. https://yadi.sk/d/cUBYG-JMxYFeB

  4. #4284
    Хранитель Аватар для Paranoid
    Информация о пользователе
    Регистрация
    22.12.2014
    Сообщений
    2,776
    Записей в дневнике
    34
    Репутация: 28 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от Alisa Посмотреть сообщение
    Разобралась Par. Я как всегда рано бью тревогу.
    Кстати глянь проект.
    Ты точно нужную ссылку дала?
    Лицензионный VX Ace. Спасибо Петр.
    2 года мукеризма в пустую.

  5. #4285
    Хранитель Аватар для Imaginatium
    Информация о пользователе
    Регистрация
    06.12.2015
    Адрес
    АСТРАЛ
    Сообщений
    2,061
    Записей в дневнике
    51
    Репутация: 71 Добавить или отнять репутацию

    По умолчанию

    Помогите пожалуйста разобраться с этим скриптом:
    Спойлер тык:
    #================================================= ==============================
    # )----------------------------------------------------------------------------(
    # )-- AUTHOR: Mr Trivel --(
    # )-- NAME: Quicksand --(
    # )-- CREATED: 2014-10-27 --(
    # )-- VERSION: 1.2 --(
    #================================================= ==============================
    # )-- VERSION HISTORY --(
    # )-- 1.0 - Initial script. --(
    # )-- 1.1 - Player is slowed down while in quicksand. --(
    # )-- 1.2 - Multiple quicksand tiles. --(
    #================================================= ==============================
    # )-- DESCRIPTION --(
    # )-- Allows the developer to set which Terrain Tags are quicksand. --(
    # )-- Player will start sinking in quicksand. If DEATH option is set to true--(
    # )-- player will get a game over screen after sinking completely. Or, if --(
    # )-- it's false, player will sink to a specific amount. --(
    # )-- --(
    # )-- Bonus: Best effect reached when quicksand tiles have Bush option. --(
    #================================================= ==============================
    # )-- INSTRUCTIONS --(
    # )-- Customize value in Quicksand module. And play. --(
    #================================================= ==============================
    # )-- LICENSE INFO --(
    # )-- Free for non-commercial & commercial games if credit was given to --(
    # )-- Mr Trivel. --(
    # )----------------------------------------------------------------------------(
    #================================================= ==============================

    # )=======---------------------------------------------------------------------(
    # )-- Module: Quicksand --(
    # )---------------------------------------------------------------------=======(
    module Quicksand

    Quicksands = {
    # Quicksand
    2 => { :sinking_speed => 0.1, # Sinking Speed in pixels per frame
    :slow_down => 0.05, # Movement slow-down by %
    :max_slow_down => 0.5, # Max slowdown in %
    :death => true, # Death after sinking?
    :death_sink => 32, # Pixels for death, VX Ace default is 32px
    :max_sink => 32, # Max sink possible
    :dash => false # Can dash in quicksand?
    },
    # Snow
    3 => { :sinking_speed => 0.1,
    :slow_down => 0.04,
    :max_slow_down => 0.5,
    :death => false,
    :death_sink => 32,
    :max_sink => "$game_party.has_item?($data_items[1]) ? 4 : 8", # if party has item 1, make max sink 4, else it's 8
    :dash => true
    }

    }
    end

    # )=======---------------------------------------------------------------------(
    # )-- Class: Game_Player --(
    # )---------------------------------------------------------------------=======(
    class Game_Player < Game_Character

    include Quicksand
    # )--------------------------------------------------------------------------(
    # )-- Aliased methods --(
    # )--------------------------------------------------------------------------(
    alias :mrts_qcksnd_initialize :initialize
    alias :mrts_qcksnd_dash? :dash?
    alias :mrts_qcksnd_update :update
    alias :mrts_qcksnd_shift_y :shift_y
    alias :mrts_qcksnd_move_straight :move_straight
    alias :mrts_qcksnd_update_move :update_move

    # )--------------------------------------------------------------------------(
    # )-- Public Instance Variables --(
    # )--------------------------------------------------------------------------(
    attr_accessor :sunk

    # )--------------------------------------------------------------------------(
    # )-- Alias: initialize --(
    # )--------------------------------------------------------------------------(
    def initialize
    mrts_qcksnd_initialize
    @sunk = 0.0
    end

    # )--------------------------------------------------------------------------(
    # )-- New Method: in_quicksand? --(
    # )--------------------------------------------------------------------------(
    def in_quicksand?
    Quicksands[terrain_tag]
    end

    # )--------------------------------------------------------------------------(
    # )-- New Method: qcks_can_dash? --(
    # )--------------------------------------------------------------------------(
    def qcks_can_dash?
    Quicksands[terrain_tag][:dash]
    end

    # )--------------------------------------------------------------------------(
    # )-- New Method: qcks_sink_speed --(
    # )--------------------------------------------------------------------------(
    def qcks_sink_speed
    Quicksands[terrain_tag][:sinking_speed]
    end

    # )--------------------------------------------------------------------------(
    # )-- New Method: qcks_max_sink --(
    # )--------------------------------------------------------------------------(
    def qcks_max_sink
    Quicksands[terrain_tag][:max_sink]
    end

    # )--------------------------------------------------------------------------(
    # )-- New Method: qcks_death_sink --(
    # )--------------------------------------------------------------------------(
    def qcks_death_sink
    Quicksands[terrain_tag][:death_sink]
    end

    # )--------------------------------------------------------------------------(
    # )-- New Method: qcks_death --(
    # )--------------------------------------------------------------------------(
    def qcks_death
    Quicksands[terrain_tag][:death]
    end

    # )--------------------------------------------------------------------------(
    # )-- New Method: qcks_slow_down --(
    # )--------------------------------------------------------------------------(
    def qcks_slow_down
    Quicksands[terrain_tag][:slow_down]
    end

    # )--------------------------------------------------------------------------(
    # )-- New Method: qcks_max_slow_down --(
    # )--------------------------------------------------------------------------(
    def qcks_max_slow_down
    Quicksands[terrain_tag][:max_slow_down]
    end

    # )--------------------------------------------------------------------------(
    # )-- Alias: dash? --(
    # )--------------------------------------------------------------------------(
    def dash?
    return false if in_quicksand? && !qcks_can_dash?
    mrts_qcksnd_dash?
    end

    # )--------------------------------------------------------------------------(
    # )-- Alias: update --(
    # )--------------------------------------------------------------------------(
    def update
    mrts_qcksnd_update
    update_sinking
    end

    # )--------------------------------------------------------------------------(
    # )-- New Method: update_sinking --(
    # )--------------------------------------------------------------------------(
    def update_sinking
    if in_quicksand?
    @sunk += qcks_sink_speed
    max_sink = eval(qcks_max_sink.to_s).to_f
    @sunk = max_sink if @sunk > max_sink
    SceneManager.goto(Scene_Gameover) if @sunk >= qcks_death_sink.to_f && qcks_death
    else
    @sunk -= 8.0 if @sunk > 0
    @sunk = 0 if @sunk < 0
    end
    end

    # )--------------------------------------------------------------------------(
    # )-- Alias: shift_y --(
    # )--------------------------------------------------------------------------(
    def shift_y
    shift = mrts_qcksnd_shift_y
    return shift-@sunk.to_i
    end

    # )--------------------------------------------------------------------------(
    # )-- Alias: move_straight --(
    # )--------------------------------------------------------------------------(
    def move_straight(d, turn_ok = true)
    @move_succeed = passable?(@x, @y, d)
    dx = (d == 6 ? 1 : d == 4 ? -1 : 0)
    dy = (d == 2 ? 1 : d == 8 ? -1 : 0)
    new_x = @x + dx
    new_y = @y + dy
    if in_quicksand? && $game_map.terrain_tag(new_x, new_y) != terrain_tag && @move_succeed
    jump(dx, dy)
    else
    mrts_qcksnd_move_straight(d, turn_ok = true)
    end
    end

    # )--------------------------------------------------------------------------(
    # )-- Alias: update_move --(
    # )--------------------------------------------------------------------------(
    def update_move
    if in_quicksand?
    slowdown = distance_per_frame * [qcks_max_slow_down, (1 - @sunk*qcks_slow_down)].max
    @real_x = [@real_x - slowdown, @x].max if @x < @real_x
    @real_x = [@real_x + slowdown, @x].min if @x > @real_x
    @real_y = [@real_y - slowdown, @y].max if @y < @real_y
    @real_y = [@real_y + slowdown, @y].min if @y > @real_y
    update_bush_depth
    else
    mrts_qcksnd_update_move
    end
    end
    end

    # )=======---------------------------------------------------------------------(
    # )-- Class: Game_Enemy --(
    # )---------------------------------------------------------------------=======(
    class Sprite_Character < Sprite_Base

    # )--------------------------------------------------------------------------(
    # )-- Aliased methods --(
    # )--------------------------------------------------------------------------(
    alias :mrts_qcksnd_initialize :initialize
    alias :mrts_qcksnd_update_other :update_other
    alias :mrts_qcksnd_update_src_rect :update_src_rect

    # )--------------------------------------------------------------------------(
    # )-- Alias: initialize --(
    # )--------------------------------------------------------------------------(
    def initialize(*args)
    @sunk = 0.0
    mrts_qcksnd_initialize(*args)
    end

    # )--------------------------------------------------------------------------(
    # )-- Alias: update_src_rect --(
    # )--------------------------------------------------------------------------(
    def update_src_rect
    mrts_qcksnd_update_src_rect
    self.src_rect.height -= @sunk
    end

    # )--------------------------------------------------------------------------(
    # )-- Alias: update_other --(
    # )--------------------------------------------------------------------------(
    def update_other
    mrts_qcksnd_update_other
    @sunk = @character.sunk if @character.is_a?(Game_Player)
    end
    end


    Это скрипт на зыбучие пески. Но я не могу допетрить как в скрипте и в самой игре настроить тайл, при наступлении на который соответственно игрок будет постепенно проваливаться...

    Оригинал если нужен: http://www.rpgmakercentral.com/topic/27785-quicksand/
    Последний раз редактировалось Imaginatium; 30.10.2016 в 22:10.

  6. #4286
    Администратор Аватар для Пётр
    Информация о пользователе
    Регистрация
    24.04.2014
    Адрес
    Краснодар
    Сообщений
    3,940
    Записей в дневнике
    6
    Репутация: 132 Добавить или отнять репутацию

    По умолчанию

    Има, все просто.
    Terrain Tag проставь в настройках тайл сета.
    https://yadi.sk/i/rRXQv1EGxr6zB
    2 - Песок
    3 - Снег.

    Настройки скорости засасывания и прочего в шапке скрипта.
    https://yadi.sk/i/l61aEsuwxr7Ay

  7. #4287
    Маститый Аватар для Alisa
    Информация о пользователе
    Регистрация
    29.08.2013
    Сообщений
    1,425
    Записей в дневнике
    8
    Репутация: 76 Добавить или отнять репутацию

    По умолчанию

    (Ace) Что то голова сегодня не варит ребятки.
    Хотела создать "меню" переключения предмета. Ну, как бы, висит в углу экрана, иконка с предметом, изначальна она пуста. Тут я нашла предмет, и он появился в том же углу, нашла второй... Вопрос, как создать команду переключающую эти предметы.
    Изначально я создала общее событие. Хотела сделать скрин, но я уже там все поменяла.
    Вспоминаю как там было:
    Запустила общее событие переключателем в начале игры. Ветвление условия, нажав на X, звук переключения (дзынькает), так и должно быть. Дошла я до момента, когда первый предмет попадает в инвентарь (в моём случае это иконка в углу). Проблем не возникло. я пришла к глупому методу использования переменной (+1) Т.е. При поднятии предмета задействовалось условие, если в инвентаре предмет N, и переменная равна 1, то иконка меняется на этот предмет, и так же возвращается к пустой иконки. Но проблема со следующим предметом, их уже два в инвентаре...
    Я сломала голову, как переключатся между ними? Фокусы с переменной теперь не катят.

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

    По умолчанию

    Цитата Сообщение от Alisa Посмотреть сообщение
    (Ace) Что то голова сегодня не варит ребятки.
    Хотела создать "меню" переключения предмета. Ну, как бы, висит в углу экрана, иконка с предметом, изначальна она пуста. Тут я нашла предмет, и он появился в том же углу, нашла второй... Вопрос, как создать команду переключающую эти предметы.
    Изначально я создала общее событие. Хотела сделать скрин, но я уже там все поменяла.
    Вспоминаю как там было:
    Запустила общее событие переключателем в начале игры. Ветвление условия, нажав на X, звук переключения (дзынькает), так и должно быть. Дошла я до момента, когда первый предмет попадает в инвентарь (в моём случае это иконка в углу). Проблем не возникло. я пришла к глупому методу использования переменной (+1) Т.е. При поднятии предмета задействовалось условие, если в инвентаре предмет N, и переменная равна 1, то иконка меняется на этот предмет, и так же возвращается к пустой иконки. Но проблема со следующим предметом, их уже два в инвентаре...
    Я сломала голову, как переключатся между ними? Фокусы с переменной теперь не катят.
    не понял ничего.
    Но если просто у тебя есть инвентарь и тебе надо чтобы в нем отображались собранные предметы а в отдельном окошке был предмет который у тебя в руках то предложил бы сделать это через оружие.
    То есть вместо вещей создай оружие "ключ", "записка" и т.д. Тогда у тебя будут работать простые стандартные проверки условий.

    Можешь посомтреть пример реализации и сделать наподобие, вроде подробно всё расписывал. Перезарядка тебе не нужна, а про "интерфейс" и "смена оружия" почитай.

    Выстрелы на событиях

  9. #4289

    По умолчанию

    Народ, помогите нубу) Вопрос по MV.
    Как сделать что бы "игрок" не мог двигаться пока "событие\нпс" не закончит свой маршрут движения?

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

    По умолчанию

    Цитата Сообщение от Kraun Посмотреть сообщение
    Народ, помогите нубу) Вопрос по MV.
    Как сделать что бы "игрок" не мог двигаться пока "событие\нпс" не закончит свой маршрут движения?
    автоматический триггер (НЕ параллельный).

Страница 429 из 643 ПерваяПервая ... 329379419427428429430431439479529 ... ПоследняяПоследняя

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

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

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

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

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

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

Ваши права

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