Войти на сайт

Авторизация, ждите ...
×

ТЕМА: Запуск скрипта через формулу предметов

Запуск скрипта через формулу предметов 5 года 4 дн. назад #110616

  • akito66
  • akito66 аватар
  • Вне сайта
  • Светлый дракон
  • В Иркутске пески холодные, но когда ты рядом, мне становится теплее.
  • Сообщений: 835
  • Спасибо получено: 1487
  • ПаладинДаритель СтимкеяПроект месяца 2 местоОрганизатор конкурсовРазработчикУчительВетеранКомпозиторПроект месяца 3 местоОратор
Может кому пригодится, на форуме не видел подобной темы.
Для меня было шоком, когда я узнал что возможен запуск скрипта через формулу предметов. Dmy написал скрипт который
может очень разнообразить игру. На его основе я создал свои наборы для шитья и инструментов.
В переменной 1 хранится номер расы. И на его основе делаются действия зелий или наборов.
Так зелье жизни вредит 3 и 5 расе.


12d.png



12d2.png
Последнее редактирование: 5 года 3 дн. назад от akito66.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Doctor_Bug, WhitePaper, SilverSilk

Запуск скрипта через формулу предметов 5 года 3 дн. назад #110618

  • Amphilohiy
  • Amphilohiy аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 547
  • Спасибо получено: 666
  • Победитель Сбитой кодировкиОраторПрограммист RubyУчитель2 место Готв
Я на основе такой фитчи пытался учебник мутить. Есть даже пример прокачивания элементальной магии, по мере ее использования.
Я верю, что иногда компьютер сбоит, и он выдает неожиданные результаты, но остальные 100% случаев это чья-то криворукость.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: akito66

Запуск скрипта через формулу предметов 5 года 3 дн. назад #110619

  • akito66
  • akito66 аватар
  • Вне сайта
  • Светлый дракон
  • В Иркутске пески холодные, но когда ты рядом, мне становится теплее.
  • Сообщений: 835
  • Спасибо получено: 1487
  • ПаладинДаритель СтимкеяПроект месяца 2 местоОрганизатор конкурсовРазработчикУчительВетеранКомпозиторПроект месяца 3 местоОратор
Ты прям мысли что ли читаешь? Я так хочу заклинания прокачивать с уровнем игрока. А можешь ссылку кинуть, пусть будет тут.
Последнее редактирование: 5 года 3 дн. назад от akito66.
Администратор запретил публиковать записи гостям.

Запуск скрипта через формулу предметов 5 года 3 дн. назад #110626

  • Dmy
  • Dmy аватар
  • Вне сайта
  • Заблокирован
  • Сообщений: 1142
  • Спасибо получено: 2477
  • 2 место Даритель СтимкеяПроект месяца 3 местоОраторУчительПоддержка ФондаВетеранПаладинПрограммист RubyЗа 2 место на конкурсе маппинга
А наборы для шитья или для ремонта точно работают? Потому что по коду там такое:

— Если герой нужной расы, то увеличить ему здоровье на value и вернуть 0 как результат действия предмета
— Иначе вернуть value как результат действия предмета (а результат действия — это число излеченного!)

То есть набор по-любому вылечит, либо через побочный эффект, либо через результат действия предмета.


Мне пришлось использовать побочный эффект — change_hp — потому что в моей функции наносится отрицательное значение. Лечащие умения в мейкере не могут наносить урон через результат действия предмета, поэтому я сделал побочный эффект через change_hp. Если предмет не должен лечить, то достаточно просто вернуть 0.

(И да, если сравнивается только с одним значением, а не с несколькими, то лучше писать не так:
[3].include?($game_variables[1])
а так:
$game_variables[1] == 3

include? полезно, если нужно сравнить число сразу с несколькими значениями. По сути это:
[3, 5].include?($game_variables[1])
эквивалентно этому:
$game_variables[1] == 3 || $game_variables[1] == 5
Т.е. проверка, что переменная или равна 3, или равна 5.

Если проверяется одно значение, то лучше писать $game_variables[1] == 3 (так понятнее, что делает код)

В итоге по-моему набор для шиться должен выглядеть как-то так:
#набор для шитья
def heal_or_hpu(actor, value)
  if actor.actor.is == 1 & [3].include?($game_variables[1]) then
    #если раса=3, то вернуть результат действия равный value
    return value
  else
    #если другая раса, то вернуть результат равный 0
    return 0
  end
end

change_hp тут не нужно, потому что урон не наносится: выбор просто между value (переданным значением) и нулём.
Последнее редактирование: 5 года 3 дн. назад от Dmy.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: akito66

Запуск скрипта через формулу предметов 5 года 3 дн. назад #110627

  • akito66
  • akito66 аватар
  • Вне сайта
  • Светлый дракон
  • В Иркутске пески холодные, но когда ты рядом, мне становится теплее.
  • Сообщений: 835
  • Спасибо получено: 1487
  • ПаладинДаритель СтимкеяПроект месяца 2 местоОрганизатор конкурсовРазработчикУчительВетеранКомпозиторПроект месяца 3 местоОратор
Он точно работал когда я его проверял. Только там значения местами менял по моему, которые возвращаются.

(¬_¬) Прости ты это и написал. Я просто скрин не обновил видимо.
Последнее редактирование: 5 года 3 дн. назад от akito66.
Администратор запретил публиковать записи гостям.

Запуск скрипта через формулу предметов 5 года 3 дн. назад #110628

  • Alexandr_7
  • Alexandr_7 аватар
  • Вне сайта
  • Архитектор Миров
  • Сообщений: 1185
  • Спасибо получено: 539
  • Проект месяца 3 местоУчительВетеранПроект месяца 2 местоПроект года 3 местоПроект месяца 1 место
Интересно. А в MV такая штука прокатит?
Мой вк: vk.com/borisov_alexandr_5
Мой ютуб канал: www.youtube.com/@alexandr_5836
Мой бусти: boosty.to/alexandr-7
Администратор запретил публиковать записи гостям.

Запуск скрипта через формулу предметов 5 года 3 дн. назад #110630

  • Dmy
  • Dmy аватар
  • Вне сайта
  • Заблокирован
  • Сообщений: 1142
  • Спасибо получено: 2477
  • 2 место Даритель СтимкеяПроект месяца 3 местоОраторУчительПоддержка ФондаВетеранПаладинПрограммист RubyЗа 2 место на конкурсе маппинга
Alexandr_7 пишет:
Интересно. А в MV такая штука прокатит?
Да, конечно.

Формулы урона в MV выполняются через eval и в них можно вызвать любой код.

...В том числе удаление нужных файлов и заражение компьютера вирусами... :angry:
Администратор запретил публиковать записи гостям.

Запуск скрипта через формулу предметов 5 года 3 дн. назад #110633

  • Amphilohiy
  • Amphilohiy аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 547
  • Спасибо получено: 666
  • Победитель Сбитой кодировкиОраторПрограммист RubyУчитель2 место Готв
Валяется в этой теме.

inb4 на всякую деятельность в мукере я уже забил, так что дополнений не будет и не просите.
Я верю, что иногда компьютер сбоит, и он выдает неожиданные результаты, но остальные 100% случаев это чья-то криворукость.
Последнее редактирование: 5 года 3 дн. назад от Amphilohiy.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Dmy, akito66
Модераторы: NeKotZima
Время создания страницы: 0.541 секунд