Ogłoszenie 

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


Administracja Forum


Poprzedni temat «» Następny temat
Ulepszanie broni
Autor Wiadomość
Shadow 




Preferowany:
RPG Maker VX

Pomógł: 3 razy
Dołączył: 18 Lip 2011
Posty: 24
Skąd: Świnoujście
Wysłany: Sro 25 Sty, 2012 10:40
Ulepszanie broni
~ Digioso Weapon Upgrades ~


Krótki opis:
Skrypt pozwala na ulepszanie przedmiotów. Przy każdym ulepszeniu zwiększa się atak. Skrypt oferuje również zmianę ikony,nazwy a nawet opisu broni.

Autor:
Digioso

Tłumaczenie:
Shadow

Skrypt:
Spoiler:

Kod:
=begin
Digioso Weapon Upgrades 1.3
Author:Digioso
Tłumaczył:Shadow
Czy chciałeś zawsze ulepszać broń?
Newest version available at: http://www.digioso.org/Digioso_weapons
=end

class Digioso_weapons
 
  def initialize
   
    # Instrukcja:
   
    # Ten skrypt pozwala na ulepszanie broni. Umieszcza aktualny poziom w opisie
    # broni i zwiększa jej atak o podaną wartość.
    #
    # UWAGA: To kompletnie zmienia broń . Ten system przeznaczony jest dla gier
    # które używają ograniczonej liczby broni (jak w Secret of Mana ). jeżeli
    # masz dwa  "Krótki Miecz" i jeden z nich ulepszysz wtedy obydwa miecze mają
    # poziom 2. Więc jeżeli wrogowie upuszczają broń jak szaleni ten skrypt nie
    # jest dla ciebie.
   
    # Komendy:
    # $Digioso_weapons.add_level(Id broni) <- Ulepsza broń
    # Przykład: $Digioso_weapons.add_level(1) <- ulepsza o 1 poziom broń o ID 1

    # $Digioso_weapons.change_plus(Id broni, wartość) <- zmienia wartośc ataku
    # jaką dostajesz za ulepszenie
    # Przykład: $Digioso_weapons.change_plus(1, 10) <- doda 10 ataku po ulepszeniu
    # broni z Id 1
   
    # $Digioso_weapons.get_icon(Id broni) <- Ustawia bieżącą ikonę broni w
    # zmiennej poniżej.
 
    # Aby zmienić ikonę broni należy w zdarzeniu wywołać skrypt:   
    # $Digioso_weapons.set_icon(Id broni,id ikony) <- ustawia ikonę broni na taką
    # jaką chcesz.
    # $Digioso_weapons.put_var(weapon_id) <- Ustawia bieżący poziom broni
    # w zmiennej poniżej.
    # Example: $Digioso.put_var(1) <- zmienna będzie przechowywać poziom
    # proni z Id 1

    # Aby zmienić opis broni należy w zdarzeniu wywołać skrypt:   
    # $Digioso_weapons.set_description(Id broni, "opis") <- Zmień opis
    # broni o wybranym Id
    # Przykład: $Digioso_weapons.set_description(3, "Delivers the wrath of Digioso")
    # Zmienia opis broni z Id 3 na: Delivers the wrath of Digioso
   
    # Aby zmienić nazwę broni należy w zdarzeniu wywołać skrypt:
    # $Digioso_weapons.set_name(Id broni, "Nazwa...")
    # Przykład: $Digioso_weapons.set_name(1, "Digiosos sword of ultimate doom")
    # Zmienia nazwę broni z Id 1 na "Digiosos sword of ultimate doom".
   
    @weapons = {   #NIE RUSZAJ TEGO
   
    # Zmienna jaką używa skrypt (Standardowo 1)
      "var"      => 1,
   
    # Wartośc o jaką wzrośnie atak po ulepszeniu
      "def_plus" => 5,
     
    # Ustaw procent na true jeżeli wartość ataku ma zwiększać się procentowo.
    # Atak zwiększa się całościowo , jeżeli z obliczeń wychodzi 1,9 to broń nadal
    # będzie miała 1 ataku.
      "percent" => false,
     
    # Aby pokazać poziom broni skrypt umieszcza za opisem broni tekst
    # Np. Twój miecz ma opis  "Zdobiony miecz"
    # Wtedy skrypt zmieni to tak: "Zdobiony miecz (Level 2)
    # Następnym razem skrypt umieści "Zdobiony miecz (Level 3)
    # i tak dalej
      "description" => "Level",
     
    # use_lvl dodaje wskaźnik poziom w opisie przedmiotu,
    # jeżelu ustawisz false poziom nie będzie wyświetlany.
      "use_lvl" => true,
     
    # W tym miejscu możesz ustawić o  ile wzrośnie atak po ulepszeniu.
    # Składnia: Id broni => wartość ataku
    # Przykład: 1 => 5
    # Doda 5 (lub 5%) do ataku broni o ID  1.
    # And of course you can change/add these values with the change_plus command
    # as described above.
    # Nie zapomnij dać przecinka na końcu każdego rzędu (z wyjątkiem ostatniego)
    # jeżeli chcesz dodać wiele broni.
    1 =>   5,
    2 =>  10
     
#---KONIEC KONFIGURACJI! NIE EDYTUJ KODU PONIŻEJ CHYBA ŻE WIESZ CO ROBISZ!---
    }
   
    @weapon_level = Hash.new
   
  end
 

  def change_plus(weapon_id, value)
    @weapons[weapon_id] = value
  end
 

  def add_level(weapon_id)

    if($data_weapons[weapon_id].description =~ /^(.*?)\(#{@weapons["description"]} (\d+)\)(.*?)$/)
      description1 = $1
      currentlevel = $2.to_i
      description2 = $3
      if(@weapon_level.has_key?(weapon_id))
        @weapon_level[weapon_id] += 1
      else
        @weapon_level[weapon_id]  = currentlevel + 1
      end
      $data_weapons[weapon_id].description  = "#{description1}(#{@weapons["description"]} #{@weapon_level[weapon_id]}#{description2})"
    else
      if(@weapons["use_lvl"])
        $data_weapons[weapon_id].description += " (#{@weapons["description"]} 2)"
      end
      if(@weapon_level.has_key?(weapon_id))
        @weapon_level[weapon_id] += 1
      else
        @weapon_level[weapon_id]  = 2
      end
    end
    if(@weapons.has_key?(weapon_id))
      if(@weapons["percent"])
        $data_weapons[weapon_id].atk += ($data_weapons[weapon_id].atk * @weapons[weapon_id]) / 100
      else
        $data_weapons[weapon_id].atk += @weapons[weapon_id]
      end
    else
      if(@weapons["percent"])
        $data_weapons[weapon_id].atk += ($data_weapons[weapon_id].atk * @weapons["def_plus"]) / 100
      else
        $data_weapons[weapon_id].atk += @weapons["def_plus"]
      end
    end
  end
 
  def set_description(weapon_id, description)
    description.gsub!("\n", "")
    if($data_weapons[weapon_id].description =~ /^.*?\(#{@weapons["description"]} (\d+)\)(.*?)$/)
      $data_weapons[weapon_id].description  = "#{description}(#{@weapons["description"]} #{$1}#{$2})"
    else
      if(@weapons["use_lvl"])
        $data_weapons[weapon_id].description = "#{description} (#{@weapons["description"]} 1)"
      else
        $data_weapons[weapon_id].description = description
      end
    end
  end
 
  def get_icon(weapon_id)
    $game_variables[@weapons["var"]] = $data_weapons[weapon_id].icon_index
  end
 
  def set_icon(weapon_id, icon)
    $data_weapons[weapon_id].icon_index = icon.to_i
  end
 
  def set_name(weapon_id, name)
    $data_weapons[weapon_id].name = name.gsub("\n", "")
  end
 
  def put_var(weapon_id)
    if(@weapon_level.has_key?(weapon_id))
      $game_variables[@weapons["var"]] = @weapon_level[weapon_id]
    elsif($data_weapons[weapon_id].description =~ /^.*?\(#{@weapons["description"]} (\d+)\)/)
      $game_variables[@weapons["var"]] = $1
    else
      $game_variables[@weapons["var"]] = 1
    end
  end
 
end

class Scene_File < Scene_Base
  alias digioso_write_save_data_digioso_weapons write_save_data
  def write_save_data(file)
    digioso_write_save_data_digioso_weapons(file)
    Marshal.dump($Digioso_weapons, file)
    Marshal.dump($data_weapons, file)
  end


  alias digioso_read_save_data_digioso_weapons read_save_data
  def read_save_data(file)
    digioso_read_save_data_digioso_weapons(file)
    $Digioso_weapons = Marshal.load(file)
    $data_weapons = Marshal.load(file)
  end
end

$Digioso_weapons = Digioso_weapons.new


Screeny:
Spoiler:



Demo:



Dodatkowe informacje:
Aby umieścić skrypt wklej go do Edytora Skryptów nad Main.
________________________
Odnajdź siebie, a znajdziesz prawdziwą siłę do walki z przeciwnościami losu.
 
 
poko67 




Preferowany:
RPG Maker VX

Pomógł: 6 razy
Dołączył: 21 Lis 2009
Posty: 141
Wysłany: Sro 25 Sty, 2012 10:56
Skrypt nawet...ale mało rozbudowany ;D ale na pewno znajdą się kreatywne osoby które z tego czegoś zrobią cudo ;D
 
 
AdolfSolaris 



Preferowany:
RPG Maker VX

Dołączył: 04 Mar 2012
Posty: 1
Wysłany: Nie 04 Mar, 2012 10:49
Hmmmm a jak by to ulepszać? Jestem w tym nowy a to mój 1 post. To trzeba zrobić u jakiegoś npc event w ustawieniach????
 
 
Stefan 



Preferowany:
RPG Maker VX

Dołączył: 24 Lut 2012
Posty: 22
Skąd: z Polski
Wysłany: Czw 08 Mar, 2012 22:02
AdolfSolaris napisał/a:
Hmmmm a jak by to ulepszać? Jestem w tym nowy a to mój 1 post. To trzeba zrobić u jakiegoś npc event w ustawieniach????

Wszystko jest w demie ;)
# Komendy:
# $Digioso_weapons.add_level(Id broni) <- Ulepsza broń
# Przykład: $Digioso_weapons.add_level(1) <- ulepsza o 1 poziom broń o ID 1

# $Digioso_weapons.change_plus(Id broni, wartość) <- zmienia wartośc ataku
# jaką dostajesz za ulepszenie
# Przykład: $Digioso_weapons.change_plus(1, 10) <- doda 10 ataku po ulepszeniu
# broni z Id 1

# $Digioso_weapons.get_icon(Id broni) <- Ustawia bieżącą ikonę broni w
# zmiennej poniżej.

# Aby zmienić ikonę broni należy w zdarzeniu wywołać skrypt:
# $Digioso_weapons.set_icon(Id broni,id ikony) <- ustawia ikonę broni na taką
# jaką chcesz.
# $Digioso_weapons.put_var(weapon_id) <- Ustawia bieżący poziom broni
# w zmiennej poniżej.
# Example: $Digioso.put_var(1) <- zmienna będzie przechowywać poziom
# proni z Id 1

# Aby zmienić opis broni należy w zdarzeniu wywołać skrypt:
# $Digioso_weapons.set_description(Id broni, "opis") <- Zmień opis
# broni o wybranym Id
# Przykład: $Digioso_weapons.set_description(3, "Delivers the wrath of Digioso")
# Zmienia opis broni z Id 3 na: Delivers the wrath of Digioso

# Aby zmienić nazwę broni należy w zdarzeniu wywołać skrypt:
# $Digioso_weapons.set_name(Id broni, "Nazwa...")
# Przykład: $Digioso_weapons.set_name(1, "Digiosos sword of ultimate doom")
# Zmienia nazwę broni z Id 1 na "Digiosos sword of ultimate doom".
A co do skryptu, jest bardzo fajny tylko, że przydaloby sie jeszcze ulepszanie pancerza i pozostalych czesci wyposażenia :lol2:
 
 
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