• Herzlich Willkommen!

    Nach der Schließung von inDiablo.de wurden die Inhalte und eure Accounts in dieses Forum konvertiert. Ihr könnt euch hier mit eurem alten Account weiterhin einloggen, müsst euch dafür allerdings über die "Passwort vergessen" Funktion ein neues Passwort setzen lassen.

    Solltet ihr keinen Zugriff mehr auf die mit eurem Account verknüpfte Emailadresse haben, so könnt ihr euch unter Angabe eures Accountnamens, eurer alten Emailadresse sowie eurer gewünschten neuen Emailadresse an einen Administrator wenden.

Hilfe bei Script

Dwelve

Mitglied
Registriert
30 Juli 2013
Beiträge
124
Hio,

War lange nicht mehr hier, aber jetzt benötige Ich wieder einmal (kostenlose) Hilfe.


Ich habe mir vorgenommen ein bisschen scripten zu lernen und daher angefangen eine eigene Version des Talismans (wurde mal 2010 für Diablo 3 präsentiert) zu basteln:

Test.Talisman (Sollte sauber sein - Dwelve ist sauber, das weiß doch jeder)

Ok, wie sich herausgestellt hat sind sogar simple Sachen wie tooltips sehr schwierig für mich und da Ich mich mit Webseiten/Computern/Scripten/Liebe kein Bisschen auskenne befürchte Ich irgendwie, dass die Webseite nicht funktionieren wird, oder zumindest nicht so, wie von mir erhofft.


Meine zwei (vorläufigen) Fragen also:

- Läd' die Seite vernünftig auf allen Browsern? Auf der linken Seite müsste ein 3x3 Quadrat sein, an dem 4 Kreise sind. In der Mitte ein Button der eine zufälliges Bild mit Eigenschaften erzeugt.

- Ist der Webbrowser überhaupt für solche Gräueltaten geeignet? Mein Code ist mies, wirklich mies. Ich habe schon mehrere hundert Zeilen und noch nicht mal mit dem Kernelement angefangen. Bereits jetzt schon habe Ich das Gefühl, dass das Javascript durchdreht (oder Ich). Wie viel Code verträgt so eine übliche Seite?
 
Willst du mir etwa erzählen das Mädel wäre keine Jungfrau gewesen? Ich hab' sie bestimmt mindestens drei mal gefragt, warum sollte Sie mich anlügen?

Ok dann eine andere Frage:

Wie ziehe Ich eine Zahl/einen String aus einer Variable und sorge dafür das dieser sich nicht mehr ändert?

also Beispiel:

var attributefirst=Math.floor(Math.random()*19)+1;

Die variable durchläuft ein paar Zeilen und am Ende kommt var firstaffix = "Thorns" heraus. Wie enkopple Ich nun var firstaffix und verpasse dem String eine ID?
 
Ehm ja, da sind Rechtecke und Kreise und ein Button und zwei unsichtbare Button und irgendwas mit Drag'n'Drop... (Chrome) Aber was um alles in der Welt ist die Funktion davon? :confused:
 
Vorweg: Ich hab auch nicht wirklich viel Ahnung von JavaScript, aber wenn sonst niemand will, fange ich halt mal an.


>>>Wie ziehe Ich eine Zahl/einen String aus einer Variable und sorge dafür das dieser sich nicht mehr ändert?<<<

Was heißt nicht mehr ändern? Meinst du, dass die Variablen einmal angelegt und die Zufallszahlen einmal ausgewürfelt werden und dann beim nächsten Aufruf immer wieder auf diese Werte zurückgegriffen werden soll?
Dazu brauchst du globale Variablen und eine Abfrage, die verhindert, dass die Variablen mehr als einmal bearbeitet werden.


>>>Läd' die Seite vernünftig auf allen Browsern?<<<

Bei mir scheint der Code zu funktionieren. Allerdings liegt das Tooltip unter dem Bild, das dürfte ein CSS-Fehler sein.
So was testest du am besten selbst, indem du dir eine Browsersammlung auf dem PC anlegst. Firefox, IE, Chrome und Safari sind aktuell am wichtigsten, mobile Browser werden auch immer häufiger eigesetzt. Am besten noch mit unterschiedlichen Betriebssystemen.


>>>Ist der Webbrowser überhaupt für solche Gräueltaten geeignet?<<<

Ja, das ist ok. Ein paar hundert Zeilen Durchschnittscode sind überhaupt kein Problem für einen annehmbaren PC. Ich habe schon wesentlich mehr Code auf einer Seite ohne nennenswerte Performanceeinbußen untergebracht. Erfahrungsgemäß sind größere Codemengen eher für den Coder problematisch, weil man irgendwann den Überblick verliert, wenn man das Ganze nicht detailliert kommentiert.
Das Browser-Addon Firebug hat eine Option, mit der man messen kann wie lange der Browser braucht, um den Code auszuführen.


Mit Dialogfenstern wie alert und prompt sollte man eher sparsam umgehen, das sind ziemlich radikale Methoden, die nicht besonders appetitlich aussehen und den Code unterbrechen. alert nutze ich gerne als kleinen Debugger während der Entwicklung, aber sonst nur für Fehlermeldungen.
 

Was wäre besser? Ich dachte alle Seiten werden mit javascript geschrieben :(. Wie gesagt, habe so etwas noch nie gemacht.


Was heißt nicht mehr ändern? Meinst du, dass die Variablen einmal angelegt und die Zufallszahlen einmal ausgewürfelt werden und dann beim nächsten Aufruf immer wieder auf diese Werte zurückgegriffen werden soll?
Dazu brauchst du globale Variablen und eine Abfrage, die verhindert, dass die Variablen mehr als einmal bearbeitet werden.

Die Variablen sollen sich ändern um immer neue Kombinationen auszuwürfeln, aber ab einem gewissen Zeipunkt (wenn das Image in eine Fläche gezogen wird) soll das Image einen festen Wert behalten

Also der Tooltip spuckt z.b. so etwas aus:

-Intelligence + 11
-Damage to Elite: + 0.5%

Ich will diese Information jetzt speichern, aber der Text ist immernoch an die Variablen gebunden

document.getElementById("tooltip").innerHTML=charmtype+firstaffix+attribute1height+secondaffix+attribute2height


Das Problem ist, das alles zufällig generiert wird und daher nicht wirklich auswählbar ist.

Alles was Ich bräuchte ist eine Zeile die so etwas sagt, wie:
Wenn x passiert, wird der Wert von Variable y geprüft und and Objekt z als fester Wert weitergegeben.

€: Wie ändere Ich eine lokale Variable zu einer globalen?

€²: Holy, shit. Einfach das var weglassen und es klappt!



Bei mir scheint der Code zu funktionieren. Allerdings liegt das Tooltip unter dem Bild, das dürfte ein CSS-Fehler sein.
So was testest du am besten selbst, indem du dir eine Browsersammlung auf dem PC anlegst. Firefox, IE, Chrome und Safari sind aktuell am wichtigsten, mobile Browser werden auch immer häufiger eigesetzt. Am besten noch mit unterschiedlichen Betriebssystemen.

Also so sollte das ganze Aussehen, wenn du ein paar der Bilder in die Kästchen schiebst (das hört sich so verdammt lächerlich an nach über 400 Zeilen code...)

imgur: the simple image sharer
 
Zuletzt bearbeitet:
Ehm ja, da sind Rechtecke und Kreise und ein Button und zwei unsichtbare Button und irgendwas mit Drag'n'Drop... (Chrome) Aber was um alles in der Welt ist die Funktion davon? :confused:

Haha, das hört sich wirklich extrem beschämend an!

Mir hat an Diablo das generieren von Items / Zahlen immer mehr Spaß gemacht als das eigentlich metzeln, also habe Ich mich daran gesetzt selbst mal so etwas zu erschaffen.

Der Hauptcode ist nicht zu sehen sondern in anderen Dateien versteckt.

Ich weiß nicht wie viele Zeilen ein normaler User gebraucht hätte, aber allein die Zufallsgenerierung hat mich ca. 170.00 if (){} Zeilen gekostet.

Das hier ist der "Affixtable"

*Affixtable:
* //1st Affix
* Strength 5-20,10-30, 10-35 x3
* Dexterity 5-20, 10-30, 10-35 x3
* Intelligence 5-20, 10-30, 10-35 x3
* All Resistance 3-10, 5-13, 7-15 x2
* Lightradius 1, 2, 3 x1
* Reduce cooldown of healthpotion 1-2, 1-3, 1-4 x1
* Armor 15-40, 25-60, 35-80 x2
* Thorns 100-300, 150-400, 200-500 x2
* Healthpot 600-1000, 800-1500, 1000-2000 x2
* //2nd Affix
* Dmg to Elite 0.5-1.5, 0.5-1.5, 1.0-2.0 x1 All
* Movespeed 0.5-2, 0.5-2, 1.0-3.0 x1 All
* Elemental Affinity 0.5-2, 0.5-2, 1.0-3.0 x1 Ar
* deflect damage 0.5-1.5, 0.5-1.5, 1.0-2.0 x1 Bon
* Chance to duplicate primary spell 0.5-1.5, 0.5-1.5, 1.0-2.0 x1 Cur
* Block % 0.5-1.5, 0.5-1.5, 1.0-2.0 x1 Del

Das erste Affix kann auf allen charms sein. Einige der zweiten Affixe nur an bestimmten. Chance auf 1. affix 25%, Chance auf 2. affix 25% chance auf 2 affixe 50%.
Die erste Reihe (5-20 str) hat 70% Wahrscheinlichkeit, die zweite (10-30) 20%, die dritte (15-35) 10%.
Das x1 am Ende gibt die frequency an mit der ein Attribut auftaucht (x3 taucht dreimal so häufig auf wie x1).

Wenn du das alles in eine Zeile kriegst, wäre Ich wirklich sehr dankbar :P.
 
Bei mir scheint der Code zu funktionieren. Allerdings liegt das Tooltip unter dem Bild, das dürfte ein CSS-Fehler sein.
So was testest du am besten selbst, indem du dir eine Browsersammlung auf dem PC anlegst. Firefox, IE, Chrome und Safari sind aktuell am wichtigsten, mobile Browser werden auch immer häufiger eigesetzt. Am besten noch mit unterschiedlichen Betriebssystemen.

Wie sorge Ich dafür, dass der Tooltip über das Bild (über alles) gelegt wird?
 
Globale Variablen erhält man entweder, wenn man (wie du schon herausgefunden hast) das var weglässt oder indem man die Variable außerhalb einer Funktion definiert und dann innerhalb einer Funktion damit arbeitet. Solche Variablen stehe dann im gesamten Script innerhalb aller Funktionen zur Verfügung.

Bei CSS kann ich dir leider nicht weiterhelfen, davon habe ich noch weniger Ahnung.
 
Zurück
Oben