Krótki opis
Dzieki temu skryptowi możemy mieć w grze dwie waluty i uzywać ich na zmianę (przełączając jeden switch).
Widziałem w necie menu z dwiema walutami, ale samego skryptu nie mogłem znaleźć, więc go napisałem.
Umieściłem w nim inny skrypt "Ikonka złotej monety w menu", musiałem dodać drugą ikonkę (bez tego ani rusz). Mam nadzieję, że Ayene się nie obrazi.
Autor skryptu
Marcin (www.ultimateam.pl)
Kompatybilność
Tylko VX.
Spoiler:
Skrypt
Kod:
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/Nazwa: Dodatkowa waluta......._/
#_/Autor: Marcin (www.ultimateam.pl)._/
#_/Data: 26 grudnia 2009r................_/
#_/Wersja: 1.0..............................._/
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#instrukcja
#switch/przełącznik, który odpowiada za zmiane waluty
GOLD = 20 #możemy go oczywiście zmienić.
#gdy jest off to używaną walutą jest nowa waluta
#gdy jest on to używaną walują jest stara waluta
#~~~~~~~~~~~~~~~~~~SKRYPT
class Window_Gold < Window_Base
def initialize(x, y)
super(x, y, 160, WLH * 2 + 32)
refresh
end
def refresh
self.contents.clear
draw_currency_value($game_party.gold, 4, 0, 120)
draw_currency_value($game_party.gold2, 4, 24, 120)
end
end
class Game_Party < Game_Unit
attr_reader :gold2
def initialize
super
@gold = 0
@gold2 = 0
@steps = 0
@last_item_id = 0
@last_actor_index = 0
@last_target_index = 0
@actors = [] # Party member (actor ID)
@items = {} # Inventory item hash (item ID)
@weapons = {} # Inventory item hash (weapon ID)
@armors = {} # Inventory item hash (armor ID)
end
def gain_gold(n)
if $game_switches[GOLD]
@gold = [[@gold + n, 0].max, 9999999].min
else
@gold2 = [[@gold2 + n, 0].max, 9999999].min
end
end
def lose_gold(n)
gain_gold(-n)
end
end
class Scene_Menu < Scene_Base
def start
super
create_menu_background
create_command_window
@gold_window = Window_Gold.new(0, 336)
@status_window = Window_MenuStatus.new(161, 0)
end
end
class Scene_Shop < Scene_Base
def start
super
create_menu_background
create_command_window
@help_window = Window_Help.new
@gold_window = Window_Gold.new(384, 56)
@dummy_window = Window_Base.new(0, 136, 544, 280)
@buy_window = Window_ShopBuy.new(0, 136)
@buy_window.active = false
@buy_window.visible = false
@buy_window.help_window = @help_window
@sell_window = Window_ShopSell.new(0, 136, 544, 280)
@sell_window.active = false
@sell_window.visible = false
@sell_window.help_window = @help_window
@number_window = Window_ShopNumber.new(0, 136)
@number_window.active = false
@number_window.visible = false
@status_window = Window_ShopStatus.new(304, 136)
@status_window.visible = false
end
end
class Window_ShopBuy < Window_Selectable
def initialize(x, y)
super(x, y, 304, 280)
@shop_goods = $game_temp.shop_goods
refresh
self.index = 0
end
end
class Window_ShopNumber < Window_Base
def initialize(x, y)
super(x, y, 304, 280)
@item = nil
@max = 1
@price = 0
@number = 1
end
end
#~~~~~~~~~~~~~~~~~~KONIEC MOJEGO SKRYPTU~~~~~~~~~~~~~~~~~~
#musiałem dostosować także skrypt ikonki złotej monety w menu
# ==========================================================
# ~ Ikona złotej monety w Menu ~
# Data publikacji: 17.07.2009
# Autor: MikauSchekzen
# Tłumaczenie i poprawki: Ayene [yurika@o2.pl]
# Zapraszam na stronę Ultima Forum - http://www.ultimateam.pl
# Dostosowanie do drugiej waluty: Marcin (www.ultimateam.pl)
# ==========================================================
# Instalacja: Umieść ten skrypt nad Main w Edytorze Skryptu.
# ==========================================================
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# --------------------------- POCZĄTEK SKRYPTU ---------------------------------
module GoldIcon
# ---------------------------- POCZĄTEK EDYCJI ---------------------------------
# poniższa liczba przyporządkowana jest ikonce złota w standardowym pakiecie
# ikonek.
GoldIconIndex = 205
GoldIconIndex2 = 200 #to zostało dopisane przez: Marcin
# ----------------------------- KONIEC EDYCJI ----------------------------------
end
# -----------NIE EDYTUJ PONIŻEJ, CHYBA ŻE WIESZ CO ROBISZ ^^--------------------
class Window_Base < Window
alias customgoldicon draw_currency_value
alias added_gold_icon draw_currency_value
def draw_currency_value(value, x, y, width)
customgoldicon(value , x, y, width)
draw_icon(GoldIcon::GoldIconIndex , 4 , 0)
draw_icon(GoldIcon::GoldIconIndex2 , 4 , 24) #to zostało dopisane przez: Marcin
end
end
# --------------------------- KONIEC SKRYPTU ----------------------------------
Demo
niepotrzebne
Screenshot Instrukcja
1. Wklej skrypt nad "Main" w Edytorze Skryptu.
2. Reszta instrukcji znajduje się w treści skryptu.
Życze miłej zabawy.
[ Dodano: Sob 26 Gru, 2009 14:09 ]
Zapomniałbym o skrypcie "Nazwa Lokacji w menu", jeżeli go używacie to zamieńcie starą wersję na tą wersję:
Spoiler:
Kod:
# ==============================================================================
# ~ Nazwa lokacji w Menu ~
# Data publikacji: 20.07.2009
# Autor: TagTeam
# Poprawki: Ayene [yurika@o2.pl]
# Zapraszamy na stronę Ultima Forum - http://www.ultimateam.pl
#dostosowanie do drugiej waluty: Marcin (www.ultimateam.pl)
# ==============================================================================
# Instalacja: Umieść ten skrypt nad Main w Edytorze Skryptu.
# ==============================================================================
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Skrypt pozwala na dodanie w Menu okienka z nazwą lokacji (nazwą mapy).
# --------------------------- POCZĄTEK SKRYPTU ---------------------------------
module TagTeam
# ---------------------------- POCZĄTEK EDYCJI ---------------------------------
# poniższa liczba przyporządkowana jest ikonce mapy w standardowym pakiecie
# ikonek.
IkonkaMapy = 153
# wyrównanie nazwy lokacji (0 - do lewej; 1 - do środka; 2 - do prawej)
WyrównanieNazwyLok = 2
NazwaOkna = "Lokacja:"
# ----------------------------- KONIEC EDYCJI ----------------------------------
end
# -----------NIE EDYTUJ PONIŻEJ, CHYBA ŻE WIESZ CO ROBISZ ^^--------------------
#-------------------------------------------------------------------------------
# + Odwołanie do klasy Game_Map
#-------------------------------------------------------------------------------
class Game_Map
attr_reader :map_id
def mpname
$mpname = load_data("Data/MapInfos.rvdata")
$mpname[@map_id].name
end
end
#-------------------------------------------------------------------------------
# + Odwołanie do klasy Window_Base
#-------------------------------------------------------------------------------
class Window_NazwaMapy < Window_Base
def initialize(x, y)
super(x, y, 160, WLH + 64)
refresh
end
#-------------------------------------------------------------------------------
# + Odwołanie do klasy Scene_Menu
#-------------------------------------------------------------------------------
class Scene_Menu < Scene_Base
def start
super
create_menu_background
create_command_window
@gold_window = Window_Gold.new(0, 336)
@mapname_window = Window_NazwaMapy.new(0, 246)
@status_window = Window_MenuStatus.new(161, 0)
end
def terminate
super
dispose_menu_background
@command_window.dispose
@gold_window.dispose
@mapname_window.dispose
@status_window.dispose
end
end
# --------------------------- KONIEC SKRYPTU -----------------------------------
A gdybyście chcieli trzecią walutę, to jest to do zrobienia, jakby coś to mogę pomóc!
________________________ Pozdrawiam, bo nie chcę zawsze pisać powyżej - KillYou
PS Jeżeli nie rozumiesz (pomoc) co jest napisane powyżej, to wrzucę screeny :)
The Elect
Twórca: KillYou
Pomocnicy Pr0mes, Spino333, Janus, Kacperer
============================================================
============================================================
Tekst Podpisu:
Podpis - dozwolona ilość znaków:500
:( zeb1002 masz pecha. Do XP-ka jest bardzo mało skryptów ( na tym forum)
________________________ Pozdrawiam, bo nie chcę zawsze pisać powyżej - KillYou
PS Jeżeli nie rozumiesz (pomoc) co jest napisane powyżej, to wrzucę screeny :)
The Elect
Twórca: KillYou
Pomocnicy Pr0mes, Spino333, Janus, Kacperer
============================================================
============================================================
Tekst Podpisu:
Podpis - dozwolona ilość znaków:500
Pomogła: 232 razy Dołączyła: 18 Wrz 2007 Posty: 2424
Wysłany: Nie 10 Sty, 2010 22:38
Chcecie wersję na XP? Zamieszczam wersję powyższego skryptu, która jest przerobiona tak, aby działała pod XP. Celowo nie zamieszczam tego skryptu w nowym temacie, gdyż skrypt jest wybrakowany. Posiadanie drugiej waluty w rzeczywistości w niczym nam się nie przydaje - i tak nic za nią nie kupimy w sklepie. Skrypt należałoby przerobić.
Ale dla chętnych oto wersja XP-kowska skryptu by Teyan/Marcin:
Spoiler:
Kod:
#instrukcja
DRUGA_WALUTA = "Euro"
#switch/przełącznik, który odpowiada za zmiane waluty
GOLD = 20 #możemy go oczywiście zmienić.
#gdy jest off to używaną walutą jest nowa waluta
#gdy jest on to używaną walują jest stara waluta
Posiadanie drugiej waluty w rzeczywistości w niczym nam się nie przydaje - i tak nic za nią nie kupimy w sklepie.
Jak to nie możemy nic kupić?
Przecież można obu walut używać na przemian. Drugiej waluty można używać w sklepie tak samo jak pierwszej. A nawet dzięki temu skryptowi możemy zmienić ceny np: za Krótki Miecz zapłacimy 100 sztuk złota lub 30 kryształów.
Pomogła: 232 razy Dołączyła: 18 Wrz 2007 Posty: 2424
Wysłany: Sro 13 Sty, 2010 16:00
No ja drugiej waluty nie mogę używać w sklepie bez skryptu drugiego. Z resztą wystarczy spojrzeć na skrypt, zmienisz w nim jedynie okienka, a nie procedurę.
Ayene, ja w grze mam sześć państw (znaczy sie na razie tylko dwa, ale planuje mieć sześć) i gdy testuje projekt to gdy jestem na terenie jednego państwa i handluje z kupcami to wszystkie transakcje obejmują pierwszą walutę (u mnie złoto), a gdy jestem na terenie drugiego to czy zmieniam ilość kasy bohatera za pomocą polecenia w evencie (jako nagrodę za zadanie) czy handluje z kupcem to używam drugiej waluty (u mnie kryształy) i wszystko jest cacy, a poza tym... jakiego "skryptu drugiego"?
Pomogła: 232 razy Dołączyła: 18 Wrz 2007 Posty: 2424
Wysłany: Sro 13 Sty, 2010 22:09
Skryptu drugiego, do którego podałeś wcześniej link, jako że dzięki niemu możemy 'zmienić ceny np: za Krótki Miecz zapłacimy 100 sztuk złota lub 30 kryształów'.
Co do drugiej waluty... to w jaki sposób mam coś za nią kupić? Zmieniam przełącznik 20, dodaje mi się druga waluta, ale i tak nie mogę nic kupić u sprzedawcy.
Pomogła: 1 raz Dołączyła: 26 Wrz 2009 Posty: 88 Skąd: Stumilowy Las
Wysłany: Czw 14 Sty, 2010 14:01
Mi też nie działa Już wcześniej próbowałam wykorzystać ten skrypt, ale myślałam że sama coś źle robię, dlatego nie pisałam tutaj. Ale jak widać nie tylko mi skrypt nie działa
Według mnie ten skrypt nie powinien być w dziale Skrypty, bo przecież nie działa, te pieniądze czy też kryształy to są tylko na pokaz. Szkoda bo mogło być całkiem przydatne.
Dobra, to ja już nie wiem o co kaman. Przed chwilą sprawdzałem ten skrypt u mnie, na czystym (czyt. bez innych dodatkowych skryptów) RPG Makerze i u mnie chodzi, klne się na wszystko, że to prawda. Myślałem, że błąd wynika z tego, iż pisałem ten skrypt na zaśmieconym (czyt. pełnym własnych, nierzadko durnych i całkowicie nieprzydatnych skryptów) RPG Makerze, ale nic jak chodzi - tak chodzi.
[ Dodano: Sro 28 Kwi, 2010 09:44 ]
I nie mam "skryptu drugiego" o którym pisała Ayene.
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