Войти на сайт

Авторизация, ждите ...
×
Правила раздела:
1 Задавайте конкретные вопросы. Для болтовни есть свободный раздел.
2 По возможности давайте конкретные ответы.
3 Один вопрос=одна тема. Если хотите задать ещё вопрос, то начинайте новую тему.
4 Название темы должно составлять сам вопрос, и быть максимально конкретным. Рекомендуется начинать тему словами "Как", "Что", "Почему". А первый пост повторяет вопрос и даёт расширенные сведения.
5 Рекомендуется указывать версию мейкера (2000, 2003, RMXP, RMVX, ACE, IGM, и.т.д.. Это важно, и всё равно ведь спросят.
6 Темы "Пара вопросов", "Помогите", и подобные им - самый лёгкий путь к бану.
7 Поиск находится вверху справа.
А. Названия подразделов этого раздела уточняются. Советы принимаются.

ТЕМА: Как зделать 5 и более игроков в ХР

Как зделать 5 и более игроков в ХР 17 года 7 мес. назад #3643

  • Tratil
  • Tratil аватар
  • Вне сайта
  • Оседлый
  • Сообщений: 26
Всем сново привет как мне зделать 5 и более игроков РПГ МейкереХР а в бою 1-ого земенить 5-ым кто нить знает как это зделать или что в скриптах отпишите
Жду ответов
Администратор запретил публиковать записи гостям.

Как зделать 5 и более игроков в ХР 17 года 7 мес. назад #3653

  • Tratil
  • Tratil аватар
  • Вне сайта
  • Оседлый
  • Сообщений: 26
Поищи плз
Администратор запретил публиковать записи гостям.

Как зделать 5 и более игроков в ХР 17 года 7 мес. назад #3711

  • Fox
  • Fox аватар
  • Вне сайта
  • Заблокирован
  • Сообщений: 323
  • Спасибо получено: 3
Буржуи, за такие слова, фиг вам с маслом дадут. Все самое вкусное, они кодируют в Encrypted Archive.
Вообще, буржуев в России дофига, это ж те люди, которые просто имеют много денег, алигархи. Вот они-то и буржуи.

Я между прочим с ними работаю на благо Мэйкераё
Администратор запретил публиковать записи гостям.

Как зделать 5 и более игроков в ХР 17 года 7 мес. назад #3869

  • Tratil
  • Tratil аватар
  • Вне сайта
  • Оседлый
  • Сообщений: 26
Стоп что то у меня не выходит
плз объясни т по подробней что и где надо зделать и под ставить вот мои скрипты
Администратор запретил публиковать записи гостям.

Как зделать 5 и более игроков в ХР 17 года 5 мес. назад #9609

  • Fizmatik
  • Fizmatik аватар
  • Вне сайта
  • Администратор
  • Сообщений: 1886
  • Спасибо получено: 100
  • Ветеран
www.gamingw.net/forums/index.php?topic=54326.0
Вот по этой ссылке всё описано. gromdron, может переведешь и в туториалы?
Не первый раз спрашивают уже.
Администратор запретил публиковать записи гостям.

Как зделать 5 и более игроков в ХР 17 года 5 мес. назад #9610

  • Quandan
  • Quandan аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 518
Так сказать...поднял тему из (з)ада :)
<br />
Администратор запретил публиковать записи гостям.

Как зделать 5 и более игроков в ХР 17 года 5 мес. назад #9796

  • gromdron
  • gromdron аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 512
  • Спасибо получено: 6
  • Учитель
А что тут переводить ?

Я думаю каждый хотябы раз сталкивался со словами Open, Find, Replace, copy and paste.

Тут делов то минут на 5. Если кому непонятно перевести могу, только смысл ?
Администратор запретил публиковать записи гостям.

Как зделать 5 и более игроков в ХР 17 года 5 мес. назад #9863

  • Fizmatik
  • Fizmatik аватар
  • Вне сайта
  • Администратор
  • Сообщений: 1886
  • Спасибо получено: 100
  • Ветеран
Товарищи, согласитесь -хороший скрипт, поэтому, давайте дружно попросим gromdrona перевести тот пост на GW и выложить в этой теме уже переведенный вариант. :)
Администратор запретил публиковать записи гостям.

Как зделать 5 и более игроков в ХР 17 года 5 мес. назад #9864

  • Quandan
  • Quandan аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 518
gromdron, переведи :( :D
<br />
Администратор запретил публиковать записи гостям.

Как зделать 5 и более игроков в ХР 17 года 5 мес. назад #9870

  • Valera
  • Valera аватар
  • Вне сайта
  • Архитектор Миров
  • Сообщений: 1452
  • Спасибо получено: 9
  • Учитель
П-Е-Р-Е-В-Е-Д-И !!! *AAA* П-Е-Р-Е-В-Е-Д-И !!! *perec*
Администратор запретил публиковать записи гостям.

Как зделать 5 и более игроков в ХР 17 года 5 мес. назад #9871

  • gromdron
  • gromdron аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 512
  • Спасибо получено: 6
  • Учитель
Главный скрипт.
class Game_Party
 
  Battle_Party_Size = 5
  Max_Party_Size = 10
 
  def max_party_size
    return Max_Party_Size
  end
 
  def max_party
    return Battle_Party_Size
  end
 
  def placement_correctment
    if @actors.size  = Battle_Party_Size
      return @actors.size
    else
      return Battle_Party_Size
    end
  end
 
  def add_actor(actor_id)
    actor = $game_actors[actor_id]
    if not @actors.include?(actor) and $game_party.actors.size   Max_Party_Size
      @actors.push(actor)
      $game_player.refresh
    end
  end
 
  def all_dead?
    if $game_party.actors.size == 0
      return false
    end
    for actor in @actors
      if actor.hp   0
        return false
      end
      if actor.index  = 4
        return true
      end
    end
    return true
  end
 
end
 
 
class Window_BattleStatus   Window_Base
 
  def initialize
    super(0, 320, 640, 160)
    self.contents = Bitmap.new(width - 32, height - 32)
    unless $game_party.actors.size   4
      @level_up_flags = [false, false, false, false]
    else
      @level_up_flags = &#91;]
      for i in 0...$game_party.placement_correctment
        @level_up_flags.push(false)
      end
    end
    refresh
  end
 
  def refresh
    self.contents.clear
    @item_max = $game_party.actors.size
    for i in 0...$game_party.actors.size
      actor = $game_party.actors[i]
      unless $game_party.actors.size   4
        actor_x = i * 160 + 4
      else
        actor_x = i * (4 + (640/ $game_party.placement_correctment))
      end
      draw_actor_name(actor, actor_x, 0)
      draw_actor_hp(actor, actor_x, 32, 120)
      draw_actor_sp(actor, actor_x, 64, 120)
      if @level_up_flags[i]
        self.contents.font.color = normal_color
        self.contents.draw_text(actor_x, 96, 120, 32,  LEVEL UP! )
      else
        draw_actor_state(actor, actor_x, 96)
      end
    end
  end
end
 
 
class Game_Actor   Game_Battler
  def screen_x
    if self.index != nil
      unless $game_party.actors.size   4
        return self.index * 160 + 80
      else
        return self.index * (640/ $game_party.placement_correctment) + (80/($game_party.placement_correctment/2))
      end
    else
      return 0
    end
  end
end
 
 
class Scene_Battle
  def phase3_next_actor
    begin
      if @active_battler != nil
        @active_battler.blink = false
      end
      if @actor_index == $game_party.placement_correctment-1
        start_phase4
        return
      end
      @actor_index += 1
      @active_battler = $game_party.actors[@actor_index]
      @active_battler.blink = true
    end until @active_battler.inputable?
    phase3_setup_command_window
  end
 
  def phase3_setup_command_window
    @party_command_window.active = false
    @party_command_window.visible = false
    @actor_command_window.active = true
    @actor_command_window.visible = true
    unless $game_party.actors.size   4
      @actor_command_window.x = @actor_index * 160
    else
      @actor_command_window.x = @actor_index * (640/$game_party.placement_correctment)
      if @actor_command_window.x   480
        @actor_command_window.x = 480
      end
    end
    @actor_command_window.index = 0
  end
end
 
 
class Scene_Menu
 
  alias party_swap_update_command update_command
  def update_command
    party_swap_update_command
    if Input.trigger?(Input::LEFT) or Input.trigger?(Input::RIGHT)
      $game_system.se_play($data_system.cursor_se)
      @previous_index = @command_window.index
      @command_window.index = -1
      @command_window.active = false
      @status_window.active = true
      @status_window.index = @status_window.top_row
      return
    end
  end
 
  alias party_swap_update_status update_status
  def update_status
    if Input.trigger?(Input::B)
      unless @swapee != nil
        $game_system.se_play($data_system.cancel_se)
        if @command_window.index == -1
          @command_window.index = @previous_index
        end
        @command_window.active = true
        @status_window.active = false
        @status_window.index = -1
        return
      end
      @swapee = nil
      return
    end
    if Input.trigger?(Input::C) and @command_window.index == -1
      unless @swapee != nil
        @swapee = @status_window.index
        $game_system.se_play($data_system.decision_se)
        return
      end
      if @swapee == @status_window.index
        $game_system.se_play($data_system.decision_se)
        @swapee = nil
        return
      end
      $game_system.se_play($data_system.decision_se)
      party_ids = &#91;]
      for actor in $game_party.actors
        party_ids.push(actor.id)
      end
      swapee2 = @status_window.index
      if @swapee   swapee2
        for i in @swapee...party_ids.size
          $game_party.remove_actor(party_ids[i])
        end
        $game_party.add_actor(party_ids[swapee2])
        for i in (@swapee + 1)...party_ids.size
          unless i == swapee2
            $game_party.add_actor(party_ids[i])
          else
            $game_party.add_actor(party_ids[@swapee])
          end
        end
      else
        for i in swapee2...party_ids.size
          $game_party.remove_actor(party_ids[i])
        end
        $game_party.add_actor(party_ids[@swapee])
        for i in (swapee2 + 1)...party_ids.size
          unless i == @swapee
            $game_party.add_actor(party_ids[i])
          else
            $game_party.add_actor(party_ids[swapee2])
          end
        end
      end
      @swapee = nil
      @status_window.refresh
      return
    end
    if Input.trigger?(Input::LEFT) or Input.trigger?(Input::RIGHT)
      if @swapee == nil and @command_window.index == -1
        $game_system.se_play($data_system.cursor_se)
        @command_window.index = @previous_index
        @command_window.active = true
        @status_window.active = false
        @status_window.index = -1
      end
    end
    party_swap_update_status
  end
 
 
end
 
class Window_MenuStatus   Window_Selectable
 
  def initialize
    unless $game_party.actors.size   4
      super(0, 0, 480, 480)
    else
      super(0, 0, 480, 160 * $game_party.actors.size)
    end
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
    self.active = false
    self.index = -1
  end
 
  alias large_refresh refresh
  def refresh
    large_refresh
    self.height = 480
  end
 
  def update_cursor_rect
    if @index   0
      self.cursor_rect.empty
      return
    end
    row = @index / @column_max
    if row   self.top_row
      self.top_row = row
    end
    if row   self.top_row + (self.page_row_max - 1)
      self.top_row = row - (self.page_row_max - 1)
    end
    cursor_width = self.width / @column_max - 32
    x = @index % @column_max * (cursor_width + 32)
    y = @index / @column_max * 116 - self.oy
    self.cursor_rect.set(x, y, cursor_width, 96)
  end
 
  def top_row
    return self.oy / 116
  end
 
  def top_row=(row)
    if row   0
      row = 0
    end
    if row   row_max - 1
      row = row_max - 1
    end
    self.oy = row * 116
  end
 
  def page_row_max
    return 4
  end
end
 
class Game_Actor   Game_Battler
  def exist?
    return super == self.index   4
  end
end

Теперь, создайте скрипт выше main и назовите его Spriteset_Battle

В скрипт впишите:
#==============================================================================
# ** Spriteset_Battle
#------------------------------------------------------------------------------
#  This class brings together battle screen sprites. It s used within
#  the Scene_Battle class.
#==============================================================================

class Spriteset_Battle
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_reader   :viewport1                # enemy viewport
  attr_reader   :viewport2                # actor viewport
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    # Make viewports
    @viewport1 = Viewport.new(0, 0, 640, 320)
    @viewport2 = Viewport.new(0, 0, 640, 480)
    @viewport3 = Viewport.new(0, 0, 640, 480)
    @viewport4 = Viewport.new(0, 0, 640, 480)
    @viewport2.z = 101
    @viewport3.z = 200
    @viewport4.z = 5000
    # Make battleback sprite
    @battleback_sprite = Sprite.new(@viewport1)
    # Make enemy sprites
    @enemy_sprites = &#91;]
    for enemy in $game_troop.enemies.reverse
      @enemy_sprites.push(Sprite_Battler.new(@viewport1, enemy))
    end
    # Make actor sprites
   
 
    @actor_sprites = &#91;]
    #@actor_sprites.push(Sprite_Battler.new(@viewport2))
    #@actor_sprites.push(Sprite_Battler.new(@viewport2))
    #@actor_sprites.push(Sprite_Battler.new(@viewport2))
    #@actor_sprites.push(Sprite_Battler.new(@viewport2))
   
 
    for i in 0...$game_party.max_party
      @actor_sprites.push(Sprite_Battler.new(@viewport2))
    end
 
 
 
    # Make weather
    @weather = RPG::Weather.new(@viewport1)
    # Make picture sprites
    @picture_sprites = &#91;]
    for i in 51..100
      @picture_sprites.push(Sprite_Picture.new(@viewport3,
        $game_screen.pictures[i]))
    end
    # Make timer sprite
    @timer_sprite = Sprite_Timer.new
    # Frame update
    update
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    # Update actor sprite contents (corresponds with actor switching)
    #@actor_sprites[0].battler = $game_party.actors[0]
    #@actor_sprites[1].battler = $game_party.actors[1]
    #@actor_sprites[2].battler = $game_party.actors[2]
    #@actor_sprites[3].battler = $game_party.actors[3]
   
    for i in 0...$game_party.max_party
      @actor_sprites[i].battler = $game_party.actors[i]
    end
 
    # If battleback file name is different from current one
    if @battleback_name != $game_temp.battleback_name
      @battleback_name = $game_temp.battleback_name
      if @battleback_sprite.bitmap != nil
        @battleback_sprite.bitmap.dispose
      end
      @battleback_sprite.bitmap = RPG::Cache.battleback(@battleback_name)
      @battleback_sprite.src_rect.set(0, 0, 640, 320)
    end
    # Update battler sprites
    for sprite in @enemy_sprites + @actor_sprites
      sprite.update
    end
    # Update weather graphic
    @weather.type = $game_screen.weather_type
    @weather.max = $game_screen.weather_max
    @weather.update
    # Update picture sprites
    for sprite in @picture_sprites
      sprite.update
    end
    # Update timer sprite
    @timer_sprite.update
    # Set screen color tone and shake position
    @viewport1.tone = $game_screen.tone
    @viewport1.ox = $game_screen.shake
    # Set screen flash color
    @viewport4.color = $game_screen.flash_color
    # Update viewports
    @viewport1.update
    @viewport2.update
    @viewport4.update
  end
end


В выше описанном скрипте найдите:
@actor_sprites.push(Sprite_Battler.new(@viewport2))
    @actor_sprites.push(Sprite_Battler.new(@viewport2))
    @actor_sprites.push(Sprite_Battler.new(@viewport2))
    @actor_sprites.push(Sprite_Battler.new(@viewport2))

И замените на
for i in 0...$game_party.max_party
      @actor_sprites.push(Sprite_Battler.new(@viewport2))
    end

Затем найдите:
@actor_sprites[0].battler = $game_party.actors[0]
    @actor_sprites[1].battler = $game_party.actors[1]
    @actor_sprites[2].battler = $game_party.actors[2]
    @actor_sprites[3].battler = $game_party.actors[3]

И замените на
for i in 0...$game_party.max_party
      @actor_sprites[i].battler = $game_party.actors[i]
    end

Теперь нужно будет немного дописать главный скрипт, а именно в начале скрипт main
дописать 2 строчки:
Battle_Party_Size = 5   # размер изображения
  Max_Party_Size = 10 # максимальное количество игроков
Администратор запретил публиковать записи гостям.

Как зделать 5 и более игроков в ХР 17 года 5 мес. назад #9874

  • Quandan
  • Quandan аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 518
;D :)
<br />
Администратор запретил публиковать записи гостям.

Как зделать 5 и более игроков в ХР 17 года 5 мес. назад #9877

  • Valera
  • Valera аватар
  • Вне сайта
  • Архитектор Миров
  • Сообщений: 1452
  • Спасибо получено: 9
  • Учитель
Вот, если б эта Enterbrain сделала редактор rgss скриптов как встроенный редактор в самом мейкере, цены бы ей не было. Ведь чего проще - нужен 5 герой в отряде! И для этого надо писать и переправлять целые простыни, а если где-то ошибся? А тут просто в меню добавляешь количество героев и у тебя уже в игре готовый скрипт.
Администратор запретил публиковать записи гостям.

Как зделать 5 и более игроков в ХР 17 года 5 мес. назад #9882

  • Fizmatik
  • Fizmatik аватар
  • Вне сайта
  • Администратор
  • Сообщений: 1886
  • Спасибо получено: 100
  • Ветеран
Вот, прекрасно! Спасибо, Gromdron! :)
Администратор запретил публиковать записи гостям.
Время создания страницы: 0.428 секунд