Kategorien
Benutzer:Arbiedz/Projekte/WolkaCalc
Zur Navigation springen
Zur Suche springen
Ein kleiner Javascript-Rechner, um anhand der Markpreise den Ankaufpreis von Herbeirufungen zu ermitteln.
Benutzung: Kopieren des Textes aus dem Kasten in einen Editor, lokal speichern als HTML-Datei, mit Browser aufrufen, Basiswerte eingeben und dann berechnen lassen.
Oder hier online verwenden.
Korrekturen, Ergänzungen und Kommentare sind willkommen.
<html> <head> <meta http-equiv="content-type" content="text/html;charset=iso-8859-1"> <title>Wirtschaftlichkeitsrechner Wolka<title> <script type="text/javascript"> <!-- // "Konstanten" definieren: var Version = 2; var Versiondate = "03. März 2009"; var Wolkenstoffdrop = 0.8; var CNPCListCount = 5; var NPCs = new Array(CNPCListCount); NPCs[0] = new Object(); NPCs[0]["Anzahl"] = 7; NPCs[0]["Name"] = "Wolkenflatterer"; // der Name wird nicht wirklich gebraucht und dient nur der Übersichtlichkeit NPCs[0]["Golddrop"] = 8; NPCs[1] = new Object(); NPCs[1]["Anzahl"] = 1; NPCs[1]["Name"] = "Fliegende Kuh"; NPCs[1]["Golddrop"] = 6; NPCs[2] = new Object(); NPCs[2]["Anzahl"] = 3; NPCs[2]["Name"] = "Kleine Luftschnecke"; NPCs[2]["Golddrop"] = 2; NPCs[3] = new Object(); NPCs[3]["Anzahl"] = 1; NPCs[3]["Name"] = "Wolkenschaf"; NPCs[3]["Golddrop"] = 5; NPCs[4] = new Object(); NPCs[4]["Anzahl"] = 1; NPCs[4]["Name"] = "Wolkenblume"; NPCs[4]["Golddrop"] = 2; function ReCalc() { window.document.calc.inputherbiwert.value = ( eval(window.document.calc.betoerungcount.value) * ( eval(window.document.calc.betoerung.value) + HerbeirufungenBenötigt * eval(window.document.calc.xp.value) + NPCs[1]["Anzahl"] / NPCCount * HerbeirufungenBenötigt * eval(window.document.calc.kuhkopf.value) + eval(window.document.calc.inputgolddrop.value) * HerbeirufungenBenötigt ) - eval(window.document.calc.silberschnee.value) - eval(window.document.calc.zauberpolle.value) ) / HerbeirufungenBenötigt / eval(window.document.calc.betoerungcount.value); } function GetNPCCount() { var count = 0; for (i=0; i < CNPCListCount; i++) count += NPCs[i]["Anzahl"]; return count; } function ReCalcGolddrop() { window.document.calc.inputgolddrop.value = GolddropSumme() / NPCCount; Clear(); } function GolddropSumme() { var i, j; var gm = 0; for (i=0; i < CNPCListCount; i++) { gm += Math.floor(Math.pow(1.01, window.document.calc.pluenderungstufe.value) * NPCs[i]["Golddrop"]) * NPCs[i]["Anzahl"]; } return gm; } function Shopwert(Itemname) { switch (Itemname) { case "Silberschnee": window.document.calc.silberschnee.value = 27; Clear(); break; case "Zauberpolle": window.document.calc.zauberpolle.value = 22; Clear(); break; default: alert("function Shopwert(Itemname): unbekannter Itemname " + Itemname); break; } } function Clear() { window.document.calc.inputherbiwert.value = "muss noch berechnet werden"; } var NPCCount = GetNPCCount(); var HerbeirufungenBenötigt = NPCCount / NPCs[0]["Anzahl"] / Wolkenstoffdrop * 15; // --> </script> </head> <body> Ein Script, um anhand der Markpreise den Ankaufpreis von Herbeirufungen zu ermitteln. Siehe auch <a href="http://www.fwwiki.de/index.php/Herbeirufung_der_Geistlosen/Wirtschaftlichkeitsbetrachtung#Dungeon:_Wolka">http://www.fwwiki.de/index.php/Herbeirufung_der_Geistlosen/Wirtschaftlichkeitsbetrachtung#Dungeon:_Wolka</a>.<br> <script type="text/javascript"> <!-- document.write("Version " + Version + " vom " +Versiondate); // --> </script> <p> <form name="calc"> <fieldset><legend><b>Markpreise für ein einzelnes Item</b></legend> <table border> <tr><td>Betörung:</td><td><input name="betoerung" type="text" value="2200" onchange="Clear()" /></td><td></td></tr> <tr><td>XP:</td><td><input name="xp" type="text" value="4" onchange="Clear()" /></td><td></td></tr> <tr><td>Kuhkopf:</td><td><input name="kuhkopf" type="text" value="35" onchange="Clear()" /></td><td></td></tr> <tr><td>Silberschnee:</td><td><input name="silberschnee" type="text" value="90" onchange="Clear()" /></td><td><input type="button" name="btnShopWertSilberschnee" value="Shopwert" onclick="Shopwert('Silberschnee')"></td></tr> <tr><td>Zauberpolle:</td><td><input name="zauberpolle" type="text" value="40" onchange="Clear()" /><td><input type="button" name="btnShopWertZauberpolle" value="Shopwert" onclick="Shopwert('Zauberpolle')"></td></tr> </table> (Bitte keine Tausenderpunkte verwenden.) </fieldset> <fieldset> <legend><b>Einfluss der Plünderungsstufe</b></legend> <table> <tr> <td valign="top">Plünderung Stufe:</td><td> <select name="pluenderungstufe" size="10" onchange="ReCalcGolddrop()" > <option selected> 0</option> <option> 1 </option> <option> 2 </option> <option> 3 </option> <option> 4 </option> <option> 5 </option> <option> 6 </option> <option> 7 </option> <option> 8 </option> <option> 9 </option> <option>10</option> <option>11</option> <option>12</option> <option>13</option> <option>14</option> <option>15</option> <option>16</option> <option>17</option> <option>18</option> <option>19</option> <option>20</option> <option>21</option> <option>22</option> <option>23</option> <option>24</option> <option>25</option> <option>26</option> <option>27</option> <option>28</option> <option>29</option> <option>30</option> </select> </td> <td></td> </tr> <tr><td>durchschnittlicher Golddrop:</td><td><input name="inputgolddrop" type="text" value="wird noch berechnet" readonly /></td><td></td></tr> </table> </fieldset> Anzahl herzustellender Betörungen: <input name="betoerungcount" type="text" value="1" onchange="ReCalc()" /> (Zauberpolle und Silberschnee wird nur einmal berechnet) <hr> <input type="button" name="btnDoCalc" value="Berechnen" onclick="ReCalc()"><br> Maximaler Einkaufspreis für Herbeirufungen: <input name="inputherbiwert" type="text" readonly /> </form> <script type="text/javascript"> <!-- ReCalcGolddrop(); // window.document.calc.inputgolddrop.value initialisieren Clear(); // window.document.calc.inputherbiwert.value initialisieren --> </script> </body> </html>