Pomogła: 232 razy Dołączyła: 18 Wrz 2007 Posty: 2424
Wysłany: Sro 18 Sty, 2012 21:26
Rozdawanie punktów co poziom [VXAce]
~ Rozdawanie punktów co poziom [VXAce] ~
Krótki opis:
Skrypt umożliwia rozwój postaci poprzez zwiększanie jej statystyk dzięki dodatkowym punktom, które otrzymuje po uzyskaniu poziomu.
Autor:
Ayene [yurika@o2.pl]
Kompatybilność:
RPG Maker VX Ace
Skrypt:
Spoiler:
Kod:
#==============================================================================
# Rozdawanie punktów co poziom [VXAce]
#==============================================================================
# Autor: Ayene
# www.ultimateam.pl
#==============================================================================
# Skrypt umożliwia rozwój postaci poprzez zwiększanie jej statystyk dzięki
# dodatkowym punktom, które otrzymuje po uzyskaniu poziomu.
# Instalacja: Umieść skrypt nad Main.
#==============================================================================
# By wywołać okno rozdawania punktów użyj polecenia 'Script' i wpisz:
# SceneManager.call(Scene_Upgrade)
#==============================================================================
module Ayene
POINTS_PER_LEVEL = 5 # liczba punktów co poziom
IN_MENU = true # widoczne w menu
COMMAND_UPGRADE = 'Rozdaj' # nazwa komendy w menu
end
class Game_Actor < Game_Battler
include Ayene
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_accessor :points
#--------------------------------------------------------------------------
# * Setup (alias)
#--------------------------------------------------------------------------
alias aye_gamac_setup setup
def setup(*args)
@points = 0
aye_gamac_setup(*args)
end
#--------------------------------------------------------------------------
# * Level Up (alias)
#--------------------------------------------------------------------------
alias aye_gamac_level_up level_up
def level_up
aye_gamac_level_up
@points += POINTS_PER_LEVEL
end
#--------------------------------------------------------------------------
# * Level Down (alias)
#--------------------------------------------------------------------------
alias aye_gamac_level_down level_down
def level_down
aye_gamac_level_down
@points -= [POINTS_PER_LEVEL, @points].min
end
end
if Ayene::IN_MENU
#==============================================================================
# ** Window_MenuCommand
#==============================================================================
class Window_MenuCommand < Window_Command
#--------------------------------------------------------------------------
# * Add Main Commands (alias)
#--------------------------------------------------------------------------
alias aye_wincom_addmaincom add_main_commands
def add_main_commands
aye_wincom_addmaincom
add_command(Ayene::COMMAND_UPGRADE, :upgrade, main_commands_enabled)
end
end
class Scene_Menu < Scene_MenuBase
#--------------------------------------------------------------------------
# * Create Command Window (alias)
#--------------------------------------------------------------------------
alias aye_scmen_crcommwin create_command_window
def create_command_window
aye_scmen_crcommwin
@command_window.set_handler(:upgrade, method(:command_personal))
end
#--------------------------------------------------------------------------
# * On Personal OK (alias)
#--------------------------------------------------------------------------
alias aye_scmen_conperok on_personal_ok
def on_personal_ok
aye_scmen_conperok
case @command_window.current_symbol
when :upgrade
SceneManager.call(Scene_Upgrade)
end
end
end
end
Screeny:
Spoiler:
Dodatkowe informacje:
1. Wklej skrypt nad "Main" w Edytorze Skryptu.
2. Reszta instrukcji znajduje się w treści skryptu.
Pomógł: 1 raz Dołączył: 07 Sty 2012 Posty: 46 Skąd: Polska
Wysłany: Sob 21 Sty, 2012 11:22
Ja podczas przymierzania się do gry "Miasteczko Nowoczesne 5" napisałem podobny skrypt. Tyle, że poszedłem krok dalej od ciebie, Ayene. W moim każdy bohater w przypadku cechy, w którą gracz może inwestować punkty, ma dwie opisujące ja wartości. A pierwszą a nich jest początkowa wartość cechy. Minimum 1 dla życia, siły, zręczności, zwinności i inteligencji, i 0 dla magii, ataku, obron i uniku. Druga wartość to współczynnik punktów. Minimalnie 0 dla wszystkich cech. Odnowa życia, magii i unik można modyfikować tylko zakładaniem broni, zbroi, tarczy, akcesoriów i innych elementów wyposażenia. Ale ten skrypt da się przerobić tak, żeby działał podobnie jak mój.
________________________ Ryzykując, że zrobisz super gniota, możesz zrobić super hit lub super gniota.
Ayene a jak zrobić, żeby im więcej punktów daliśmy w jakąś umiejętność tym więcej punktów trzeba wydać na jej ulepszenie? I jak zrobić, żeby z czasem dostawać więcej lub mniej punktów do rozdysponowania? I jak zmienić, żeby HP i MP zamiast o 10 rosły np. o 20 a inne skille o np. 2?
Pomogła: 232 razy Dołączyła: 18 Wrz 2007 Posty: 2424
Wysłany: Pon 07 Maj, 2012 10:08
Valdali, sprawdź to:
Spoiler:
Kod:
#==============================================================================
# Rozdawanie punktów co poziom [VXAce]
#==============================================================================
# Autor: Ayene
# www.ultimateam.pl
#==============================================================================
# Skrypt umożliwia rozwój postaci poprzez zwiększanie jej statystyk dzięki
# dodatkowym punktom, które otrzymuje po uzyskaniu poziomu.
# Instalacja: Umieść skrypt nad Main.
#==============================================================================
# By wywołać okno rozdawania punktów użyj polecenia 'Script' i wpisz:
# SceneManager.call(Scene_Upgrade)
#==============================================================================
module Ayene
POINTS_PER_LEVEL = 5 # liczba punktów co poziom
IN_MENU = true # widoczne w menu
COMMAND_UPGRADE = 'Rozdaj' # nazwa komendy w menu
end
class Game_Actor < Game_Battler
include Ayene
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_accessor :points
#--------------------------------------------------------------------------
# * Setup (alias)
#--------------------------------------------------------------------------
alias aye_gamac_setup setup
def setup(*args)
@points = 0
aye_gamac_setup(*args)
end
#--------------------------------------------------------------------------
# * Level Up (alias)
#--------------------------------------------------------------------------
alias aye_gamac_level_up level_up
def level_up
aye_gamac_level_up
@points += POINTS_PER_LEVEL
end
#--------------------------------------------------------------------------
# * Level Down (alias)
#--------------------------------------------------------------------------
alias aye_gamac_level_down level_down
def level_down
aye_gamac_level_down
@points -= [POINTS_PER_LEVEL, @points].min
end
end
if Ayene::IN_MENU
#==============================================================================
# ** Window_MenuCommand
#==============================================================================
class Window_MenuCommand < Window_Command
#--------------------------------------------------------------------------
# * Add Main Commands (alias)
#--------------------------------------------------------------------------
alias aye_wincom_addmaincom add_main_commands
def add_main_commands
aye_wincom_addmaincom
add_command(Ayene::COMMAND_UPGRADE, :upgrade, main_commands_enabled)
end
end
class Scene_Menu < Scene_MenuBase
#--------------------------------------------------------------------------
# * Create Command Window (alias)
#--------------------------------------------------------------------------
alias aye_scmen_crcommwin create_command_window
def create_command_window
aye_scmen_crcommwin
@command_window.set_handler(:upgrade, method(:command_personal))
end
#--------------------------------------------------------------------------
# * On Personal OK (alias)
#--------------------------------------------------------------------------
alias aye_scmen_conperok on_personal_ok
def on_personal_ok
aye_scmen_conperok
case @command_window.current_symbol
when :upgrade
SceneManager.call(Scene_Upgrade)
end
end
end
end
Pomógł: 1 raz Dołączył: 08 Wrz 2011 Posty: 35 Skąd: Ruda Śląska
Wysłany: Pon 28 Maj, 2012 15:29
Valdali napisał/a:
Ayene a doły by się zrobić tak, żeby usunąć możliwość rozdawania pkt dla statystyk: HP i MP ?
Jeśli tak, to bym był ci baaardzo wdzięczny za pomoc
On napisał że nie chce HP i MP a ja tylko MP. A nie że tylko dodawać MP. pliss Napisz bo ja tego skryptu nie ogarniam takto bym sam to zrobił. Zrób to plissa
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