Benutzer:Samya/Projekte/Seelenkapselwirtschaftlichkeit: Unterschied zwischen den Versionen

aus FreewarWiki, der Referenz für Freewar
Zur Navigation springen Zur Suche springen
(achtung snigg, das ne benutzerseite)
(→‎Code: neuer Link)
 
Zeile 12: Zeile 12:
==Code==
==Code==


Im folgenden findest du den Code, du kannst das Skript online [http://file1.npage.de/010327/03/html/seelis.html hier]<!-- Der Link wurde auf Grund von Erreichbarkeit verändert, ursprünglich wurde dieser Link verwendet:http://samya.bplaced.net/fw-tools/Seelenkapselwirtschaftlichkeit.html--> verwenden.  
Im folgenden findest du den Code, du kannst das Skript online [https://googledrive.com/host/0B_IQs9kV3-w0aTlpSGxnVjNkMXc/Seelenkapselwirtschaftlichkeit.html hier] verwenden.  


<pre style="background:#f7f8ff; border:1px solid #8888aa; border-collapse:collapse; margin:1em 0; padding:5px; font-family:monospace; font-size:95%;"><nowiki>
<pre style="background:#f7f8ff; border:1px solid #8888aa; border-collapse:collapse; margin:1em 0; padding:5px; font-family:monospace; font-size:95%;"><nowiki>

Aktuelle Version vom 4. August 2013, 08:52 Uhr

Dieser Rechner erlaubt wahrscheinlich, möglicherweise, ungefähr in etwa eine Aussage darüber, ob der Gewinn durch Seelenkapseldrops die Reparaturkosten der eigenen Waffen übersteigt.

Grundlegendes[Bearbeiten]

Dropwarscheinlichkeit der Seelenkapsel=Wurzel((A-Waffe + V-Waffe)*2)*1.005^Seelenverbindungsstufe.
Achtung! Die Formel ist nicht bestätigt und die Werte weichen teilweise von der Strichliste ab, siehe dafür die Tabelle ganz unten.
Verschleiß der Waffen: 1%=5NPCs (1 Schlag pro NPC) (Quelle: eigene Beobachtung)
Andere Drops von NPCs, Gefahr durch PK etc. werden nicht berücksichtigt.

Code[Bearbeiten]

Im folgenden findest du den Code, du kannst das Skript online hier verwenden.

<html>
 <head>
 <script language="JavaScript">
  function dropratef(seelenverbindung) {
   var waffen=document.Seelenformular.awaf.value;

   /*Formel für Droprate hier ändern, wenn nötig. */
   var droprate=Math.sqrt(waffen*2)*Math.pow(1.005, seelenverbindung);
   return droprate;
  }
  function Seelenwirtschaft() {
   var preis=document.Seelenformular.preis.value;
   var repakost=document.Seelenformular.repagrund.value;
   var waffenkunst=document.Seelenformular.waffenkunst.value;
   var reparaturwissen=document.Seelenformular.reparaturwissen.value;
   var seelenverbindung=document.Seelenformular.seelenverbindung.value;
   //Test ob Eingaben valid (oder auch nicht, weil Ergebnis sich selbst beschwert)

   //Test, ob 1 oder 2 Felder leer, Tabellenerstellung danach anpassen
   var leereFelder = 0;
   if (document.Seelenformular.waffenkunst.value=="") {
    var waffenleer=true;
    leereFelder++;
   }
   if (document.Seelenformular.reparaturwissen.value=="") {
    var repaleer=true;
    leereFelder++;
   }
   if (document.Seelenformular.seelenverbindung.value=="") {
    var seelenleer=true;
    leereFelder++;
   }
   switch (leereFelder) {
    case 0:
     var droprate=dropratef(seelenverbindung);
     if (document.Seelenformular.dropverringert.checked) droprate *= 0.05;
     var haltbar=(100-80*Math.pow(0.9, waffenkunst));
     var repakostpro=(repakost*Math.pow(0.9, reparaturwissen))/haltbar;
     var gewinn=preis*droprate/100-repakostpro;
     document.getElementById("ausgabe").innerHTML = "Droprate: "+Math.round(droprate*100)/100+"%, Gewinn pro Kill: "+Math.round(gewinn*100)/100+"gm";
    break;
    case 1:
     if (waffenleer) {
      var droprate=dropratef(seelenverbindung);
      if (document.Seelenformular.dropverringert.checked) droprate *= 0.05;
      var ausgabe = "";
      ausgabe += "Droprate: "+Math.round(droprate*100)/100+"%<table border='1'><tr><th>Stufe Waffenkunst</th><th>Gewinn pro Kill</th></tr>";
      for (var i = 0; i<=30; i++) {
       var haltbar=(100-80*Math.pow(0.9, i));
       var repakostpro=(repakost*Math.pow(0.9, reparaturwissen))/haltbar;
       var gewinn=preis*droprate/100-repakostpro;
       ausgabe += "<tr><td>"+i+"</td><td>"+Math.round(gewinn*100)/100+"gm</td></tr>";
      }
      ausgabe += "</table>";
     }
     if (repaleer) {
      var droprate=dropratef(seelenverbindung);
      if (document.Seelenformular.dropverringert.checked) droprate *= 0.05;
      var ausgabe = "";
      ausgabe += "Droprate: "+Math.round(droprate*100)/100+"%<table border='1'><tr><th>Stufe Reparaturwissen</th><th>Gewinn pro Kill</th></tr>";
      for (var i = 0; i<=30; i++) {
       var haltbar=(100-80*Math.pow(0.9, waffenkunst));
       var repakostpro=(repakost*Math.pow(0.9, i))/haltbar;
       var gewinn=preis*droprate/100-repakostpro;
       ausgabe += "<tr><td>"+i+"</td><td>"+Math.round(gewinn*100)/100+"gm</td></tr>";
      }
      ausgabe += "</table>";
     }
     if (seelenleer) {
      var ausgabe = "";
      var haltbar=(100-80*Math.pow(0.9, waffenkunst));
      var repakostpro=(repakost*Math.pow(0.9, reparaturwissen))/haltbar;
      ausgabe += "<table border='1'><tr><th>Stufe Seelenverbindung</th><th>pro Kill</th></tr>";
      for (var i = 0; i<=60; i++) {
       var droprate=dropratef(i);
       if (document.Seelenformular.dropverringert.checked) droprate *= 0.05;       
       var gewinn=preis*droprate/100-repakostpro;
       ausgabe += "<tr><td>"+i+"</td><td>Droprate: "+Math.round(droprate*100)/100+"%<br/>Gewinn: "+Math.round(gewinn*100)/100+"gm</td></tr>";
      }
      ausgabe += "</table>";
     }
    document.getElementById("ausgabe").innerHTML = ausgabe;
    break;
    case 2:
     var droprate=dropratef(seelenverbindung);
     if (document.Seelenformular.dropverringert.checked) droprate *= 0.05;
     var ausgabe = "";
     if (repaleer && waffenleer) {
      ausgabe += "Droprate: "+Math.round(droprate*100)/100+"%<table border='1'><tr><th>Stufe Reparaturwissen</th><th>Stufe Waffenkunst</th></tr>";
      ausgabe += "<tr><td></td>";
      for (var h = 0; h<=30;h++) {
       ausgabe += "<td>"+h+"</td>";
      }
      ausgabe += "</tr>";
      for (var i = 0; i<=30; i++) {
       ausgabe += "<tr><td>"+i+"</td>";
       for (var j = 0; j<=30; j++) {
        var haltbar=(100-80*Math.pow(0.9, i));
        var repakostpro=(repakost*Math.pow(0.9, j))/haltbar;
        var gewinn=preis*droprate/100-repakostpro;
        ausgabe += "<td>"+Math.round(gewinn*100)/100+"gm</td>";
       }
       ausgabe += "</tr>";
      }
      ausgabe += "</table>";
     } else {
      ausgabe += "<table border='1'><tr><th>Stufe Seelenverbindung</th>";
      if (waffenleer) ausgabe += "<th>Stufe Waffenkunst</th></tr>"; else ausgabe += "<th>Stufe Reparaturwissen</th></tr>";
      ausgabe += "<tr><td></td>";
      for (var h = 0; h<=30;h++) {
       ausgabe += "<td>"+h+"</td>";
      }
      for (var i = 0; i<=60; i++) {
       ausgabe += "<tr><td>"+i+"</td>";
       for (var j = 0; j<=30; j++) {
        var droprate=dropratef(i);
        if (document.Seelenformular.dropverringert.checked) droprate *= 0.05;
        if (waffenleer) var haltbar=(100-80*Math.pow(0.9, j)); else var haltbar=(100-80*Math.pow(0.9, waffenkunst));
        if (repaleer) var repakostpro=(repakost*Math.pow(0.9, j))/haltbar; else var repakostpro=(repakost*Math.pow(0.9, reparaturwissen))/haltbar;
        var gewinn=preis*droprate/100-repakostpro;
        ausgabe += "<td>Droprate: "+Math.round(droprate*100)/100+"%<br/>Gewinn: "+Math.round(gewinn*100)/100+"gm</td>";
       }
       ausgabe += "</tr>";
      }
      ausgabe += "</table>";
     }
    document.getElementById("ausgabe").innerHTML = ausgabe;
    break;
    case 3:
     document.getElementById("ausgabe").innerHTML = "Bitte höchstens 2 Felder leer lassen. Ich kann keine 3-dimensionalen Tabellen erstellen.";
    break;
   }
  }
 </script>
 </head>
 <form onSubmit="#" method="get" name="Seelenformular">
  <input type="text" name="preis" value="60" onchange="Seelenwirtschaft()">Marktwert Seelenkapsel</input><br/>
  <input type="text" name="awaf" value="0" onchange="Seelenwirtschaft()">Gesamtstärke deiner Angriffs- und Verteidigungswaffe</input><br/>
  <input type="text" name="repagrund" value="0" onchange="Seelenwirtschaft()">Standard-Reparaturkosten deiner Waffen zusammen</input><br/>
  <input type="checkbox" name="dropverringert" value="true" onchange="Seelenwirtschaft()"> Mit 95% geringerer Dropwahrscheinlichkeit</input><br/>
  <br/><br/>Von den folgenden dürfen 1-2 Felder leer sein, wenn du eine Tabelle erhalten möchtest.<br/><br/>
  <input type="text" name="waffenkunst" value="0" onchange="Seelenwirtschaft()">Stufe Waffenkunst (0-30)</input><br/>
  <input type="text" name="reparaturwissen" value="0" onchange="Seelenwirtschaft()">Stufe Reparaturwissen (0-30)</input><br/>
  <input type="text" name="seelenverbindung" value="0" onchange="Seelenwirtschaft()">Stufe Seelenverbindung (0-60)</input><br/><br/>
  <div id="ausgabe"></div>
 </form>
</html>

Vergleich mit Seelenkapsel-Strichliste[Bearbeiten]

A+V Droprate laut Strichliste Droprate laut des Rechners
15 5,376 5,48
16 7,116 5,66
18 6,435 6
19 9,565 6,16
25 7,543 7,07
28 8,145 7,48
65 15,695 11,402
66 17,727 11,49
120 15,789 15,492
180 16,86 18,974
202 16,634 20,01