collapse collapse

 Community


 User Info




Willkommen Gast. Bitte einloggen oder registrieren.

 Partnerseiten

rpgvx.net

Das Forum ist offline

Autor Thema: Extended Sell System - NEUE VERSION! (Mehr Notizen als nur der Preis möglich)  (Gelesen 1925 mal)

Offline lenni96

  • Ralph
  • *
  • Beiträge: 14
Alte Version:
Spoiler for Hiden:
Kurze Erklärung: Das Script macht es möglich das Items nicht immer für die Hälfte des Einkaufspreises verkauft werden.
Um dies zu ändern müsst ihr einfach nur die Notiz bei dem Item ändern.
Wichtig: Es gibt Probleme wenn es mehr Notizen als nur die Preiszahl gibt. (Ich nehme gerne Vorschläge und Hilfen zur Lösung des Problems an.)

Wie baue ich das Script ein?
Script über Main einfügen und beim gewünschten Item die Notiz ändern.
Wenn keine Notiz gesetzt wird, die Zahl 0 ist oder Buchstaben drin vor kommen ist der Preis des Itemverkaufs die Hälfte des Einkaufspreises (sprich: Standart).
Wenn die Notiz -1 entspricht, dann ist das Item beim verkauf nichts Wert, und das verkaufen bringt einem 0G.
Liegt der Preis der in der Notiz festgelegt ist über 0, so ist es der Verkaufspreis.

Das Script

v.0.1
Spoiler for Hiden:
#==============================================================================
# ** ESS (Extended Sell System)
#------------------------------------------------------------------------------
#  v.0.1
#
# English:
#   You are able to change the sell price for items now.
#   An item musn't be selled for the half buy price.
#   Only type in the price at the item notes.
#   Only if the Note is "-1" the Item will rais no money.
#
#   WARNING: There only have to stand the price, not other notes or scripts
#
#
# Deutsch:
#   Nun könnt ihr den Verkaufspreis für jedes Item festlegen.
#   Die Items müssen nicht mehr die hälfte des Einkaufspreis einbringen.
#   Ihr müsst einfach nur den Preis zu den Item Notizen schreiben.
#   Nur wenn die Notiz "-1" ist, wird das Item kein geld einbringen.
#
#   WARNUNG: Ihr dürft nur den preis dahin schreiben, keine anderen notizen
#            oder scripts
#
#
#  (C)lenni96 and ranack
#==============================================================================

class Scene_Shop < Scene_Base
  #--------------------------------------------------------------------------
  # * Update Buy Item Selection
  #--------------------------------------------------------------------------
  def update_buy_selection
    @status_window.item = @buy_window.item
    if Input.trigger?(Input::B)
      Sound.play_cancel
      @command_window.active = true
      @dummy_window.visible = true
      @buy_window.active = false
      @buy_window.visible = false
      @status_window.visible = false
      @status_window.item = nil
      @help_window.set_text("")
      return
    end
    if Input.trigger?(Input::C)
      @item = @buy_window.item
      number = $game_party.item_number(@item)
      if @item == nil or @item.price > $game_party.gold or number == 99
        Sound.play_buzzer
      else
        Sound.play_decision
        max = @item.price == 0 ? 99 : $game_party.gold / @item.price
        max = [max, 99 - number].min
        @buy_window.active = false
        @buy_window.visible = false
        @number_window.set(@item, max, @item.price)
        @number_window.active = true
        @number_window.visible = true
      end
    end
  end
  #--------------------------------------------------------------------------
  # * Update Sell Item Selection
  #--------------------------------------------------------------------------
  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
        Sound.play_buzzer
      else
        Sound.play_decision
        max = $game_party.item_number(@item)
        @sell_window.active = false
        @sell_window.visible = false
        if @item.note.to_i > 0
            @number_window.set(@item, max, @item.note.to_i)
          elsif @item.note.to_i == -1
            @number_window.set(@item, max, 0)
          else
            @number_window.set(@item, max, @item.price / 2)
        end
        @number_window.active = true
        @number_window.visible = true
        @status_window.visible = true
      end
    end
  end

  #--------------------------------------------------------------------------
  # * Confirm Number Input
  #--------------------------------------------------------------------------
  def decide_number_input
    Sound.play_shop
    @number_window.active = false
    @number_window.visible = false
    case @command_window.index
    when 0  # Buy
      $game_party.lose_gold(@number_window.number * @item.price)
      $game_party.gain_item(@item, @number_window.number)
      @gold_window.refresh
      @buy_window.refresh
      @status_window.refresh
      @buy_window.active = true
      @buy_window.visible = true
    when 1  # sell
      
      if @item.note.to_i > 0
            $game_party.gain_gold(@number_window.number * (@item.note.to_i))
          elsif @item.note.to_i == -1
            $game_party.gain_gold(0)
          else
            $game_party.gain_gold(@number_window.number * (@item.price / 2))
        end
      $game_party.lose_item(@item, @number_window.number)
      @gold_window.refresh
      @sell_window.refresh
      @status_window.refresh
      @sell_window.active = true
      @sell_window.visible = true
      @status_window.visible = false
    end
  end
end  

Neue Version:
Spoiler for Hiden:
Kurze Erklärung: Das Script macht es möglich das Items nicht immer für die Hälfte des Einkaufspreises verkauft werden.
Um dies zu ändern müsst ihr einfach nur die Notiz bei dem Item ändern.
Wichtig: Ihr schreibt in die Notiz "<price>" (ohne ") dann den preis und nach dem preis schreibt ihr wieder "</price>".
Wichtiger: Dies ist leider noch verbuggt. Es kann zum Beispiel sein das wenn man den Preis 50 angibt, dass es nur für 2 verkauft wird.

Wie baue ich das Script ein?
Script über Main einfügen und beim gewünschten Item, wie oben genannt, die notiz ändern.

Das Script

v.0.5
Spoiler for Hiden:
#==============================================================================
# ** ESS (Extended Sell System)
#------------------------------------------------------------------------------
#  v.0.1
#
# English:
#   You are able to change the sell price for items now.
#
# Deutsch:
#   Nun könnt ihr den Verkaufspreis für jedes Item festlegen.
#
#
#  (C)lenni96 and ranack
#==============================================================================

class Scene_Shop < Scene_Base
  #--------------------------------------------------------------------------
  # * Update Buy Item Selection
  #--------------------------------------------------------------------------
  def update_buy_selection
    @status_window.item = @buy_window.item
    if Input.trigger?(Input::B)
      Sound.play_cancel
      @command_window.active = true
      @dummy_window.visible = true
      @buy_window.active = false
      @buy_window.visible = false
      @status_window.visible = false
      @status_window.item = nil
      @help_window.set_text("")
      return
    end
    if Input.trigger?(Input::C)
      @item = @buy_window.item
      number = $game_party.item_number(@item)
      if @item == nil or @item.price > $game_party.gold or number == 99
        Sound.play_buzzer
      else
        Sound.play_decision
        max = @item.price == 0 ? 99 : $game_party.gold / @item.price
        max = [max, 99 - number].min
        @buy_window.active = false
        @buy_window.visible = false
        @number_window.set(@item, max, @item.price)
        @number_window.active = true
        @number_window.visible = true
      end
    end
  end
  #--------------------------------------------------------------------------
  # * Update Sell Item Selection
  #--------------------------------------------------------------------------
  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
        Sound.play_buzzer
      else
        Sound.play_decision
        max = $game_party.item_number(@item)
        @sell_window.active = false
        @sell_window.visible = false
        ##
         if @item.is_a?(RPG::Weapon)
      @item2 = $data_weapons[@item.id]
    elsif @item.is_a?(RPG::Armor)
      @item2 = $data_armors[@item.id]
    elsif @item.is_a?(RPG::Item)
      @item2 = $data_items[@item.id]
      end
       @notes = @item2.note
      if @notes.include?("<price>")
      @tags = [@notes.index("<price>"),@notes.index("</price>")]
      @price = ""
      for i in @tags[0]...@tags[1]
        @price += @notes[i].to_s
      end
      @price = @price.gsub("601121141059910162","")
      @price = @price.gsub("48","0")
      @price = @price.gsub("50","2")
      @price = @price.gsub("52","4")
      @price = @price.gsub("54","6")
      @price = @price.gsub("56","8")
      @price = @price.gsub("49","1")
      @price = @price.gsub("51","3")
      @price = @price.gsub("53","5")
      @price = @price.gsub("55","7")
      @price = @price.gsub("57","9")
    else
      @price = "-1"
    end
    ##
        if @price.to_i > -1
            @number_window.set(@item, max, @price.to_i)
          else
            @number_window.set(@item, max, @item.price / 2)
        end
        @number_window.active = true
        @number_window.visible = true
        @status_window.visible = true
      end
    end
  end

  #--------------------------------------------------------------------------
  # * Confirm Number Input
  #--------------------------------------------------------------------------
  def decide_number_input
    Sound.play_shop
    @number_window.active = false
    @number_window.visible = false
    case @command_window.index
    when 0  # Buy
      $game_party.lose_gold(@number_window.number * @item.price)
      $game_party.gain_item(@item, @number_window.number)
      @gold_window.refresh
      @buy_window.refresh
      @status_window.refresh
      @buy_window.active = true
      @buy_window.visible = true
    when 1  # sell
      
      ####
      if @item.is_a?(RPG::Weapon)
      @item2 = $data_weapons[@item.id]
    elsif @item.is_a?(RPG::Armor)
      @item2 = $data_armors[@item.id]
    elsif @item.is_a?(RPG::Item)
      @item2 = $data_items[@item.id]
      end
       @notes = @item2.note
      if @notes.include?("<price>")
      @tags = [@notes.index("<price>"),@notes.index("</price>")]
      @price = ""
      for i in @tags[0]...@tags[1]
        @price += @notes[i].to_s
      end
      @price = @price.gsub("601121141059910162","")
      @price = @price.gsub("48","0")
      @price = @price.gsub("50","2")
      @price = @price.gsub("52","4")
      @price = @price.gsub("54","6")
      @price = @price.gsub("56","8")
      @price = @price.gsub("49","1")
      @price = @price.gsub("51","3")
      @price = @price.gsub("53","5")
      @price = @price.gsub("55","7")
      @price = @price.gsub("57","9")
    else
      @price = "-1"
    end
    ####
      if @price.to_i > -1
            $game_party.gain_gold(@number_window.number * (@price.to_i))
          else
            $game_party.gain_gold(@number_window.number * (@item.price / 2))
        end
      $game_party.lose_item(@item, @number_window.number)
      @gold_window.refresh
      @sell_window.refresh
      @status_window.refresh
      @sell_window.active = true
      @sell_window.visible = true
      @status_window.visible = false
    end
  end
end  
« Letzte Änderung: Oktober 13, 2010, 03:04:23 von lenni96 »

Re:ESS (Extended Sell System)

Offline Emelie Rose

  • Meisterköchin
  • Eventmeister
  • ***
  • Beiträge: 329
Re:ESS (Extended Sell System)
« Antwort #1 am: Oktober 04, 2010, 14:47:36 »
hmm bei mir funktionierts anscheinend net

hab bei den notizen 10 hingeschrieben aber der verkaufspreis ist immernoch auf 25

Re:ESS (Extended Sell System)

Offline lenni96

  • Ralph
  • *
  • Beiträge: 14
Re:ESS (Extended Sell System)
« Antwort #2 am: Oktober 05, 2010, 15:59:23 »
Hast du denn noch weitere Notizen oder nur die 10?

Re:ESS (Extended Sell System)

Offline Ðeity

  • No Pain, no gain!
  • Administrator
  • Eventmeister
  • ****
  • Beiträge: 427
  • No Pain, no Gain!
    • Deity-VX
Re:ESS (Extended Sell System)
« Antwort #3 am: Oktober 05, 2010, 16:20:22 »
Hi.
Eine schöne Idee das Script.
Klappt auch solange man, die Notes bei dem Preis belässt.
Also ich hätte 2 Anmerkungen. Damit man nicht auf die Notes verzichten muss, würde ich dir empfehlen die Notes nach dem Tag durchzusuchen und dann den Intger also den Preis rauszufiltern.
Desweiteren, musst du nicht die komplette Class benutzen, sondern nur die Methoden, die du verändert hast. Soweit ich das gesehen habe, waren da unveränderte Methoden, die unnötig sind.

MfG
Deity



Re:ESS (Extended Sell System)

Offline lenni96

  • Ralph
  • *
  • Beiträge: 14
Re:ESS (Extended Sell System)
« Antwort #4 am: Oktober 05, 2010, 16:39:47 »
Hi.
Eine schöne Idee das Script.
Klappt auch solange man, die Notes bei dem Preis belässt.
Also ich hätte 2 Anmerkungen. Damit man nicht auf die Notes verzichten muss, würde ich dir empfehlen die Notes nach dem Tag durchzusuchen und dann den Intger also den Preis rauszufiltern.

Bin noch totaler Anfänger und bin froh das ich das geschafft habe ;)
Edit: Ebenso gemacht :)


Desweiteren, musst du nicht die komplette Class benutzen, sondern nur die Methoden, die du verändert hast. Soweit ich das gesehen habe, waren da unveränderte Methoden, die unnötig sind.

Gemacht :)
« Letzte Änderung: Oktober 13, 2010, 03:10:47 von lenni96 »

Re:ESS (Extended Sell System) - Item Verkaufpreis festlegen

Offline Emelie Rose

  • Meisterköchin
  • Eventmeister
  • ***
  • Beiträge: 329
Re:ESS (Extended Sell System) - Item Verkaufpreis festlegen
« Antwort #5 am: Oktober 05, 2010, 20:48:14 »
ne hab keine anderen drin nur die 10.

naja vill sind auch die adneren scripts^^

Re:ESS (Extended Sell System) - Item Verkaufpreis festlegen

Offline lenni96

  • Ralph
  • *
  • Beiträge: 14
Re:ESS (Extended Sell System) - Item Verkaufpreis festlegen
« Antwort #6 am: Oktober 05, 2010, 22:25:37 »
ja kann sein das es fehlern mit anderen shop scripten gibt.

Edit: Es gibt ein neues Update, bei dem es nun möglich ist in den Notizen mehr als nur den Preis zu schreiben.
Dafür muss man den Preis mit <price> und </price> trennen.

Es gibt leider noch Probleme damit. Somit kann aus einer 48 eine 0 werden ider aus einer 55 eine 7.
« Letzte Änderung: Oktober 13, 2010, 03:12:53 von lenni96 »

 


 Bild des Monats

rooftop party

Views: 3581
By: papilion

 Umfrage

  • Wer soll das BdM gewinnen?
  • Dot Kandidat 1
  • 3 (25%)
  • Dot Kandidat 2
  • 1 (8%)
  • Dot Kandidat 3
  • 2 (16%)
  • Dot Kandidat 4
  • 0 (0%)
  • Dot Kandidat 5
  • 6 (50%)
  • Stimmen insgesamt: 12
  • View Topic

 Schnellsuche





SimplePortal 2.3.3 © 2008-2010, SimplePortal