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

Тема: Имена над головами ивентов

  1. #1
    Новичок Аватар для Eugenius
    Информация о пользователе
    Регистрация
    19.05.2015
    Сообщений
    14
    Записей в дневнике
    1
    Репутация: 1 Добавить или отнять репутацию

    По умолчанию Имена над головами ивентов

    Полезный и очень простой скрипт позволяющий устанавливать имена для ивентов (например, для нпс или предмета)

    Пример:



    Также есть возможность изменить цвет, размер, прозрачность текста, обводку и прозрачность обводки и сам стиль шрифта

    Чтобы установить текст нужно выбрать поле имени ивента и вставить:
    <namepop ЖЕЛАЕМОЕ ИМЯ ИВЕНТА>


    Пример:




    Спойлер Сам скрипт:

    #================================================= =============================
    # RGSS3 Ver1.1
    #================================================= =============================

    module TMNPOP
    FONT_SIZE = 20 # размер шрифта
    FONT_OUT_ALPHA = 255 # прозрачность обводки (-255 до 255)
    FONT_COLOR_RED = 59 #223 # количество красного
    FONT_COLOR_GREEN = 207 #181 # количество зелёного
    FONT_COLOR_BLUE = 111 #36 # количество синего
    FONT_OPACYTI = 255 # прозрачность шрифта (-255 до 255)
    FONT_NAME = 'Arial Black' # используемый шрифт
    end

    #================================================= =============================
    # НЕ ТРОГАТЬ!
    #================================================= =============================
    class Game_Character
    attr_accessor :namepop
    end
    #================================================= =============================
    class Game_Event < Game_Character
    alias tmnpop_game_event_setup_page_settings setup_page_settings
    def setup_page_settings
    tmnpop_game_event_setup_page_settings
    if @list
    @namepop = $1 if /<namepop\s*(\S+?)>/i =~ @event.name
    @list.each do |list|
    if list.code == 108 || list.code == 408
    @namepop = $1 if /<namepop\s*(\S+?)>/i =~ list.parameters[0]
    else
    break
    end
    end
    end
    end
    end
    #================================================= =============================
    class Sprite_Character < Sprite_Base
    alias tmnpop_sprite_character_dispose dispose
    def dispose
    dispose_namepop
    tmnpop_sprite_character_dispose
    end
    #================================================= =============================
    alias tmnpop_sprite_character_update update
    def update
    tmnpop_sprite_character_update
    update_namepop
    if @character.namepop != @namepop
    @namepop = @character.namepop
    start_namepop
    end
    end
    #================================================= =============================
    def start_namepop
    dispose_namepop
    return if @namepop == "none" || @namepop == nil
    @namepop_sprite = ::Sprite.new(viewport)
    h = TMNPOP::FONT_SIZE + 4
    @namepop_sprite.bitmap = Bitmap.new(h * 10, h)
    @namepop_sprite.bitmap.font.size = TMNPOP::FONT_SIZE
    @namepop_sprite.bitmap.font.out_color.alpha = TMNPOP::FONT_OUT_ALPHA
    @namepop_sprite.bitmap.font.color = Color.new(TMNPOP::FONT_COLOR_RED, TMNPOP::FONT_COLOR_GREEN, TMNPOP::FONT_COLOR_BLUE, TMNPOP::FONT_OPACYTI)
    @namepop_sprite.bitmap.font.name = TMNPOP::FONT_NAME
    @namepop_sprite.bitmap.draw_text(0, 0, h * 10, h, @namepop, 1)
    @namepop_sprite.ox = h * 5
    @namepop_sprite.oy = h
    update_namepop
    end
    #================================================= =============================
    def update_namepop
    if @namepop_sprite
    @namepop_sprite.x = x
    @namepop_sprite.y = y - height
    @namepop_sprite.z = z + 200
    end
    end
    #================================================= =============================
    def dispose_namepop
    if @namepop_sprite
    @namepop_sprite.bitmap.dispose
    @namepop_sprite.dispose
    @namepop_sprite = nil
    end
    end
    end


    Минус этого скрипта в том, что когда мы делаем перенести персонажа с одной части карты в другую, имена следуют за нами на карте.
    Последний раз редактировалось Eugenius; 26.05.2015 в 11:51.

  2. #2
    Маститый Аватар для Элрик
    Информация о пользователе
    Регистрация
    09.09.2010
    Сообщений
    1,284
    Записей в дневнике
    47
    Репутация: 24 Добавить или отнять репутацию

    По умолчанию

    Зачем писать в ЛС, если можно ответить на вопрос тут?

  3. #3

    По умолчанию

    Совет от меня : Тут если будет пробел в имени, оно не будет отображаться! Вот этот знак пустоты " " в скобках не пробел. На доп клавиатуре номер 255. Работает и проверено! (Если кто не слышал, alt зажать набрать 255 и отпустить)

  4. #4
    Познающий Аватар для Deme
    Информация о пользователе
    Регистрация
    16.05.2014
    Сообщений
    317
    Записей в дневнике
    16
    Репутация: 4 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от MaxRiper Посмотреть сообщение
    Совет от меня : Тут если будет пробел в имени, оно не будет отображаться! Вот этот знак пустоты " " в скобках не пробел. На доп клавиатуре номер 255. Работает и проверено! (Если кто не слышал, alt зажать набрать 255 и отпустить)
    Ещё можно попробовать заменить /<namepop\s*(\S+?)>/i на /<namepop\s*([^>]+?)>/i в начале кода скрипта (в двух местах).
    Сам не проверял, но по идее должно разрешить использовать пробелы (т.к. \S — это «не-пробельный символ», а [^>] — это «что угодно, кроме символа >»).
    «quī legis ista, tuam reprehendō, mea laudās // omnia, stultitiam; / nihil, invidiam» (Jōhannis Audoenī)
    'Ты, кто читает это: я порицаю, если ты хвалишь у меня // всё, твою глупость; / если ничего — твою злобу.' (Джон Оуэн)

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

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

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

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

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

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

Ваши права

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