Ogłoszenie 

Uwaga! To forum jest w trybie offline.
Wszelką pomoc uzyskasz pod adresem
forum.ultimateam.pl


Administracja Forum


Poprzedni temat «» Następny temat
Wampiryczne Bronie
Autor Wiadomość
Angius 

Nie wkurzać



Preferowany:
RPG Maker VX

Pomógł: 104 razy
Dołączył: 30 Paź 2010
Posty: 1276
Skąd: wROCK
Wysłany: Sro 22 Cze, 2011 11:49
Wampiryczne Bronie
≡Vampyric Weapons≡


Opis:
Ten skrypt pozwala na wysysanie życia lub many przeciwnikowi na zasadzie iluś procent z zadanych obrażeń. Można stosować również u przeciwników - będą mogli wysysać nam życie.

Info:
Autor: Shanghai
Tłumaczenie: Angius

Skrypt:
Spoiler:

Kod:

#===============================================================================
#
# Shanghai Simple Script - Vampiric Weapons
# Last Date Updated: 2010.06.21
# Level: Normal
#
# Ten skrypt może dać broniom zdolności wampiryczne. Bronie wampiryczne
# będą absorbowały życie miast je zmniejszać. Bronie Syphioniczne są również
# dostępne i wysysają manę miast życia. Wampiryczne i Syphioniczne bronie
# nie mogą wysysać więcej HP lub MP niż ma przeciwnik. This attribute will also affect
# physical attack skills or items unless they already have absorbing.
# (ostatnie zdanie to coś o absorbowaniu w skillach bodaj)
#===============================================================================
# Instrukcje
# -----------------------------------------------------------------------------
# Wklej skrypt nad MAIN do sekcji MATERIALS
#
# <vampiric: x%>
# Umieść ten tag w notatkach broni a stanie się ona wampiryczną.
# Ten tak wyssie x% zadanych obrażeń. Umieść w notatkach wroga
# by również dać mu zdolności wampiryczne.
#
# <siphonic: x>
# Działa jak powyższe, tylko na manę.
#===============================================================================
 
$imported = {} if $imported == nil
$imported["VampiricWeapons"] = true
 
#==============================================================================
# RPG::Weapon
#==============================================================================
 
class RPG::Weapon < RPG::BaseItem
  #--------------------------------------------------------------------------
  # * Vampiric
  #--------------------------------------------------------------------------
  def vampiric
    return @vampiric if @vampiric != nil
    @vampiric = 0
    self.note.split(/[\r\n]+/).each { |line|
      case line
      when /<(?:VAMPIRIC|vampire):[ ]*(\d+)([%%])>/i
        @vampiric = $1.to_i
      end
    }
    return @vampiric
  end
  #--------------------------------------------------------------------------
  # * Siphonic
  #--------------------------------------------------------------------------
  def siphonic
    return @siphonic if @siphonic != nil
    @siphonic = 0
    self.note.split(/[\r\n]+/).each { |line|
      case line
      when /<(?:SIPHONIC|siphon):[ ]*(\d+)>/i
        @siphonic = $1.to_i
      end
    }
    return @siphonic
  end
end
 
#==============================================================================
# RPG::Enemy
#==============================================================================
 
class RPG::Enemy
  #--------------------------------------------------------------------------
  # * Vampiric
  #--------------------------------------------------------------------------
  def vampiric
    return @vampiric if @vampiric != nil
    @vampiric = 0
    self.note.split(/[\r\n]+/).each { |line|
      case line
      when /<(?:VAMPIRIC|vampire):[ ]*(\d+)([%%])>/i
        @vampiric = $1.to_i
      end
    }
    return @vampiric
  end
  #--------------------------------------------------------------------------
  # * Siphonic
  #--------------------------------------------------------------------------
  def siphonic
    return @siphonic if @siphonic != nil
    @siphonic = 0
    self.note.split(/[\r\n]+/).each { |line|
      case line
      when /<(?:SIPHONIC|siphon):[ ]*(\d+)>/i
        @siphonic = $1.to_i
      end
    }
    return @siphonic
  end
end
 
#==============================================================================
# ** Game_Battler
#==============================================================================
 
class Game_Battler
  #--------------------------------------------------------------------------
  # * Clear Variable for Storing Action Results
  #--------------------------------------------------------------------------
  alias clear_action_results_sss_vampire_weapons clear_action_results unless $@
  def clear_action_results
    clear_action_results_sss_vampire_weapons
    @vampiric = 0
    @siphonic = 0
  end
  #--------------------------------------------------------------------------
  # * Calculation of Damage From Normal Attack
  #--------------------------------------------------------------------------
  alias make_attack_damage_value_sss_vampire_weapons make_attack_damage_value
  def make_attack_damage_value(attacker)
    make_attack_damage_value_sss_vampire_weapons(attacker)
    @vampiric = [@hp_damage * attacker.vampiric_rate / 100, self.hp].min
    @mp_damage += attacker.siphonic_rate
    @siphonic = [@mp_damage, self.mp, attacker.siphonic_rate].min
  end
  #--------------------------------------------------------------------------
  # * Calculation of Damage Caused by Skills or Items
  #--------------------------------------------------------------------------
  alias make_obj_damage_value_sss_vampire_weapons make_obj_damage_value
  def make_obj_damage_value(user, obj)
    make_obj_damage_value_sss_vampire_weapons(user, obj)
    return if @absorbed
    return unless obj.physical_attack
    @vampiric = [@hp_damage * user.vampiric_rate / 100, self.hp].min
    @mp_damage += user.siphonic_rate
    @siphonic = [@mp_damage, self.mp, user.siphonic_rate].min
  end
  #--------------------------------------------------------------------------
  # * Damage Reflection
  #--------------------------------------------------------------------------
  alias execute_damage_sss_vampire_weapons execute_damage unless $@
  def execute_damage(user)
    execute_damage_sss_vampire_weapons(user)
    user.hp += @vampiric if @vampiric > 0
    user.mp += @siphonic if @siphonic > 0
    if $imported["BattleEngineMelody"] and @vampiric > 0
      value = sprintf(YEM::BATTLE_ENGINE::POPUP_SETTINGS[:hp_heal], @vampiric)
      rules = "HP_HEAL"
      user.create_popup(value, rules)
    end
    if $imported["BattleEngineMelody"] and @siphonic > 0
      value = sprintf(YEM::BATTLE_ENGINE::POPUP_SETTINGS[:mp_heal], @siphonic)
      rules = "MP_HEAL"
      user.create_popup(value, rules)
    end
  end
end
 
#==============================================================================
# ** Game_Actor
#==============================================================================
 
class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # * Vampiric Rate
  #--------------------------------------------------------------------------
  def vampiric_rate
    result = 0
    for weapon in weapons.compact
      result += weapon.vampiric
    end
    return [result, 0].max
  end
  #--------------------------------------------------------------------------
  # * Siphonic Rate
  #--------------------------------------------------------------------------
  def siphonic_rate
    result = 0
    for weapon in weapons.compact
      result += weapon.siphonic
    end
    return [result, 0].max
  end
end
 
#==============================================================================
# ** Game_Enemy
#==============================================================================
 
class Game_Enemy < Game_Battler
  #--------------------------------------------------------------------------
  # * Vampiric Rate
  #--------------------------------------------------------------------------
  def vampiric_rate
    return [enemy.vampiric, 0].max
  end
  #--------------------------------------------------------------------------
  # * Siphonic Rate
  #--------------------------------------------------------------------------
  def siphonic_rate
    return [enemy.siphonic, 0].max
  end
end
 
#===============================================================================
#
# END OF FILE
#
#===============================================================================



Screeny:
Screeny czego, notatek broni?
________________________
"Na trolla pewne są tylko dwie pewne metody, jedna samopowtarzalna i druga, wymagająca przeładowania ręcznego."


 
 
Mantiq 




Pomógł: 1 raz
Dołączył: 12 Mar 2011
Posty: 48
Wysłany: Sro 22 Cze, 2011 14:15
Angius napisał/a:
Screeny:
Screeny czego, notatek broni?


Dokładnie.
 
 
Angius 

Nie wkurzać



Preferowany:
RPG Maker VX

Pomógł: 104 razy
Dołączył: 30 Paź 2010
Posty: 1276
Skąd: wROCK
Wysłany: Sro 22 Cze, 2011 14:18
Kod:
# <vampiric: x%>
# Umieść ten tag w notatkach broni a stanie się ona wampiryczną.
# Ten tag wyssie x% zadanych obrażeń. Umieść w notatkach wroga
# by również dać mu zdolności wampiryczne.
#
# <siphonic: x>
# Działa jak powyższe, tylko na manę.

A to nie wystarczy kod skryptu?
________________________
"Na trolla pewne są tylko dwie pewne metody, jedna samopowtarzalna i druga, wymagająca przeładowania ręcznego."


 
 
MrBoomGood 




Preferowany:
RPG Maker VX

Pomógł: 3 razy
Dołączył: 07 Kwi 2011
Posty: 292
Skąd: Katowice
Wysłany: Sro 22 Cze, 2011 19:08
Nie wiem co powiedziec... Może wystarczy "Dziękuje"? Dzięki! Na pewno użyje w projekcie :)
 
 
 
MrDawnok 




Preferowany:
RPG Maker VX

Pomógł: 1 raz
Dołączył: 22 Maj 2010
Posty: 217
Wysłany: Sob 25 Cze, 2011 10:29
Skrypt spoko akurat robię grę o wampirach więc się przyda :-)
________________________



http://www.forumgalonum.pun.pl/viewtopic.php?id=5

"Bliski przyjaciel, czy to nie właściwe określenie dla kogoś, kto już przestał być bliski?"
 
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group | Template Klam by Ayene