Erweiterung für SGU-Fernbedienung; Skriptimport nur für die entsprechende Seite |
KKeine Bearbeitungszusammenfassung |
||
| (15 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 2: | Zeile 2: | ||
* JS-Skript für interaktives DHD | * JS-Skript für interaktives DHD | ||
* Für Import des Skripts einfach folgende Zeile (ohne den Stern am Anfang natürlich) in der eigenen Common.js einfügen: | * Für Import des Skripts einfach folgende Zeile (ohne den Stern am Anfang natürlich) in der eigenen Common.js einfügen: | ||
* if(mw.config.get('wgPageName')=== | * if(mw.config.get('wgPageName')==="Benutzer:Col._o'neill/Tools") importScript("Benutzer:Col. o'neill/DHD.js"); | ||
**/ | **/ | ||
//TODO: ausgewählte Symbole | //TODO: ausgewählte Symbole bei SGU in Fernbedienungsfeld? Symbole & Mittelknopf evtl auf mouseover & click highlighten (shadow) | ||
function iLink(l,t){ | |||
return $('<a>').attr('href','http://stargate-wiki.de/wiki/'+encodeURI(l)).attr('title',l).text(t||l); | return $('<a>').attr('href','http://stargate-wiki.de/wiki/'+encodeURI(l)).attr('title',l).text(t||l); | ||
} | } | ||
var | var DHD={ | ||
dialing: false, | |||
{'name':iLink(' | counter: 0, | ||
address: [], | |||
found: null, | |||
dragging: false, | |||
angle1: 0, | |||
current: 0, | |||
stockSG1: [ | |||
{'name':iLink('Othala'),'addr':'11,27,23,16,33,03,09,01'}, | |||
{'name':iLink('Lantia'),'addr':'19,21,02,16,15,08,20,01'}, | |||
{'name':iLink('Latona'),'addr':'16,34,28,12,04,07,01'}, | |||
{'name':iLink('P2X-338'),'addr':'20,21,05,19,04,25'}, | |||
{'name':iLink('P2X-555'),'addr':'28,08,16,33,13,31,01'}, | |||
{'name':iLink('P34-353J'),'addr':'38,09,28,15,35,03,01'}, | |||
{'name':iLink("K'Tau"),'addr':'18,02,30,12,26,33,01'}, | |||
{'name':iLink('P3W-451'),'addr':'09,02,23,15,37,20,01'}, | |||
{'name':iLink('P3X-116]'),'addr':'21,13,26,17,31,09,01'}, | |||
{'name':iLink('P3X-118'),'addr':'06,26,34,37,17,21,01'}, | |||
{'name':iLink('P3X-562'),'addr':'03,28,09,35,24,32,01'}, | |||
{'name':iLink('P3X-729'),'addr':'29,08,18,22,04,25,01'}, | |||
{'name':iLink('P3X-774'),'addr':'09,19,26,17,22,05,01'}, | |||
{'name':iLink('P3X-797'),'addr':'26,02,33,24,10,32,01'}, | |||
{'name':iLink('Cimmeria'),'addr':'11,35,22,17,06,26,01'}, | |||
{'name':iLink('Carthago'),'addr':'29,08,18,22,04,25,01'}, | |||
{'name':iLink('Argos'),'addr':'24,04,20,09,15,29,01'}, | |||
{'name':iLink('P4A-771'),'addr':'27,07,15,32,12,30,01'}, | |||
{'name':iLink('P4G-881'),'addr':'09,02,23,32,12,30,01'}, | |||
{'name':iLink('P4X-377'),'addr':'25,08,18,29,04,22,01'}, | |||
{'name':iLink('P5C-353'),'addr':'27,07,15,32,12,30,01'}, | |||
{'name':iLink('Edora'),'addr':'28,24,07,09,15,03,01'}, | |||
{'name':iLink('Kheb'),'addr':'26,35,06,08,23,14,01'}, | |||
{'name':iLink('P9C-372'),'addr':'25,08,18,29,04,22,01'}, | |||
{'name':iLink('Heliopolis'),'addr':'27,07,15,32,12,30,01'}, | |||
{'name':iLink('PB5-926'),'addr':'12,36,23,18,07,27,01'}, | |||
{'name':iLink('Camelot (Ort)','Camelot'),'addr':'20,02,35,08,26,15,01'}, | |||
{'name':iLink('Hanka'),'addr':'21,13,26,17,05,37,01'}, | |||
{'name':iLink('Abydos'),'addr':'27,07,15,32,12,30,00'}, | |||
{'name':iLink('Chulak'),'addr':'09,02,23,15,37,20,07'}, | |||
{'name':iLink('Dakara'),'addr':'16,28,03,08,33,04,01'}, | |||
{'name':'die '+iLink('Erde'),'addr':'28,26,05,36,11,29,01'}, | |||
{'name':iLink('Erebus'),'addr':'22,32,04,27,23,38,01'}, | |||
] | {'name':iLink('Euronda'),'addr':'30,27,09,07,19,16,01'}, | ||
{'name':iLink('Euronda'),'addr':'30,02,27,15,37,20,01'}, | |||
{'name':iLink('Martins Planet'),'addr':'24,12,32,29,11,34,01'}, | |||
{'name':'den '+iLink('NID-Stützpunkt'),'addr':'35,16,03,19,28,15,01'}, | |||
{'name':iLink('Praklarush Taonas'),'addr':'29,03,31,34,05,17,01'}, | |||
{'name':'den '+iLink('Sangreal-Planet','Sangreal-Planeten'),'addr':'30,19,34,09,33,18,01'}, | |||
{'name':iLink('Tollana'),'addr':'04,29,08,22,18,25,01'}, | |||
{'name':iLink('Vorash'),'addr':'38,09,28,35,03,37,01'} | |||
], | |||
stockSGA: [ | |||
{'name':iLink('M4X-337'),'addr':'02,05,15,08,31,33,19'}, | |||
] | {'name':iLink('Athos'),'addr':'10,07,34,26,28,20,19'}, | ||
{'name':'den '+iLink('Heimatplanet (Genii)','Heimatplaneten')+' der '+iLink('Genii'),'addr':'36,15,13,24,03,23,19'}, | |||
{'name':iLink('Hoff'),'addr':'31,24,09,26,15,05,19'}, | |||
{'name':iLink('Lucius Luvin','Lucius Luvins')+' '+iLink('Planet (SGA 3x03)','Planeten'),'addr':'01,23,30,32,22,18,19'}, | |||
] | {'name':iLink('Sateda'),'addr':'27,24,18,04,15,34,19'}, | ||
{'name':iLink('M65-PL8'),'addr':'28,27,31,16,33,17,19'}, | |||
{'name':iLink('P3M-736'),'addr':'34,05,25,11,03,01,19'}, | |||
{'name':'die '+iLink('Erde'),'addr':'26,27,16,12,30,31,03,19'} | |||
], | |||
stockSGU: [ | |||
{'name':'den '+iLink('Planet (SGU 1x08)','Dschungelplaneten'),'addr':'03,34,12,07,19,10,17'}, | |||
{'name':'die '+iLink('Erde'),'addr':'10,15,20,26,28,13,18,06,30'} | |||
], | |||
stock: null, | |||
init: function(){ | |||
DHD.stock = DHD.stockSG1; | |||
$('.DHDGlyph,.DHDConfirm').css('cursor','pointer'); | |||
$('#DHDResult').text('Du hast noch kein Symbol angewählt.'); | |||
$('#DHDGalaxyChoose').append("<input type='radio' value='sg1' name='DHDgalaxy' checked='true'>für Milchstraßen-Stargates<br /><input type='radio' value='sga' name='DHDgalaxy'>für Pegasus-Stargates<br /><input type='radio' value='sgu' name='DHDgalaxy'>für Stargates der ersten Generation"); | |||
$( | $("input[name='DHDgalaxy']").change(function(){ | ||
alert('Der GalaxySwitcher ist im Moment noch im Aufbau und Nicht-Milchstraßen-Anwahlen noch nicht möglich!'); | |||
switch($(this).val()){ | |||
case 'sg1': | |||
DHD.stock = DHD.stockSG1; | |||
$('#DHDUrspr').text('der Erde'); | |||
$('#DHDSGA,#DHDSGU').css('display','none'); | |||
$('#DHDSG1').css('display','block'); | |||
if(DHD.w) DHD.w.off(); | |||
$('#DHDSGU').off('mouseup').off('mousemove'); | |||
$(' | DHD.address=0; | ||
DHD.address=[]; | |||
DHD.dialing=false; | |||
$('#DHDResList').empty(); | |||
$('#DHDResult').text('Du hast noch kein Symbol angewählt.'); | |||
$('#DHDReset').css('display','none'); | |||
break; | |||
case 'sga': | |||
DHD.stock = DHD.stockSGA; | |||
$('#DHDUrspr').text('von Atlantis'); | |||
$('#DHDSG1,#DHDSGU').css('display','none'); | |||
$('#DHDSGA').css('display','block'); | |||
if(DHD.w) DHD.w.off(); | |||
$('#DHDSGU').off('mouseup').off('mousemove'); | |||
DHD.counter=0; | |||
DHD.address=[]; | |||
DHD.dialing=false; | |||
$('#DHDResList').empty(); | |||
$('#DHDResult').text('Du hast noch kein Symbol angewählt.'); | |||
$('#DHDReset').css('display','none'); | |||
break; | |||
case 'sgu': | |||
DHD.stock = DHD.stockSGU; | |||
$('#DHDUrspr').text('der Destiny'); | |||
$('#DHDSG1,#DHDSGA').css('display','none'); | |||
$('#DHDSGU').css('display','block'); | |||
if(!DHD.w){ | |||
DHD.w=$('#DHDSGU-wheel'); | |||
DHD.w.css('cursor','grab'); | |||
DHD.cX = DHD.w.offset().left + 220; | |||
DHD.cY = DHD.w.offset().top + 220; | |||
} | |||
DHD.w.on('mousedown', function(e){ | |||
DHD.dragging = true; | |||
DHD.angle1 = Math.atan2(DHD.cY - e.pageY, e.pageX - DHD.cX); | |||
DHD.w.css('cursor','grabbing'); | |||
}); | |||
$('#DHDSGU').on('mouseup', function(){ | |||
DHD.dragging = false; | |||
DHD.w.css('cursor','grab'); | |||
var v = DHD.w.css('-ms-transform') || DHD.w.css('-webkit-transform') || DHD.w.css('transform'); | |||
var ang = 0; | |||
if(v !== 'none') { | |||
var values = v.split('(')[1].split(')')[0].split(','); | |||
ang = Math.round(Math.atan2(values[1], values[0])*(180/Math.PI)); | |||
} | |||
DHD.current = (ang < 0) ? ang + 360 : ang; | |||
}); | |||
$('#DHDSGU').on('mousemove', function(e){ | |||
if (DHD.dragging) { | |||
var angle2 = Math.atan2(DHD.cY - e.pageY, e.pageX - DHD.cX); | |||
var a=DHD.current+(DHD.angle1-angle2)*(180/Math.PI); | |||
DHD.w.css('transform', 'rotate('+a+'deg)'); | |||
DHD.w.css('-webkit-transform', 'rotate('+a+'deg)'); | |||
DHD.w.css('-ms-transform', 'rotate('+a+'deg)'); | |||
} | |||
}); | |||
DHD.counter=0; | |||
DHD.address=[]; | |||
DHD.dialing=false; | |||
$('#DHDResList').empty(); | |||
$('#DHDResult').text('Du hast noch kein Symbol angewählt.'); | |||
$('#DHDReset').css('display','none'); | |||
break; | |||
} | |||
}); | |||
$('.DHDGlyph').click(function(){ | |||
if(DHD.counter<9){ | |||
var gNum=$(this).attr('id').substr(4,2); | |||
if($.inArray(gNum, DHD.address)!==-1){ | |||
alert('Du hast dieses Symbol schon ausgewählt - es kann nicht zwei Mal in einer Stargate-Adresse vorkommen!'); | |||
}else{ | |||
DHD.counter++; | |||
if(!DHD.dialing){ | |||
$('#DHDResult').text('Du musst sieben bis neun Symbole anwählen und dann mit der Mittelscheibe bestätigen. Ausgewählte Symbole:'); | |||
$('#DHDReset').css('display','inline'); | |||
DHD.dialing=true; | |||
} | |||
$(this).children("img").clone().removeAttr('width').attr('height', '38px').css({'width': '', 'height': '38px', 'margin-right': '5px'}).appendTo('#DHDResList'); | |||
DHD.address.push(gNum); | |||
} | |||
}else{ | |||
alert('Whoa, whoa, nicht so viel... Eine Stargate-Adresse kann nur bis zu neun Symbolen haben!'); | |||
} | } | ||
}); | |||
$('.DHDConfirm').click(function(){ | |||
if(DHD.counter>=7){ | |||
if(DHD.address[8]){ | |||
var m=[17,21,31,35,24,11]; | |||
if((DHD.address[0]===06)&&($.inArray(DHD.address[1], m)!==-1)&&($.inArray(DHD.address[2], m)!==-1)&&($.inArray(DHD.address[3], m)!==-1)&&($.inArray(DHD.address[4], m)!==-1)&&($.inArray(DHD.address[5], m)!==-1)&&(DHD.address[6]===05)&&($.inArray(DHD.address[7], m)!==-1)&&(DHD.address[8]===01)) DHD.found="die [[Destiny]]"; | |||
}); | }else{ | ||
$('.DHDConfirm').click(function(){ | for(var i=0; i<DHD.stock.length; i++){ | ||
if(DHD.address.toString()===DHD.stock[i].addr) DHD.found=DHD.stock[i].name; | |||
} | |||
} | |||
if(DHD.found!==null){ | |||
$('#DHDResult').text('Du hast ').append(DHD.found).append(' angewählt. Stelle Dir nun einen ').append(iLink('Kawoosh')).append(' vor. :D'); | |||
}else{ | |||
$('#DHDResult').text('Zu Deinen angewählten Symbolen konnte keine passende Adresse gefunden werden. Versuch es nochmal - Du findest eine Liste aller bekannten Toradressen unter ').append(iLink('Liste von Toradressen')).append('.'); | |||
} | |||
DHD.counter=0; | |||
DHD.found=null; | |||
DHD.address=[]; | |||
DHD.dialing=false; | |||
}else{ | |||
alert('Du musst sieben bis neun Symbole auswählen!'); | |||
} | } | ||
} | }); | ||
$('#DHDReset').click(function(){ | |||
DHD.counter=0; | |||
DHD.address=[]; | |||
DHD.dialing=false; | |||
$('#DHDResList').empty(); | |||
$('#DHDResult').text('Du hast noch kein Symbol angewählt.'); | |||
$('#DHDReset').css('display','none'); | |||
}); | |||
}, | |||
$(' | |||
}; | }; | ||
$(DHD.init); | |||
$( | |||