Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Fiesta Online
You last visited: Today at 20:20

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Itemstats aus der Datenbank lesen

Discussion on Itemstats aus der Datenbank lesen within the Fiesta Online forum part of the MMORPGs category.

Reply
 
Old   #1
 
BennySama's Avatar
 
elite*gold: 143
Join Date: Nov 2009
Posts: 153
Received Thanks: 66
Itemstats aus der Datenbank lesen

Hallo, kurz und bündig nachgefragt würde ich gerne wissen, wie ich die Stats von Items aus der Datenbank lesen kann. Ich habe zwar als Anhaltspunkt die tItemOptions aus der Charakter-Datenbank, jedoch werde ich nicht schlau draus, da ich nur die Hälfte der Stats in der Datenbank finde. Hat das mit vorgegebenen Stats zu tun? Siehe beide Bilder. Vielleicht kann mir da jemand etwas weiterhelfen. (Das erste nItemKey ist das Minihaus)




BennySama is offline  
Old 06/03/2015, 06:44   #2
 
elite*gold: 0
Join Date: Sep 2013
Posts: 562
Received Thanks: 361
Lightbulb Erklärung Statpunkte auf Waffen ändern oder neue hinzufügen oder auch nur auslesen.

Vorgegeben Stats werden nicht in der DB Gespeichert sondern direkt aus dem Server (SHN's) gelesen.
die anderen Stats kannst du ja anhand deines beispiels erkennen
  • STR = 509
  • END = 505
  • DEX = 507 (fester wert aus SHN + additional Stats, hier 19)
  • INT = 511
  • SPR = 513

Um das ganze vielleicht noch etwas verständlicher zu machen, gezählt wird immer ab 0 z.B.:
  • - STR ist der erste (0te) Stat und bei 509 abgelegt, 508 enthält dabei 0
  • - END ist der zweite (1te) Stat und bei 505 abgelegt, 504 enthält dabei 1
  • - DEX ist zwar der dritte (2te) Stat und bei 507 abgelegt, 506 enthält dabei 2
    (da fester Stat steht hier ein additional Stat)
  • - INT ist demnach der vierte (3te) Stat und bei 511 abgelegt, 510 enthält dabei 3
  • - SPR ist letztendlich der fünfte (4te) Stat und bei 513 abgelegt, 512 enthält dabei 4

Die additional Stats werden Clientseitig leider nicht angezeigt und vermutlich auch nicht einmal verarbeitet.
Diese Vermutung würde zumindest die bei der damaligen Einführung der additional stats getroffene,
aber nicht ganz fehlerfreie Aussage seitens Gamigo bestätigen, das diese Stats ja ansich schon immer da waren,
nur nicht im Client angezeigt wurden.

Das Prinzip dahinter ist also folgendermaßen:
Stats sind von nOptionType 504 bis 513 gespeichert, das macht insgesamt 10 Datensätze durch 5 verschiedene Stats = 2 Datensätze
pro Stat (in nOptionData versteht sich) die angeben, welche Art von Stat es ist (STR, END, DEX, INT, SPR) und wieviele StatPunkte
dem Stat zugeordnet sind.

Die Zuweisung sieht dann folgendermaßen aus:
StatType Liste
  • 0 = STR
  • 1 = END
  • 2 = DEX
  • 3 = INT
  • 4 = SPR

Das bedeutet auf gut deutsch,
wenn unter nOptionType 506 bei nOptionData 4 und unter nOptionType 507 bei nOptionData 77 steht, dann hat das Item SPR 77
es sei denn es handelt sich bei dem Item um ein Item das SPR fest zugewiesen bekommen hat, in dem fall wäre die 77 ein additional
Stat.

Es ist nicht festgelegt unter welchem nOptionType ein jeweiliger Stat abgelegt wird, nur das dieser innerhalb von 504 und
513 abgelegt werden muss.

So zum auslesen oder ändern Spezifischer Werte würde diese Info ja schon reichen, aber bestimmt willst du
und andere bestimmt auch nun wissen, wie man einen weiteren "neuen" Stat hinzufügt.

Dazu benötigt man nun nOptionType 503.
Der dort eingetragene Wert gibt an wieviele Stats die Waffe überhaupt hat und berechnet sich aus
der Summe der Stat Datensätze + 1 (nOptionType 503).
Bedenke, das jedem Stat 2 Datensätze zugewiesen sind.

Demnach muss bei nOptionType 503 unter nOptionData folgendes stehen:
nOptionType 503 Liste
  • 1 Stat = 3
  • 2 Stats = 5
  • 3 Stats = 7
  • 4 Stats = 9
  • 5 Stats = 11

Wenn also nun 2 Stats auf dem Item bereits vorhanden sind, dann stehen in der DB
folgende Rows für Stats bei dem Item zur Verfügung:
  • nOptionType 503 mit nOptionData = 5
  • nOptionType 504 mit Bezeichnung für den ersten Typ (remember StatType Liste)
  • nOptionType 505 mit dem Wert der Statpunkte für den ersten Stat
  • nOptionType 506 mit Bezeichnung für den zweiten Typ (remember StatType Liste)
  • nOptionType 507 mit dem Wert der Statpunkte für den zweiten Stat

Für Jeden neuen/weiteren Stat muss man nun also diese Liste fortführen, also eine neue Row anlegen
und dort dann nItemKey des Items eintragen, und weitermachen mit:
nOptionType = 508, nOptionData = siehe StatType Liste (darauf achten das kein doppelter Stattyp existiert)
nOptionType = 509. nOptionData = Statpunkte die dieser StatType haben soll

Dann noch nOptionData bei nOptionType 503 anpassen (siehe nOptionType 503 Liste)
und die neuen Stats werden übernommen. Merke, der Charakter mit dem Item muss natürlich einmal reloggen/in die Charwahl.

Denke müsste nun alles darüber gesagt sein,
falls ich aber doch noch was vergessen habe oder noch Fragen sind dann bin ich nicht da.

Edit: Das wichtigste habe ich ja jetzt fast vergessen
@Nnybe, wenn du alle Stats der Items auslesen willst, dann kommst du nicht drum herum dir aus allen Shn's
die Statdaten zu exportieren und diese in die DB zu laden, es sei denn es gibt eine möglichkeit per PHP oder
anderweitig die SHN's auszulesen.
Möglich wäre es mit Sicherheit sich selber etwas zu coden aber weitaus aufwändiger als die Daten in die Datenbank zu bringen.
D0n! is offline  
Thanks
4 Users
Old 06/03/2015, 10:59   #3
 
BennySama's Avatar
 
elite*gold: 143
Join Date: Nov 2009
Posts: 153
Received Thanks: 66
Mist, das habe ich mir fast schon gedacht Schlimm schlimm, wie OnsOn das gerichtet hat. Dabei wäre es doch einfacher gewesen, den Grundwert des Stats mit in die Datenbank zu schreiben statt den Wert extern aus der SHN erst einzubeziehen

edit/ In welcher SHN befinden sich die festen Stats?
BennySama is offline  
Old 06/03/2015, 11:20   #4
 
elite*gold: 50
Join Date: Mar 2011
Posts: 445
Received Thanks: 52
GradeItemOption.shn
Juppi2000 is offline  
Thanks
1 User
Old 06/03/2015, 13:14   #5
 
elite*gold: 0
Join Date: Sep 2013
Posts: 562
Received Thanks: 361
Quote:
Originally Posted by Juppi2000 View Post
GradeItemOption.shn
Zum Beispiel.

Ich möchte auch noch anmerken das meine Erklärung jetzt Speziell für die genannte Waffe galt,
Für Schmuck und Rüstung verhält sich das prinzipiell genauso.
Der InitialWert (im obigen Beispiel nOptionType 503) hängt ausserdem davon ab, welche "Class"
das Item in der ItemInfo.shn besitzt, wäre hier für deine Waffe z.B. 9 eingetragen,
so würde die ganze Sache bei 9xx beginnen.

Woraus nun der ganze Initalwert errechnet wird, denn bei manchen Items beginnt die Statzuweisung
dann bei 400 bei anderen wiederum bei 403 z.b. kann ich gerade nicht genau sagen, vermutlich wird das
auch nochmal aus einer oder mehreren Spalten bestimmten Shn's errechnet/ausgelesen.

Da seid ihr nun gefragt das herauszufinden

Edit:
was ich noch sagen wollte
Quote:
Originally Posted by Nnybe View Post
Mist, das habe ich mir fast schon gedacht Schlimm schlimm, wie OnsOn das gerichtet hat. Dabei wäre es doch einfacher gewesen, den Grundwert des Stats mit in die Datenbank zu schreiben statt den Wert extern aus der SHN erst einzubeziehen

edit/ In welcher SHN befinden sich die festen Stats?
Aus Programmiertechnischer sicht ist es so wie es ist wohl richtig denn man bedenke den Fall,
das ein Item bei der Entwicklung falsche, feste Stats, bekommen hat.
Um diese zu berichtigen müsste man dann beim Kunden auf die DB zugreifen und die
Werte aller betroffenen Items der Spieler ändern, zusätzlich dann auch noch die betroffenen SHN's.
Das wäre Dopelter und zusätzlich risikoreicher aufwand, da bei einer SQL Abfrage ja doch mal
das eine oder andere schief gehen kann.

Wenn überhaupt, dann müsste man ganz auf Dateizugriffe (also die SHN's und TXT's etcpp.) verzichten
und alles über die DB laufen lassen.
D0n! is offline  
Thanks
1 User
Reply


Similar Threads Similar Threads
DayzCoord2Map DayZ Datenbank zu GPS GPS zu Datenbank Tool
02/05/2013 - DayZ - 14 Replies
Hallo, Hier zeig ich euch ein von mir programmiertes Tool mit dem könnt ihr: Die Daten aus der Datenbank aus DayZ-Private Servern in GPS Koordinaten umwandeln Sie auf Dayzdb.com anzeigen Die GPS Koordinaten in DatenBank-Informationen umwandeln Sie auf Dayzdb.com anzeigen
Freundesliste aus Datenbank lesen error
04/08/2012 - Metin2 Private Server - 0 Replies
Hallo liebe Com, da ich zurzeit meine eigene kleine hp für meinen NOCH Hamachi server programmiere bin ich nun an einen Punkt angelangt an dem ich nicht weiter komme und euch um hilfe bitte Mir gehts es jetzt um den $array7 =mysql_fetch Berreich weil der mit auf meiner HomePage folgende Fehlermeldung ausspuckt nach 2 tagen durchgoogeln bin ich es langsam leid und hoffe hier kann mir einer helfen ;) bitte!



All times are GMT +2. The time now is 20:20.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.