JS - Umschreiben und erweitern ?

T

Thund3r

Gast
Hallo,
Ich habe kentnisse in HTML und blicke dadurch einigermaßen bei css und php durch.
Folgenses script hab eich gefunden und schon teilweise umgeschriben jetzt will mozilla zbw. Greasmokey das nicht annehmen...
Jundet ihr einen fehler? (kann es sein das die in html geschribene zeile am stück sein muss damit die befehle richtig übernommen werden?)

Java:
var village = unsafeWindow.village;

var LinkDiv = document.createElement('div');
LinkDiv.id = 'LinkDiv';
LinkDiv.innerHTML += '<tr><td><a href="http://de61.die-staemme.de/game.php?village='+village+'&screen=main">HauptgebÀude </a>|</td>
                          <td><a href="http://de61.die-staemme.de/game.php?village='+village+'&screen=stable"> Stall </a>|</td>
                          <td><a href="http://de61.die-staemme.de/game.php?village='+village+'&screen=barracks"> Kaserne </a>|</td>
                          <td><a href="http://de61.die-staemme.de/game.php?village='+village+'&screen=market"> Markt </a>|</td>
                          <td><a href="http://de61.die-staemme.de/game.php?village='+village+'&screen=garage"> Werkstatt </a>|</td>
                          <td><a href="http://de61.die-staemme.de/game.php?village='+village+'&screen=smith"> Schmiede</a></td></tr>';
document.getElementById('header_info').appendChild(LinkDiv);
 
T

Thund3r-01

Gast
Wobei mir gerad eauffällt das der zeilenumbruch eigentlich keine auswirkungen auf die tags haben sollte...

Dann noch ne frage zu dem editor:
Ich benutze im Phase (5.2) der ist eher für html da er die java tags ignorir
und im internet ist nur verwirrung zu finden

Brauche ich für Windows 7 das SDK oder JDK
und welche editor ist gut für anfänger
(hatte damals in der schule den von java)

Links für tuts und downloads währen nett

danke im vorraus schonmal!
 

Atze

Top Contributor
hm, ich glaube du verwechselst da wirklich java und javascript! :) oder irre ich mich? du willst ein javascript skript bearbeiten, oder?
das kannst du mit jedem texteditor. manche unterstützen auch syntaxhighlighting, wie zB notepad++.

Notepad++ | 5.7

für javascript benötigst du kein jdk/sdk. das sind die entwicklungswerkzeuge und laufzeitumgebungen für die programmiersprache java! :)

korrigier mich, wenn ich dich falsch verstanden habe :)
 
T

Thund3r-02

Gast
Hast es schon richtig aufgefasst!
Ich will das script bearbeiten, aber auch den editor haben um sowas dann auch selber schreiben zu können

bzw. ich will java erlernen und das script überarbeiten (wissen ob da ein fehler ist..?)
 

XHelp

Top Contributor
Du erlernst ja eine (Script)Sprache nicht mit einem Editor.
Zu deiner Frage: verwende
Code:
.html()
Methode.
 

Thund3r

Mitglied
okay danke...

Habe mich mal angemeldet habe das gefühl ich werde öffters dumme fragen stellen xD

und das nächste :D
Java:
var gebaudepunkte = new Array();
1 gebeudepunkte['church_f'] = new Array(10);
2 gebeudepunkte['church'] = new Array(10,2,2);

und zwar will ich es so "programiren" das er 2 verwenden soll wenn 1 nicht da ist
denn ich habe gerade das problem das wenn diese tags nicht drin sind funktionirt das script
zeigt aber nicht bei den gewünschen gebeuden die ich nachtagen will nichts an
schreibe ich die tags aber rein ist das ganze skrip inaktiv
 

XHelp

Top Contributor
Ich glaube in JavaScript ist ein Array wirklich ein Array (nicht wie bei php), d.h.:
Code:
gebeudepunkte['church_f']
ist ungültig, müsstest dann
Code:
gebeudepunkte[0]
machen.
 

Thund3r

Mitglied
also

Java:
var gebaudepunkte = new Array();
1 gebeudepunkte[0]['church_f'] = new Array(10);
2 gebeudepunkte['church'] = new Array(10,2,2);
oder wie?

habs gerade mal gemacht das script ist wieder tot es ging gerade mit beidem drinne hat dann einfach nur nix angezeigt
 

XHelp

Top Contributor
nein:
Java:
var gebaudepunkte = new Array();
gebeudepunkte[0] = new Array(10);
gebeudepunkte[1] = new Array(10,2,2);
Und da es schon 2 mal auftaucht: was sind "1" und "2" am Anfang der Zeilen?
 

Thund3r

Mitglied
Das war um um zu erkläre was geschehen sol keione panik im quelltext ist es nicht xD
mhm funktionirt auch nicht ist wieder tot...
ganz vergessen zu sagen das ding ist was länger

Java:
gebaudepunkte['main'] = new Array(10);
gebaudepunkte['barracks'] = new Array(16);
gebaudepunkte['stable'] = new Array(20);
gebaudepunkte['garage'] = new Array51);
gebaudepunkte[0]['church_f'] = new Array(10);
gebaudepunkte[1]['church'] = new Array(10,2,2);


aber trozdem danke!
 

XHelp

Top Contributor
Du benutzt doch wieder Wörter als Index... Benutze ausschließlich zahlen. Ein Array ist keine Map!
Code:
irgendeinarray['HIERIRGENDEINETEXT']
geht nicht! (imho)
 

Thund3r

Mitglied
Es ist eine erweiterung für ein online game und der zieht die punkte wo er die zahel einfüht aus dem link bzw. aus einem bestimtet wort und das sind diese ;(
 

XHelp

Top Contributor
öhm... bitte was?
Bist du sicher, dass die Variable ein Array ist und kein
Code:
Object
?
 

Thund3r

Mitglied
allso alles mit [0] und bzw. [1] bestimmen?

sprich:

Java:
var gebaudepunkte = new Array();
gebaudepunkte[0] = new Object();
gebaudepunkte[0]['main'] = new (10);
gebaudepunkte[0]['barracks'] = new (16);
gebaudepunkte[0]['stable'] = new (20);
gebaudepunkte[0]['garage'] = new (51);
gebaudepunkte[0]['church_f'] = new (10);


gebaudepunkte[1] = new Object();
gebaudepunkte[1]['church'] = new (10,2,2);

:question:
 
Zuletzt bearbeitet:

Thund3r

Mitglied
Ich versuche es zu erleutern ansonsten schmeiße ich den quelltext mal rein.
und zwar sucht das script den namen vom gebeute kann dan anhand der stufe des gebeudes (die im namen enthalten ist)
die jeweiligen punkte angeben die es beim ausbau denn dem Accopunt zuführ.
 

Thund3r

Mitglied
Ich will ja jetzt nimanden aufhetzen aber wenn ich du währe würde ich mich jetzt schlagen ich glaube ich habe das problem gefunden weiss nur nicht wie man es raus schreibt bzw. umschreibt xD

Edit: soll ichs heute noch nachfrage oder willst du lieber in ruhe pennen xD
 

XHelp

Top Contributor
und zwar sucht das script den namen vom gebeute kann dan anhand der stufe des gebeudes (die im namen enthalten ist)
die jeweiligen punkte angeben die es beim ausbau denn dem Accopunt zuführ.
öhm... nachts in kälter als draußen? Ich für meinen Teil verstehe überhaupt nichts.

soll ichs heute noch nachfrage oder willst du lieber in ruhe pennen xD
Fragen kostet nichts. Aber versuch dich klarer auszudrücken.
 

Thund3r

Mitglied
Okay ich versuche es an einem bild zu erleutern ^^

unbenannter.jpg


Das main,barracks,stable... stammt aus der URL die zu dem gebeude führt.
hinterdem gebeude steht dann die stufe.
aus beidem zusammen kann er aussagen was an der zugeteilte stelle steht und fügt es in die seite mit ein

edit: einigermaßen verständlich?
 

XHelp

Top Contributor
Ansatzweise in groben Zügen verständlich. Hauptsache du weißt, was du tust :)
(mir persönlich fehlt ein wenig der Zusammenhang zwischen dem was du machst und dem was du im letzten Post beschrieben hast)
 

Thund3r

Mitglied
Da ich 0 plan von der materie habe hoffe ich das auch xD

also soweit ich es erkenne sagt er hier was da rein kommt und wie er es fest stellt

Java:
        //Punkteanzeige
        var gebaude = new Object;

        if (table.rows[i].cells.length > 6)
        {
                gebaude.zelle_anzeige = table.rows[i].insertBefore(document.createElement('td'),null);
                gebaude.zelle_anzeige.setAttribute("align","center");
                gebaude.zelle_typ = table.rows[i].cells[0];

                gebaude.stufe = gebaude.zelle_typ.innerHTML.match(/Stufe ([0-9]+)/);
                gebaude.typ = gebaude.zelle_typ.innerHTML.match(/buildings[\/\\](.*?)\.png/);

                if (gebaude.stufe && gebaude.typ && gebaudepunkte[gebaude.typ[1]])
                {
                        gebaude.zelle_anzeige.innerHTML = gebaude.zelle_anzeige.innerHTML + " <span style=\"color:##4F4F4F;\">+" + gebaudepunkte[gebaude.typ[1]][gebaude.stufe[1]] + " </span>";
                }

jetzzt hätte ich noch gerne das er auf das schlagwort "nicht vorhanden" die vorgegebene position 1 angibt also

gebeudepunkte['church'] = new Array(10,2,2);

dann die 10 ausspuckt

muss ich dafür nur gebaude.stufe = gebaude.zelle_typ.innerHTML.match(/nicht vorhanden ([0-9]+)/);


bzw. nur das wort nicht zwischen die beiden angaben setzen?
 

XHelp

Top Contributor
Was verstehst du daran nicht?
Code:
indexOf
liefert dir -1, falls der Substring nicht vorhanden ist, d.h. wenn
Code:
deinString.indexOf('nicht vorhanden')>=0
ist, dann ist es vorhanden
 

Thund3r

Mitglied
mir sagt es nichts weil ich damit nix anzufangen weiß, der anfängerei wegen ...

kannst du mir wie ich das umschreiben muss und wo es rein muss?
 

XHelp

Top Contributor
Kann ich leider nicht, weil ich nicht wirklich verstehe was du machst.
Will dich hier nicht vergraueln, aber vllt. wird man dir in einem JavaScript Forum eher helfen können als hier.
 

Thund3r

Mitglied
Das problem ist das ich die befehle nicht kenne bzw. nicht weiss
was dein deinString. oder was es fest legt mir ist klar das es nen ersat wort ist aber ways ist ein string ?
 

XHelp

Top Contributor
Code:
deinString
ist der String wo du "nicht vorhanden" suchen willst. Ich vermute stark, dass es
Code:
gebaude.zelle_typ.innerHTML
ist
 

Neue Themen


Oben