Laura

Liczba postów: 59
Dołączył: 02-05-13
Pomógł: 0

|
Potrzebna pomoc
Witam wszystkich
Mój 1 problem to czy można zrobić tak by w tym skrypcie
#==============================================================
# [VX] Nowe znaczniki tekstu + Automatyczne kolorowanie tekstu
#--------------------------------------------------------------
# by Ayene [yurika@o2.pl]
# Zapraszam na www.ultimateam.pl
#--------------------------------------------------------------
# ** ZASTOSOWANIE
#--------------------------------------------------------------
# Wykaz wszystkich znaczników:
# \C[numer] - zmienia kolor tekstu (numer - 0~31)
# \G - wyświetla nowe okno z ilością złota
# \. - czeka 1/4 sekundy
# \| - czeka 1 sekundę
# \! - czeka do momentu wciśnięcia przycisku
# \> - włącza szybsze wyświetlanie znaków
# \< - wyłącza szybsze wyświetlanie znaków
# \^ - samoczynnie zamyka okno
# \V[id] - wyświetla wartość zmiennej o podanym ID
# \N - imię bohatera o podanym ID
# \UM[ID] - nazwa umiejętności o podanym ID
# \PRZ[ID] - nazwa przedmiotu o podanym ID
# \W[ID] - nazwa broni o podanym ID
# \ZB[ID] - nazwa zbroji o podanym ID
# \POT[ID] - nazwa potwora o podanym ID
# \GP[ID] - nazwa grupy potworów o podanym ID
# \CENA[ID] - cena przedmiotu o podanym ID
# \KL[ID] - klasa bohatera o podanym ID
# \MAPA - nazwa mapy na której aktualnie znajduje się postać
# \I - włącza i wyłącza kursywę
# \B - włącza i wyłącza pogrubienie
#==============================================================
# Konfiguracja kolorów znajduje się poniżej
#==============================================================
class Window_Message < Window_Selectable
def convert_special_characters
# standardowe
@text.gsub!(/\\C\[([0-9]+)\]/i) { "\x01[#{$1}]" }
@text.gsub!(/\\G/) { "\x02" }
@text.gsub!(/\\\./) { "\x03" }
@text.gsub!(/\\\|/) { "\x04" }
@text.gsub!(/\\!/) { "\x05" }
@text.gsub!(/\\>/) { "\x06" }
@text.gsub!(/\\</) { "\x07" }
@text.gsub!(/\\\^/) { "\x08" }
@text.gsub!(/\\\\/) { "\\" }
@text.gsub!(/\\V\[([0-9]+)\]/i) { $game_variables[$1.to_i] }
# \I - włącza i wyłącza kursywę
@text.gsub!(/\\I/i) { "\x09" }
# \B - włącza i wyłącza pogrubienie
@text.gsub!(/\\B/i) { "\x10" }
# By zmienić kolor wyświetlanych nazw, wystarczy podmienić 29 na inną liczbę
# Liczba określa numer koloru - 0~31
# Wykaz wszystkich kolorów można zobaczyć tutaj:
# http://www.ultimateam.pl/viewtopic.php?t=1981
# \N - imię bohatera o podanym ID
@text.gsub!(/\\N\[([0-9]+)\]/i) { "\x01[29]" + $game_actors[$1.to_i].name + "\x01[0]" }
# \MAPA - nazwa mapy na której aktualnie znajduje się postać
@text.gsub!(/\\MAPA/i) { "\x01[29]#{$game_map.map_name}\x01[0]" }
# \UM[ID] - nazwa umiejętności o podanym ID
@text.gsub!(/\\UM\[([0-9]+)\]/i) { "\x01[29]" + $data_skills[$1.to_i].name + "\x01[0]" }
# \PRZ[ID] - nazwa przedmiotu o podanym ID
@text.gsub!(/\\PRZ\[([0-9]+)\]/i){ "\x01[29]" + $data_items[$1.to_i].name + "\x01[0]" }
# \W[ID] - nazwa broni o podanym ID
@text.gsub!(/\\W\[([0-9]+)\]/i) { "\x01[29]" + $data_weapons[$1.to_i].name + "\x01[0]" }
# \ZB[ID] - nazwa zbroi o podanym ID
@text.gsub!(/\\ZB\[([0-9]+)\]/i) { "\x01[29]" + $data_armors[$1.to_i].name + "\x01[0]" }
# \POT[ID] - nazwa potwora o podanym ID
@text.gsub!(/\\POT\[([0-9]+)\]/i){ "\x01[29]" + $data_enemies[$1.to_i].name + "\x01[0]" }
# \GP[ID] - nazwa grupy potworów o podanym ID
@text.gsub!(/\\GP\[([0-9]+)\]/i) { "\x01[29]" + $data_troops[$1.to_i].name + "\x01[0]" }
# \CENA[ID] - cena przedmiotu o podanym ID
@text.gsub!(/\\CENA\[([0-9]+)\]/i) { "\x01[29]" + $data_items[$1.to_i].price.to_s + "\x01[0]" }
# \KL[ID] - klasa bohatera o podanym ID
@text.gsub!(/\\KL\[([0-9]+)\]/i) { "\x01[29]" + $data_classes[$game_actors[$1.to_i].class_id].name + "\x01[0]" }
# A to niewielki dodatek, dla tych którzy często muszą powielać ten sam tekst
# np. stworzyłam sobie znacznik \Ayene, który wpisany w oknie wiadomości
# wyświetli nick 'Ayene' w kolorze czerwonym.
# [Aa] sprawia, że zadeklarowana została różna wielkość pierwszej literki,
# czyli innymi słowy nie ma różnicy między \Ayene a \ayene
@text.gsub!(/\\[Aa]yene/) { "\x01[2]Ayene\x01[0]" }
end
def update_message
loop do
c = @text.slice!(/./m)
case c
when nil
finish_message
break
when "\x00"
new_line
if @line_count >= MAX_LINE
unless @text.empty?
self.pause = true
break
end
end
when "\x01"
@text.sub!(/\[([0-9]+)\]/, "")
contents.font.color = text_color($1.to_i)
next
when "\x02"
@gold_window.refresh
@gold_window.open
when "\x03"
@wait_count = 15
break
when "\x04"
@wait_count = 60
break
when "\x05"
self.pause = true
break
when "\x06"
@line_show_fast = true
when "\x07"
@line_show_fast = false
when "\x08"
@pause_skip = true
when "\x09"
contents.font.italic = contents.font.italic == true ? false : true
next
when "\x10"
contents.font.bold = contents.font.bold == true ? false : true
next
else
contents.draw_text(@contents_x, @contents_y, 40, WLH, c)
c_width = contents.text_size(c).width
@contents_x += c_width
end
break unless @show_fast or @line_show_fast
end
end
end
class Game_Map
def map_name
mpname = load_data("Data/MapInfos.rvdata")
mpname[@map_id].name
end
end
można było wyświetlać też imiona innych ludzi nie bohaterów w grze? jeśli tak to proszę o pomoc jeśli nie to proszę kogoś o taki skrypt.
mój 2 problem to jak zrobić by 21 brązowych to 1 srebrna, a 17 srebrnych to 1 złota moneta w tym skrypcie:
#=============================================
# ** Oni Monetary System
#---------------------------------------------
# Developed by Onidsouza
# Do not redestribute without permission
# Remember: MAX_GOLD always is 999.999
# Do not make a item that costs more than that
#==============================================
module OnidsouzaGold
# OPTIONAL
#If not using icons
GOLD = "Z"
SILVER = "S"
BRONZE = "B"
USE_ICON = true
#If using icons, icon ID
GOLD_ICON = 102
SILVER_ICON = 98
BRONZE_ICON = 97
end
class Game_Party < Game_Unit
alias onidsouzagoldinit initialize
def initialize
onidsouzagoldinit
@gold = [0, 0, 0]
end
def gold_array
return @gold
end
def gold
return total_gold
end
def gain_gold(n)
@gold[2] += n
update_gold
end
def lose_gold(n)
gain_gold(-n)
end
def total_gold
return (@gold[2] + (@gold[1]*100) + (@gold[0]*1000000))
end
def gold_to_silver
return (@gold[2]/100) + (@gold[1]) + (@gold[0]*100)
end
def gold_to_gold
return @gold[0] + (@gold[1]/100) + (@gold[2]/100000)
end
def update_gold
times = @gold[2] / 100
@gold[2] -= times * 100
@gold[1] += times
times = @gold[1] / 100
@gold[1] -= times * 100
@gold[0] += times
if @gold[0] > 99
@gold[0] = @gold[1] = @gold[2] = 99
end
end
def make_gold_text
return to_monetary_system(total_gold)
end
end
class Window_Base < Window
def draw_currency_value(value, x, y, width, gold = true)
if not OnidsouzaGold::USE_ICON
self.contents.font.color = normal_color
self.contents.draw_text(x, y, width, WLH, to_monetary_system(value), 2)
elsif OnidsouzaGold::USE_ICON and gold
self.contents.font.color = normal_color
xx = 20
draw_icon(OnidsouzaGold::GOLD_ICON, x, y)
self.contents.draw_text(x + 20, y, xx, WLH, $game_party.gold_array[0])
x += 40
draw_icon(OnidsouzaGold::SILVER_ICON, x, y)
self.contents.draw_text(x + 20, y, xx, WLH, $game_party.gold_array[1])
x += 40
draw_icon(OnidsouzaGold::BRONZE_ICON, x, y)
self.contents.draw_text(x + 20, y, xx, WLH, $game_party.gold_array[2])
else
arr = to_monetary_array(value)
self.contents.font.color = normal_color
xx = 20
draw_icon(OnidsouzaGold::GOLD_ICON, x, y)
self.contents.draw_text(x + 20, y, xx, WLH, arr[0])
x += 40
draw_icon(OnidsouzaGold::SILVER_ICON, x, y)
self.contents.draw_text(x + 20, y, xx, WLH, arr[1])
x += 40
draw_icon(OnidsouzaGold::BRONZE_ICON, x, y)
self.contents.draw_text(x + 20, y, xx, WLH, arr[2])
end
end
end
class Window_ShopBuy < Window_Selectable
def draw_item(index)
item = @data[index]
number = $game_party.item_number(item)
enabled = (item.price <= $game_party.total_gold and number < 99)
rect = item_rect(index)
self.contents.clear_rect(rect)
if item != nil
draw_icon(item.icon_index, rect.x, rect.y, enabled)
self.contents.font.color = normal_color
self.contents.font.color.alpha = enabled ? 255 : 128
wid = contents.text_size(item.name).width
self.contents.draw_text(rect.x + 24, rect.y, wid, WLH, item.name)
end
#rect.width -= 4
price = to_monetary_system(item.price)
self.contents.draw_text(rect.x + 24 + wid, rect.y, rect.width - 24 - wid, WLH, price, 2)
# NEW
#self.contents.draw_text(rect.x + 30, rect.y, rect.width - rect.x - 30, WLH, to_monetary_system(item.price), 2)
#draw_currency_value(item.price, rect.x + rect.width + 8, rect.y, rect.width, false, )
end
end
def to_monetary_system(integ)
data = [0, 0, 0]
data[2] = integ
times = data[2] / 100
data[2] -= times * 100
data[1] += times
times = data[1] / 100
data[1] -= times * 100
data[0] += times
return "#{data[0]} #{OnidsouzaGold::GOLD} - #{data[1]} #{OnidsouzaGold::SILVER} - #{data[2]} #{OnidsouzaGold::BRONZE}"
end
def to_monetary_array(integ)
data = [0, 0, 0]
data[2] = integ
times = data[2] / 100
data[2] -= times * 100
data[1] += times
times = data[1] / 100
data[1] -= times * 100
data[0] += times
return data
end
Bardzo proszę o pomoc i z góry za nią dziękuje.
undefined
|
|