Войти на сайт

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

ТЕМА: Случайный лут из сундуков [VXAce]

Случайный лут из сундуков [VXAce] 9 года 9 мес. назад #71330

  • Kian Ni
  • Kian Ni аватар
  • Вне сайта
  • Заблокирован
  • Я души кушаю людей.
  • Сообщений: 1247
  • Спасибо получено: 412
Простейший скрипт для рандомного дропа вещей из сундука.
Вызов скрипта идет через команду скрипт, в которой нужно просто прописать chest.
class Game_Interpreter
#Содержание сундука
def chest
      item_random = (rand(n) + m + 1).to_i #Где m с какого айди начинается отсчет вещей, n - количество вещей в выборке.
      if item_random == 7#Последнее число для получения золота
        values = rand(N) + M).to_i# N - число случайного варьирование дропа, M - константа дропа.
        $game_party.gain_gold(values)
        wait_for_message
        $game_message.background = 1
        $game_message.position = 1
        $game_message.add("Найдено золота: #{values}")
        wait_for_message
      else
        $game_party.gain_item($data_items[item_random], 1)
        wait_for_message
        $game_message.background = 1
        $game_message.position = 1
        $game_message.add("Найдено:\n#{$data_items[item_random].name}")
        wait_for_message
      end
end
################################
end
Последнее редактирование: 9 года 9 мес. назад от Kian Ni.
Администратор запретил публиковать записи гостям.

Случайный лут из сундуков [VXAce] 9 года 9 мес. назад #71331

  • Lipton
  • Lipton аватар
  • Вне сайта
  • Просветлённый
  • Ух ты!
  • Сообщений: 379
  • Спасибо получено: 670
  • Программист Ruby2 место Организатор конкурсов
Какой-то странный код.
По всей видимости идет привязка к 5-ти уровня сложности в зависимости от которых идет генерация предметов из инвентаря.
Причем либо золото, что редко... либо итем от 1 до зависит от сложности.
Этот скрипт не дает выкидывать армор или оружие.

По сути для полноценной генерации нужно использовать теги. И помечать предметы которые будут использоваться в выборе. Например в тэг предмета писать <level 1> и этот предмет будет участвовать в случайной выборке если сундук открыл персонаж 1 уровня. Или тэг <level all> этот предмет будет участвовать во всех выборках для персонажей любого уровня. Можно даже метки делать для вещей падающих с боссов, что бы отделить генерацию крутого лута от мелкого дропа.

Все что здесь написано было актуально в прошлом топике (до переноса) с полным видом кода...
Последнее редактирование: 9 года 9 мес. назад от Lipton. Причина: Непонятки с переносами =)
Администратор запретил публиковать записи гостям.

Случайный лут из сундуков [VXAce] 9 года 9 мес. назад #71332

  • Kian Ni
  • Kian Ni аватар
  • Вне сайта
  • Заблокирован
  • Я души кушаю людей.
  • Сообщений: 1247
  • Спасибо получено: 412
Та то не полный код, то я случайно копирнул свой код.
Администратор запретил публиковать записи гостям.

Случайный лут из сундуков [VXAce] 9 года 9 мес. назад #71334

  • Cerberus
  • Cerberus аватар
  • Вне сайта
  • Модератор
  • Собака злая
  • Сообщений: 2269
  • Спасибо получено: 1182
  • Писатель 3 место2 место Победитель Сбитой кодировки3 место ГотвПроект месяца 2 место3 место2 место Сбитая кодировкаПрограммист JavaScript Проект месяца 1 местоПроект месяца 3 место
Одно непонятно: откуда берутся эти N, M, n, m?
Жуть болотная, на лапках, в тапках и с пулемётом...
Администратор запретил публиковать записи гостям.

Случайный лут из сундуков [VXAce] 9 года 9 мес. назад #71335

  • Kian Ni
  • Kian Ni аватар
  • Вне сайта
  • Заблокирован
  • Я души кушаю людей.
  • Сообщений: 1247
  • Спасибо получено: 412
Ну дык сам их вносишь.
Администратор запретил публиковать записи гостям.

Случайный лут из сундуков [VXAce] 9 года 9 мес. назад #71336

  • Cerberus
  • Cerberus аватар
  • Вне сайта
  • Модератор
  • Собака злая
  • Сообщений: 2269
  • Спасибо получено: 1182
  • Писатель 3 место2 место Победитель Сбитой кодировки3 место ГотвПроект месяца 2 место3 место2 место Сбитая кодировкаПрограммист JavaScript Проект месяца 1 местоПроект месяца 3 место
А, то есть они туда статически подставляются, а не при запуске. Вот это следовало бы понятнее написать, полагаю :)
Жуть болотная, на лапках, в тапках и с пулемётом...
Последнее редактирование: 9 года 9 мес. назад от Cerberus.
Администратор запретил публиковать записи гостям.

Случайный лут из сундуков [VXAce] 9 года 9 мес. назад #71337

  • Lipton
  • Lipton аватар
  • Вне сайта
  • Просветлённый
  • Ух ты!
  • Сообщений: 379
  • Спасибо получено: 670
  • Программист Ruby2 место Организатор конкурсов
А может их ставить при вызове.
def chest(n,m,N,M)
Администратор запретил публиковать записи гостям.

Случайный лут из сундуков [VXAce] 9 года 9 мес. назад #71338

  • Kian Ni
  • Kian Ni аватар
  • Вне сайта
  • Заблокирован
  • Я души кушаю людей.
  • Сообщений: 1247
  • Спасибо получено: 412
Можно и так, но так запутанней, самое верное вообще в модуль отдельный вынести.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Cerberus
Модераторы: NeKotZima
Время создания страницы: 0.247 секунд