Показано с 1 по 10 из 28

Тема: Переменные, простые скрипты, функции rpg maker MV

Комбинированный просмотр

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

    По умолчанию

    Изменение параметра события на определенное время (изменение прозрачности, параметра наложения)

    PHP код:
    var paramTime= function(idparamvalue1value2time) {
        
    $gameMap.event(id)[param] = value1;
        
    setTimeout(function() {$gameMap.event(id)[param] = value2;}, time);
    }; 
    Вызов функции например для мигания события с ИД=10 на 70 миллисекунд:

    PHP код:
    paramTime(10'_blendMode'1070); 
    Или например для повышения прозрачности события на столько же миллисекунд:

    PHP код:
    paramTime(10'_opacity'1070); 
    Можно сделать анимацию с задержкой:

    PHP код:
    paramTime(10'_animationId'01700); 
    Можно творить забавные вещи, например при вводе кода ниже событие "пойдет" сначала на клетку с координатами (10,1), а затем (10,3) Главное указать скорость побольше, чтобы событие успело до туда сбегать

    PHP код:
    paramTime(10'_x'1010700);
    paramTime(10'_y'13700); 
    Взяв это на заметку, получаем своего рода простенький плагин "поиска пути" (кривой и без анимации ходьбы)

    PHP код:
    paramTime(10'_x'$gameMap.event(10).x10700);
    paramTime(10'_y'$gameMap.event(10).y3700); 
    Сначала указав событию идти на клетку выше, и буквально через мгновение (70 миллисекунд) приказав ему идти обратно, мы можем эмулировать прыжок на месте:

    PHP код:
    paramTime(10'_x'$gameMap.event(10).x,$gameMap.event(10).x70);
    paramTime(10'_y'$gameMap.event(10).y-1$gameMap.event(10).y70); 

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

    По умолчанию

    Запись текста в файл

    Вместо 'Hello, mukerist!' пишем текст который нам нужен (в кавычках)
    Вместо '1.txt' пишем любое название файла,а затем через точку тип файла. В данном случае файл называет "1", и это текстовый файл. Файл будет находиться в корне игры

    PHP код:
    const name '1.txt';
    let text 'Hello, mukerist!';
    const 
    fs = require('fs');
    fs.appendFile(nametext, function(err) {
        if (
    err) throw err;
    }); 
    Зачем оно надо?

    Например, для тестирования можно записать в файл значения всех переменных

    PHP код:
    const name '1.txt';
    let text;
    const 
    fs = require('fs');
    $gameVariables._data.forEach(function(numinums) {
        
    text = `переменная ${i} = ${num}\n`;
        
    fs.appendFile(nametext, function(err) {
            if (
    err) throw err;
        }); 
    }); 
    Чтение из текстового файла

    PHP код:
    const name '1.txt';
    const 
    xhr = new XMLHttpRequest();
    let content;

    xhr.open("GET"namefalse);
    xhr.send(null); 
    content xhr.responseText
    Затем можно например записать текст в переменную путем добавления в конце строчки

    PHP код:
    $gameVariables.setValue(1content); 
    Зачем оно надо?

    Можно, например, легко вставлять длинные тексты в игру, например отрывки из книг, записав в текст в переменную а потом написав "\V[1]" в сообщении мейкер

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

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

    По умолчанию

    Логирование

    Для теста своей АБС набросал простенькое логирование.

    В try вставляем код своего плагина и при ошибке будет создан файл 'error.log', в котором будет ее описание с датой и временем. Время ставится отдельно для каждой ошибки, а дата - один раз в день.

    На днях добавлю также отображение нужных переменных, переключателей, нужных мне свойств событий.

    Вот так выглядит записи в логе (скрин из IDE Visual studio code):




    Сам код:

    PHP код:
    try{
        
    //ваш код
    }
    catch (
    err) {
        const 
    name 'error.log';
        const 
    fs = require('fs');
        const 
    data = new Date().toLocaleDateString();
        const 
    time = new Date().toLocaleTimeString();
        
    let text;
        
    let content;

        const 
    xhr = new XMLHttpRequest();
        
    xhr.open("GET"namefalse);
        try {
            
    xhr.send(null);
        } catch (
    err) {
            
    console.log(err);
        };

        
    content xhr.responseText;
        
    text = (!content || content && !content.includes(data)) ? `\n${data}\n ` : '';
        
    text =  `${text} \n ${time} \n ${err.stack} \n`;

        
    fs.appendFile(nametext, function(err) {
            if (
    err) throw err;
        });


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

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

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

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

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

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

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
Переменные, простые скрипты, функции rpg maker MV