Shoppreise variieren
Ich würde gern ein paar Händer haben wo ich die Preise, sowohl beim Kaufen als auch beim Verkaufen, ändern kann.
Z.B. Ring of Fire = 2000G, Händler: Kauf = 2200G - Verkauf = 1800G
Kennt da vllt. jmd. was?
thx
Z.B. Ring of Fire = 2000G, Händler: Kauf = 2200G - Verkauf = 1800G
Kennt da vllt. jmd. was?
thx
RR
Benutzerinformationen überspringen
Motto: Menschen sind doof, Tiere sind doof, Pflanzen sind doof... Steine sind okay.
ich verstehe nicht 100% worauf du hinaus willst...
willst du, dass du beim verkauf von items mehr geld als nur die hälfte des kaufpreises bekommst?
oder willst du, dass man die preise runter- bzw. raufhandeln kann?
willst du, dass du beim verkauf von items mehr geld als nur die hälfte des kaufpreises bekommst?
oder willst du, dass man die preise runter- bzw. raufhandeln kann?
Was lebt, das kann man töten. Was tot ist, das kann man essen.
--------------------------------------------------------------------------
Mapping: 




Scripting: 




Event: 




Story: 




Zeichnen: 




Pixeln: 




Musik & Sounds: 




--------------------------------------------------------------------------
Bevorzugter Maker:
Ebenfalls im Besitzt:
--------------------------------------------------------------------------
Mapping: 




Scripting: 




Event: 




Story: 




Zeichnen: 




Pixeln: 




Musik & Sounds: 




--------------------------------------------------------------------------
Bevorzugter Maker:
Ebenfalls im Besitzt:

Ich will nicht als Spieler Handel, ich will einfach nur weniger Geld bekommen wenn ich etwas verkaufe.
Ich würde es am liebsten einstellen können.
EVENT
$game_kaufpreis (120%)
$game_verkaufpreis (80%)
Shop Proccesing: Item
Item
Item
EVENT ENDE
Wenn jetzt der Ring of Fire 2000G kostet soll man ihn in diesem Fall für 2400G Kaufen (20% mehr) und für 1600G (20% weniger) verkaufen.
Ist das klar genug? Ich hoffe die frage kommt nicht unhöflich rüber. Wenn noch was ist einfach fragen. ^^
Ergebnis:
So bietet dies viele möglichkeiten z.B. Handeln, Preisnachlass bei höherem eigenen Level, unhöflich sein erhöht den Kaufpreis, usw.
Wer dann Events machen kann hat viele möglichkeiten. Nur leider kann ich nicht Scripten.
Ich würde es am liebsten einstellen können.
EVENT
$game_kaufpreis (120%)
$game_verkaufpreis (80%)
Shop Proccesing: Item
Item
Item
EVENT ENDE
Wenn jetzt der Ring of Fire 2000G kostet soll man ihn in diesem Fall für 2400G Kaufen (20% mehr) und für 1600G (20% weniger) verkaufen.
Ist das klar genug? Ich hoffe die frage kommt nicht unhöflich rüber. Wenn noch was ist einfach fragen. ^^
Ergebnis:
So bietet dies viele möglichkeiten z.B. Handeln, Preisnachlass bei höherem eigenen Level, unhöflich sein erhöht den Kaufpreis, usw.
Wer dann Events machen kann hat viele möglichkeiten. Nur leider kann ich nicht Scripten.
RR
Benutzerinformationen überspringen
Motto: Menschen sind doof, Tiere sind doof, Pflanzen sind doof... Steine sind okay.
ok, jetzt hab ich es verstanden ^^
leider glaub ich nicht, dass man den shop über rgss-befehle laufen lassen kann... (ich kann mich auch irren, das müsste dann jemand sagen, der sich mit scripts besser auskennt)
eine möglichkeit wäre, einfach mehrere identische items in der database zu erstellen, die sich lediglich im preis (und damit auch im verkaufspreis) unterscheiden.
das shop-event änderst du dann einfach per switches oder variabeln, damit er auch die jeweiligen anderen items anbietet, je nach fortschritt
leider glaub ich nicht, dass man den shop über rgss-befehle laufen lassen kann... (ich kann mich auch irren, das müsste dann jemand sagen, der sich mit scripts besser auskennt)
eine möglichkeit wäre, einfach mehrere identische items in der database zu erstellen, die sich lediglich im preis (und damit auch im verkaufspreis) unterscheiden.
das shop-event änderst du dann einfach per switches oder variabeln, damit er auch die jeweiligen anderen items anbietet, je nach fortschritt
Was lebt, das kann man töten. Was tot ist, das kann man essen.
--------------------------------------------------------------------------
Mapping: 




Scripting: 




Event: 




Story: 




Zeichnen: 




Pixeln: 




Musik & Sounds: 




--------------------------------------------------------------------------
Bevorzugter Maker:
Ebenfalls im Besitzt:
--------------------------------------------------------------------------
Mapping: 




Scripting: 




Event: 




Story: 




Zeichnen: 




Pixeln: 




Musik & Sounds: 




--------------------------------------------------------------------------
Bevorzugter Maker:
Ebenfalls im Besitzt:

Advanced Shop System
Enthält in etwa das, was du suchst, wird aber von guten Skriptern als ein schlechtes Skript bezeichnet, kenne mich mit Ruby aber nicht so aus, deshalb kann ich dazu nichts sagen.
Enthält in etwa das, was du suchst, wird aber von guten Skriptern als ein schlechtes Skript bezeichnet, kenne mich mit Ruby aber nicht so aus, deshalb kann ich dazu nichts sagen.
x_x global variables over kill
Aber davon abgesehen ist Alexis Script ganz nett :3
Ich habe ein weiteres Script anzubieten:
Es kommt deinen Vorstellungen recht nahe. Ich habe eben nochmal versucht den Quelltext etwas aufzuräumen, weniger zu überschreiben und mehr alias zu verwenden, aber wirklich hübsch ist er nicht geworden ._.
Vielleicht schreib ich das Script mal neu, ich wollte ja eh mal alle alten Scripte in Ordnung bringen und freigeben.
Die Änderung hält aber nur bis zum aufruf des Shops - das bedeutet, sobald der Shop verlassen wird, sind wieder die standard Werte (100%|50%) drin. Das liegt an dem Verwendungszweck für den das Script damals geschrieben wurde, kann aber geändert werden, indem du in Teil 2, Zeile 40 und 41 auskommentierst.
Aber davon abgesehen ist Alexis Script ganz nett :3
Ich habe ein weiteres Script anzubieten:
Als neues Script über Main einfügen
|
|
Ruby Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
#============================================================================== # *** Shop Erweiterung (Teil 1) # # Die Preise im Shop können im Vorfeld manipuliert werden # von Playm # #============================================================================== # ** Interpreter #============================================================================== class Interpreter #-------------------------------------------------------------------------- # * Ändere den Kaufpreis # Beispiel: # aender_kaufpreis( 50 ) #=> Wahre kostet nurnoch halb so viel #-------------------------------------------------------------------------- def aender_kaufpreis( prozent ) $game_temp.rpv_buy = prozent / 100.0 end #-------------------------------------------------------------------------- # * Ändere den Verkaufpreis # Beispiel: # aender_verkaufspreis( 200 ) #=> Man bekommt den doppelten Preis #-------------------------------------------------------------------------- def aender_verkaufspreis( prozent ) $game_temp.rpv_sell = prozent / 100.0 end end #============================================================================== # ** Game_Temp #============================================================================== class Game_Temp #-------------------------------------------------------------------------- # * Public Instance Variables #-------------------------------------------------------------------------- attr_accessor :rpv_buy # map music (for battle memory) attr_accessor :rpv_sell # message text #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- alias_method(:org_ini_wo_rpve,:initialize) if !method_defined?(:org_ini_wo_rpve) def initialize(*a) @rpv_buy = 1.0 @rpv_sell = 0.5 org_ini_wo_rpve(*a) end end #============================================================================== # ** Game_Party #============================================================================== class Game_Party #-------------------------------------------------------------------------- # * Get Number of Items Possessed # item : an item #-------------------------------------------------------------------------- def item_number_from_typ( item ) case item when RPG::Item ; number = $game_party.item_number(item.id) when RPG::Weapon; number = $game_party.weapon_number(item.id) when RPG::Armor ; number = $game_party.armor_number(item.id) end return number end end |
zum Lesen den Text mit der Maus markieren
Als neues Script über Main einfügen
|
|
Ruby Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 |
#============================================================================== # *** Shop Erweiterung (Teil 2) # # Die Preise im Shop können im Vorfeld manipuliert werden # von Playm # #============================================================================== # ** Window_ShopBuy #============================================================================== class Window_ShopBuy < Window_Selectable #-------------------------------------------------------------------------- # * Draw Item # index : item number #-------------------------------------------------------------------------- alias_method(:org_di_wo_rpve, :draw_item) if !method_defined?(:org_di_wo_rpve) def draw_item(index) org_di_wo_rpve(index) item = @data[index] item_price= $scene.make_item_buyprice( item ) amount_ok = $game_party.item_number_from_typ( item ) < 99 price_ok = item_price <= $game_party.gold rect = Rect.new(244, index * 32, 88, 32) self.contents.font.color= (amount_ok and price_ok) ? normal_color : disabled_color self.contents.fill_rect(rect, Color.new(0, 0, 0, 0)) self.contents.draw_text(rect, item_price.to_s, 2) end end #============================================================================== # ** Scene_Shop #------------------------------------------------------------------------------ # This class performs shop screen processing. #============================================================================== class Scene_Shop #-------------------------------------------------------------------------- # * Main Processing #-------------------------------------------------------------------------- alias_method(:org_main_wo_rpve,:main) if !method_defined?(:org_main_wo_rpve) def main(*a) org_main_wo_rpve(*a) $game_temp.rpv_buy = 1.0 $game_temp.rpv_sell = 0.5 end #-------------------------------------------------------------------------- # * make item price for buy #-------------------------------------------------------------------------- def make_item_buyprice( item ) (item.price * $game_temp.rpv_buy).ceil end #-------------------------------------------------------------------------- # * make item price for sale #-------------------------------------------------------------------------- def make_item_sellprice( item ) (item.price * $game_temp.rpv_sell).ceil end #-------------------------------------------------------------------------- # * Frame Update (when buy window is active) #-------------------------------------------------------------------------- def update_buy # Set status window item @status_window.item = @buy_window.item # If B button was pressed if Input.trigger?(Input::B) # Play cancel SE $game_system.se_play($data_system.cancel_se) # Change windows to initial mode @command_window.active = true @dummy_window.visible = true @buy_window.active = false @buy_window.visible = false @status_window.visible = false @status_window.item = nil # Erase help text @help_window.set_text("") return end # If C button was pressed if Input.trigger?(Input::C) # Get item @item = @buy_window.item # If item is invalid, or price is higher than money possessed if @item == nil or make_item_buyprice( @item ) > $game_party.gold # Play buzzer SE $game_system.se_play($data_system.buzzer_se) return end # Get items in possession count case @item when RPG::Item number = $game_party.item_number(@item.id) when RPG::Weapon number = $game_party.weapon_number(@item.id) when RPG::Armor number = $game_party.armor_number(@item.id) end # If 99 items are already in possession if number == 99 # Play buzzer SE $game_system.se_play($data_system.buzzer_se) return end # Play decision SE $game_system.se_play($data_system.decision_se) # Calculate maximum amount possible to buy max = @item.price == 0 ? 99 : $game_party.gold / make_item_buyprice(@item) max = [max, 99 - number].min # Change windows to quantity input mode @buy_window.active = false @buy_window.visible = false @number_window.set(@item, max, make_item_buyprice(@item)) @number_window.active = true @number_window.visible = true end end #-------------------------------------------------------------------------- # * Frame Update (when sell window is active) #-------------------------------------------------------------------------- alias_method(:org_up_sell_wo_rpve, :update_sell) if !method_defined?(:org_up_sell_wo_rpve) def update_sell(*a) org_up_sell_wo_rpve(*a) if Input.trigger?(Input::C) max = $game_party.item_number_from_typ( @item ) @number_window.set(@item, max, make_item_sellprice(@item)) end end #-------------------------------------------------------------------------- # * Frame Update (when quantity input window is active) #-------------------------------------------------------------------------- alias_method(:org_up_num_wo_rpve, :update_number) if !method_defined?(:org_up_num_wo_rpve) def update_number(*a) org_up_num_wo_rpve(*a) if Input.trigger?(Input::C) case @command_window.index when 0 # Kaufpreis korrigieren $game_party.gain_gold(@number_window.number * @item.price) $game_party.lose_gold(@number_window.number * make_item_buyprice(@item)) when 1 # Verkaufspreis korrigieren $game_party.lose_gold(@number_window.number * (@item.price / 2)) $game_party.gain_gold(@number_window.number * make_item_sellprice(@item)) end @gold_window.refresh end end end |
zum Lesen den Text mit der Maus markieren
Vielleicht schreib ich das Script mal neu, ich wollte ja eh mal alle alten Scripte in Ordnung bringen und freigeben.
|
|
Ruby Quellcode |
1 |
aender_kaufpreis( 25 ) # Und schon kosten alle Gegenstände nurnoch 25% ihres normalen Preises |
|
|
Ruby Quellcode |
1 |
aender_verkaufspreis( 200 ) # Und schon bekommst du für alle Gegenstände das doppelte ihres normalen Preises |
Die Änderung hält aber nur bis zum aufruf des Shops - das bedeutet, sobald der Shop verlassen wird, sind wieder die standard Werte (100%|50%) drin. Das liegt an dem Verwendungszweck für den das Script damals geschrieben wurde, kann aber geändert werden, indem du in Teil 2, Zeile 40 und 41 auskommentierst.
Das große Scientia Wiki zur Spielentwicklung 
Was ist das RGSS ? RGSS-Dokumentation auf Sc
Kyoshiros Makerkurs
Musik von Shabraxxx für euch
Guide zu den Audioformaten
Skripte von mir (Auswahl):
Atmungssystem
| Streichholzsystem
| Animiert durch Bücher blättern
Random : Marktsystem für Kardor
| Staterelated Battlergraphic
| Hinweis auf mögliche Aktionen
SelfSwitchExpirationtimer Skript - Gameplayerweiterung für Pilzesammler und Farmspiele
Meine Skripte werden gerade hier gesammelt.

Was ist das RGSS ? RGSS-Dokumentation auf Sc
Kyoshiros Makerkurs

Musik von Shabraxxx für euch
Guide zu den Audioformaten

Skripte von mir (Auswahl):
Atmungssystem
| Streichholzsystem
| Animiert durch Bücher blättern
Random : Marktsystem für Kardor
| Staterelated Battlergraphic
| Hinweis auf mögliche Aktionen
SelfSwitchExpirationtimer Skript - Gameplayerweiterung für Pilzesammler und Farmspiele
Meine Skripte werden gerade hier gesammelt.
Das ist genau richtig. Es reicht vollkommen. DANKE^^
RR
Ähnliche Themen
-
Ressourcen- & Gestaltungsforum »-
Screenshotthread Nummer 4 ~Zeigt aufs Neue euer Können~
(20. November 2008, 18:59)
-
Ressourcen- & Gestaltungsforum »-
Screenshotthread Nummer 4 ~Zeigt aufs Neue euer Können~
(20. November 2008, 18:59)
-
Ressourcen- & Gestaltungsforum »-
Screenshotthread Nummer 4 ~Zeigt aufs Neue euer Können~
(20. November 2008, 18:59)
-
Skript-Anfragen »-
Suche Script um Preise zu verniedrigen!
(10. Februar 2008, 14:36)
-
Events & Technik »-
Magie wirkt stärker mit mehr Intelligenz?
(11. November 2007, 18:17)
