MediaWiki Diskussion:Common.js/Archiv

aus FreewarWiki, der Referenz für Freewar
Version vom 9. Februar 2017, 14:00 Uhr von Galak (Diskussion | Beiträge) (archiviert)
(Unterschied) ← Nächstältere Version | ↑ Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen


Archivseite
Diskussionen bitte auf MediaWiki Diskussion:Common.js führen.

Stuff

Moment? Habe ich je behauptet, dass der Angreifer dann nicht gewinnt? ^^ Ich denke nein -- Ra (Diskussion) 09:30, 22. Feb 2006 (CET)

stimmt, war glaub ich wikiwiki^^ sry *g* --Three Of TwelveSprich! 14:24, 22. Feb 2006 (CET)


li.appendChild(document.createTextNode('Vote für Freewar:')); li.appendChild(ifr); _parent = document.getElementById('p-Besucherecke').getElementsByTagName('ul')[0]; _parent.appendChild(li);
hab das entfernte mal hierhin gepackt, damit man das nicht extra neu tippen muss.. kann man die suche über die benutzerecke packen? ich schaffe es nicht, das wird mir langsam aber sicher zu hoch ^^ auf jeden fall sollte so voererst geholfen sein, dass die suchfunktion nicht zu tief rutscht. evtl sollten wir auch mal die sidebars entrümplen. die sind vielelicht a bissel überladen .. --Stehta (Sklaventreiber) 15:48, 3. Mär 2006 (CET)

sry, aber deine höhenprobleme gehen mir auf den Geist...^^ NEIN es ist niht möglich bzw. nur wenn ich da ALles über Javascript mach und da hab ich net so wirklich Lust drauf *gg* obwohl... ich schau mal --Three Of TwelveSprich! 20:57, 3. Mär 2006 (CET)
so, geht^^ --Three Of TwelveSprich! 21:57, 3. Mär 2006 (CET)
jaja der wankelmut der informatiker ^^ und wieso meine höhenprobleme? ICH habe micht nicht wegen dem suchbutton beschwert :P --Stehta (Sklaventreiber) 11:18, 4. Mär 2006 (CET)
Aber weggemacht hast ihn O.o -- Ra (Diskussion) 16:46, 4. Mär 2006 (CET)

Gamesdynamite

Ich weiß zwar nicht was ich genau gemacht habe und warum man das so machen musste aber es hat geklappt.

Ich musste den Gamesdynamite Button leider rausnehmen weil es bei denen Änderungen gab (kA wann) siehe hier:

http://bgs.gdynamite.de/charts.php?votebutton

man beachte hierbei Punkt 1

Tut mir leid :/. -- Ra (Diskussion) 22:52, 19. Aug 2006 (CEST)

Kampfrechner, NPC-Daten

Hallo!

Ich hab eine Änderung zu dem Kampfrechner gemacht, durch man die NPCs auswählen kann. Das ganze beruht auf den CSV-Daten, die durch die Skripte aus der Skriptsammlung entstehen (npclist.pl). Damit die Änderung aber funktioniert, muss der Kampfrechner ab init_fightcalc() bis zum Ende des Kampfrechner-Teils so geändert werden:

var all_stats = new Array();

 function init_fightcalc()
 {
   fc = document.getElementById('Kampfrechner');
   if (fc) {

     selectfield = document.createElement('select');
     selectfield.setAttribute('name', 'npc');
     selectfield.setAttribute('size', '1');
     selectfield.setAttribute('onChange', 'changevalues(this)');

     stats_raw = document.getElementById('Kampfrechner-Daten').innerHTML;
     var stats_raw_array = new Array();
     stats_raw_array = stats_raw.split('\n');

     var i = 0;
     var stats_raw = new Array();
     var stats_row = new Array();
     for (i=0;i<stats_raw_array.length;i++) {
          stats_raw = stats_raw_array[i];
          stats_row = stats_raw.split(';');
          all_stats[all_stats.length] = stats_row;
          option_field = document.createElement('option');
          option_field.setAttribute('value', i);
          option_field.innerHTML = stats_row[0];
          selectfield.appendChild(option_field);
     }
   
     table = document.createElement('TABLE');
     
     tr = document.createElement('TR');
     td = document.createElement('TD');
     td.setAttribute('colspan', '3');
     select_text = document.createTextNode('Bei NPC-Kampf NPC auswählen: ');
     td.appendChild(select_text);
     td.appendChild(selectfield);
     tr.appendChild(td);
     table.appendChild(tr);     

     tr = document.createElement('TR');
     td = document.createElement('TD');
     tr.appendChild(td);
     td = document.createElement('TH');
     td.appendChild(document.createTextNode('Angreifer'));
     tr.appendChild(td);
     td = document.createElement('TH');
     td.appendChild(document.createTextNode('Verteidiger'));
     tr.appendChild(td);
     table.appendChild(tr);
 
     // LP-Werte
     tr = document.createElement('TR');
     td = document.createElement('TD');
     td.appendChild(document.createTextNode('LP'));
     tr.appendChild(td);
     td = document.createElement('TD');
     global_lp_a = document.createElement('INPUT');
     global_lp_a.setAttribute('type', 'text');
     td.appendChild(global_lp_a);
     tr.appendChild(td);
     td = document.createElement('TD');
     global_lp_v = document.createElement('INPUT');
     global_lp_v.setAttribute('type', 'text');
     global_lp_v.setAttribute('id', 'lp_v');
     td.appendChild(global_lp_v);
     tr.appendChild(td);
     table.appendChild(tr);
 
     // A-Werte
     tr = document.createElement('TR');
     td = document.createElement('TD');
     td.appendChild(document.createTextNode('A'));
     tr.appendChild(td);
     td = document.createElement('TD');
     global_a_a = document.createElement('INPUT');
     global_a_a.setAttribute('type', 'text');
     td.appendChild(global_a_a);
     tr.appendChild(td);
     td = document.createElement('TD');
     global_a_v = document.createElement('INPUT');
     global_a_v.setAttribute('type', 'text');
     global_a_v.setAttribute('id', 'a_v');
     td.appendChild(global_a_v);
     tr.appendChild(td);
     table.appendChild(tr);
 
     // V-Werte
     tr = document.createElement('TR');
     td = document.createElement('TD');
     td.appendChild(document.createTextNode('V'));
     tr.appendChild(td);
     td = document.createElement('TD');
     global_v_a = document.createElement('INPUT');
     global_v_a.setAttribute('type', 'text');
     td.appendChild(global_v_a);
     tr.appendChild(td);
     td = document.createElement('TD');
     global_v_v = document.createElement('INPUT');
     global_v_v.setAttribute('type', 'text');
     global_v_v.setAttribute('id', 'v_v');
     td.appendChild(global_v_v);
     tr.appendChild(td);
     table.appendChild(tr);
 
     tr = document.createElement('TR');
     td = document.createElement('TD');
     td.setAttribute('colspan', '3')
     td.style.textAlign = 'center';
     inp = document.createElement('INPUT');
     inp.setAttribute('type', 'submit');
     inp.setAttribute('name', 'calc');
     inp.setAttribute('value', 'Berechnen');
     td.appendChild(inp);
     tr.appendChild(td);
     table.appendChild(tr);
 
     tr = document.createElement('TR');
     td = document.createElement('TD');
     td.setAttribute('colspan', '3')
     td.style.textAlign = 'center';
     global_fightresult_1 = document.createTextNode('Werte eingeben und auf Berechnen klicken');
     global_fightresult_2 = document.createTextNode(' ');
     global_fightresult_3 = document.createTextNode(' ');
     td.appendChild(global_fightresult_1);
     td.appendChild(document.createElement('BR'));
     td.appendChild(global_fightresult_2);
     td.appendChild(document.createElement('BR'));
     td.appendChild(global_fightresult_3);
     tr.appendChild(td);
     table.appendChild(tr);
     
     form = document.createElement('FORM');
     form.setAttribute('action', '#')
     form.setAttribute('method', 'POST')
     form.setAttribute('name', 'fightcalc')
     form.onsubmit = calc_fight;
     form.appendChild(table);
     fc.appendChild(form);
   }
 }
 addOnloadHook(init_fightcalc);
 
function changevalues(select_field) {
  var number = select_field.options[select_field.options.selectedIndex].value;
  var stats = all_stats[number];
  var v = document.getElementById('v_v');
  var a = document.getElementById('a_v');
  var lp = document.getElementById('lp_v');
  v.setAttribute('value', '0');
  a.setAttribute('value', stats[1]);
  lp.setAttribute('value', stats[2]);
}

Schönen Abend noch! Merry(Disku) 20:27, 2. Jun. 2010 (CEST)

Hmm, wie wärs wenn du einfach [[NPC/Liste]] nutzts (zuviele seiten^^) --Bwoebi Hier diskutieren bitte 20:59, 2. Jun. 2010 (CEST)
hö? Die gibts doch gar nich, die Seite :o Und die anlegen ginge theoretisch zwar auch, aber der Kram wird doch nirgends sonst gebraucht, und ist auch nicht absehbar, oder? Und wie jetzt, zuviele Seiten?Merry(Disku) 21:05, 2. Jun. 2010 (CEST)
bah, schlechtes gedächtnis^^ Ich meine NPCs (Liste). --Bwoebi Hier diskutieren bitte 21:45, 2. Jun. 2010 (CEST)

Puh, theoretisch ja, praktisch aber Unsinn. Man würde niemals aus CSV-Rohdaten erst einen formatierten Text erstellten, um aus diesem Text dann die Informationen wieder als Rohdaten zurückgewinnen. Das ist eine programmiertechnische Todsünde, würde ich mal behaupten. Merry(Disku) 21:50, 2. Jun. 2010 (CEST)

Und wenn schon?^^ --Bwoebi Hier diskutieren bitte 22:31, 2. Jun. 2010 (CEST)

Beim Aktualisieren der NPC-Liste muss dies dann in zwei Artikeln geschehen, wobei dann immer die Möglichkeit besteht, dass einer der Artikel dabei übersehen wird. Insofern wäre eine einzige Datenquelle von Vorteil. Und ja, erst eine CSV-Liste zu erstellen, dann daraus einen Artikel mit Formatierungen zu erstellen und anschließend die CSV-Informationen dort wieder herauszuparsen, ist Unfug. Wie wäre es denn, den Artikel NPCs (Liste) ebenfalls dynamisch per JS aus der CSV-Liste zu generieren? --Arbiedz Disku 18:21, 3. Jun. 2010 (CEST)

Gute Idee, arb, Tira mach dich mal ans Werk ;) --Bwoebi Hier diskutieren bitte 18:26, 3. Jun. 2010 (CEST)
Theoretisch ja, wäre sinnvoll, wenn man sagt, nur eine feste Quelle und der Rest dynamisch. Aber die Common.js wird dadurch immer aufgeblähter und ich denke, wenn man kein JS braucht, sollte man es auch nicht nehmen (Ich habe mein JS etwa per Standard aus und programmiere meine Dinge auch immer so, dass JS nur extra ist, aber nicht unbedingt benötigt wird). (Warum auch immer Tiramon alles machen soll)Gruß Merry(Disku) 18:29, 3. Jun. 2010 (CEST)
Da wär ich auch dagegen; ich würde eher den Code so umbauen, dass er gleich NPCs (Liste) parst, das sollte mit regex ja kein Problem sein. --Three Of TwelveSprich! 19:10, 3. Jun. 2010 (CEST)

HackTableSort

Hat noch die Debug-Zeile if (wgUserName == "Three Of Twelve") alert(sortkeys.length);. --Arbiedz Disku 01:30, 1. Aug. 2010 (CEST)

Du bist Admin, du kannst hier auch rumschnippsen. Is jetzt draussen, falls 3Of12 was dagegen hat, soll ers wieder reinmachen.--Andocai (Diskussion | Beiträge | Logbuch) 02:14, 1. Aug. 2010 (CEST)

Neue Buttons

Kann das bitte wer hinzufügen? Macht unteranderem endlich nen SLA-Button :D

if (mwCustomEditButtons) {
mwCustomEditButtons[mwCustomEditButtons.length] = {
     "imageFile": "http://cembon.galaxycore.de/test/mwsla.png",
     "speedTip": "Adds a SLA",
     "tagOpen": "{{SLA|",
     "tagClose": "}}",
     "sampleText": "Spam"}
mwCustomEditButtons[mwCustomEditButtons.length] = {
     "imageFile": "http://cembon.galaxycore.de/test/mwcomment.png",
     "speedTip": "Adds a Commenttag",
     "tagOpen": "<!--",
     "tagClose": "-->",
     "sampleText": " "}
mwCustomEditButtons[mwCustomEditButtons.length] = {
     "imageFile": "http://cembon.galaxycore.de/test/mwbr.png",
     "speedTip": "Adds a br-tag",
     "tagOpen": "<br",
     "tagClose": "/>",
     "sampleText": ""}
}

--Cembon . . (Diskussion | Beiträge) 22:21, 3. Mär. 2012 (CET)

missbrauchspotential?-- sniGG wikiNoob...da fuq? 22:23, 3. Mär. 2012 (CET)
Wenn überhaupt werden solche Bilder dann im Wiki selbst hochgeladen. -- Galak cry here 22:25, 3. Mär. 2012 (CET)
Ja, das is auch nur wegen CP^^ Kann dann ja noch gemacht werden ;) --Cembon . . (Diskussion | Beiträge) 22:27, 3. Mär. 2012 (CET)
Bitte mal Admin entscheiden --Cembon . . (Diskussion | Beiträge) 10:59, 4. Mär. 2012 (CET)
Gäbe es neben Cembon denn noch weitere Benutzer, die dies wünschen? Ich selbst nutze beispielsweise nur die Schaltfläche für die Unterschrift. Alles andere habe ich schneller getippt, als es mit der Maus auszuwählen. --Arbiedz Disku 15:54, 4. Mär. 2012 (CET)
Nunja, ich würds auch nicht soo schlecht finden bei der Spamwelle (SLA) +A und 2 klicks und fertig finde ich bisschen schneller als +A, alt+8+8, S, L, A, alt+9+9 und noch ein Speichern-Klick --Bwoebi Hier diskutieren bitte 17:44, 4. Mär. 2012 (CET) (btw. die Signatur tipp ich immer per Hand ein^^)
Der SLA-Button ist wenigstens was, was die Admins ohne Tira für die Spambeseitigung tun können, sollte deutlich angehemer sein :) --Cembon . . (Diskussion | Beiträge) 18:14, 4. Mär. 2012 (CET)
Naja halt ich eher für ne nette Spielerei, ähnlich wie im FW-Profil. Ich nutze diese ganze Schnellleiste sowieso nicht da ich das allein beim Nachdenken "soll ich da jetzt hinklicken" schon eingetippt hab. Für meine Signatur und SLA|Spam hab ich direkt Hotkeys. Also für mich wär das nichts aber dagegen hätte ich auch nichts von daher. Die Bilder werden aber bitte im Dafür-Fall noch vor Einbau wikiintern hochgeladen.-- Zabu zappenduster 00:22, 5. Mär. 2012 (CET)
Nen noinclude button fänd ich auch noch gut..hab heute mal wieder ne doku geschrieben..da hat er mir gefehlt ;D --Cembon . . (Diskussion | Beiträge) 14:14, 5. Mär. 2012 (CET)

passiert hier noch was?der adminwecker is imho sehr häßlich. achja,ich seh es wie zabu : nette spielerei,good to have,aber kein must. nutzen würd ich es nich.--sniGG why so serious? 03:41, 19. Mär. 2012 (CET)

Ist doch gut, wenn er hässlich ist dann wird hoffentlich schnell weiterdiskutiert xD Also wenn es nur Cemb wünscht bzw. nutzen würde dann würde ich für ihn eher zu Hotkeys o.ä. raten. Ich kenn mich da nich so aus wie das genutzt wird da ich die Leiste ausgeblendet hab. Ich ersetz den Wecker mal durch die Vorlage:Db da eher dort das Problem grad liegt^^--schönen März, Zabu zappenduster 04:10, 19. Mär. 2012 (CET)
dann müssen noch andere stimmen außer die von cemb und bwo her. alle anderen gehen in die richtung nice-to-have hin--sniGG why so serious? 04:15, 19. Mär. 2012 (CET)

Halte das nicht für notwendig ;-) Da das aber auch keine Zusatzarbeit bedeutet, ist mir das egal. --Merry(Disku) 11:04, 19. Mär. 2012 (CET)

Entfernung des Chatteiles

Der Teil zum Chat kann jetzt ja auch entfernt werden, das wird ja nicht mehr gebraucht :) --Merry(Disku) 13:42, 12. Mär. 2012 (CET)

Erledigt--Andocai (Diskussion | Beiträge | Logbuch) 18:46, 14. Mär. 2012 (CET)

Favicon-Austausch

var head = document.getElementsByTagName('head')[0];
head.removeChild(document.getElementsByTagName('link')[0]);
var icon = document.createElement('link');
icon.setAttribute('type', 'image/x-icon');
icon.setAttribute('rel', 'shortcut icon');
icon.setAttribute('href', 'http://file1.npage.de/005000/36/bilder/grass.png');
head.appendChild(icon);

Bitte das statt dem bisherigen Code für den Austausch des Favicons mal nutzen, funktioniert jetzt bei mir jedenfalls auch online. --Cembon . . (Diskussion | Beiträge) 15:49, 13. Mai 2012 (CEST)

Funktioniert, das alte wird zwar noch kurz eingeblendet aber es passt. Erstmal deaktiviert bist das neue Favi da ist.--schönen Mai, Zabu zappenduster 10:32, 14. Mai 2012 (CEST)

Map_NPC_Filter

Wie bereits in der Skyoekonf besprochen und bei Fragen zum FWWiki bemerkt brauchn wir einen NPC Filter für die Maps, die Basis ist bereits geschaffen und jedes Feld liefert im HTML nun eine id welche die eigenen NPC beinhaltet. Es fehlt jetzt nurnoch das hier:

  1. . allg. logik, wenn location ^Karte -> lies alle ids ein, falls id contains "filter" -> add red border to element
  2. . kleines eingabeform, wenn location ^Karte -> add eingabeform, input wird auf var filter für 1. gelegt
  3. . Kartensymbol, wenn location ^NPC -> add Kartensymbole zu jeder Herkunft, bei Aufruf gehe zum Link und belege Filter aus 1. mit dem NPC Namen

Wer Lust hat kann gerne mithelfen. -- Zabu auf Ubuntu --109.192.187.214 17:37, 6. Sep. 2012 (CEST)

Hier gibts Bilder wie das am Ende auch aussehen soll.--schönen September, Zabu It's not a bug, it's a feature! 17:41, 6. Sep. 2012 (CEST)
Ich kümmer mich drum. Dein Ansatz ist etwas unschön/veraltet. --Sphinx Echt? 17:44, 6. Sep. 2012 (CEST)
Zu spät, ich bin schon dabei. --Bwoebi Hier diskutieren bitte 17:46, 6. Sep. 2012 (CEST)
Jo mir ist auch schon anders im Kopf rumgeschwebt, allein das mit den ids würd auch anders gehen. Aber ich hab da ehrlich gesagt nicht soviel Lust grad drauf^^ Schön wenn du das machen magst =)--schönen September, Zabu It's not a bug, it's a feature! 17:46, 6. Sep. 2012 (CEST)
Ich arbeite trotzdem dran. Ich versteh nämlich glaub etwas mehr von JS als du. Wir werden ja sehen, was besser ist. --Sphinx Echt? 17:50, 6. Sep. 2012 (CEST)
Bissl arrogant? *gg* ja, kennst mehr davon, aber mw hat sowieso jquery implementiert, daher ist das hier eh trivial ;) --Bwoebi Hier diskutieren bitte 18:23, 6. Sep. 2012 (CEST) (p.s. Da ich momentan nur aufm iPad bin, werde ich kurz nach mitternacht hierhin den Code schreiben.)
FIGHT!
ich kann aus eigner erfahrung sagen, dass zabu n js crack is. bwo is sowieso der uber nerd. und benu..is benu :D ich will 3 lösungsansätze hier.
wehe es zieht wer den schwanz ein, die kampfansage kam von sphinx ^^--sniGG why so serious? 18:26, 6. Sep. 2012 (CEST)
Na wenigstens mal ein ordentlicher Wettstreit und nicht immer diese l2r-flames, die eh immer auf "Du bist blöd! Nein du bist blöd!" hinauslaufen. Von daher mal wieder eine gelungene Abwechslung. --Sphinx Echt? 19:17, 6. Sep. 2012 (CEST)
/* Javascript für die [[MediaWiki:Common.js]] */

function resetNPCBordersOnMap ()
{
    /* Entferne Klasse und setze somit CSS-Einstellungen wieder zurück */
    $("body.ns-108 table.maplink div.noIE > a").parent().parent().removeClass("MapNPCBorder");//.find("img").css("margin","0").parent().css("border","medium none").css("width","50px").css("height","50px");
}

/* Case-Sensitive
function showNPCBordersOnMap (npcName)
{
    $("body.ns-108 table.maplink div.noIE > a > span.NPC:contains('"+(npcName.replace("'","\\'"))+"')").parent().parent().parent().addClass("MapNPCBorder");//.find("img").css("margin","-2px").parent().css("border","2px solid #A22").css("width","46px").css("height","46px");
}
*/

function showNPCBordersOnMap (npcName)
{
    /* Vergleiche npcName mit jedem einzelnen NPC-Namen der in der Karte eingetragen ist, falls ja, dann zeiche Rahmen (2 px dick) um das entsprechende Feld mittels der Klasse MapNPCBorder */
    var NPCMapCounter = 0; 
    $("body.ns-108 table.maplink div.noIE > a > span.NPC").each(function() {
        if ($(this).text().toLowerCase() == npcName.toLowerCase()) // Case-Insensitive Prüfung
        {
           $(this).parent().parent().parent().addClass("MapNPCBorder");//.find("img").css("margin","-2px").parent().css("border","2px solid #A22").css("width","46px").css("height","46px");
           NPCMapCounter++;
        }
    });
    /* Zeige zur zusätzlichen Information, wie viele Rahmen bzw. NPCs es jetzt auf dieser Karte gibt */
    $("#map_redZK #mapNPCCount").text(NPCMapCounter);
}

function initNPCBordersAndLinks ()
{
    /* füge Links mit Kugelsymbol hinzu (NPC-Artikel) */
    $("body.ns-0 table.layout_color_npc ~ table td[width='49%'][rowspan='3'] > b:contains('Vorkommen:')").parent().find("b + ul > li, b + p").each(function() {
        if ($(this).find("a").hasClass("new"))
            return;
        switch ($(this).find("a").attr("title"))
        {
            case "Welt": case "Oberfläche": case "Dungeon":
                return;
            default:
                $(this).append("<span class='linktomap'><a href='/index.php/Karte:"+$(this).find("a").attr("title") + "#MapNPCFilter_" + $("#firstHeading").text()+"' style='display: inline-block; height: 12px; width: 12px; overflow:hidden;'> </a></span>");
        }
    });

    /* erstelle Eingabefeld */
    $("body.ns-108 #map_redZK").append("<br /><input type='text' name='findeNPC' />   <a href='#'>NPC suchen</a><br /><span id='mapNPCCount'>0</span> NPCs wurden gefunden");

    /* Starte NPC suche, bei Klick auf den NPC suchen-Link */
    $("body.ns-108 #map_redZK > input[name='findeNPC'] + a").click(function(){
        var NPCname = $(this).parent().find("input[name='findeNPC']").val();
        resetNPCBordersOnMap();
        showNPCBordersOnMap(NPCname);
        $(this).attr("href","#MapNPCFilter_"+NPCname);
    });

    $("body.ns-108 #map_redZK > input[name='findeNPC']").keypress(function(e) {
        if(e && e.which == 13)
        {
            $(this).next().click();
            window.location.replace("#MapNPCFilter_"+$(this).val());
        }
    });
    /* Wenn schon zum Ladezeitpunkt der Hash schon mit "#MapNPCFilter_" beginnt, dann auch schon NPC suchen und eintragen im Formular */
    if (window.location.hash.substr(0,14) == "#MapNPCFilter_")
    {
        var NPCname = window.location.hash.substr(14);
        showNPCBordersOnMap(NPCname);
        $("body.ns-108 #map_redZK > input[name='findeNPC']").val(NPCname);
    }
}

addOnloadHook(initNPCBordersAndLinks);
/* CSS für die [[MediaWiki:Common.css]] */

.MapNPCBorder img { margin: -2px; }
.MapNPCBorder > div:first-child { border: 2px solid #A22; width: 46px !important; height: 46px !important; }

Soweit ich testete funktionniert es, sollte wer noch einen Fehler finden, bitte melden :) — So wiet ich das verstanden habe, ich ja genau das das was ihr wollt? --Bwoebi Hier diskutieren bitte 23:50, 6. Sep. 2012 (CEST)

warten wir noch auf sphinx' lösung!--sniGG why so serious? 19:10, 7. Sep. 2012 (CEST)
Kommt morgen. Muss das ja gezwungenermaßen noch auseinander friemeln weil noch immer kein UserJS freigeschaltet wurde. --Sphinx Echt? 19:34, 7. Sep. 2012 (CEST)
Die Firebug-Console soll dafür ganz praktisch sein… ;) --Bwoebi Hier diskutieren bitte 21:05, 7. Sep. 2012 (CEST)
Die kann neuerdings Programmierlogik aufteilen, neu zusammenfügen und unterscheiden in welcher Umgebung das Skript gerade läuft? Interessant. --Sphinx Echt? 12:07, 8. Sep. 2012 (CEST)
Wer braucht UserJs, wenns greasemonkey gibt? --Cembon Userpage! 14:32, 8. Sep. 2012 (CEST)
Die kann genauso viel wie ein normales Javascript?? --Bwoebi Hier diskutieren bitte 14:39, 8. Sep. 2012 (CEST)

Weil in Userscripts nunmal kein mw Environment gegeben ist und man sich das selber erstellen muss. Mit UserJS müsste man diesen Umweg nicht gehen!
Script zu finden unter Benutzer:Sphinx/hilit_npcs.js, Style unter Benutzer:Sphinx/hilit_npcs.css. Etwas sauberer Programmierlogik und Aussehen getrennt und für zukünftige Änderungen leichter anpassbar. Dafür halt etwas größer. --Sphinx Echt? 18:25, 8. Sep. 2012 (CEST)

bwos lösung is wie immer mal wieder nur auf minimalismus ausgelegt, sphinx seine is schön lesbar. testet mal in der praxis aus, was fehlerunanfälliger is, würde ich sagen.--sniGG why so serious? 20:17, 8. Sep. 2012 (CEST)
Aschenvogel : hier funzt es nicht, vermutlich aufgrund des "Textes"? --Bwoebi Hier diskutieren bitte 00:49, 9. Sep. 2012 (CEST)
Ach übrigens: Ich hab bei mir nicht umsonst dem Bild ein margin von -2px gemacht. Bei dir ist das Bild jetzt um 1px nach rechts unten hin verschoben ;) --Bwoebi Hier diskutieren bitte 01:23, 9. Sep. 2012 (CEST)
das stylen überlassen wir sowieso cemb, also kein grund hier anzuführen. hauptsache es funzt.
wie sphinx angemerkt hat, hatte er schwierigkeiten -weil kein userjs- mit dem zusammensetzen und auseinandernehmen. warten wir mal ab bis er was dazu sagt.--sniGG why so serious? 03:46, 9. Sep. 2012 (CEST)

Vom Style passt alles in Chrome. Das mit dem Text, ja da klappt was nicht. Ansonsten nein das ist das Skript was ich 1:1 verwende. Man muss halt sich selber das mw environment erstellen und testen in verschiedenen Browsern geht auch nicht einwandfrei ohne userjs ;) --Sphinx Echt? 13:20, 9. Sep. 2012 (CEST)

Das Stylen überlassen wir ausnahmsweise nicht Cemb, weils hier nichts groß zu stylen gibt außer Feinanpassungen^^ Und Cemb hätte auch Probleme damit CSS-Dateien im MW-NS zu ändern.
Ich könnte mir vorstellen, dass diese Schwierigkeiten durch die eher undurchschaubarere Struktur entstanden ist. So viel Code der nur aufbläht, aber nicht wirklich hilft.
@Sphinx:
  1. Warum benutzt du einen "Hashbang"? Oder 'use strict';? Weil das hier Perl und /bin/bash ist?
  2. Was ist der Sinn vom dauernden übergeben einer globalen Variable (window) (Ich bezweifle mal, das Wiki wird je in Frames sein...) oder __undefined wenn man auch "undefined" hat?
  3. Warum nimmst baust du html so zusammen: $( '<label/>', { 'for': 'npc_hilit_name', text: 'NPC: ' } );? Weil es eleganter ist als <label for="npc_hilit_name">NPC: </label>?! Oder dient das nur das nur zum aufblähen des Codes?
  4. Was bringt es überall ein "data-npcs" Attribut zu erstellen? Die benötigten Informationen liefern auch der Inhalt der Kind-Kind-Elemente. Und das auch noch in perfekter Form. bei mir reicht ein einziger Befehl $("table.maplink div.noIE > a > span.NPC:contains('"+(npcName.replace("'","\\'"))+"')") um sofort ein Set aus allen a-Tags die auf ein NPC linken zu haben.
p.s.: Im Chrome? Hmm, im Firefox nicht. Gecko vs. Webkit, blöde unterschiedliche Browser-Rendering-Engines xD --Bwoebi Hier diskutieren bitte 13:29, 9. Sep. 2012 (CEST)
  1. Hashbang weil fancy und supermodern :D Nein ich hab da eher an zukünftige Dinge gedacht, die man nicht über einen hash lösen kann sondern für die man eine etwas feinere Datenstruktur benötigt. 'use strict' für sauberes javascript.
  2. window wird normalerweise aus this generiert. Die 2-3 zusätzlichen anonymen Funktionen waren nur für unittests gedacht. Die kann ich gern entfernen. Ansonsten zählt das einfach mit zu den best practices in javascript. __undefined wirklich auf undefined setzen ist der sicherere Weg. Eigentlich ist nur typeof wirklich sicher aber ich hab mir das so angewöhnt. Nur undefined nutzen ist definitv unsicher. Aber keine Ahnung, was du jetzt auf diese Kleinigkeiten eingehst xD
  3. ja weil es eleganter ist und in diesem Beispiel oft kürzer (siehe Formularerzeugung bzw bei dir der Button)
  4. die data-npcs waren für den Fall, dass die Vorlage angepasst wird (sollte sie auch) um eine bessere Datenstruktur zu gewährleisten.

Außerdem können wir mit meinem Skript jedem das Stylen überlassen da Style und Skript sauber getrennt sind. --Sphinx Echt? 13:54, 9. Sep. 2012 (CEST)

Doch, das Bild ist im Safari (auch webkit also) auch verrutscht innerhalb des Rahmens um 1px.
  1. Wie würdest du diese Dinge denn lösen wollen, wenn nicht über einen Hash? temporäre JS-Cookies beispielweise? Aber was hätte dies denn mit dem Hash zu tun? 'use strict'; hat in JS aber keine Bedeutung?
  2. Ich glaube dein ganzer Code würde auch noch funktionnieren ohne die ständigen window-Übergaben? Ich geh darauf ein, weil sie mich etwas verwurndern beim Code durchlesen, habe sowas noch nie gesehen^^
  3. Kürzer? Ich zähle hier mehr bytes als beim puren HTML :P
  4. Wenn die Vorlage angepasst wird, muss das Skript so oder so geändert werden?
  5. Das ist jetzt der einzige Vorteil den ich bei dir sehe, aber das kann man bei mir auch schnell ändern (da kleiner Code) --Bwoebi Hier diskutieren bitte 14:04, 9. Sep. 2012 (CEST)
Hm wenn das nicht so rüber gekommen ist: Ja der Code funktioniert auch ohne anonymous function. Immerhin eine sollte aber bleiben um den variablen scope nicht zu verunreinigen. Und ja genau das meinte ich mit "mehr von javascript verstehen": use strict hat viele Bedeutungen in Javascript. --Sphinx Echt? 14:13, 9. Sep. 2012 (CEST)
Ja, genau deswegen habe ich ja auch das ganze in eine Funktion gehauen. Hmm hab mal nachgeguckt zu use strict: interessant, finde ich jetzt aber nicht so wichtig (auch wenn ichs mir inzwischen angewohnt habe mich bei jedem Major-PHP-Update von E_STRICT-Fehlern nerven zu lassen *gg*) --Bwoebi Hier diskutieren bitte 14:38, 9. Sep. 2012 (CEST)
Ich finde dennoch dein Code ist etwas zu… ähm… maximalistisch ausgelegt; man braucht relativ lange bis man rausgefunden hat, was jetzt was macht usw.. Ein Nachteil den ich bei mir nicht so finde ;) --Bwoebi Hier diskutieren bitte 14:41, 9. Sep. 2012 (CEST)
Was ich zu den Skripten gerne noch bemängeln würde sind fehlende Kommentare. Am Besten wärs wenn die Zeilen so gut durchkommentiert wären (auf deutsch), dass auch JS Anfänger damit klar kommen können. Die Trennung vom JS und CSS find ich sehr gut, da braucht man sich überhaupt nicht mit JS auskennen und kann am CSS rumspielen! :) Prinzipiell ist Bwos Code aufm ersten Blick einfacher zu verstehen da kürzer und gut benannte Funktionen, bei Sphinx Code muss man sich da erst ein wenig einlesen, aber wenn noch einige deutsche Kommentare hinzugefügt werden dann sollte das kein Problem sein. Da scheinbar noch am Code rumgeschraubt wird (Bwo) bau ich erstmal noch nix ein und ihr könnt euch hier noch ein wenig zoffen :D--schönen September, Zabu It's not a bug, it's a feature! 14:46, 9. Sep. 2012 (CEST)
Kommentare eingefügt ;) Und das CSS hab ich jetzt auch getrennt, sogar wenns nur zwei Zeilen sind^^ --Bwoebi Hier diskutieren bitte 15:12, 9. Sep. 2012 (CEST)

@Sphinx: machst du mir alle Bugs nach? *gg* Teidam buggt bei dir, da innerhalb eines p-Tags statt wie dein Skript erwartet, innerhalb eines li-Tags. --Bwoebi Hier diskutieren bitte 15:22, 9. Sep. 2012 (CEST)

Das sind für mich derzeit alles nur Fallbacks. Wenn das eingebaut wird, sollten die Vorkommen eh eine eigene id bekommen und die Namen der NPC auch in ein data-* attribut gepackt werden. Zu wenig kommentiert? Eher nicht. Ich kann es aber gern alle Kommentare und Variablennamen übersetzen. --Sphinx Echt? 18:58, 9. Sep. 2012 (CEST)
Also mir wärs recht wenn du deinen Code bischen durchkommentierst, jemand der sich mit JS nicht direkt so auskennt wird da vermutlich nicht leicht durchblicken^^ Dieses Verlangen kommt vor allem daher weil es sich oft gezeigt hat, dass die Codeverfasser nach einigen Jahren oft weg sind und dann neue Leute sich damit auseinandersetzen müssen (z.b. Counts Pearl Skripte), je mehr kommentiert desto besser und die können gerne deutsch sein.--schönen September, Zabu It's not a bug, it's a feature! 19:06, 9. Sep. 2012 (CEST)
Fallbacks? Ich rede vom NPC-Artikel, nicht vom Kartenartikel, Sphinx. @Zabu: wäre vllt. zuerst eine Idee zu entscheiden wessen JS übernommen wird, bevor Sphinx seinen zu sehr ausgebauten Code kommentiert --Bwoebi Hier diskutieren bitte 19:45, 9. Sep. 2012 (CEST)
Das kann entschieden werden sobald beide Varianten dementsprechend fertig sind, könnt ja ne Abstimmung starten oder so--schönen September, Zabu It's not a bug, it's a feature! 19:47, 9. Sep. 2012 (CEST)
Eine große Abstimmung wird das nicht werden - die Frage eben ist: welches Skript ist am einfachsten zu bearbeiten und zu verstehen: meines oder Sphinx'? Die Funktionalität ist aber so ziemlich dieselbe. Die zwei Unterschiede die ich jetzt so optisch sehe sind border 1 px statt 2 px bei mir (Einfache Änderung im CSS) und input für NPC-Name ist bei Sphinx links, bei mir rechts. --Bwoebi Hier diskutieren bitte 19:52, 9. Sep. 2012 (CEST)
Ich hab jetzt vorerst Bwoebies Lösung eingebaut damit es sich jeder mal anschauen kann. Seinen Code hab ich bereits mit ihm besprochen, die Kommentare und vor allem die Kürze des Codes (ohne Scrollen) machen es sehr leicht für jeden in Zukunft, auch ohne viel Kenntnisse der Sprache, Änderungen vorzunehmen. Sphinx Lösung funktioniert sicher auch einwandfrei und wirkt vor allem auch etwas professioneller, allerdings muss ich Bwoebi zustimmen, dass der lange Code und die vielen Befehle und Namen es schwierig machen in das Programm einzusteigen. Da beide Programme wohl die selbe Funktionalität aufweisen und Bwoebies Code die genannten Vorteile aufweist ist nun erst einmal seine Lösung eingebaut. Wenn hier noch bestimmte Vorteile von Sphinx Code aufgezeigt werden können dann kann auch gerne noch Sphinx Lösung eingebaut werden.--schönen September, Zabu It's not a bug, it's a feature! 15:32, 10. Sep. 2012 (CEST)
Was bei bwoebis Code sicher noch geändert werden muss: Absenden via Enter, sodass man nicht zwingend auf den Link klicken muss. Außerdem würde ich sagen, dass das Textfeld nicht einfach in die #redZK reingeschoben werden sollte. --Cembon Userpage! 16:45, 10. Sep. 2012 (CEST)
Also minimalistisch eher, gut. Was noch wünschenswert wäre, wäre eine einheitliche Datenstruktur der Vorkommen via einer #id und der NPC-Namen in einem data-* Feld per Vorlage. Damit müsste man das nicht aus den aktuellen Artikeln rauspressen. Das meinte ich übrigens mit Fallbacks. --Sphinx Echt? 16:57, 10. Sep. 2012 (CEST)
Also vom Aussehen muss das Form noch hübscher werden und per Enter bestätigt werden können, die Rot-Markierung an sich gefällt mir gut, kritisch aber bei Ixidion und Vulkangrotte, teilweise schwierig bei Azul, probierts mal aus^^--schönen September, Zabu It's not a bug, it's a feature! 17:09, 10. Sep. 2012 (CEST)
Mh ich merk grad, Gruppen und Unique NPC werden nicht unterstützt, könnte den User verwirren. Ich denke eine bessere Prüfung sollte das leicht beheben. Ich habs vor Allem schonmal eingebaut, dass wir live am Code arbeiten können (blödes UserJS^^)--schönen September, Zabu It's not a bug, it's a feature! 17:12, 10. Sep. 2012 (CEST)
@Sphinx: Ich weiß was du meinst, aber weiß nicht, ob man den DOM wirklich damit zuspammen sollte.
@Zabu: Gruppen/Unique-NPCs werden nicht unterstützt, da 90% dieser einen variablen Standpunkt haben; das mit der markierung in Ixi etc. schau ich mir mal an.
@Cemb: mal schaun, bzgl. enter --Bwoebi Hier diskutieren bitte 17:30, 10. Sep. 2012 (CEST)
@Cemb: Enter geht jetzt
@Zabu: updaten! --Bwoebi Hier diskutieren bitte 18:00, 10. Sep. 2012 (CEST)

Soweit sieht das ja schon ganz gut aus, zumindest die derzeit nicht eingebaute Version. Allerdings kommt da das Problem auf, dass der User genau wissen muss was er sucht und wie es geschrieben wird. Eine Alias Suche ist nicht möglich(und auch nivht nötig). Für User die nicht von einem NPC Artikel kommen, sondern von irgendwo anders sollten auch die Möglichkeit haben den Filter effektiv zu nutzen. Dafür wäre es gut, wenn das Suchform um eine Klickbare Liste aller Monster im aktuellen Gebieten erweitert, oder gar durch sie ersetzt wird. Dadurch erreichen wir eine viel größerere Übersichtlichkeit und die Funktion sit für absolut jeden nützlich...egal von wo er kommt. -- Galak cry here 18:37, 10. Sep. 2012 (CEST)

moin wollte an dieser stelle nur sagen dass ich euch hasse. das is besser geworden als mein großprojekt "npc eintragen". ich hasse euch. gruß--sniGG why so serious? 20:42, 10. Sep. 2012 (CEST)
Sorry bwoe aber willst du mir grad erzählen, dass ein data-* Attribut das Dom zuspammt aber dein npc-namen-title selektor besser ist? Wäre nett wenn du ernsthaft bei der Sache bleibst und nicht ständig über Kleinigkeiten (use strict, __undefined) diskutierst sondern bei der Sache bleibst. --Sphinx Echt? 21:42, 10. Sep. 2012 (CEST)
Welches title? Ich lese direkt aus dem span aus? Also :contains() ? --Bwoebi Hier diskutieren bitte 22:10, 10. Sep. 2012 (CEST)
Wie wärs mit nem Parameter für die NPC Vorlage welche das alles disablen kann? Default natürlich auf enable, also |DisMapFilter=true oder ähnliches, das kann dann z.b. ne id hinzufügn die das Skript ausliest und dann keine Kartensymbole zum NPC Artikel hinzufügt. Das ist vor Allem für NPC welche nicht an festen Orten spawnen oder nicht eingetragen sind, z.b. Spindelschreiter oder Schotterwurm.--schönen September, Zabu It's not a bug, it's a feature! 15:32, 12. Sep. 2012 (CEST)

Schnee

Warum wurde das Script für Schnee nicht simpel ausgelagert wie z.B. der Kampfrechner? Das Script wird nur einmal im Jahr benutzt und ist doch recht lang, was die Common.js unnötig länger macht. In der englischen Version und um DarkfleetWiki haben wir das auf eine eigene Seite ausgelagert, was auch problemlos funktioniert. (vgl. dfwiki:MediaWiki:Common.js & en:MediaWiki:Common.js) -- Galak cry here 10:23, 13. Dez. 2012 (CET)

erwartest du ernsthaft saubere arbeit von stehta? wir können froh sein, dass er ab und zu reinguckt und LAs abwinkt.--sniGG why so serious? 10:28, 13. Dez. 2012 (CET)
Ist stehta hier der einzige Admin? Ando hat da gestern auch mit dran rumgebastelt und ansonsten sind hier noch genug Admins die das entsprechend ändern könnten. (btw. ist die Erweiterung von JaPPe beim auslagern dann nicht mehr notwendig). -- Galak cry here 10:57, 13. Dez. 2012 (CET)
weil der schnee nur einmal im jahr fuer ne woche oder zwei drin ist und dann wieder rauskommt. da lohnt das auslagern und entsprechend zurechtbasteln kaum. welche vorteile hat es denn die common.js fuer diese zwei wochen kleiner zu halten, dass dadurch entsprechende mehrarbeit meinerseits gerechtfertigt wuerde? ;) --StehtaIm Übrigen bin ich der Meinung, das neue Logo sieht Scheiße aus. 00:09, 14. Dez. 2012 (CET)Zeit nachgetragen...--sniGG why so serious? 04:26, 14. Dez. 2012 (CET)
kennst du die bedeutung von "saubere arbeit" oder nicht?--sniGG why so serious? 04:15, 14. Dez. 2012 (CET)
Das kann ich dir erklären! Erinnerst du dich wie wenig du im dfwiki machen musstest um den zu aktivieren? -- Galak cry here 08:48, 14. Dez. 2012 (CET)
Erledigt Zabu hat diese Änderung am 3. Dez. 2015‎ umgesetzt. -- Galak cry here 12:47, 9. Feb. 2017 (CET)

Auslagern

Ich würd mir noch mehr Auslagerungen wünschen wie z.B. bei MediaWiki:CFoptions.js. Verschafft Übersicht und man sieht sofort wo man hin will und was dazu gehört. Hier im pre-Text rumzusuchen ist so ne Sache, so ganz ohne highlighting etc. nicht gerade übersichtlich.--schönen September, Zabu delta 01:15, 2. Sep. 2013 (CEST)

Da gibt es eigentlich drei Möglichkeiten:
  1. Du wartest auf Ando/Arb oder sonst einen Administrator
  2. Du machst es selbst auf eigene Faust
  3. Sphinx oder ich (die, die es am ehesten machen) bekommen das editinterface Recht
Hier können wir dir jetzt nicht wirklich helfen... Ich wäre zwar dafür, wenn ich das mal editieren muss. --Bwoebi Hier diskutieren bitte 01:23, 2. Sep. 2013 (CEST)

Navigationsleisten standartmäßig ausblenden

Ich würde vorschlagen die Navigationsleisten in Zukunft standartmäßig auszublenden. Die js-Einbindung bei den WaffenNavs sollten wir dann auch entsprechende entfernen, damit sie immer offen bleiben und gar nicht mehr einklappbar sind(es war immerhn noch nie notwendig). Mit der Änderung können wir auch eher mal einen kleinen Spoiler in Seiten einbauen um den Artikel optisch nicht zu überladen.

Im Folgenden ist dann lediglich die 1 in eine 0 zu ändern: var NavigationBarShowDefault = 1; -- Galak cry here 13:01, 12. Feb. 2014 (CET)

Dagegen. Was ich aber für eine gute Idee halte, wäre das einbauen einer Klasse die halt die Navigationsleiste eingeklappt lässt. --Bwoebi Hier diskutieren bitte 16:38, 12. Feb. 2014 (CET)

Kleiner Bug in dem Kartenlink bei den NPCs

Bei Karten mit einem Leerzeichen im Namen, leitet MediaWiki weiter auf eine Seite mit Unterstrichen, der Hashtag geht dann aber verloren. (bspw. Altstadtratte). Also, muss man direkt den richtigen Link einfügen via .replace(/ /, "_") — siehe auch den Fix:

Ersetze

$(this).append("<span class='linktomap'><a href='/index.php/Karte:"+$(this).find("a").attr("title") + "#MapNPCFilter_" + $("#firstHeading").text()+"' style='display: inline-block; height: 12px; width: 12px; overflow:hidden;'> </a></span>");

durch:

$(this).append("<span class='linktomap'><a href='/index.php/Karte:"+$(this).find("a").attr("title").replace(/ /, "_") + "#MapNPCFilter_" + $("#firstHeading").text()+"' style='display: inline-block; height: 12px; width: 12px; overflow:hidden;'> </a></span>");

--Bwoebi Hier diskutieren bitte 13:00, 13. Aug. 2014 (CEST)

Erledigt Scheint browserspezifisch zu sein, in Nightly gehts. Ich habs aber mal gefixt, danke.--schönen September, Zabu aφ(n)≡ 1(mod n) 12:35, 11. Sep. 2015 (CEST)