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.
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
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