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: Ayene
Wto 19 Lip, 2011 16:35
Tylko Sprzedawanie itemków
Autor Wiadomość
vryysas 



Dołączył: 14 Lip 2011
Posty: 1
Wysłany: Pon 18 Lip, 2011 03:06
Tylko Sprzedawanie itemków
Aloha
Spędziłem ponad 2 godziny w przeszukiwaniu internetu i nie potrafiłem znaleźć odpowiedzi do na pozór łatwego do rozwiązania problemu. Chodzi mi o to, żeby w sklepie można było jedynie sprzedawać NPCkom przedmioty i to nie wszystkie, a jedynie wybrane. Jak to zrobić?
Zależy mi też, żeby przedmioty nie były sprzedawane pojedynczo a np. w 30 sztukach. Standardowy sklep nie ma opcji "Tylko sprzedawaj przedmioty". Gdy próbowałem zrobić alternatywny sklep przy pomocy zmiennych to wyskakiwał mi bląd w 750linijce w Game Interpreter.
 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Pon 18 Lip, 2011 12:20
Spróbuj tego skryptu:
Spoiler:

Kod:
#===================================================================
# Sprzedaż wybranych przedmiotów [VX]
# by Ayene
#===================================================================
# Opis:
# Skrypt umożliwia wybranie, które dokładnie przedmioty można sprzedać w sklepie.
# Wyłącza ponado opcję
#
# Instrukcja:
# By skorzystać ze skryptu w oknie 'Note' przy danym przedmiocie w Bazie Danych
# umieść tekst <sell_only> lub <SELL_ONLY>
# Pamiętaj o aktywacj przełącznika ustalonego poniżej w konfiguracji.
#===================================================================


module AYE
  SELL_NOTE = /<(?:SELL_ONLY|sell_only)>/i 
  SWITCH_ID = 3   # przełącznik włączający możliwość kontrolowanej sprzedaży
end

class RPG::BaseItem     
  def sell_only?
    @sell_only = false
    self.note.split(/[\r\n]+/).each {|i| @sell_only = true if i =~ AYE::SELL_NOTE}
    return @sell_only
  end 
end

class Scene_Shop < Scene_Base
 
  alias aye_scshop_crcomwin create_command_window
  def create_command_window
    aye_scshop_crcomwin   
    if $game_switches[AYE::SWITCH_ID]
      @command_window.draw_item(0, false) 
      @command_window.draw_item(1, true)   
    end
  end
 
  def update_command_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      $scene = Scene_Map.new
    elsif Input.trigger?(Input::C)
      case @command_window.index
      when 0  # buy
        if $game_switches[AYE::SWITCH_ID]
          Sound.play_buzzer
        else         
          Sound.play_decision
          @command_window.active = false
          @dummy_window.visible = false
          @buy_window.active = true
          @buy_window.visible = true
          @buy_window.refresh
          @status_window.visible = true
        end
      when 1  # sell
        if $game_temp.shop_purchase_only
          Sound.play_buzzer
        else
          Sound.play_decision
          @command_window.active = false
          @dummy_window.visible = false
          @sell_window.active = true
          @sell_window.visible = true
          @sell_window.refresh
        end
      when 2  # Quit
        Sound.play_decision
        $scene = Scene_Map.new
      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 or
        (!@item.sell_only? and $game_switches[AYE::SWITCH_ID])
        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 / 2)
        @number_window.active = true
        @number_window.visible = true
        @status_window.visible = true
      end
    end
  end 
end

class Window_ShopSell < Window_Item
  def draw_item(index)
    rect = item_rect(index)
    self.contents.clear_rect(rect)
    item = @data[index]
    if item != nil
      number = $game_party.item_number(item)
      enabled = $game_switches[AYE::SWITCH_ID] ? item.sell_only? : true       
      rect.width -= 4
      draw_item_name(item, rect.x, rect.y, enabled)
      self.contents.draw_text(rect, sprintf(":%2d", number), 2)
    end
  end
end


Info w treści skryptu. :->
________________________


 
 
 
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