Ogłoszenie 

Uwaga! To forum jest w trybie offline.
Wszelką pomoc uzyskasz pod adresem
forum.ultimateam.pl


Administracja Forum


Poprzedni temat «» Następny temat
Zamknięty przez: Agumon
Sob 27 Lis, 2010 13:43
Status bohatera
Autor Wiadomość
Agumon 




Preferowany:
RPG Maker VX

Ranga RM:
1 gra

Pomógł: 53 razy
Dołączył: 30 Gru 2009
Posty: 515
Skąd: Ruda Śląska
Wysłany: Pon 01 Lis, 2010 18:10
Status bohatera
Witam prosiłbym o skrypt który modyfikuje mi status w grze. A więc o co chodzi. No to tak zamieszczam screena:
Spoiler:




Menu miało by tak wyglądać po kliknięciu w status i wybraniu jakiegoś gracza.
A teraz szczegóły:
Obrazek: Takie jakie by miał imię gracz to pod taką nazwą by trzeba go było wstawić do pictures żeby się wyświetlił.
Imię: Imię bohatera
Klasa: Wojownik, Mag itp. ( Wyświetlała by się klasa postaci)
Poziom: (To wiadomo)
Charakter: No to tak to by się wyświetlało w zależności od zmiennej np. zmienna 0001: by wynosiła -40 to był by charakter zły a jeśli by miała np. 0 to by był charakter normalne. Oczywiście można by to było zmieniać.
Paski hp i mp.: Tu też wiadomo tak jak ki statusy siła obrona itp.
Ekwipunek: Taki jaki jest aktualni założony.
Pasek EXP Też wiadomo.
Aha bardzo prosił bym żeby można było zmieniać kolor, czcionki a także ich położenie.

PS: To nie jest to co z tego tematu: http://www.ultimateam.pl/viewtopic.php?t=3309
Ponieważ tamto było do jednego gracza a to jest do tylu ile ich jest w drużynie.
PS2: czcionka to Comic Sans MS
________________________
Pomogłem? Daj ""
Piszę poprawnie po polsku

 
 
Sabikku 




Nagrody:
UF i UFT2 Winner

Ranga RM:
4 gry

Pomógł: 73 razy
Dołączył: 04 Kwi 2010
Posty: 428
Wysłany: Pią 26 Lis, 2010 19:47
Kod:
module Vocab
  T_IMIE = "Imię: "
  T_KLASA = "Klasa: "
  T_POZIOM = "Poziom: "
  T_CHARAKTER = "Charakter: "
  T_EXP = "EXP"
end

T_NAZWA_CZCIONKI = "Comic Sans MS"
T_WIELKOSC_CZCIONKI = 22
T_KURSYWA = true
T_POGRUBIENIE = true

T_WSPOLRZEDNE = {}
T_WSPOLRZEDNE[:imie] = [+0, +0]
T_WSPOLRZEDNE[:charakter] = [+0, +0]
T_WSPOLRZEDNE[:klasa] = [+0, +0]
T_WSPOLRZEDNE[:poziom] = [+0, +0]
T_WSPOLRZEDNE[:statystyki] = [+0, +0]
T_WSPOLRZEDNE[:ekwipunek] = [+0, +0]
T_WSPOLRZEDNE[:hp] = [+0, +0]
T_WSPOLRZEDNE[:mp] = [+0, +0]
T_WSPOLRZEDNE[:obrazek] = [+0, +0]
T_WSPOLRZEDNE[:exp] = [+0, +0]

T_ZLY = "Zły"
T_NEUTRALNY = "Neutralny"
T_DOBRY = "Dobry"

T_CHARAKTER_NUMER_ZMIENNEJ = 1

T_CHARAKTER_ZLY = -100..-50
T_CHARAKTER_DOBRY = 50..100

# ===========================================================================

class Game_Actor < Game_Battler
  attr_reader :exp_list
end

# ===========================================================================

class Window_Status < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #     actor : actor
  #--------------------------------------------------------------------------
  def initialize(actor)
    super(0, 0, 544, 416)
    @actor = actor
    refresh
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    self.contents.font.bold = T_POGRUBIENIE
    self.contents.font.italic = T_KURSYWA
    self.contents.font.name = (T_NAZWA_CZCIONKI == "" ? Font.default_name : T_NAZWA_CZCIONKI)
    self.contents.font.size = (T_WIELKOSC_CZCIONKI <= 0 ? Font.default_size : T_WIELKOSC_CZCIONKI)
    # Imię.
    self.contents.font.color = system_color
    self.contents.draw_text(T_WSPOLRZEDNE[:imie][0], T_WSPOLRZEDNE[:imie][1], 181, 32, Vocab::T_IMIE, 0)
    w = self.contents.text_size(Vocab::T_IMIE).width
    self.contents.font.color = normal_color
    self.contents.draw_text(T_WSPOLRZEDNE[:imie][0]+w, T_WSPOLRZEDNE[:imie][1], 181, 32, @actor.name, 0)
    # Charakter.
    self.contents.font.color = system_color
    self.contents.draw_text(T_WSPOLRZEDNE[:charakter][0], T_WSPOLRZEDNE[:charakter][1]+32, 181, 32, Vocab::T_CHARAKTER, 0)
    w = self.contents.text_size(Vocab::T_CHARAKTER).width
    self.contents.font.color = normal_color
    l = $game_variables[T_CHARAKTER_NUMER_ZMIENNEJ]
    if T_CHARAKTER_DOBRY.include?(l)
      ch = T_DOBRY
    elsif T_CHARAKTER_ZLY.include?(l)
      ch = T_ZLY
    else
      ch = T_NEUTRALNY
    end
    self.contents.draw_text(T_WSPOLRZEDNE[:charakter][0]+w, T_WSPOLRZEDNE[:charakter][1]+32, 181, 32, ch, 0)
    # Klasa.
    self.contents.font.color = system_color
    self.contents.draw_text(T_WSPOLRZEDNE[:klasa][0]+181,T_WSPOLRZEDNE[:klasa][1], 181, 32, Vocab::T_KLASA, 0)
    w = self.contents.text_size(Vocab::T_KLASA).width
    self.contents.font.color = normal_color
    self.contents.draw_text(T_WSPOLRZEDNE[:klasa][0]+181+w,T_WSPOLRZEDNE[:klasa][1], 181, 32, @actor.class.name, 0)   
    # Poziom.
    self.contents.font.color = system_color
    self.contents.draw_text(T_WSPOLRZEDNE[:poziom][0]+363,T_WSPOLRZEDNE[:poziom][1], 181, 32, Vocab::T_POZIOM, 0)
    w = self.contents.text_size(Vocab::T_POZIOM).width
    self.contents.font.color = normal_color
    self.contents.draw_text(T_WSPOLRZEDNE[:poziom][0]+363+w,T_WSPOLRZEDNE[:poziom][1], 181, 32, @actor.level, 0)
    # Statystyki.
    draw_parameters(T_WSPOLRZEDNE[:statystyki][0]+288, T_WSPOLRZEDNE[:statystyki][1]+64)
    # Ekwipunek.
    draw_equipments(T_WSPOLRZEDNE[:ekwipunek][0]+288, T_WSPOLRZEDNE[:ekwipunek][1]+192)
    # Hp / sp.   
    draw_actor_hp(@actor, T_WSPOLRZEDNE[:hp][0]+151, T_WSPOLRZEDNE[:hp][1]+64)
    draw_actor_mp(@actor, T_WSPOLRZEDNE[:mp][0]+121, T_WSPOLRZEDNE[:mp][1]+96)
    # Picture.
    p = Cache.picture('Bohater '+@actor.id.to_s)
    self.contents.blt(T_WSPOLRZEDNE[:obrazek][0]+120-p.width/2, T_WSPOLRZEDNE[:obrazek][1]+self.contents.height-p.height, p, Rect.new(0,0,p.width,p.height))
    # Exp.
    draw_exp_info(T_WSPOLRZEDNE[:exp][0]+288, T_WSPOLRZEDNE[:exp][1]+self.contents.height-48)
  end
  #--------------------------------------------------------------------------
  # * Draw Parameters
  #     x : Draw spot X coordinate
  #     y : Draw spot Y coordinate
  #--------------------------------------------------------------------------
  def draw_parameters(x, y)
    draw_actor_parameter(@actor, x, y + WLH * 0, 0)
    draw_actor_parameter(@actor, x, y + WLH * 1, 1)
    draw_actor_parameter(@actor, x, y + WLH * 2, 2)
    draw_actor_parameter(@actor, x, y + WLH * 3, 3)
  end
  #--------------------------------------------------------------------------
  # * Draw Equipment
  #     x : Draw spot X coordinate
  #     y : Draw spot Y coordinate
  #--------------------------------------------------------------------------
  def draw_equipments(x, y)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 120, WLH, Vocab::equip)
    for i in 0..4
      draw_item_name(@actor.equips[i], x + 16, y + WLH * (i + 1))
    end
  end
 
  #--------------------------------------------------------------------------
  # * Draw Experience Information
  #     x : Draw spot X coordinate
  #     y : Draw spot Y coordinate
  #--------------------------------------------------------------------------
  def draw_exp_info(x, y)
    s1 = @actor.exp_s
    s2 = @actor.next_rest_exp_s
    s_next = sprintf(Vocab::ExpNext, Vocab::level)
    self.contents.font.color = normal_color
    gw = 120 * @actor.exp_s.to_i / [@actor.next_rest_exp_s.to_i, 1].max
    gc1 = Color.new(213, 0, 213)
    gc2 = Color.new(35, 35, 78)
    self.contents.fill_rect(x, y+18, 120, 6, gauge_back_color)
    self.contents.gradient_fill_rect(x, y+18, gw, 6, gc1, gc2)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 120, WLH, Vocab::T_EXP)
  end
end

# ===========================================================================

Obrazki - Bohater 1, Bohater 2 itd. Ustawienia na początku skryptu.
 
 
 
Agumon 




Preferowany:
RPG Maker VX

Ranga RM:
1 gra

Pomógł: 53 razy
Dołączył: 30 Gru 2009
Posty: 515
Skąd: Ruda Śląska
Wysłany: Pią 26 Lis, 2010 20:33
A mógł byś napisać jak się tym obsłużyć?? Chodzi o charakter dobry zły itp. I czy jeszcze da się je dodawać.

@Edit:
Jest problem z expem. Nie wyświetla się ile zostało do następnego lvla
________________________
Pomogłem? Daj ""
Piszę poprawnie po polsku

 
 
Czeliosss 



Ranga RM:
1 gra

Pomógł: 49 razy
Dołączył: 02 Lis 2009
Posty: 661
Skąd: Wa-wa
Wysłany: Pią 26 Lis, 2010 21:14
Żeby obsługiwać się charakterem to musisz operować tą zmienną:
Cytat:
T_CHARAKTER_NUMER_ZMIENNEJ = 1

Zamiast 1 dasz inną zmienną. Jak zmienna będzie na - to charakter jest zły, jak na + to dobry a jak zero to neutralny.
________________________
...Amelanduil & FireBlade words will be remembered...
...Amelanduil & FireBlade acts will be remembered...
...Amelanduil & FireBlade never gonna die...

Nie pisać, bo nie odpiszę.
 
 
Agumon 




Preferowany:
RPG Maker VX

Ranga RM:
1 gra

Pomógł: 53 razy
Dołączył: 30 Gru 2009
Posty: 515
Skąd: Ruda Śląska
Wysłany: Pią 26 Lis, 2010 21:24
Czeliosss napisał/a:
Zamiast 1 dasz inną zmienną. Jak zmienna będzie na - to charakter jest zły, jak na + to dobry a jak zero to neutralny.


No tak tylko mi chodziło żebym mógł sobie te charaktery dodawać. Np początkowo był by zly i dobry. Potem by mnie coś naszło i dodałbym diabelski a na końcu dał bym Anielski.
________________________
Pomogłem? Daj ""
Piszę poprawnie po polsku

 
 
Sabikku 




Nagrody:
UF i UFT2 Winner

Ranga RM:
4 gry

Pomógł: 73 razy
Dołączył: 04 Kwi 2010
Posty: 428
Wysłany: Pią 26 Lis, 2010 22:53
O expie całkiem zapomniałem, a co do charakteru - zrozumiałem, że chcesz tylko 3. Przerobiłem więc, ich ilość jest dowolna; dodałem też komentarze, powinieneś zrozumieć jak to konfigurować.
Łap.
Spoiler:

Kod:
module Vocab
  T_IMIE = "Imię: "
  T_KLASA = "Klasa: "
  T_POZIOM = "Poziom: "
  T_CHARAKTER = "Charakter: "
  T_EXP = "EXP"
end

# Ustawienia czcionki.
T_NAZWA_CZCIONKI = "Comic Sans MS"
T_WIELKOSC_CZCIONKI = 22
T_KURSYWA = true
T_POGRUBIENIE = true

# Współrzędne napisów w menu. [modtyfikator x, modyfikator y]
T_WSPOLRZEDNE = {}
T_WSPOLRZEDNE[:imie] = [+0, +0]
T_WSPOLRZEDNE[:charakter] = [+0, +0]
T_WSPOLRZEDNE[:klasa] = [+0, +0]
T_WSPOLRZEDNE[:poziom] = [+0, +0]
T_WSPOLRZEDNE[:statystyki] = [+0, +0]
T_WSPOLRZEDNE[:ekwipunek] = [+0, +0]
T_WSPOLRZEDNE[:hp] = [+0, +0]
T_WSPOLRZEDNE[:mp] = [+0, +0]
T_WSPOLRZEDNE[:obrazek] = [+0, +0]
T_WSPOLRZEDNE[:exp] = [+0, +0]

# Ustawienia charakteru.
T_CHARAKTER_NUMER_ZMIENNEJ = 1 # Zmienna, według której mierzony będzie charakter.
T_CHARAKTER = {}
# Kolejne charaktery, według wzoru: T_CHARAKTER["Nazwa"] = zakres wartości zmiennej.
T_CHARAKTER["Bardzo zły"] = -500...-100
T_CHARAKTER["Zły"] = -100...-10
T_CHARAKTER["Neutralny"] = -10...10
T_CHARAKTER["Dobry"] = 10...100
T_CHARAKTER["Bardzo dobry"] = 100...500

# ===========================================================================

class Game_Actor < Game_Battler
  attr_reader :exp_list
end

# ===========================================================================

class Window_Status < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #     actor : actor
  #--------------------------------------------------------------------------
  def initialize(actor)
    super(0, 0, 544, 416)
    @actor = actor
    refresh
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    self.contents.font.bold = T_POGRUBIENIE
    self.contents.font.italic = T_KURSYWA
    self.contents.font.name = (T_NAZWA_CZCIONKI == "" ? Font.default_name : T_NAZWA_CZCIONKI)
    self.contents.font.size = (T_WIELKOSC_CZCIONKI <= 0 ? Font.default_size : T_WIELKOSC_CZCIONKI)
    # Imię.
    self.contents.font.color = system_color
    self.contents.draw_text(T_WSPOLRZEDNE[:imie][0], T_WSPOLRZEDNE[:imie][1], 181, 32, Vocab::T_IMIE, 0)
    w = self.contents.text_size(Vocab::T_IMIE).width
    self.contents.font.color = normal_color
    self.contents.draw_text(T_WSPOLRZEDNE[:imie][0]+w, T_WSPOLRZEDNE[:imie][1], 181, 32, @actor.name, 0)
    # Charakter.
    self.contents.font.color = system_color
    self.contents.draw_text(T_WSPOLRZEDNE[:charakter][0], T_WSPOLRZEDNE[:charakter][1]+32, 181, 32, Vocab::T_CHARAKTER, 0)
    w = self.contents.text_size(Vocab::T_CHARAKTER).width
    self.contents.font.color = normal_color
    l = $game_variables[T_CHARAKTER_NUMER_ZMIENNEJ]
    ch = "Nieznany"
    for zakres in T_CHARAKTER.values
      if zakres.include?(l)
        ch = T_CHARAKTER.keys[T_CHARAKTER.values.index(zakres)]
      end
    end
    self.contents.draw_text(T_WSPOLRZEDNE[:charakter][0]+w, T_WSPOLRZEDNE[:charakter][1]+32, 181, 32, ch, 0)
    # Klasa.
    self.contents.font.color = system_color
    self.contents.draw_text(T_WSPOLRZEDNE[:klasa][0]+181,T_WSPOLRZEDNE[:klasa][1], 181, 32, Vocab::T_KLASA, 0)
    w = self.contents.text_size(Vocab::T_KLASA).width
    self.contents.font.color = normal_color
    self.contents.draw_text(T_WSPOLRZEDNE[:klasa][0]+181+w,T_WSPOLRZEDNE[:klasa][1], 181, 32, @actor.class.name, 0)   
    # Poziom.
    self.contents.font.color = system_color
    self.contents.draw_text(T_WSPOLRZEDNE[:poziom][0]+363,T_WSPOLRZEDNE[:poziom][1], 181, 32, Vocab::T_POZIOM, 0)
    w = self.contents.text_size(Vocab::T_POZIOM).width
    self.contents.font.color = normal_color
    self.contents.draw_text(T_WSPOLRZEDNE[:poziom][0]+363+w,T_WSPOLRZEDNE[:poziom][1], 181, 32, @actor.level, 0)
    # Statystyki.
    draw_parameters(T_WSPOLRZEDNE[:statystyki][0]+288, T_WSPOLRZEDNE[:statystyki][1]+64)
    # Ekwipunek.
    draw_equipments(T_WSPOLRZEDNE[:ekwipunek][0]+288, T_WSPOLRZEDNE[:ekwipunek][1]+192)
    # Hp / sp.   
    draw_actor_hp(@actor, T_WSPOLRZEDNE[:hp][0]+151, T_WSPOLRZEDNE[:hp][1]+64)
    draw_actor_mp(@actor, T_WSPOLRZEDNE[:mp][0]+121, T_WSPOLRZEDNE[:mp][1]+96)
    # Picture.
    p = Cache.picture('Bohater '+@actor.id.to_s)
    self.contents.blt(T_WSPOLRZEDNE[:obrazek][0]+120-p.width/2, T_WSPOLRZEDNE[:obrazek][1]+self.contents.height-p.height, p, Rect.new(0,0,p.width,p.height))
    # Exp.
    draw_exp_info(T_WSPOLRZEDNE[:exp][0]+288, T_WSPOLRZEDNE[:exp][1]+self.contents.height-48)
  end
  #--------------------------------------------------------------------------
  # * Draw Parameters
  #     x : Draw spot X coordinate
  #     y : Draw spot Y coordinate
  #--------------------------------------------------------------------------
  def draw_parameters(x, y)
    draw_actor_parameter(@actor, x, y + WLH * 0, 0)
    draw_actor_parameter(@actor, x, y + WLH * 1, 1)
    draw_actor_parameter(@actor, x, y + WLH * 2, 2)
    draw_actor_parameter(@actor, x, y + WLH * 3, 3)
  end
  #--------------------------------------------------------------------------
  # * Draw Equipment
  #     x : Draw spot X coordinate
  #     y : Draw spot Y coordinate
  #--------------------------------------------------------------------------
  def draw_equipments(x, y)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 120, WLH, Vocab::equip)
    for i in 0..4
      draw_item_name(@actor.equips[i], x + 16, y + WLH * (i + 1))
    end
  end
 
  #--------------------------------------------------------------------------
  # * Draw Experience Information
  #     x : Draw spot X coordinate
  #     y : Draw spot Y coordinate
  #--------------------------------------------------------------------------
  def draw_exp_info(x, y)
    s1 = @actor.exp_s
    s2 = @actor.next_rest_exp_s
    s_next = sprintf(Vocab::ExpNext, Vocab::level)
    self.contents.font.color = normal_color
    gw = 120 * (@actor.exp - @actor.exp_list[@actor.level]) / [@actor.exp_list[@actor.level+1], 1].max
    gc1 = Color.new(213, 0, 213)
    gc2 = Color.new(45, 45, 88)
    self.contents.fill_rect(x, y+18, 120, 6, gauge_back_color)
    self.contents.gradient_fill_rect(x, y+18, gw, 6, gc1, gc2)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 120, WLH, Vocab::T_EXP)
    self.contents.font.color = normal_color
    self.contents.draw_text(x, y, 120, WLH, @actor.next_rest_exp_s, 2)
  end
end

# ===========================================================================

 
 
 
Agumon 




Preferowany:
RPG Maker VX

Ranga RM:
1 gra

Pomógł: 53 razy
Dołączył: 30 Gru 2009
Posty: 515
Skąd: Ruda Śląska
Wysłany: Sob 27 Lis, 2010 13:43
Dzięki Sabikku, łap pomógł.
________________________
Pomogłem? Daj ""
Piszę poprawnie po polsku

 
 
Wyświetl posty z ostatnich:   
Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi
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
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group | Template Klam by Ayene