Mała pomoc w edycji
Aktualny czas: 26-05-26, 01:16 Witaj! Przejdź do zakładki Logowanie lub Rejestracja


Wątek zamknięty 
[XP] Mała pomoc w edycji
Deuce Offline
*


Liczba postów: 312
Dołączył: 11-05-13

Pomógł: 34



Post: #1
Mała pomoc w edycji

Witam chciałbym poprosić kogoś kto zna się lepiej ode mnie na RGSS a na pewno jest takich ludzi wiele ;P
mój problem polega na tym ze próbuję edytować skrypt który wyświetla informacje o przedmiotach i umiejętnościach w ten sposób:
[Obrazek: MWSnap001.png]
chciałbym aby wyświetlał mi wszystkie atrybuty przedmiotu, udało mi się dodać obronę magiczną ale przy opcjach takich jak siła wywala błąd.
Ja niestety nie jestem za dobry w RGSS dlatego zwracam się z prosba do osób które znają się na rzeczy, za wszelka pomoc dziękuję.

#==============================================================================
# ** Window Help Item
#------------------------------------------------------------------------------
#  By Valentine
#==============================================================================

class Window_Help2 < Window_Base
  
  def initialize(x,y,a,b)
    super(x,y,a,b)
    self.contents = Bitmap.new(self.width-32, self.height-32)
    self.windowskin = RPG::Cache.windowskin("Help")
    self.back_opacity = 230
    self.z = 9999999
    actor = 0
    refresh
  end
  
  def refresh
    self.contents.clear
    if $help_trade == true
      @item = $trade_w.item
    end
    if $help_trade_2 == true
      @item = $trade_w_2.item
    end
    if $help_loja == true
      @item = $loja_w.item
    elsif $help_loja != true and $help_trade != true and $help_trade_2 != true
      @item = $item_w.item
    end
    @actor = $game_party.actors[0]
    
    if @item != nil
      self.contents.font.color = Color.new(0,128,255)
      rect = Rect.new(4, -10, self.contents.width - 8, 32)
      self.contents.draw_text(rect, @item.name, 1)
      self.contents.font.color = Color.new(0,0,0)
      if @item.is_a?(RPG::Armor)
        self.contents.draw_text(4, 22, 400, 32, LANGUAGE::HELPSKILLATK + "0", 0)
        self.contents.draw_text(4, 37, 400, 32, LANGUAGE::HELPSKILLDEF + $data_armors[@item.id].pdef.to_s, 0)
        self.contents.draw_text(4, 52, 400, 32, LANGUAGE::HELPSKILLINT + $data_armors[@item.id].int_plus.to_s, 0)
        self.contents.draw_text(4, 67, 400, 32, LANGUAGE::HELPSKILLAGI + $data_armors[@item.id].agi_plus.to_s, 0)
      end
    
      if @item.is_a?(RPG::Item)
        if @item.id != Item_Ouro::Item_Id.to_i
          self.contents.draw_text(4, 22, 400, 32, LANGUAGE::HELPSKILLATK + "0", 0)
          self.contents.draw_text(4, 37, 400, 32, LANGUAGE::HELPSKILLDEF + "0", 0)
          self.contents.draw_text(4, 52, 400, 32, LANGUAGE::HELPSKILLINT + "0", 0)
          self.contents.draw_text(4, 67, 400, 32, LANGUAGE::HELPSKILLAGI + "0", 0)
        else
          self.contents.draw_text(4, 22, 400, 32, LANGUAGE::HELPITEMGOLD, 0)
        end
      end
    
      if $help_loja == true
        rect = Rect.new(4, 117, self.contents.width - 8, 32)
        self.contents.draw_text(rect, "$ "+@item.price.to_s, 1)
      else
        if @item.id != Item_Ouro::Item_Id.to_i
          rect = Rect.new(4, 117, self.contents.width - 8, 32)
          self.contents.draw_text(rect, "$ "+(@item.price/2).to_s, 1)
        else
          if !@item.is_a?(RPG::Item)
            rect = Rect.new(4, 117, self.contents.width - 8, 32)
            self.contents.draw_text(rect, "$ "+(@item.price/2).to_s, 1)
          end
        end
      end
    
      if @item.is_a?(RPG::Weapon)
        self.contents.draw_text(4, 22, 400, 32, LANGUAGE::HELPSKILLATK + $data_weapons[@item.id].atk.to_s, 0)
        self.contents.draw_text(4, 37, 400, 32, LANGUAGE::HELPSKILLDEF + $data_weapons[@item.id].pdef.to_s, 0)
        self.contents.draw_text(4, 52, 400, 32, LANGUAGE::HELPSKILLINT + $data_weapons[@item.id].int_plus.to_s, 0)
        self.contents.draw_text(4, 67, 400, 32, LANGUAGE::HELPSKILLAGI + $data_weapons[@item.id].agi_plus.to_s, 0)
        weapon_set = $data_classes[@actor.class_id].weapon_set
        if weapon_set.include?(@item.id)
          @resposta = LANGUAGE::HELPITEMCAN
          self.contents.font.color = Color.new(65,255,65)
        else
          @resposta = LANGUAGE::HELPITEMNOTCAN
          self.contents.font.color = Color.new(255,43,43)
        end
        rect = Rect.new(-1, 87, self.contents.width + 3, 32)
        self.contents.draw_text(rect, "#{@resposta} "+LANGUAGE::CANEQUIPPED, 1)
        rect2 = Rect.new(4, 100, self.contents.width - 8, 32)
        self.contents.draw_text(rect2, "#{$data_classes[$game_party.actors[0].class_id].name}", 1)
      elsif @item.is_a?(RPG::Armor)
        armor_set = $data_classes[@actor.class_id].armor_set
        if armor_set.include?(@item.id)
          @resposta = LANGUAGE::HELPITEMCAN
          self.contents.font.color = Color.new(65,255,65)
        else
          @resposta = LANGUAGE::HELPITEMNOTCAN
          self.contents.font.color = Color.new(255,43,43)
        end
        rect = Rect.new(-1, 87, self.contents.width + 3, 32)
        self.contents.draw_text(rect, "#{@resposta} "+LANGUAGE::CANEQUIPPED, 1)
        rect2 = Rect.new(4, 100, self.contents.width - 8, 32)
        self.contents.draw_text(rect2, "#{$data_classes[$game_party.actors[0].class_id].name}", 1)
      end
    end
  end
  
end

[Obrazek: 240x4ye.jpg]
10-07-14 10:52
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Ayene Offline
*


Liczba postów: 758
Dołączył: 09-04-13

Pomógł: 112



Post: #2
RE: Mała pomoc w edycji

A w jaki sposób próbowałeś dodać siłę? Bo pancerz sam w sobie nie ma statystyki 'siła/str' tylko 'str_plus'. Z kolei przedmioty nie mają jej w ogóle.

[Obrazek: aye_furniture_pres.png]
10-07-14 11:19
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Deuce Offline
*


Liczba postów: 312
Dołączył: 11-05-13

Pomógł: 34



Post: #3
RE: Mała pomoc w edycji

Według bazy danych można zwiększyć siłę poprzez zbroję, a co do wyświetlenia siły to przy broni dodałem linijkę:
self.contents.draw_text(4, 92, 400, 32, LANGUAGE::HELPSKILLSTR + $data_weapons[@item.id].str_plus.to_s, 0)

mam tez jeszcze jedno pytanie, istnieje możliwość wyświetlenia w tym skrypcie odporności w pancerzu na atrybuty a w broni jaki atrybut się w niej znajduje, oczywiście nie oczekuję że ktoś to za mnie wpisze tylko chciałbym może jakąś podpowiedź.

[Obrazek: 240x4ye.jpg]
(Ten post był ostatnio modyfikowany: 10-07-14 11:42 przez Deuce.)
10-07-14 11:35
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Ayene Offline
*


Liczba postów: 758
Dołączył: 09-04-13

Pomógł: 112



Post: #4
RE: Mała pomoc w edycji

Deuce napisał(a):Według bazy danych można zwiększyć siłę poprzez zbroję...
No to właśnie o to mi chodziło ;) . Podałeś, że chciałeś dodać 'siłę', więc chciałam się upewnić, czy wpisujesz 'str' czy 'str_plus'. Nie rozumiem jednak nadal, co w takim razie Ci nie działa?

Można wyświetlić atrybuty. Jaki chciałbyś otrzymać efekt? Wypisać te atrybuty po kolei, czy może za pomocą ikonek? I przez atrybuty masz na myśli odporności na elementy czy na statusy?

[Obrazek: aye_furniture_pres.png]
10-07-14 12:06
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Deuce Offline
*


Liczba postów: 312
Dołączył: 11-05-13

Pomógł: 34



Post: #5
RE: Mała pomoc w edycji

Taki błąd otrzymuję kiedy dodam linijkę do opisu broni
[Obrazek: Przechwytywanie.png]
efekt miałby wyglądać tak że po najechaniu na przedmiot wyświetla mi taką listę + te atrybuty jak się uda.

Atak
Obrona
Intelekt
Celność
itp.

a co do atrybutów jest to obojętne czy to będzie grafika czy lista

[Obrazek: 240x4ye.jpg]
10-07-14 12:23
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Ayene Offline
*


Liczba postów: 758
Dołączył: 09-04-13

Pomógł: 112



Post: #6
RE: Mała pomoc w edycji

Ach, no bo w konfiguracji gdzieś w module LANGUAGE nie dodałeś zmiennej HELPSKILLSTR. Muisz znaleźć HELPSKILLAGI i pod nią dodać np. HELPSKILLSTR = "Siła".
Albo swoją linijkę zmodyfikować:
self.contents.draw_text(4, 92, 400, 32, "Siła: " + $data_weapons[@item.id].str_plus.to_s, 0)

[Obrazek: aye_furniture_pres.png]
10-07-14 12:31
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Deuce Offline
*


Liczba postów: 312
Dołączył: 11-05-13

Pomógł: 34



Post: #7
RE: Mała pomoc w edycji

Jeżeli będę chciał mieć więcej wyświetlonych statystyk mam zrobić to samo, i odnośnie tych atrybutów wiesz może jak to zrobić bo jest mi to bardzo potrzebne?

[Obrazek: 240x4ye.jpg]
10-07-14 12:34
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Ayene Offline
*


Liczba postów: 758
Dołączył: 09-04-13

Pomógł: 112



Post: #8
RE: Mała pomoc w edycji

Co do statystyk, to tak... oczywiście musisz się wpierw upewnić, czy w ogóle istnieje.

Co do atrybutów. Dla pancerza możesz użyć fragmentu:
if @item.is_a?(RPG::Armor)
          @item.guard_element_set.each_with_index {|id, i|
          element = $data_system.elements[id]
            self.contents.draw_text(4, 0+32*i, self.width - 40, 32, element.to_s, 0)
          }          
          @item.guard_state_set.each_with_index {|id, i|
          state = $data_states[id].name
            self.contents.draw_text(104, 0+32*i, self.width - 40, 32, state.to_s, 0)
          }        
        end
dla broni:
if @item.is_a?(RPG::Weapon)
          @item.element_set.each_with_index {|id, i|
          element = $data_system.elements[id]
            self.contents.draw_text(4, 0+32*i, self.width - 40, 32, element.to_s, 0)
          }
          
          @item.plus_state_set.each_with_index {|id, i|
          plus_state = $data_states[id].name
            self.contents.draw_text(104, 0+32*i, self.width - 40, 32, plus_state.to_s, 0)
          }
          
          @item.minus_state_set.each_with_index {|id, i|
          minus_state = $data_states[id].name
            self.contents.draw_text(204, 0+32*i, self.width - 40, 32, minus_state.to_s, 0)
          }
          
        end
Dla przedmiotów to samo co dla broni, tylko warunek sprawdzający typ musi się zmienić:
if @item.is_a?(RPG::Item)

[Obrazek: aye_furniture_pres.png]
11-07-14 11:22
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a): Deuce
Deuce Offline
*


Liczba postów: 312
Dołączył: 11-05-13

Pomógł: 34



Post: #9
RE: Mała pomoc w edycji

Jestem ci bardzo wdzięczny za pomoc, zaraz sprawdzę jak to wygląda w praktyce, jeszcze zostanie mi powiększenie tego okienka z informacją bo wszystko nachodzi na siebie albo brakuje miejsca ale to już sam mogę zrobić :)

[Obrazek: 240x4ye.jpg]
11-07-14 13:41
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Wątek zamknięty 


Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości

Kontakt | Ultima Forum | Wróć do góry | Wróć do forów | Wersja bez grafiki | RSS
Powered By MyBB. © 2013 MyBB Group. All Rights Reserved.
Skórka by Ayene.