Verndorenpreise

Rund um das Scripten unter Sphere 55i

Moderator: Mods - Sphere

Nachricht
Autor
nazghul

#16 Beitrag von nazghul » 24 Apr 2007 13:55

genau dafür ist das TAG.vendormarkup doch da. Mal ein Beispiel:

In Deiner Allworld Area stellt Du über die Region Definition ein TAG.VENDORMARKUP=20. Das ist recht moderat. In der Region einer Stadt in der Welt legst Du TAG.VENDORMARKUP=30 fest. Und bei einem Vendor, der als Hehler fungieren soll, steht TAG.VENDORMARKUP=90

Wenn Du nun ein Item vom VALUE=100 hast, dann wird überall ein Vendor Dir dafür 80 bezahlen, und es für 120 verkaufen. Ausgenommen in der Stadt - da bezahlt er Dir nur 70, verlangt aber 130. Der Hehler hingegen will sogar 190 haben, ist aber nur bereit, Dir 10 zu bezahlen

Wie Du es auch drehst und wendest, Du findest keinen Weg, ein Item teurer an den NPC X zu verkaufen als Du es bei NPC Y erworben hast (es sei denn, Du alberst mit Vendormarkups > 100 rum - aber wen sein Auto mit Nitroglyzerin betankt sollte sich über laute Fehlzündungen auch nicht wundern)

Sirius
Administrator
Beiträge: 713
Registriert: 07 Feb 2004 17:17
Kontaktdaten:

#17 Beitrag von Sirius » 24 Apr 2007 13:58

Neinein, du hast das nicht richtig gelesen.

Also angenommen du hast einen value Wert von 100 und das Vendormarkup steht auf 4.

Dann berechnet Sphere die An- und Verkaufspreise automatisch indem es folgende Formal verwendet:

Verkaufspreis = 100 * (1,15 + 0,04) = 119
Ankaufspreis = 100 * (0,85 - 0,04) = 81

[edit4]Beispiele wieder rausgenommen, waren doch zu verwirrend. Hoffe du weisst wie man Prozent berechnet und dass das da oben alles nur Prozente sind (0,04 = 4% .. also der Wert von vendormarkup in prozent)
[/edit]

1,15 = die Standardmäßigen 15% aufschlag und 0,85 die Verminderung um 15% ... also was die diese Standardzahl 15 angeht vertrau ich mal drauf dass das stimmt was Daskaras gesagt hat, ich selbst weiss den genauen Wert nicht.

Also mit Value wird der Ankaufspreis UND der Verkaufspreis berechnet. Sonst ergäbe das was ich oben geschrieben habe ja gar keinen Sinn.

Edit: Kreuzpost mit nazghul

Edit2: P.S.: nazghul, ist es in den neuen sphereversionen immernoch so, dass Sphere standardmäßig immer automatisch diese 15% (oder wieviela uch immer) dazu zählt? Egal was noch zusätzlich in dem vendormarkup steht?

Edit3: Ergebnisse vergessen und Zahl korrigiert
Zuletzt geändert von Sirius am 24 Apr 2007 14:14, insgesamt 3-mal geändert.
-
--> No Signature <--
---

nazghul

#18 Beitrag von nazghul » 24 Apr 2007 14:10

gute Frage. Weiss ich im Moment nicht, kann ich aber mal nachsehen.

Sinnvoll wäre ja ein Default von 15 (wenn kein Markup gesetzt ist), aber den dann bitte "vergessen", _wenn_ einer gesetzt wird.

Schau ich mal an und mach es ggf. konfigurierbar. Wollte da eh beigehen, weil ich ein paar "Hooks" brauche, damit mein gescriptetes Angebots-und-Nachfrage-orientiertes Preissystem endlich tut :)

--edit:

Für .55i wird das allerdings nix ändern :)

Sariel

#19 Beitrag von Sariel » 25 Apr 2007 00:22

Nein das Problem ist folgendermassen.
Wir wollen die Schriftrollen teurer machen beim NPC (um eben die Playerwaren interesanter zu machen)
Das heist sagen wir mal die Schriftrolle a: imn Zirkel 8 soll beim NPC 7000 Goldstuecke kosten.
Es ist egal was ich einstelle nicht moeglich auf den Preis soweit runter zugehen das der Vendor diese Schriftroll fuer allerhoechst 500 ankauft.
Wenn dann kommen ich immer ncoh auf einen Wert der weit ueber 1000 liegt und das ist zuviel.
Sonst wuerde sich der Alchie unglaublich reich an den Rollen machen, ich suche eben eine moeglichkeit den Wert soweit zu senken das ich wie gesagt von z.b. 7000 Verkauf auf ca 500 Ankauf komme.

Sariel

nazghul

#20 Beitrag von nazghul » 25 Apr 2007 01:15

Beispiel: Scroll-Value 5000 gold

Code: Alles auswählen

tag.vendormarkup | Ankauf | Verkauf
-----------------------------------
10                   3.750    6.250
20                   3.250    6.750
50                   1.750    8.250
70                     750    9.250
-----------------------------------
ab jetzt Überlauf positiv -> negativ!
90                  65.286   10.250
                   ( = -250)
95                  65.036   10.500
                   ( = -500)
TAG.VENDORMARKUP = 70 bei einem VALUE von 5000 kommt Deinen Vorstellungen wohl recht nahe.

Wie manb übrigens leicht nachrechnen kann werden immer noch die 15 Prozent mit eingerechnet :( Die EIn- und Verkaufspreise berechnen sich demnach wie folgt:

Vendor kauft an zu VALUE - (VALUE * (15 + MARKUP) / 100)
Vendor verkauft zu VALUE + (VALUE * (15 + MARKUP) / 100)

Woraus auch folgt, dass TAG.VENDORMARKUP nicht höher sein darf als 85, sonst rutscht der Ankaufspreis ins Negative (was, da Sphere die Zahl vorzeichenlos speichert, dann einen Überlauf ergibt)

Nun _könnte_ man natürlich zwei Gleichungen mit Deinen idealzahlen aufstellen:

(1 - ((15 + X) / 100))*V = 500
(1 + ((15 + X) / 100))*V = 7000

(mit X = TAG.VENDORMARKUP, V = VALUE) und mit ein klein wenig Grundschul-Arithmetik das Gleichungssystem aus 2 Gleichungen mit 2 Unbekannten auflösen - aber ich schätze, das bekommst Du selber hin :->

Sariel

#21 Beitrag von Sariel » 25 Apr 2007 03:04

Ok mist da hab ich doch was uebersehen :-(

Alles klar das werde ich gleich mal machen wird dann wohl funtzen, dann danke ich mal fuer den stups in die richtige Richtung.

Stordyr

#22 Beitrag von Stordyr » 25 Apr 2007 08:55

Danke Naz! *hebt das auf für den Teil der Doku der nach Kampf kommen wird*

Xorea
Bronze Mitglied
Beiträge: 220
Registriert: 21 Jan 2004 10:24
Wohnort: Berlin
Kontaktdaten:

#23 Beitrag von Xorea » 25 Apr 2007 12:17

bei schwierigkeiten bei value glaub ich das auch der value der rohstoffe mit einberechnet wird, wenn man das von oben nicht so komplex gestalten will

Xori

Stordyr

#24 Beitrag von Stordyr » 25 Apr 2007 12:25

bis in die unterste Instanz?
angenommen:

item x besteht aus:
1 eisenbarren
2 leimpötten
3 holzlatten
1 ausgestopften kopf eines kobolds
2 Seilen
4 holzrädern

und die Leimötte und der koboldkopf und auch die holzräder oder gern auch die seile haben jeweils auch nochmal resourcelisten und natürlich auch die eisenbänder, die man die holzräder braucht :)
wie weit rechnet sphere an der stelle?

nazghul

#25 Beitrag von nazghul » 25 Apr 2007 13:05

Du hast da schön beschrieben, warum Items in Resourcelisten definiert sein müssen, bevor sie in der Resourcelist auftauchen :)

Sphere berechnet den VALUE (wenn keiner angegeben ist) nur aus den direkt beteiligten Resourcen. Was aber nicht heisst, dass deren Value nicht ebenfalls aus an ihnen beteiligten Resourcen errechnet wird. Usw, usf.

Ich weiss allerdings im Moment nicht genau was passiert, wenn bei z.B. einem Item der Resourcelist ums Verrecken kein Value feststellbar ist, ob dann das daraus hergestellte Item auch "value-frei" bleibt, oder ob die values seiner restlichen Resourcen ausreichen

Sirius
Administrator
Beiträge: 713
Registriert: 07 Feb 2004 17:17
Kontaktdaten:

#26 Beitrag von Sirius » 25 Apr 2007 19:47

Hm, angenommen ein Item bekommt ein value direkt zugewiesen, hat das dann vorrang vor dem aus den Ressourcen des Items berechnetem value-wert oder wird zu dem value des items der aus den Ressourcen errechnete Wert hinzugefügt?
-
--> No Signature <--
---

Daskaras
Moderator (Sphere)
Beiträge: 857
Registriert: 13 Jan 2004 14:43

#27 Beitrag von Daskaras » 25 Apr 2007 20:30

warum wurde es eigentlich rausgenommen, dass man in den templates alles nochmal extra deklarieren konnte mit value?
ich fand das eine rech gute lösung und verstehen tue ich es nicht, wieso es weg ist

nazghul

#28 Beitrag von nazghul » 25 Apr 2007 20:59

@Sirius: Hat Vorrang
@Daskaras: k.A., aber ich kenne das auch nicht.

Der VALUE ist eine Eigenschaft der ITEMDEF, nicht des ITEM. Ergo kann ein Item keinen eigenen Value haben, es "erbt" den VALUE als private Property von der von der Difinitions-Klasse. Warum? *Schulterzuck* - Speicher sparen? (ja, klingt lächerlich. Zuerst. Bei 100 k Items nicht mehr. Historisch gesehen wenigstens - dass alle Server mit diversen GB RAM protzen gibt es noch nicht so lange :) :) )

Irgendwann war mal ein TAG.OVERRIDE.VALUE im Gespräch, AFAIR, ist wohl aber sanft entschlafen. Vielleicht sollte man es mal einfügen.

Sariel

#29 Beitrag von Sariel » 26 Apr 2007 02:06

Ok das haut nun auhc nicht so hin wie ich es mir gedacht hab.

Also habs erst nicht gemerkt 8o aber dann ist es mir aufgefallen (blitzmerker ich weis :( ) wenn ich nun das ueber den Vendormarup regel hab ich das Prob das der Presunterschied also den den ich da einstelle sich auf alle Vorndoren in dem Breich ausrirken.
Das waehre ehrlich gesagt schlecht sehr schlecht sogar weil es 0 zu dem Rest der Preise passen wuerde.

Das heist es darueber zu Regeln waehre ehr uebel.
Gibt es die moeglichkeit das ueber den Vendorscript das tzu Regeln?

Oder gibts da keine moeglichkeit mehr?

Sariel

Xorea
Bronze Mitglied
Beiträge: 220
Registriert: 21 Jan 2004 10:24
Wohnort: Berlin
Kontaktdaten:

#30 Beitrag von Xorea » 26 Apr 2007 10:45

Du könntest einen Vendor scripten wo bei Ansprache ein Gump aufgeht und alle Items in ein "Verkaufsmenü" anzeigt.

Soweit ich weiß müsste das auch mit Zahlenangabe (für amount) funzen als Übergabe.

Aaaaaber sehr sehr viel Aufwand, da du jeden Bereichsvendor einzeln scripten musst.

Vorteil, schickere Gumps, fixe oder variable Preise (Tageszeit, Region usw)

Frage ist nur ob es sich für dich lohnt ;)

Du könntest theorethisch auch... von einem NPC das Bankfach auslesen lassen (weiß momentan nich ob die überhaupt eines haben ^^) und ein Gump variabel scripten als mit fixen Angaben. In dem Bankfach packst du dann alle Items rein die er jeweilige Vendor verkaufen soll und du liest die über Layer21 aus und gibst die dann im Gump an... nur ne Idee, kein Plan ob das geht :P

Xori

Antworten