UltimaForum

Wsparcie [XP] - Zniknięcie bohaterów w czasie walki.

Shadi - Pią 13 Sty, 2012 17:42
Temat postu: Zniknięcie bohaterów w czasie walki.
Witam. Pytałem się już na rmxp.pl o to , ale zasugerowany tam sposób mnie nie usatysfakcjonował.
Powiedzmy że mam 4 bohaterów( używam standardowego systemu walki makera.)
Jak można sprawić, za pomocą skryptów , lub eventami by battlersy 3 z pośród nich nie były widoczne?
Z góry dziękuję za pomoc.

Ayene - Pon 16 Sty, 2012 13:27

Tylko battlersy mają znikać? A co ze statystykami, imieniem? Jak to dokładnie ma wyglądać?
Shadi - Pon 16 Sty, 2012 18:18

Tylko battlersy. Chodzi o to, że jest animacja jak trener wypuszcza pokemony(bohaterów) i podczas niej ma być widoczny tylko battlers 1 bohatera( bo on będzie zmieniał grafiki na kolejne klatki animacji. ). Zależałoby mi na tym, żeby było to w miarę zautomatyzowane, tzn nie zmieniać grafikę na pustą wszystkim bohaterom po kolei zdarzeniami , bo możemy mieć w drożynie 25 różnych bohaterów.... i to byłoby upierdliwe.
Ayene - Pon 16 Sty, 2012 19:42

Zrób kopię projektu :!:
Wejdź w skrypt 'Spriteset_Battle' i znajdź fragment:
Kod:
@viewport4.z = 5000

dodaj pod nim:
Kod:
@viewport5 = Viewport.new(0, 0, 640, 480)
@viewport5.z = 100

następnie znajdź:
Kod:
@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))

i zamień na:
Kod:
@actor_sprites.push(Sprite_Battler.new(@viewport2))
    @actor_sprites.push(Sprite_Battler.new(@viewport5))
    @actor_sprites.push(Sprite_Battler.new(@viewport5))
    @actor_sprites.push(Sprite_Battler.new(@viewport5))

następnie znajdź:
Kod:
@viewport4.dispose

i dodaj:
Kod:
@viewport5.dispose

następnie znajdź:
Kod:
@viewport4.update

i dodaj:
Kod:
@viewport5.update

znajdź ostatnie end w tym skrypcie i dodaj przed nim:
Kod:
def show
    @viewport5.visible = true 
    update
  end 
 
  def hide
    @viewport5.visible = false   
    update
  end

Wejdź w skrypt:
Kod:
Scene_Battle 1

i pod linijką:
Kod:
class Scene_Battle

dodaj:
Kod:
attr_reader :spriteset

Teraz w momencie, gdy będziesz chciał wyłączyć battlersy w ustawieniach walki wpisz:
Kod:
$scene.spriteset.hide

by włączyć je:
Kod:
$scene.spriteset.show

Po to kopia, w razie jakby jeszcze nie o to chodziło ;-)

Shadi - Wto 17 Sty, 2012 10:00

Może to będzie Spam, no ale trudno. Wielkie Dzięki Ayene, wszystko działa jak należy(sprawdziłem na wielu walkach).

Powered by phpBB modified by Przemo © 2003 phpBB Group