Войти на сайт

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

ТЕМА: Полоса опыта.

Полоса опыта. 10 года 1 мес. назад #74478

  • Frog434
  • Frog434 аватар
  • Вне сайта
  • Оседлый
  • Сообщений: 38
  • Спасибо получено: 1
Итак у меня есть скрипт :
ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]

И он работает , вот сама полоска :
ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]

Но вся проблема заключается в изменении длины полоски при добавлении опыта , т.е. :
ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]

Вот я и хотел спросить , как это пофиксить ?
Администратор запретил публиковать записи гостям.

Полоса опыта. 10 года 1 мес. назад #74480

  • Amphilohiy
  • Amphilohiy аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 547
  • Спасибо получено: 666
  • Программист RubyОраторПобедитель Сбитой кодировкиУчитель2 место Готв
Я так подозреваю, что в данном случае за 1 считается 100% заполненности шкалы. Так что тебе опыт надо поделить на опыт до следующего уровня. Опять же, все не так просто.
Залез в класс актора, нашел методы current_level_exp и next_level_exp. По сути получается, что тебе нужно из имеющейся экспы вычесть экспу на текущий уровен и поделить на разность экспы до следующего уровня, на эксп до текущего.
В общем, попробуй:
(actor.exp-actor.current_level_exp).to_f/(actor.next_level_exp-actor.current_level_exp)
Я верю, что иногда компьютер сбоит, и он выдает неожиданные результаты, но остальные 100% случаев это чья-то криворукость.
Последнее редактирование: 10 года 1 мес. назад от Amphilohiy.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Frog434

Полоса опыта. 10 года 1 мес. назад #74485

  • Frog434
  • Frog434 аватар
  • Вне сайта
  • Оседлый
  • Сообщений: 38
  • Спасибо получено: 1
Ок все работает , но у меня вопрос , можно ли в мейкере (не скриптово) ограничить получение опыта , при взятии максимального уровня(допустим 3-го)?
Администратор запретил публиковать записи гостям.

Полоса опыта. 10 года 1 мес. назад #74487

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

Полоса опыта. 10 года 1 мес. назад #74488

  • Frog434
  • Frog434 аватар
  • Вне сайта
  • Оседлый
  • Сообщений: 38
  • Спасибо получено: 1
Ну я настроил макс. уровень и поставил кривую опыта , но у меня появляется в том , что при достижении максимального уровня(3-го) , по идее должно быть 100/100 опыта и полная полоса , но у меня эта полоса расширяется и пишется 120/100 и т.д. Вот я и спрашиваю можно ли это как-то ограничить.
Администратор запретил публиковать записи гостям.

Полоса опыта. 10 года 1 мес. назад #74491

  • Amphilohiy
  • Amphilohiy аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 547
  • Спасибо получено: 666
  • Программист RubyОраторПобедитель Сбитой кодировкиУчитель2 место Готв
Понял. Без изменения скрипта не уверен, но с изменением можно.
[(actor.exp-actor.current_level_exp).to_f/(actor.next_level_exp-actor.current_level_exp), 1].min
Пихаем в массив и находим минимум между фактическим значением и максимально возможным.
Я верю, что иногда компьютер сбоит, и он выдает неожиданные результаты, но остальные 100% случаев это чья-то криворукость.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Frog434

Полоса опыта. 10 года 1 мес. назад #74492

  • Frog434
  • Frog434 аватар
  • Вне сайта
  • Оседлый
  • Сообщений: 38
  • Спасибо получено: 1
Спасибо большое.
Администратор запретил публиковать записи гостям.
Модераторы: NeKotZima
Время создания страницы: 0.194 секунд