Dear visitor, welcome to RPG Studio - Make your World real. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

Kardor

Knappe

  • "Kardor" started this thread

Motto: RTP? - Frontview KS? ich finds gut ^^

  • Send private message

1

Friday, August 29th 2014, 5:03pm

Handelsware Script gesucht

Hallo, ich bins mal wieder^^

ich bin auf der Suche nach einem Script oder Scriptschnipsel der folgendes bewirken soll.

Wenn ein bestimmter Gegenstand soundso oft verkauft wurde soll der Verkaufswert sinken.
Beispiel:
Spieler verkauft 99 Einheiten Korn zu 100/Stk. wenn erjetzt das nächste mal Korn verkaufen will
ist es nur noch 75/Stk wert.
Das ganze soll sich dann nach einer Anzahl in Stunden wieder "resetten"
Perfekt wäre es wenn das auch umgekehrt ginge sprich der Spieler kauft munter Korn wenn jetzt wieder ein bestimmter
Wert eigekauft wurde steigt der Einkaufswert.
Auch hier sollte ein reset nach einer bestimmten Zeit erfolgen.

wäre cool wenn man es für Itemgruppen / einzelne Items konfigurieren könnte (zB Item Nr. 54-72 sowie Items 2,5,8,10)


Da man bei mir bestimmte Rohstoffe abbauen kann um Geld zu verdienen würde so ein Script dem ganzen
etwas mehr Würze verleihen.

Ich fürchte das dies nicht oder nur unter massivem Aufwand über Events realisierbar ist.
Wenn also jemand eine Idee hat oder weiss wo ich sowas her bekomme wäre ich riesig dankbar.

Ich danke im Voraus für die Mühen und eure Hilfe
Kardor
In Entwicklung: Conjurer - Shadows of the Past
Vorstellung Conjurer
Meinungen und konstruktive Kritik sind immer erwünscht.

Wer bin ich? Und wenn ja wie viele?

Ich kann nicht viel zum Dank anbieten, ausser meiner ehrlichen Meinung
und meiner Zeit zB. als Tester.

Playm

RPG Studio Webmaster

  • Send private message

2

Sunday, August 31st 2014, 12:23pm

Ah, also eine Art Marktwert, der vom tatsächlichen Itempreis nach oben oder unten abweichen kann.

Hey, ein paar Fragen zur Realisierung:
Normalerweise ist der Einkaufspreis der Preis des Items und der Verkaufspreis ist der Preis des Items geteilt durch Zwei.

Soll jetzt Einkaufspreis und Verkaufspreis nurnoch vom variablen Marktwert ausgehen? Oder der Verkaufspreis immernoch nochmal halbiert werden?

Und diese Preiseinschränkung soll nur für bestimmte Items gelten?
Wie soll das Reseten ablaufen? Wirklich Zeit gibt es im Maker standardmäßig ja nicht.

Kardor

Knappe

  • "Kardor" started this thread

Motto: RTP? - Frontview KS? ich finds gut ^^

  • Send private message

3

Sunday, August 31st 2014, 4:41pm

Ja genau das soll es sein.

Ich möchte in meinem Projekt verschiedene Abbaupunkte (für Erz Korn und etc.) einrichten
die hauptsächlich für das Einkommen des Helden dienen.

Im optimalfall dient der variable Preis nur für bestimmte Gegenstände (die Handelswaren oder sowas weil Heilitems).
Und ja das mit dem 50% Verkaufswert bleibt so.

Tja das mit der Zeit keine Ahnung entweder über Schritte oder über Spielzeit, sprich in 3 Spielstunden ka ob das geht.
In Entwicklung: Conjurer - Shadows of the Past
Vorstellung Conjurer
Meinungen und konstruktive Kritik sind immer erwünscht.

Wer bin ich? Und wenn ja wie viele?

Ich kann nicht viel zum Dank anbieten, ausser meiner ehrlichen Meinung
und meiner Zeit zB. als Tester.

Playm

RPG Studio Webmaster

  • Send private message

4

Sunday, August 31st 2014, 6:29pm

Ok, hier wäre dann das Skript dafür:
Spoiler: Quellcode

Ruby Source code

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
#==============================================================================
#  Marktsystem für Kardor
#------------------------------------------------------------------------------
# Mit diesem Skript kann für bestimmte Items ein Multiplikator eingeführt
# werden, der beim Handel den Itempreis variieren lässt.
# Die Einstellungen dafür findet man ab Zeile 49, die Syntax ist
#   item_id => prozentwert_beim_start
# Wird für eine Item Id kein Startwert gegeben, wird dieses Item auf dem Markt
# nicht berücksichtigt, sein Preis bleibt also immer so, wie in der Database
# eingestellt.
# 
# HINWEIS:
# 
# Dieses Skript ist ausnahmsweise nicht Plug&Play fertig, sondern es muss im
# Skript Scene_Shop noch etwas geändert werden.
#   In der Methode update_number nach Zeile 294 muss folgende Zeile eingefügt
#   werden:
#       $game_system.adjust_market_value(@item, @number_window.number)
#   Ebenfalls in der Methode update_number, nach Zeile 312 kommt folgendes:
#       $game_system.adjust_market_value(@item, -@number_window.number)
#
# Über den Skriptaufruf
#   item = $data_items[ 789 ]
#   $game_system.market_value[item] = 123
# kann für das Item mit der ID 789, der Marktwert auf 123% geändert werden.
# So kann man den Preis auch zurücksetzen, indem man ihn wieder auf 100% 
# setzt.
#------------------------------------------------------------------------------
# Autor:  Playm
# Datum:  August 2014
# Maker:  XP
# Lizenz: (CC BY-NC-SA 3.0)
#==============================================================================
#    HIER BEGINNT DER KERN DES SYSTEMS
#==============================================================================
#
#==============================================================================
# ** Game_Market_value
#------------------------------------------------------------------------------
#  Verwaltet die Marktwerte der Items, indem für bestimmte Items Multiplika-
#  toren gespeichert werden zwischen 1% und 200%
#==============================================================================
class Game_Market_value
  #--------------------------------------------------------------------------
  # * Setze die Startwerte
  #--------------------------------------------------------------------------
  def initialize
    @item_to_value = {
                       1 => 100,  # Potion beginnt mit 100%
                       3 => 120,  # Full Potion beginnt mit 120%
                       4 => 200   # Perfume beginnt mit 200% (maximum)
                     }
  end
  #--------------------------------------------------------------------------
  # * Berechne den Preis eines Items unter Beruecksichtigung der Marktlage
  #--------------------------------------------------------------------------
  def price(item)
    return item.orginal_price unless @item_to_value.has_key?(item.id)
    return item.orginal_price * (@item_to_value[item.id] / 100.0)
  end
  #--------------------------------------------------------------------------
  # * Ändere den Prozentwert mit dem der Preis eines Items verrechnet wird
  #--------------------------------------------------------------------------
  def []=(item, value)
    return value unless @item_to_value.has_key?(item.id)
    return @item_to_value[item.id] = 200 if value > 200
    return @item_to_value[item.id] = 1   if value < 1
    return @item_to_value[item.id] = value
  end
  #--------------------------------------------------------------------------
  # * Gibt den Prozentwert mit dem der Itempreis verrechnet wird zurück
  #--------------------------------------------------------------------------
  def [](item)
    @item_to_value.has_key?(item.id) ? @item_to_value[item.id] : nil
  end
end
#==============================================================================
# ** Game_System
#==============================================================================
class Game_System
  #--------------------------------------------------------------------------
  # * Attr
  #--------------------------------------------------------------------------
  attr_reader(:market_value)
  #--------------------------------------------------------------------------
  # * Alias
  #--------------------------------------------------------------------------
  alias_method(:org_ini_wo_market_value, :initialize)
  #--------------------------------------------------------------------------
  # * Initialisierung eines neuen Objektes
  #--------------------------------------------------------------------------
  def initialize(*args)
    org_ini_wo_market_value(*args)
    @market_value = Game_Market_value.new
  end
  #--------------------------------------------------------------------------
  # * Passe den Marktwert des Items an
  #--------------------------------------------------------------------------
  def adjust_market_value( item, change )
    @market_value[item] += change
  end
end
#==============================================================================
#    RGSS Anpassungen
#==============================================================================
# ** RPG::Item
#==============================================================================
class RPG::Item
  #--------------------------------------------------------------------------
  # * Alias
  #--------------------------------------------------------------------------
  alias_method(:orginal_price, :price)
  #--------------------------------------------------------------------------
  # * Get Item Price
  #--------------------------------------------------------------------------
  def price
    $game_system.market_value.price(self).to_i
  end
end
highlight to read
Probier mal, ob es das tut, was Du brauchst. :hi:

Kardor

Knappe

  • "Kardor" started this thread

Motto: RTP? - Frontview KS? ich finds gut ^^

  • Send private message

5

Thursday, September 11th 2014, 8:43pm

Jesses jetzt bin ich so oft hier und hab mich noch garnicht für das Script bedankt, Asche auf mein Haupt.
Danke Playm, ich werde das ganze einbauen und testen und hier Feedback geben^^

Momentan stecke ich ein bisschen im CON vorbereitungsstress^^ nicht wundern wenn es noch etwas dauert.

Aber danke nochmal.

_________________
EDIT:

So bin jetzt dabei das einzubauen und zu testen.
Versteh ich das im Scripttext richtig das der Prozentuale Verkaufswert manuell über ein
Scriptbefehl mit

Ruby Source code

1
2
   item = $data_items[ 789 ]
#   $game_system.market_value[item] = 123
ändere?
Najo so verstehe ich wenigstens deinen Infotext.

Aber das würde ja auch bedeuten das sich der Wert nicht selbstständig ändert oder?
(Sorry wenn ich, mal wieder, aufm Schlauch stehe^^)
In Entwicklung: Conjurer - Shadows of the Past
Vorstellung Conjurer
Meinungen und konstruktive Kritik sind immer erwünscht.

Wer bin ich? Und wenn ja wie viele?

Ich kann nicht viel zum Dank anbieten, ausser meiner ehrlichen Meinung
und meiner Zeit zB. als Tester.

This post has been edited 1 times, last edit by "Kardor" (Sep 11th 2014, 8:43pm)


Playm

RPG Studio Webmaster

  • Send private message

6

Thursday, September 11th 2014, 9:27pm

Quoted

Versteh ich das im Scripttext richtig
Ja, diese Option ist möglich, um den Wert auf 100% zurückzusetzen, oder wenn es Storytechnisch Sinn macht, das Plötzlich (bei Krieg?) die Preise für Eisen steigen. Kurz gesagt: Damit kannst Du regulierend in den Markt eingreifen, wenn Du Lust dazu hast.

Quoted

Aber das würde ja auch bedeuten das sich der Wert nicht selbstständig ändert oder?
In der Tat änderen sich die Werte bei diesem Skript nicht automatisch, dafür musst Du in Scene_Shop noch etwas anpassen, das steht ein paar Zeilen höher in den Kommentaren. Wenn Du das erledigt hast, ändert sich der Wert automatisch.

Kardor

Knappe

  • "Kardor" started this thread

Motto: RTP? - Frontview KS? ich finds gut ^^

  • Send private message

7

Saturday, September 13th 2014, 11:59pm

Aaaalso
hab das mal eingebaut und kurz getestet.
Das ganze funktioniert prinzipiell Tadellos, jedoch gibt es eine
ziemlich gravierende Sache.

Wenn ich zB ERZ verkaufe dann nimmt der Preis ab, soweit ist das großartig.
Allerdings betrifft das auch den Einkaufspreis!
Sprich ich verscherbel mein Erz und kann es dann für 0 wieder einkaufen.

Anbei mal der Projektordner.
Die Kiste im Laden gibt dir jedes mal 99 Erz. einfach anklicken, gibt keine Meldung oder dergleichen.
Kardor has attached the following file:
In Entwicklung: Conjurer - Shadows of the Past
Vorstellung Conjurer
Meinungen und konstruktive Kritik sind immer erwünscht.

Wer bin ich? Und wenn ja wie viele?

Ich kann nicht viel zum Dank anbieten, ausser meiner ehrlichen Meinung
und meiner Zeit zB. als Tester.

Playm

RPG Studio Webmaster

  • Send private message

8

Monday, September 15th 2014, 1:23am

Quoted

Wenn ich zB ERZ verkaufe dann nimmt der Preis ab, soweit ist das großartig.
Allerdings betrifft das auch den Einkaufspreis!
Klar, das ist absicht. Wenn Du tausende Einheiten X auf den Markt wirfst, sinkt dessen Wert, natürlich kannst Du es dann anschließend auch wieder billig einkaufen (allerdings nimmt dann der Wert wieder zu). Was hattest Du dir denn für eine Logik überlegt? Das er dir weniger dafür bezahlt aber immernoch gleichviel dafür verlangt, wenn Du es dann zurückkaufen willst? :hm:

Kardor

Knappe

  • "Kardor" started this thread

Motto: RTP? - Frontview KS? ich finds gut ^^

  • Send private message

9

Monday, September 15th 2014, 10:35am

Morgen Playm,

wenn du das so sagst hast du natürlich vollkommen recht,
keine Ahnung was mich da geritten hat (Grundsätzliches Marktverhalten sollte man als Kaufmann eigentlich kennen *hust*).

Von daher :thumbsup: funktioniert^^

Aber noch 2 Fragen:

Gibt es die Möglichkeit einen minimalen Wiederverkaufswert festzulegen? (momentan gäbe es die gegenstände bei Marktsättigung umsonst.)
Wo im Skript stelle ich den Sättigungswert ein (also die Menge ab der, der Preis beginnt zu fallen)?

Edit:
Ah nochwas, ursprünglich war ja noch die Idee im Raum das sich der Wert von alleine erholt.
Jetzt gibt es doch im Spiel die Uhr die, die gespielte Zeit ausgibt, kann man diese Uhr irgendwie ansteuern?
Also das man sagt alle X Spielminuten erholt sich der Wert?
In Entwicklung: Conjurer - Shadows of the Past
Vorstellung Conjurer
Meinungen und konstruktive Kritik sind immer erwünscht.

Wer bin ich? Und wenn ja wie viele?

Ich kann nicht viel zum Dank anbieten, ausser meiner ehrlichen Meinung
und meiner Zeit zB. als Tester.

This post has been edited 1 times, last edit by "Kardor" (Sep 15th 2014, 10:35am)


Playm

RPG Studio Webmaster

  • Send private message

10

Monday, September 15th 2014, 3:20pm

Quoted

Gibt es die Möglichkeit einen minimalen Wiederverkaufswert festzulegen? (momentan gäbe es die gegenstände bei Marktsättigung umsonst.)

Aktuell kann der Preis auf 1% des Originalpreises fallen und auf maximal 200% steigen, wie man hier im Skript sieht:

Ruby Source code

61
62
63
64
65
66
67
68
69
  #--------------------------------------------------------------------------
  # * Ändere den Prozentwert mit dem der Preis eines Items verrechnet wird
  #--------------------------------------------------------------------------
  def []=(item, value)
    return value unless @item_to_value.has_key?(item.id)
    return @item_to_value[item.id] = 200 if value > 200
    return @item_to_value[item.id] = 1   if value < 1
    return @item_to_value[item.id] = value
  end
Kostet das Item nun aber normalerweise 50 Gold, wäre 1% davon ja 0.5 Goldstücke, was in Ermangelung einer kleineren Währungseinheit zu 0 Goldstücken wird. Man könnte in der Methode die den Preis ausrechnet (Originalpreis multipliziert mit dem Prozentwert) natürlich einen Mindestwert angeben:
  • Aktuell

    Ruby Source code

    54
    55
    56
    57
    58
    59
    60
    
      #--------------------------------------------------------------------------
      # * Berechne den Preis eines Items unter Beruecksichtigung der Marktlage
      #--------------------------------------------------------------------------
      def price(item)
        return item.orginal_price unless @item_to_value.has_key?(item.id)
        return item.orginal_price * (@item_to_value[item.id] / 100.0)
      end
  • So könnte man es anpassen:

    Ruby Source code

    54
    55
    56
    57
    58
    59
    60
    61
    
      #--------------------------------------------------------------------------
      # * Berechne den Preis eines Items unter Beruecksichtigung der Marktlage
      #--------------------------------------------------------------------------
      def price(item)
        return item.orginal_price unless @item_to_value.has_key?(item.id)
        value = item.orginal_price * (@item_to_value[item.id] / 100.0)
        return (value < 1) ? 1 : value
      end


Quoted

Wo im Skript stelle ich den Sättigungswert ein (also die Menge ab der, der Preis beginnt zu fallen)?

Das ist der Edit an der Scene_Shop, aktuell sinkt der Kaufpreis für jede verkaufte Einheit um 1% und steigt um 1% für jede gekaufte. Du könntest da noch einen Multiplikator an @number_window.number dranhängen, das er nur um 0.5% steigt oder fällt.

Quoted

Ah nochwas, ursprünglich war ja noch die Idee im Raum das sich der Wert von alleine erholt.
Jetzt gibt es doch im Spiel die Uhr die, die gespielte Zeit ausgibt, kann man diese Uhr irgendwie ansteuern?
Also das man sagt alle X Spielminuten erholt sich der Wert?

Ja, da kommt man dran. Allerdings fielen mir jetzt nur Lösungen ein, wo sich jede xte Spielminute der Preis erholt, also wenn Du kurz vor Minute X einkaufst, erholt sich der Wert direkt wieder um n Prozent, während Du wenn Du kurz nach Minute X einkaufst, etwas warten musst.

Kardor

Knappe

  • "Kardor" started this thread

Motto: RTP? - Frontview KS? ich finds gut ^^

  • Send private message

11

Monday, September 15th 2014, 9:35pm

Ahh danke für die Erläuterung.
Hmm wäre es arg kompliziert es einzurichten das sich pro 15 min Spielzeit 12,5% des Wertes (bis max. 100%) erholen?
In Entwicklung: Conjurer - Shadows of the Past
Vorstellung Conjurer
Meinungen und konstruktive Kritik sind immer erwünscht.

Wer bin ich? Und wenn ja wie viele?

Ich kann nicht viel zum Dank anbieten, ausser meiner ehrlichen Meinung
und meiner Zeit zB. als Tester.

Playm

RPG Studio Webmaster

  • Send private message

12

Tuesday, September 16th 2014, 11:36pm

Hab mich eben drangesetzt. Wenn ich nichts übersehen habe, sollte das so funktionieren.
Spoiler

Ruby Source code

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
#==============================================================================
#  Marktsystem für Kardor Erweiterung
#------------------------------------------------------------------------------
# Der Marktpreis der Items regeneriert sich kontinuierlich, so dass im Schnitt
# in 15 Minuten 12.5% wiederhergestellt werden.
#------------------------------------------------------------------------------
# Autor:  Playm
# Datum:  September 2014
# Maker:  XP
# Lizenz: (CC BY-NC-SA 3.0)
#==============================================================================
#
#==============================================================================
# ** Game_System
#==============================================================================
class Game_System
  #--------------------------------------------------------------------------
  # * Alias
  #--------------------------------------------------------------------------
  alias_method(:org_update_wo_market_value, :update)
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    org_update_wo_market_value
    update_market
  end
  #--------------------------------------------------------------------------
  # * Lass den Markt sich jede volle Minute regenerieren
  #--------------------------------------------------------------------------
  def update_market
    total_sec = Graphics.frame_count / Graphics.frame_rate
    if (total_sec % 60).zero?
      @market_value.recover_all(12.5 / 15)
    end
  end
end
#==============================================================================
# ** Game_Market_value
#==============================================================================
class Game_Market_value
  #--------------------------------------------------------------------------
  # * Regeneriert den Prozentwert aller Items
  #--------------------------------------------------------------------------
  def recover_all( value )
    @item_to_value.keys.each do |item_id|
      recover(item_id, value)
    end
  end
  #--------------------------------------------------------------------------
  # * Regeneriert den Prozentwert eines Items um +value+ richtung 100%
  #--------------------------------------------------------------------------
  def recover(item_id, value)
    return if @item_to_value[item_id] == 100
 
    if @item_to_value[item_id] > 100
      @item_to_value[item_id] -= value
      @item_to_value[item_id] = 100 if @item_to_value[item_id] < 100
    else
      @item_to_value[item_id] += value
      @item_to_value[item_id] = 100 if @item_to_value[item_id] > 100
    end
  end
end
highlight to read
Zu beachten ist, das sich nun aber auch die am Start gesetzen Werte kontinuierlich erholen. Aber dafür kann man ja - wenn es stortytechnisch nötig ist - wie im Hauptskript erwähnt nachregulieren.

Kardor

Knappe

  • "Kardor" started this thread

Motto: RTP? - Frontview KS? ich finds gut ^^

  • Send private message

13

Wednesday, September 17th 2014, 9:00am

Coole Sache Playm, vielen Dank.

Hintergrund der "Regeneration" des Preises ist das der Spieler nicht der einzige ist der quasi einkauft.
Der andere ist die Punkte an denen man diese "handelswaren" bekommen kann sind endlich, spricht es gibt auf einer Map
nur soundso viele die sich ncht regenerieren.
Und da man mit den Handelwaren auch bessere Waffen und Heilgegenstände herstellen kann,
als jene die man normal kaufen kann muss man sich halt überlegen ob man das hamstern möchte
(das Zeug kann man überall verkaufen aber nicht einkaufen ^^) oder ob man das weiterverarbeitet (was natürlich Geld kostet) ^^
In Entwicklung: Conjurer - Shadows of the Past
Vorstellung Conjurer
Meinungen und konstruktive Kritik sind immer erwünscht.

Wer bin ich? Und wenn ja wie viele?

Ich kann nicht viel zum Dank anbieten, ausser meiner ehrlichen Meinung
und meiner Zeit zB. als Tester.

Playm

RPG Studio Webmaster

  • Send private message

14

Wednesday, September 17th 2014, 4:44pm

Brauchst Du sonst noch etwas? :)
Weil das Thema noch als unerledigt da steht. Oder kamst Du nur noch nicht dazu, die Erweiterung zu testen?

Kardor

Knappe

  • "Kardor" started this thread

Motto: RTP? - Frontview KS? ich finds gut ^^

  • Send private message

15

Wednesday, September 17th 2014, 8:38pm

Ist noch ungetestet.

Test läuft.
Erste Erweiterung funktioniert mindest Einkaufswert beträgt 1 Verkaufswert bleibt 0.
Also der Preis erholt sich, allerdings erst nach 25min und dann komplett.
In Entwicklung: Conjurer - Shadows of the Past
Vorstellung Conjurer
Meinungen und konstruktive Kritik sind immer erwünscht.

Wer bin ich? Und wenn ja wie viele?

Ich kann nicht viel zum Dank anbieten, ausser meiner ehrlichen Meinung
und meiner Zeit zB. als Tester.

This post has been edited 1 times, last edit by "Kardor" (Sep 17th 2014, 9:35pm)


Playm

RPG Studio Webmaster

  • Send private message

16

Wednesday, September 17th 2014, 8:51pm

Naja, hat man nochmal einen Grund das Projekt 'ne Viertelstunde zu testen. ;D

Kardor

Knappe

  • "Kardor" started this thread

Motto: RTP? - Frontview KS? ich finds gut ^^

  • Send private message

17

Wednesday, September 17th 2014, 9:37pm

lso Preis erholt sich zwar allerdings erst nach 25min und dann ist der ursprüngliche (initiale) Verkaufswert wieder aktiv.
In Entwicklung: Conjurer - Shadows of the Past
Vorstellung Conjurer
Meinungen und konstruktive Kritik sind immer erwünscht.

Wer bin ich? Und wenn ja wie viele?

Ich kann nicht viel zum Dank anbieten, ausser meiner ehrlichen Meinung
und meiner Zeit zB. als Tester.

Playm

RPG Studio Webmaster

  • Send private message

18

Wednesday, September 17th 2014, 10:35pm

Hm, bist Du sicher? Das es 25 Minuten dauert ist unerwartet, das schau ich mir nochmal an.
Oh. Die Regernation erfolgt nicht, wenn das Spiel pausiert ist (zum Beispiel im Menü). Könnte es daran liegen, dass Du bei deinem Testlauf im Menü warst?

Kardor

Knappe

  • "Kardor" started this thread

Motto: RTP? - Frontview KS? ich finds gut ^^

  • Send private message

19

Thursday, September 18th 2014, 8:01pm

Ja das könnte es gewesen sein, ich hab nebenher was anderes gemacht und hatte das Menu offen damit ich sehe wann es soweit ist.
Zurück zum Testen ^^
____________________________________
Also es bleibt dabei, nach ca 12 min hat sich der Preis vollständig erholt.
Man startet im Shop und wenn man die Kiste anspricht gibts 99 erz.
Kardor has attached the following file:
In Entwicklung: Conjurer - Shadows of the Past
Vorstellung Conjurer
Meinungen und konstruktive Kritik sind immer erwünscht.

Wer bin ich? Und wenn ja wie viele?

Ich kann nicht viel zum Dank anbieten, ausser meiner ehrlichen Meinung
und meiner Zeit zB. als Tester.

This post has been edited 1 times, last edit by "Kardor" (Sep 18th 2014, 8:01pm)


Playm

RPG Studio Webmaster

  • Send private message

20

Friday, September 19th 2014, 2:18am

Ah, ja ich sehe das Problem - tut mir leid.

Ruby Source code

32
33
34
35
36
37
38
39
40
  #--------------------------------------------------------------------------
  # * Lass den Markt sich jede volle Minute regenerieren
  #--------------------------------------------------------------------------
  def update_market
    total_sec = Graphics.frame_count / Graphics.frame_rate
    if (total_sec % 60).zero?
      @market_value.recover_all(12.5 / 15)
    end
  end
Das Problem ist, wie total_sec bestimmt wird. Diese Rechnung ist auf dem Window_PlayTime übernommen und stellt so richtig die Sekunden dar - allerdings wird dieser Wert auch eine volle Sekunde gehalten, bzw. die vollen n Frames, die eine Sekunde hat. Aus diesem Grund wird jede Minute innerhalb dieser einen Sekunde (bei 40 FPS) vierzig mal der Itemwert recovert, was so natürlich nicht geplant ist.
Die Lösung ist simpel - statt wie für das Window_PlayTime eine Ganzzahldivision durchzuführen, rechnen wir mit Kommazahlen und total_sec sollte in den Zwischenframes nur einmal glatt sein. Ich hoffe das war verständlich - es ist schon spät, aber ich wollte dir erklären, was das Problem war. ^^"

Die Lösung ist bei der Division ein .to_f anzuhängen:

Ruby Source code

32
    total_sec = Graphics.frame_count / Graphics.frame_rate.to_f


Probier das mal aus. Achja und wenn dir für das Testen die Warterei zu lang ist, kannst Du ja die Werte in dieser Methode anpassen, also zum Beispiel nicht alle 60 Sekunden, sondern alle 5 Sekunden ein Recover durchführen.

Similar threads

Social bookmarks