Neuer Handelbug?

03/18/2015 18:11 xhetorex#46
A
03/18/2015 18:20 xZerath#47
Wie wäre es mit einem releas nachdem der morgen gefixt wird :D?
03/18/2015 18:29 xToshi#48
a handelt b an
c killt a
a nimmt handel an
a back city
a handelt c an
(Dreierhandel)
a legt etwas rein
a und c schloss zu
a nimmt an und b schließt handel
a tauscht das item mit einem chara gebunden item
c nimmt an.

weiter komm ich nicht.

Mit rezz items klappts nicht und mit Rezz buff auch nicht, kommt immer Handel abgebrochen am Ende..
03/18/2015 18:36 D0n!#49
Quote:
Originally Posted by DuOtto View Post
Schön erklärt, aber die Zahlen können nicht so ganz passen. Die Frage ist natürlich immer, ob man Engines, Librarys, Leerzeilen, Header/Footer usw. mitrechnet, aber selbst mit allem wird Fiesta niemals auf 40 Millionen Zeilen kommen.

Mal so zum Vergleich: Der Linux-Kernel hat derzeit etwa 15 Millionen Zeilen Code und selbst Windows 7 kommt "nur" auf knapp 40 Millionen Zeilen.
Bei WoW sollen es angeblich 5,5 Millionen sein. Bei Fiesta wird die Zahl also mit Sicherheit unter 5 Millionen liegen.

Für alle Interessierten: [Only registered and activated users can see links. Click Here To Register...] noch ein paar Zahlen.
Ich berichtige mich dann mal auf 1-4 Mio Zeilen Code, ich hatte da etwas Falsches in erinnerung :D
Ryzom z.B. hat ca 2 Mio Zeilen Sourcecode und insgesamt glaube ich weitaus weniger Funktionen als Fiesta, kann aber natürlich auch ein Irrtum sein.
Natürlich rechne ich den gesamten Code der Dienste sowie auch des Clients wobei der Client mindestens die Hälfte des Codes ausmachen sollte.

Ausserdem ist die Anzahl an Zeilen die ein Quelltext besitzt ohnehin nicht aussagekräftig für die Komplexität eines Programms denn vieles was man auf mehrer Zeilen aufteilt aus Gründen der Lesbarkeit
könnte man auch in einer Zeile unterbringen.

Ausserdem @DuOtto ist es nicht ganz richtig das wir nichts wissen von dem Code,
was ich dort beschrieben habe wird/wurde teils tatsächlich so gehandhabt und kann
man teilweise mit OllyDB nachvollziehen.
Ein sehr gutes Beispiel dafür ist z.B. das unlimitierte verkaufen einer Waffe im Charakter Shop,
hier wurde dem Server übermittelt welches Item gehandelt wird und wohin es soll jedoch wurde
in damaligen Zeiten vom Server nicht mit der DB abgeglichen ob das Item auch tatsächlich auf
dem Charakter liegt welcher es verkaufen will. Es wurde lediglich überprüft ob das Item mit
genau dieser ID vorhanden ist und dann der neue Besitzer eingetragen.
Kannst du in nahezu allen releasten PServer Datenbanken nachschauen, das bei bestimmten
Prozeduren welche für den handel zuständig sind zwar die Variable @nOwnerTo gefüttert wird aber
z.B. ein gegenstück (vergleichsvariable) like @nOwnerFrom zur Überprüfung fehlt da ohnehin dieser Wert
nicht vom Dienst übergeben würde denn auch hier gibt es diesen vergleichswert nicht.
Wäre dem so, wären eine ganze reihe von Bugs schonmal grundlegend nicht mehr möglich gewesen in dem
man ganz einfach einen Check wie diesen gemacht hätte (Pseudocode):
-----------------------------------------------------------------------------------------------------
Setze @nOwnerFrom = Aktueller Besitzer der vom Client/Server übergeben wird
Setze @nOwnerCheck = Aktueller Besitzer der in der DB eingetragen ist
Setze @nOwnerTo = Charakter an den ein Item übertragen werden soll

IF !EXISTS ITEM
RETURN GIBBET NICH!

IF @nOwnerFrom != @nOwnerCheck
RETURN Datt Item gehört nicht dir!
ELSE
SETZE Aktuellen Besitzer = @nOwnerTo
-----------------------------------------------------------------------------------------------------
und so weiter und so fort

Bei anderen Funktionen wiederum existiert diese Vergleichsvariable übrigens.

Naja weiterhin viel Spaß beim Bugs suchen und ausnutzen, das Spiel ist ja nun eh tot,
nicht zuletzt weil so viel gebuggt wurde und immernoch wird.:D
03/18/2015 18:56 Fersion#50
Es wird kein release geben weil er nich ganz gefixt wird denkt mal nach einfach GK gilde machen und schon gehts wieder das bringt den also eigentlich nix mann kann es selbst machen wenn mobs ein töten wird nur nich so isi mit den spawnpunkten ^^
03/18/2015 19:33 D0n!#51
Gamigo ist halt wie jeder andere PServer auch :D
Statt tatsächlich die Probleme im Quelltext zu beheben, entfernen wir einfach alles womit man diese Bugs nutzen kann :D
Zwischen Gamigo und den PServern gibt es nurnoch 2 unterschiede:
1. Gamigo macht ein schweine Moos mit den Leuten die schon 2 Kleinwagen investiert haben und deshalb nicht aufhören.
2. Gamigo (bzw. eher OnsOnSoft) besitzt den Quelltext und ist dadurch in der Lage die Bugs im Keim zu ersticken.
03/18/2015 20:05 DuOtto#52


Hatte mich nur etwas gewundert, 40 Mio. Zeilen für Fiesta...uh là là :D
Obwohl den Großteil ja der Client ausmacht. Wenn du den Server emulierst, wirst du nichtmal Ansatzweise auch nur eine Million Zeilen brauchen, weill z.B. Datenbank-Veränderungen fast alle über die Prozeduren gemacht werden.


Das stimmt, theoretisch könnte ich ein Programm schreiben, diverse Backspaces löschen und alles in eine Zeile klatschen. Über die Lesbarkeit davon müssen wir gar nicht erst reden, deshalb macht man ja neue Zeilen.
Trotzdem lässt sich über die Zeilen-Anzahl schon eine Angabe über den Umfang machen, denn man kann zwar unterschiedlich viel in eine Zeile schreiben, aber jeder, der auch nur ansatzweise Ahnung hat, macht nach bestimmten Dingen meistens eine neue Zeile (Header/Footer-Klammern, einzelnen Anweisungen, Schleifen, Abfragen, ...)

Ja, man kann sich auch mit Olly rumquälen, aber ob sich das lohnt, um ein paar Bugs zu finden, ist auch fraglich. Außerdem sagst du es ja schon, Fiesta ist nur noch voll von Leuten, die gierig nach scheiß Bugs sind. Gamigos erbärmliche Abzock-Politik fördert das ganze dann noch.
03/21/2015 12:39 MinakuixD#53
Wie siehts aus xD
Hat jemand schon n Plan / ne neue Idee / es rausgefunden, wie man Items switcht :O ?
03/21/2015 20:26 Supirian#54
Das dürfte jetzt noch schwieriger geworden sein. Eine Methode, mit der ich die Items im Inventar immer verbuggte, funktioniert nicht mehr. Scheinbar haben sie bei den Items noch einiges anderes umgestellt.