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

Как зделать 5 и более игроков в ХР

Больше
19 года 1 мес. назад #3643 от Tratil
Всем сново привет как мне зделать 5 и более игроков РПГ МейкереХР а в бою 1-ого земенить 5-ым кто нить знает как это зделать или что в скриптах отпишите
Жду ответов

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
19 года 1 мес. назад #3653 от Tratil
Поищи плз

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
19 года 1 мес. назад #3711 от Fox
Буржуи, за такие слова, фиг вам с маслом дадут. Все самое вкусное, они кодируют в Encrypted Archive.
Вообще, буржуев в России дофига, это ж те люди, которые просто имеют много денег, алигархи. Вот они-то и буржуи.

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

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
19 года 1 мес. назад #3869 от Tratil
Стоп что то у меня не выходит
плз объясни т по подробней что и где надо зделать и под ставить вот мои скрипты

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Ветеран
Больше
18 года 11 мес. назад #9609 от Fizmatik
www.gamingw.net/forums/index.php?topic=54326.0
Вот по этой ссылке всё описано. gromdron, может переведешь и в туториалы?
Не первый раз спрашивают уже.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
18 года 11 мес. назад #9610 от Quandan
Так сказать...поднял тему из (з)ада :)

<br />

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Учитель
Больше
18 года 11 мес. назад #9796 от gromdron
А что тут переводить ?

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

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

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Ветеран
Больше
18 года 11 мес. назад #9863 от Fizmatik
Товарищи, согласитесь -хороший скрипт, поэтому, давайте дружно попросим gromdrona перевести тот пост на GW и выложить в этой теме уже переведенный вариант. :)

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
18 года 11 мес. назад #9864 от Quandan
gromdron, переведи :( :D

<br />

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Учитель
Больше
18 года 11 мес. назад #9870 от Valera
П-Е-Р-Е-В-Е-Д-И !!! *AAA* П-Е-Р-Е-В-Е-Д-И !!! *perec*

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Учитель
Больше
18 года 11 мес. назад #9871 от gromdron
Главный скрипт.
Code:
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

В скрипт впишите:
Code:
#============================================================================== # ** 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


В выше описанном скрипте найдите:
Code:
@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))

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

Затем найдите:
Code:
@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]

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

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

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
18 года 11 мес. назад #9874 от Quandan

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Учитель
Больше
18 года 11 мес. назад #9877 от Valera
Вот, если б эта Enterbrain сделала редактор rgss скриптов как встроенный редактор в самом мейкере, цены бы ей не было. Ведь чего проще - нужен 5 герой в отряде! И для этого надо писать и переправлять целые простыни, а если где-то ошибся? А тут просто в меню добавляешь количество героев и у тебя уже в игре готовый скрипт.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Ветеран
Больше
18 года 11 мес. назад #9882 от Fizmatik
Вот, прекрасно! Спасибо, Gromdron! :)

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Время создания страницы: 0.129 секунд
Работает на Kunena форум