Waffenverschleiß

Hier kann alles rund um Freewar diskutiert werden.
Benutzeravatar
Valvanda
Zauberer der Bergwiesen
Beiträge: 485
Registriert: 30. Aug 2009, 10:26

Re: Waffenverschleiß

Beitrag von Valvanda » 29. Mai 2020, 17:12

Danke für deine Gnade. Die einzige Sprache die hier gesprochen wird, ist die Sprache der Verharmlosung.
Dann irren sich vermutlich alle Leute die es genauso empfinden und der Code ist der heilige Gral. Die Mutationen haben sich ja auch nicht verändert. Nvm. Danke für nichts. :)
Bild

Klaaara
Teidam
Beiträge: 143
Registriert: 20. Jul 2018, 16:19

Re: Waffenverschleiß

Beitrag von Klaaara » 29. Mai 2020, 17:23

Ich weiß ja nicht wie sich da PHP intern verhält, aber vielleicht kommt bei Rand(0, 1) seltener 1 raus als bei Rand(1, 4) die 1.
Zufallszahlen in Computern sind nicht zufällig, sondern hängen für gewöhnlich von einem festegelegten Seed ab.

Benutzeravatar
Maverick123
Zauberer der Bergwiesen
Beiträge: 624
Registriert: 27. Nov 2005, 13:46

Re: Waffenverschleiß

Beitrag von Maverick123 » 29. Mai 2020, 18:28

Inb4 irgendwo gibt es einen Bug, durch den der Waffenzustand vom falschen Spieler verändert wird xd
BildHerbstwind - Welt 13

Benutzeravatar
push -f
Zauberer der Bergwiesen
Beiträge: 429
Registriert: 19. Apr 2017, 11:43

Re: Waffenverschleiß

Beitrag von push -f » 29. Mai 2020, 20:25

Kommt mir bekannt vor
böbi hat geschrieben: 15. Dez 2019, 18:15 Das Gold wurde versehentlich von anderen Clankonten abgehoben. Das Gold wurde entsprechend wieder zurückverteilt.
Der Bug ist gefixt.
böbö viewtopic.php?f=7&t=59399

Projekt Chaos
Feuerwolf
Beiträge: 93
Registriert: 26. Nov 2013, 17:43

Re: Waffenverschleiß

Beitrag von Projekt Chaos » 29. Mai 2020, 23:44

Valvanda hat geschrieben: 29. Mai 2020, 16:58 Ich bin kein Programmierer - ich bin nur ein User, der merkt wenn sich was verändert.
Das mag ja alles sein, aber wenn dir eine Erklärung präsentiert wird einfach zu sagen "bin ich zu doof für, versteh ich nicht, wääh" statt sich damit zu beschäftigen und sich bemühen es zu verstehen... um eine einfache Zufallsfunktion zu verstehen muss man auch kein Programmierer sein

Valvanda hat geschrieben: 29. Mai 2020, 17:12 Dann irren sich vermutlich alle Leute die es genauso empfinden und der Code ist der heilige Gral.
Da hast du volkommen Recht! Ohne einen Audit ist es zwar schwierig zu überprüfen ob der Code wirklich das tut was er soll, aber ein Computer folgt nur seiner Logik und nicht irgendwelchem subjektiven, menschlischem Empfinden :)

Benutzeravatar
Valvanda
Zauberer der Bergwiesen
Beiträge: 485
Registriert: 30. Aug 2009, 10:26

Re: Waffenverschleiß

Beitrag von Valvanda » 30. Mai 2020, 00:09

@Deicide ich überlasse dir das letzte wort, weil dus offensichtlich nicht ertragen kannst, wenn andere menschen dir nicht recht geben.
hab dich lieb. :)
Bild

Benutzeravatar
Luko
Klauenbartrein
Beiträge: 1604
Registriert: 11. Jan 2006, 13:15

Re: Waffenverschleiß

Beitrag von Luko » 31. Mai 2020, 09:44

bwoebi hat geschrieben: 29. Mai 2020, 12:36 Das Vertin hatte tatsächlich einen Bug bis vorgestern.

Code: Alles auswählen

# Rev: 40c71059e916a9889e7a5a9f94faeeae563e3df6 @ fight.php:5397 (Anfang Januar)
$zustand -= rand(0, rand(0, 1)
Rein aus Interesse.
War so ein code früher state of the art? War ein 2-faches 0/1 evtl. effizienter oder so.... oder ist das ein klarer Fall von „omg was hab ich damals für nen code geschrieben“?

Übrigens: alt und neu sind in verschiedenen files, lustig wäre es ja, wenn der zustandsabzug 2*25% wäre :D
...

Klaaara
Teidam
Beiträge: 143
Registriert: 20. Jul 2018, 16:19

Re: Waffenverschleiß

Beitrag von Klaaara » 31. Mai 2020, 10:55

Luko hat geschrieben: 31. Mai 2020, 09:44
bwoebi hat geschrieben: 29. Mai 2020, 12:36 Das Vertin hatte tatsächlich einen Bug bis vorgestern.

Code: Alles auswählen

# Rev: 40c71059e916a9889e7a5a9f94faeeae563e3df6 @ fight.php:5397 (Anfang Januar)
$zustand -= rand(0, rand(0, 1)
Rein aus Interesse.
War so ein code früher state of the art? War ein 2-faches 0/1 evtl. effizienter oder so.... oder ist das ein klarer Fall von „omg was hab ich damals für nen code geschrieben“?

Übrigens: alt und neu sind in verschiedenen files, lustig wäre es ja, wenn der zustandsabzug 2*25% wäre :D
Das hat an der Stelle wohl den Grund, dass man eine if-clause vermeiden/weniger Zeilen Code schreiben wollte.
Wenn du hier Rand(0, 3) verwenden würdest, könntest du nicht mehr $Zustand -= verwenden.

Schnäuzelchen
Waldschlurch
Beiträge: 11
Registriert: 27. Jul 2010, 19:41

Re: Waffenverschleiß

Beitrag von Schnäuzelchen » 31. Mai 2020, 11:18

Interessehalber habe ich mal ein kleines Script geschrieben
SpoilerShow

Code: Alles auswählen

<?php

$run = 100000;

for ($i = 1; $i <= 2; $i++) {
   $countges = 0;

   for ($x = 0; $x < $run; $x++) {
      $count = 0;
      $zustand = 100;

      while ($zustand > 2) {
          if ($i == 1) {
             $zustand -= rand(0, rand(0, 1));
          } else {
             if (rand(1, 4) == 1) {
                --$zustand;
             }
          }
          $count += 1;
      }

      $countges += $count;
   }

   $avg = $countges / $run;

   if ($i == 1) {
       print "Avg alt: $avg\n";
   } else {
       print "Avg neu: $avg\n";
   }
}
?>
Beispiel-Ausgabe:
Avg alt: 392.00348
Avg neu: 392.16743

Und wenig überraschend ist das Ergebnis eindeutig. In beiden Fällen (alt und neu) geht die Waffe im Schnitt nach ca. 392 NPC kaputt. Das bedeutet aber nicht, das nicht ein anderes Problem vorliegen kann.

Nyrea
Administrator
Beiträge: 2266
Registriert: 19. Sep 2010, 13:09

Re: Waffenverschleiß

Beitrag von Nyrea » 31. Mai 2020, 13:17

@Luko: Der alte Code in Freewar ist an vielen Stellen so grausam. Man merkt auch ständig, dass schon verdammt viele verschiedene Leute an Freewar mitgearbeitet haben. Ist ja auch prinzipiell erstmal kein Problem, aber einige davon hatten offenbar nicht wirklich viel Ahnung von dem, was sie da tun und es scheint an generellen Regeln für den Code gefehlt zu haben.
Und ja, das ist jetzt in einer neuen Datei, weil die fight.php so groß wurde, dass man nicht mehr vernünftig damit arbeiten konnte. Wie du siehst, war das schon Zeile 5397 und noch lange nicht das Ende des Codes. Da ist auch (immer noch) viel Zeug drinnen, das da eigentlich nicht reingehört, wenn du mich fragst: fight.php?action=watchuser ...
Bob hat sich mal die Mühe gemacht und den Code in verschiedene Dateien aufgeteilt.
"Ich denke wir werden noch dieses Jahr A:500 Schwerter von unglaublicher Macht sehen." - Sotrax, 2007

Biggoron
Zauberer der Bergwiesen
Beiträge: 412
Registriert: 26. Mär 2009, 21:52

Re: Waffenverschleiß

Beitrag von Biggoron » 31. Mai 2020, 14:17

Valvanda hat geschrieben: 30. Mai 2020, 00:09 @Deicide ich überlasse dir das letzte wort, weil dus offensichtlich nicht ertragen kannst, wenn andere menschen dir nicht recht geben.
hab dich lieb. :)
Wer hier das letzte Wort haben muss oder nicht ertragen kann wenn andere einem nicht recht geben ist ziemlich eindeutig. Und es ist nicht Deicide.
Generell ist es oft (oder sogar meistens) die Person, die einer anderen Person vorwirft immer das letzte Wort haben zu müssen.
Von Deicide lese ich hier nämlich nichts mehr, denn er hat bereits alles gesagt was zu sagen ist, weil er Recht hat.
Es wird ein Beweis gefordert -> der wird geliefert -> und dann nicht akzeptiert, weil du es kategorisch ausschließt dich geirrt haben zu können.

Cifer17
Teidam
Beiträge: 178
Registriert: 20. Apr 2011, 14:52

Re: Waffenverschleiß

Beitrag von Cifer17 » 31. Mai 2020, 20:48

Luko hat geschrieben: 31. Mai 2020, 09:44
bwoebi hat geschrieben: 29. Mai 2020, 12:36 Das Vertin hatte tatsächlich einen Bug bis vorgestern.

Code: Alles auswählen

# Rev: 40c71059e916a9889e7a5a9f94faeeae563e3df6 @ fight.php:5397 (Anfang Januar)
$zustand -= rand(0, rand(0, 1)
Rein aus Interesse.
War so ein code früher state of the art? War ein 2-faches 0/1 evtl. effizienter oder so.... oder ist das ein klarer Fall von „omg was hab ich damals für nen code geschrieben“?

Übrigens: alt und neu sind in verschiedenen files, lustig wäre es ja, wenn der zustandsabzug 2*25% wäre :D
Dass der Code so aussieht, liegt an der Historie des Codefragments. Beim Einbau von Reparaturwissen bzw. der Waffenhaltbarkeit gingen Waffen ungefähr doppelt so schnell kaputt. Die Leute fanden, dass Waffen zu schnell kaputt gehen und haben sich beschwert. Darauf wurde die Haltbarkeit von Waffen verdoppelt. Und aus

Code: Alles auswählen

$zustand -= rand(0, 1)
wird eben

Code: Alles auswählen

$zustand -= rand(0, rand(0, 1))
, wenn man das schnell anpassen möchte.
Es ist nur der ein Superheld, der sich selbst für super hält.

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 15 Gäste