Cześć, oto mój drugi skrypt (pierwszy nie miał zastosowania w praktyce).
Sam go napisałem (właściwie to dodałem kilka słów do już istniejących klas), ale zawsze coś!!!
Potraktujcie go jako prezent na święta.
DZIAŁANIE:
Możemy w dowolnym momencie gry zmniejszać/zwiększać ceny kupna/sprzedaży przedmiotów o np: 10% lub 1000%.
INSTRUKCJA:
W skrypcie.
SCREENY:
Niepotrzebne.
Oto to:
Spoiler:
Kod:
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/Tytuł: Ceny Kontrolowane.............................._/
#_/Autor: Ja!!! (tj Marcin z www.ultimateam.pl)..._/
#_/Data: 23 grudzień 2009r............................._/
#_/Wersja: 1.0.............................................._/
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#~~~~~~~~~~~INSTRUKCJA~~~~~~~~~~~~~~~~~~
#Ten skrypt pozwoli wam zmieniać ceny wszystkich przedmiotów jednocześnie
#Do zmiany cen służą skrypty:
#Aby zmienić cene kupna trzeba wywołać skrypty:
# Kup::Liczba2 = 1
# a potem:
# Kup::Liczba1 = x
#mnoży cenę przedmiotu o x (zapłacimy więcej kasy)
#lub
# Kup::Liczba1 = 1
#a potem:
# Kup::Liczba2 = x
#dzieli cenę przedmiotu o x (zapłacimy mniej kasy)
#
#Aby zmienić cene sprzedaży trzeba wywołać skrypty:
# Sprzedaj::Liczba2 = 1
#a potem:
# Sprzedaj::Liczba1 = x
#mnoży cenę przedmiotu o x (dostaniemy więcej kasy)
#lub:
# Sprzedaj::Liczba1 = 1
#a potem
# Sprzedaj::Liczba2 = x
#dzieli cenę przedmiotu o x (dostaniemy mniej kasy)
#~~~~~~~~WAŻNE~~~~~~
#Liczby "x" muszą być całkowite i nieujemne.
#Aby zrobić tak jak było (czyli za sprzedanie przedmiotu dostajemy połowe jego normalnej wartości)
#musimy po kolei wywołać skrypty:
#Sprzedaj::Liczba1 = 1
#Sprzedaj::Liczba2 = 2
#Kup::Liczba1 = 1
#Kup::Liczba2 = 1
#Ten skrypt posiada już te ustawienia!! (napisałem o tym, gdybyście w swojej grze je zmienili i chcieli
#powrócić do starych ustawień).
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#~~~~~~~~~~~~RADY~~~~~~~~~~~~
#jeżeli chcecie, by ceny przedmiotów wzrosły o np: 10%
#to przemnóćcie te ceny przez 11 (Kup::Liczba1 = 11) a potem podzielcie przez 10 (Kup:Liczba2 = 10)
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
module Kup
Liczba1 = 1 #mnoży cenę kupna (zapłacimy więcej)
Liczba2 = 1 #dzieli cenę kupna (zapłacimy mniej)
end
module Sprzedaj
Liczba1 = 3 #mnoży cenę sprzedania (dostaniemy więcej)
Liczba2 = 2 #dzieli cenę sprzedania (dostaniemy mniej)
end
class Scene_Shop < Scene_Base
def update_buy_selection
@status_window.item = @buy_window.item
if Input.trigger?(Input::B)
Sound.play_cancel
@command_window.active = true
@dummy_window.visible = true
@buy_window.active = false
@buy_window.visible = false
@status_window.visible = false
@status_window.item = nil
@help_window.set_text("")
return
end
if Input.trigger?(Input::C)
@item = @buy_window.item
number = $game_party.item_number(@item)
if @item == nil or (@item.price * Kup::Liczba1 / Kup::Liczba2) > $game_party.gold or number == 99
Sound.play_buzzer
else
Sound.play_decision
max = @item.price == 0 ? 99 : $game_party.gold / (@item.price * Kup::Liczba1 / Kup::Liczba2)
max = [max, 99 - number].min
@buy_window.active = false
@buy_window.visible = false
@number_window.set(@item, max, @item.price * Kup::Liczba1 / Kup::Liczba2)
@number_window.active = true
@number_window.visible = true
end
end
end
def update_sell_selection
if Input.trigger?(Input::B)
Sound.play_cancel
@command_window.active = true
@dummy_window.visible = true
@sell_window.active = false
@sell_window.visible = false
@status_window.item = nil
@help_window.set_text("")
elsif Input.trigger?(Input::C)
@item = @sell_window.item
@status_window.item = @item
if @item == nil or @item.price == 0
Sound.play_buzzer
else
Sound.play_decision
max = $game_party.item_number(@item)
@sell_window.active = false
@sell_window.visible = false
@number_window.set(@item, max, @item.price * Sprzedaj::Liczba1 / Sprzedaj::Liczba2)
@number_window.active = true
@number_window.visible = true
@status_window.visible = true
end
end
end
def decide_number_input
Sound.play_shop
@number_window.active = false
@number_window.visible = false
case @command_window.index
when 0 # Buy
$game_party.lose_gold(@number_window.number * @item.price * Kup::Liczba1 / Kup::Liczba2)
$game_party.gain_item(@item, @number_window.number)
@gold_window.refresh
@buy_window.refresh
@status_window.refresh
@buy_window.active = true
@buy_window.visible = true
when 1 # sell
$game_party.gain_gold(@number_window.number * (@item.price * Sprzedaj::Liczba1 / Sprzedaj::Liczba2))
$game_party.lose_item(@item, @number_window.number)
@gold_window.refresh
@sell_window.refresh
@status_window.refresh
@sell_window.active = true
@sell_window.visible = true
@status_window.visible = false
end
end
end
class Window_ShopBuy < Window_Selectable
def draw_item(index)
item = @data[index]
number = $game_party.item_number(item)
enabled = (item.price * Kup::Liczba1 / Kup::Liczba2 <= $game_party.gold and number < 99)
rect = item_rect(index)
self.contents.clear_rect(rect)
draw_item_name(item, rect.x, rect.y, enabled)
rect.width -= 4
self.contents.draw_text(rect, item.price * Kup::Liczba1 / Kup::Liczba2, 2)
end
end
Nie, różnice są duże, oto kilka:
1. Ten skrypt sam napisałem (dzisiaj), tamten tylko przetłumaczyłem (jakiś czas temu).
2. Tamten skrypt zmieniał cenę jednego przedmiotu, ten zmienia (dzieli lub mnoży) cenę wszystkich.
3. W tym skrypcie możemy ustawić, że cena sprzedaży przedmiotu będzie równa cenie nabycia, lub nawet wyższa!!!! W tamtym nie!!!
I jeszcze kilka różnic by się znalazło...
Ogólnie, moim zdaniem, ten skrypt jest bardziej praktyczny.
[ Dodano: Czw 24 Gru, 2009 02:25 ]
I bardzo bardzo prosty!!!!
Męczyłem się z nim dwa dni, a teraz, gdy już wiem co i jak, napisanie tego skryptu od nowa zajęło by mi może 10 minut!!!!!!!!!!!!!
Chciałem wam po prostu dać jakiś prezent
Potrzebuję identycznego, tylko, że do XP, mógłby ktoś przerobić?
________________________ 89% graczy uważa, że najważniejsza jest grafika.
Jeśli należysz do pozostałych 11% wklej to do swojego podpisu.
____________________________________________________
Jam jest Lord Voldemort!
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