Browse Source

Merge branch 'update-website' of https://github.com/Sv443-Network/sv443.net

# Conflicts:
#	css/index.css
#	index.html
Sven 4 years ago
parent
commit
367e906f8d

+ 8 - 0
.gitignore

@@ -0,0 +1,8 @@
+admin/*
+api/*
+cdn/*
+dev/*
+dsgvo/*
+gamejam/*
+games/*
+phpmyadmin/*

+ 25 - 0
download_free_downloading.html

@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html>
+	<head>
+		<meta charset="UTF-8">
+		<meta property="og:title" content="Down load The down Load">
+		<meta name="pagename" content="Down load The down Load">
+		<meta name="description" content="Down load The down Load">
+		<meta property="og:description" content="Down load The down Load">
+		<meta name="twitter:card" content="Down load The down Load">
+		<meta name="robots" content="all">
+		<meta name="copyright" content="Sv443 - Licensed under MIT license">
+		<meta name="author" content="Sv443 / Sven Fehler, [email protected]">
+		<meta property="og:url" content="http://sv443.net/download_free_downloading">
+		<meta property="og:image:width" content="1000">
+		<meta property="og:image:height" content="1000">
+		<link rel="manifest" href="manifest.json">
+		<link rel="stylesheet" href="css/index.css">
+		<title>Down load The down Load</title>
+	</head>
+	<body>
+		<div style="text-align:center;">
+			<img src="resources/images/download_free_download.jpg">
+		</div>
+	</body>
+</html>

+ 45 - 0
error/403.html

@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html>
+    <head>
+        <meta charset="utf-8">
+
+        <title>403 - Forbidden - Sv443 Network</title>
+
+        <style>
+            @import url("https://fonts.googleapis.com/css?family=Roboto&display=swap");
+
+            body {
+                color: white;
+                font-family: "Roboto", "Segoe UI", "Arial", sans-serif;
+                background-color: #282c34;
+                text-align: center;
+            }
+
+            h2 {
+                color: orangered;
+            }
+
+            #errContent {
+                display: inline-block;
+            }
+
+            a:not(.noul), .mimica:not(.noul) {
+                color: #8f9aff;
+                text-decoration: none;
+            }
+
+            a:not(.noul):hover, .mimica:not(.noul):hover {
+                color: #bcc2ff;
+                text-decoration: underline;
+            }
+        </style>
+    </head>
+    <body>
+        <br><br><br>
+        <div id="errContent" class="container">
+            <h2>Error 403</h2>
+            <h3>You are not authorized to access the resource at this URL.<br>
+            <a href="https://sv443.net/" target="_self">Click here to go to the main page.</a></h3>
+        </div>
+    </body>
+</html>

+ 45 - 0
error/404.html

@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html>
+    <head>
+        <meta charset="utf-8">
+
+        <title>404 - Not Found - Sv443 Network</title>
+
+        <style>
+            @import url("https://fonts.googleapis.com/css?family=Roboto&display=swap");
+
+            body {
+                color: white;
+                font-family: "Roboto", "Segoe UI", "Arial", sans-serif;
+                background-color: #282c34;
+                text-align: center;
+            }
+
+            h1 {
+                color: orangered;
+            }
+
+            #errContent {
+                display: inline-block;
+            }
+
+            a:not(.noul), .mimica:not(.noul) {
+                color: #8f9aff;
+                text-decoration: none;
+            }
+
+            a:not(.noul):hover, .mimica:not(.noul):hover {
+                color: #bcc2ff;
+                text-decoration: underline;
+            }
+        </style>
+    </head>
+    <body>
+        <br><br><br>
+        <div id="errContent" class="container">
+            <h1>Error 404</h1>
+            <h3>The page you tried to reach doesn't exist.<br>
+            <a href="https://sv443.net/" target="_self">Click here to go to the main page.</a></h3>
+        </div>
+    </body>
+</html>

+ 45 - 0
error/500.html

@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html>
+    <head>
+        <meta charset="utf-8">
+
+        <title>500 - Internal Server Error - Sv443 Network</title>
+
+        <style>
+            @import url("https://fonts.googleapis.com/css?family=Roboto&display=swap");
+
+            body {
+                color: white;
+                font-family: "Roboto", "Segoe UI", "Arial", sans-serif;
+                background-color: #282c34;
+                text-align: center;
+            }
+
+            h2 {
+                color: orangered;
+            }
+
+            #errContent {
+                display: inline-block;
+            }
+
+            a:not(.noul), .mimica:not(.noul) {
+                color: #8f9aff;
+                text-decoration: none;
+            }
+
+            a:not(.noul):hover, .mimica:not(.noul):hover {
+                color: #bcc2ff;
+                text-decoration: underline;
+            }
+        </style>
+    </head>
+    <body>
+        <br><br><br>
+        <div id="errContent" class="container">
+            <h2>Error 500</h2>
+            <h3>There was an internal server error.<br>
+            <a href="https://sv443.net/" target="_self">Click here to go to the main page.</a></h3>
+        </div>
+    </body>
+</html>

+ 0 - 0
imprint_de.html → imprint/de.html


+ 0 - 0
imprint_en.html → imprint/en.html


+ 8 - 0
index.html

@@ -154,11 +154,19 @@
     </main>
     </main>
     <footer>
     <footer>
         <div id="cookie-consent">
         <div id="cookie-consent">
+<<<<<<< HEAD
             <div class="big">
             <div class="big">
                 <h3>This website uses cookies</h3>
                 <h3>This website uses cookies</h3>
                 <p>
                 <p>
                     We use cookies to store site settings such as the theme.<br>
                     We use cookies to store site settings such as the theme.<br>
                     Please accept the usage of functional cookies to enable these features.
                     Please accept the usage of functional cookies to enable these features.
+=======
+            <div>
+                <h3>This website uses cookies</h3>
+                <p>
+                    We use cookies to store site settings such as the theme.<br>
+                    Please accept the usage of cookies to enable these features.
+>>>>>>> 4a1b32f52d903acf460f0657e60102255f712076
                 </p>
                 </p>
             </div>
             </div>
             <div id="consent-button" class="img-link cookieButton" onclick="consentGranted();"><span>Accept</span></div>
             <div id="consent-button" class="img-link cookieButton" onclick="consentGranted();"><span>Accept</span></div>

+ 19 - 0
js/detectie.js

@@ -0,0 +1,19 @@
+// https://codepen.io/gapcode/pen/vEJNZN
+function detectIE() {
+    var ua = window.navigator.userAgent;
+
+    var msie = ua.indexOf("MSIE ");
+	if (msie > 0)
+	{
+      	return parseInt(ua.substring(msie + 5, ua.indexOf(".", msie)), 10);
+    }
+
+    var trident = ua.indexOf("Trident/");
+	if (trident > 0)
+	{
+		var rv = ua.indexOf("rv:");
+		return parseInt(ua.substring(rv + 3, ua.indexOf(".", rv)), 10);
+    }
+
+    return false;
+}

+ 11 - 9
js/index.js

@@ -46,15 +46,17 @@ let langValues = {
 };
 };
 
 
 function otheronload() {
 function otheronload() {
-    if (Cookies.get("cookie-consent") == "true") {
-        if (!Cookies.get("theme_pref")) {
-            setCookie("theme_pref", "light", 7);
-            theme.select("light");
-        } else if (Cookies.get("theme_pref") == "dark")
-            theme.select("dark");
-        else {
-            theme.select("light");
-        }
+    // if (Cookies.get("cookie-consent") == "true") {
+    //     if (!Cookies.get("theme_pref")) {
+    //         setCookie("theme_pref", "light", 7);
+    //         theme.select("light");
+    //     } else 
+    if(Cookies.get("theme_pref") == "dark")
+    {
+        theme.select("dark");
+    }
+    else {
+        theme.select("light");
     }
     }
 }
 }
 
 

+ 29 - 0
not_a_shady_website.html

@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html>
+	<head>
+		<meta charset="UTF-8">
+		<meta property="og:title" content="Download 500TB of CPU">
+		<meta name="pagename" content="Download 500TB of CPU">
+		<meta name="description" content="Totally 100% genuine Website - Click to download 500TB of CPU">
+		<meta property="og:description" content="Totally 100% genuine Website - Click to download 500TB of CPU">
+		<meta name="twitter:card" content="Totally 100% genuine Website - Click to download 500TB of CPU">
+		<meta name="robots" content="all">
+		<meta name="copyright" content="Sv443 - Licensed under MIT license">
+		<meta name="author" content="Sv443 / Sven Fehler, [email protected]">
+		<meta property="og:url" content="http://sv443.net/not_a_shady_website">
+		<meta property="og:image:width" content="1000">
+		<meta property="og:image:height" content="1000">
+		<link rel="manifest" href="manifest.json">
+		<link rel="stylesheet" href="css/index.css">
+		<title>Download 500TB of CPU - totally 100% genuine Website</title>
+		
+		<meta http-equiv="refresh" content="3; URL=https://www.youtube.com/watch?v=DLzxrzFCyOs">
+	</head>
+	<body>
+		<div style="text-align:center;">
+			<h1>Download 500TB of CPU</h1>
+			<h2>Your download will start in 3 seconds!!!!!</h2>
+			<h2>Please leave a like and share and subscribe!!!!</h2>
+		</div>
+	</body>
+</html>

+ 0 - 0
privacypolicy_de.html → privacypolicy/de.html


+ 0 - 0
privacypolicy_en.html → privacypolicy/en.html


+ 137 - 0
r/css/sBot.css

@@ -0,0 +1,137 @@
+table {
+    vertical-align: top;
+}
+
+body {
+    background-color: #353535;
+    color: white;
+    font-family: "Roboto", sans-serif;
+    text-align: center;
+    font-size: 1vw;
+}
+
+a {
+    color: #7289da;
+    text-decoration: none;
+    transition: color 0.4s ease-out;
+}
+
+a:hover {
+    color: #b2c3ff;
+    text-decoration: underline;
+    transition: color 0.1s linear;
+}  
+
+.cbox {
+    background-color: #232323;
+    padding: 0.5vw;
+    border: 0.2vw solid black;
+    border-radius: 0.7vw;
+}
+
+#pagewrapper {
+    margin-top: 0.8vw;
+    width: 50vw;
+    display: inline-block;
+}
+
+#dtitle {
+    font-size: 2vw;
+}
+
+#mtable {
+    width: auto;
+    display: inline-block;
+}
+
+#pfp {
+    width: 3.2vw;
+    margin-right: 0.5vw;
+    /*border: 0.15vw solid black;
+    border-radius: 0.6vw;
+    background-color: #353535;*/
+}
+
+#mtable td.l {
+    width: 1px;
+    text-align: left;
+}
+
+#mtable td.r {
+    width: 1px;
+    text-align: center;
+    padding-left: 1vw;
+}
+
+#btns {
+    display: inline-block;
+}
+
+#btns tr td.l {
+    width: 1px;
+    text-align: right;
+}
+
+#btns tr td.m {
+    width: 1px;
+}
+
+#btns tr td.r {
+    width: 1px;
+    text-align: left;
+}
+
+#btns button {
+    position: relative;
+    bottom: 0vh;
+
+    background-color: #373737;
+    color: white;
+
+    border-radius: 0.35vw;
+    border-width: 0.2vw;
+
+    padding-left: 0.5vw;
+    padding-right: 0.5vw;
+    padding-top: 0.3vw;
+    padding-bottom: 0.3vw;
+
+    font-size: 1.5vw;
+
+    transition: background-color 0.4s ease-out, bottom 0.6s ease-out;
+}
+
+#btns button:hover {
+    position: relative;
+    bottom: 0.4vh;
+
+    background-color: #252525;
+    cursor: pointer;
+    transition: background-color 0.1s linear, bottom 0.2s ease-out;
+}
+
+#btns button:active {
+    border-color: #509950;
+}
+
+#btns td.l button {
+    border-color: #15aa15;
+}
+
+#btns td.r button {
+    border-color: #4747ee;
+}
+
+ul {
+    margin-top: 0;
+}
+
+li {
+    padding-bottom: 0.3vw;
+}
+
+i.botprefix {
+    text-decoration: none;
+    font-weight: 100;
+    font-style: normal;
+}

+ 77 - 0
r/css/tfm.css

@@ -0,0 +1,77 @@
+body {
+    background-color: #222;
+    color: white;
+    font-family: "Roboto", sans-serif;
+    font-size: 1vw;
+    margin:0;
+}
+
+canvas {
+    display: block;
+    margin: 1em auto;
+    margin-top: 0;
+    background: #333;
+    border: 1px solid #ccc;
+    cursor: grab;
+    max-height: 90vh;
+}
+
+#apB {
+    margin-left: 1vw;
+}
+
+a {
+    color: rgb(71, 187, 255);
+    transition: color 0.6s ease-out;
+    text-decoration: none;
+}
+
+a:hover {
+    text-decoration: underline;
+    color: rgb(190, 231, 255);
+    transition: color 0.1s linear;
+}
+
+canvas:active {
+    cursor: grabbing;
+}
+
+#menu {
+    width: 100%;
+    background-color: #000;
+    margin:0;
+}
+
+#menu td {
+    height: 2vw;
+    cursor: pointer;
+    width: calc(100vw/7);
+    text-align: center;
+
+    background-color: #000;
+    transition: background-color 0.6s ease-out;
+}
+
+#menu td:hover {
+    background-color: #444;
+    transition: background-color 0.1s linear;
+}
+
+#dlimg {
+    width: 2vw;
+    height: 2vw;
+    position: absolute;
+    bottom: 0.7vw;
+    right: 0.7vw;
+    z-index: 1000;
+    cursor: pointer;
+    border: 0.15vw solid white;
+    border-radius: 100%;
+    transition: bottom 0.4s ease-out, filter 0.4s ease-out;
+}
+
+#dlimg:hover {
+    bottom: 1vw;
+    filter: grayscale(100%);
+    transition: bottom 0.1s linear, filter 0.1s linear;
+}

+ 14 - 0
r/js/sBot.js

@@ -0,0 +1,14 @@
+const permissions = 523329;
+const clientID = 524324404583464960;
+
+function inviteBot() {
+    window.open(`https://discordapp.com/api/oauth2/authorize?client_id=${clientID}&scope=bot&permissions=${permissions}`);
+}
+
+document.addEventListener("DOMContentLoaded", ()=>{
+    let els = gebcn("botprefix");
+    Array.prototype.forEach.call(els, element => {
+        element.innerHTML="^";
+    });
+    
+});

+ 194 - 0
r/js/tfm.js

@@ -0,0 +1,194 @@
+const cst = {
+    zoomOffset: -17,
+    imgOffset: {
+        x: -1450,
+        y: -1700
+    },
+    canvasOffset: {
+        width: -10,
+        height: -100
+    }
+};
+
+document.addEventListener("DOMContentLoaded", ()=>{
+    setTimeout(()=>{if(location.protocol != "http:" || window.location.href.includes("https://")) window.location.href = "https://sv443.net/r/theforestmaps?complete";},1000);
+    setTimeout(()=>{if(location.protocol != "http:" || window.location.href.includes("https://")) window.location.href = "https://sv443.net/r/theforestmaps?complete";},3000);
+
+    if(localStorage.getItem("mcfrm") == undefined) {
+        var cf = true;
+        cf = confirm("Warning!\nThis page contains very large images (up to 30MB each). Make sure you are not using mobile data!\n(Also the maps might take a long time to load because of the high image resolution)\n\n\nContinue?");
+        if(!cf) return window.location.href="about:blank";
+        else localStorage.setItem("mcfrm", "true");
+    }
+
+    let wlh = window.location.href;
+    window.addEventListener("resize", () => window.location.href = "");
+    if(!wlh.includes("complete") && !wlh.includes("routesOnly") && !wlh.includes("areasOnly") && !wlh.includes("allNoMap") && !wlh.includes("routesOnlyNoMap") && !wlh.includes("areasOnlyNoMap")) window.location.href = window.location.href + "?complete";
+    else createMap("https://sv443.net/r/resources/images/tfm/" + wlh.split("?")[1] + ".png");
+});
+
+function changeMap(URL) {
+    let nurl;
+    if(window.location.href.includes("?")) nurl = window.location.href.split("?")[0];
+    else nurl = window.location.href;
+    window.location.href = nurl + "?" + URL;
+}
+
+function Download(url) {
+    document.getElementById('dlIframe').src = url;
+};
+
+function createMap(imageURL) {
+    var canvas = document.getElementById("mapCanvas");
+    canvas.addEventListener("contextmenu", e=>e.preventDefault());
+	canvas.width = window.innerWidth + cst.canvasOffset.width;
+    canvas.height = window.innerHeight + cst.canvasOffset.height;
+
+	var gkhead = new Image;
+
+	window.onload = function(){		
+    
+		    var ctx = canvas.getContext('2d');
+		    trackTransforms(ctx);
+		  
+    function redraw(){
+
+          // Clear the entire canvas
+          var p1 = ctx.transformedPoint(0,0);
+          var p2 = ctx.transformedPoint(canvas.width,canvas.height);
+          ctx.clearRect(p1.x,p1.y,p2.x-p1.x,p2.y-p1.y);
+
+          ctx.save();
+          ctx.setTransform(1,0,0,1,0,0);
+          ctx.clearRect(0,0,canvas.width,canvas.height);
+          ctx.restore();
+
+          ctx.drawImage(gkhead, cst.imgOffset.x, cst.imgOffset.y);
+        }
+        gkhead.onload = () => redraw();
+
+      var lastX=canvas.width/2, lastY=canvas.height/2;
+
+      var dragStart,dragged;
+
+      canvas.addEventListener('mousedown',function(evt){
+          document.body.style.mozUserSelect = document.body.style.webkitUserSelect = document.body.style.userSelect = 'none';
+          lastX = evt.offsetX || (evt.pageX - canvas.offsetLeft);
+          lastY = evt.offsetY || (evt.pageY - canvas.offsetTop);
+          dragStart = ctx.transformedPoint(lastX,lastY);
+          dragged = false;
+      },false);
+
+      canvas.addEventListener('mousemove',function(evt){
+          lastX = evt.offsetX || (evt.pageX - canvas.offsetLeft);
+          lastY = evt.offsetY || (evt.pageY - canvas.offsetTop);
+          dragged = true;
+          if (dragStart){
+            var pt = ctx.transformedPoint(lastX,lastY);
+            ctx.translate(pt.x-dragStart.x,pt.y-dragStart.y);
+            redraw();
+                }
+      },false);
+
+      canvas.addEventListener('mouseup',function(evt){
+          dragStart = null;
+          if (!dragged) zoom(evt.shiftKey ? -1 : 1 );
+      },false);
+
+      var scaleFactor = 1.1;
+
+      var zoom = function(clicks){
+          var pt = ctx.transformedPoint(lastX,lastY);
+          ctx.translate(pt.x,pt.y);
+          var factor = Math.pow(scaleFactor,clicks);
+          ctx.scale(factor,factor);
+          ctx.translate(-pt.x,-pt.y);
+          redraw();
+      }
+
+      var handleScroll = function(evt){
+          var delta = evt.wheelDelta ? evt.wheelDelta/40 : evt.detail ? -evt.detail : 0;
+          if (delta) zoom(delta);
+          return evt.preventDefault() && false;
+      };
+    
+      canvas.addEventListener('DOMMouseScroll',handleScroll,false);
+      canvas.addEventListener('mousewheel',handleScroll,false);
+      zoom(cst.zoomOffset);
+	};
+
+	gkhead.src = imageURL;
+	
+	// Adds ctx.getTransform() - returns an SVGMatrix
+	// Adds ctx.transformedPoint(x,y) - returns an SVGPoint
+	function trackTransforms(ctx){
+      var svg = document.createElementNS("http://www.w3.org/2000/svg",'svg');
+      var xform = svg.createSVGMatrix();
+      ctx.getTransform = function(){ return xform; };
+
+      var savedTransforms = [];
+      var save = ctx.save;
+      ctx.save = function(){
+          savedTransforms.push(xform.translate(0,0));
+          return save.call(ctx);
+      };
+    
+      var restore = ctx.restore;
+      ctx.restore = function(){
+        xform = savedTransforms.pop();
+        return restore.call(ctx);
+		      };
+
+      var scale = ctx.scale;
+      ctx.scale = function(sx,sy){
+        xform = xform.scaleNonUniform(sx,sy);
+        return scale.call(ctx,sx,sy);
+		      };
+    
+      var rotate = ctx.rotate;
+      ctx.rotate = function(radians){
+          xform = xform.rotate(radians*180/Math.PI);
+          return rotate.call(ctx,radians);
+      };
+    
+      var translate = ctx.translate;
+      ctx.translate = function(dx,dy){
+          xform = xform.translate(dx,dy);
+          return translate.call(ctx,dx,dy);
+      };
+    
+      var transform = ctx.transform;
+      ctx.transform = function(a,b,c,d,e,f){
+          var m2 = svg.createSVGMatrix();
+          m2.a=a; m2.b=b; m2.c=c; m2.d=d; m2.e=e; m2.f=f;
+          xform = xform.multiply(m2);
+          return transform.call(ctx,a,b,c,d,e,f);
+      };
+    
+      var setTransform = ctx.setTransform;
+      ctx.setTransform = function(a,b,c,d,e,f){
+          xform.a = a;
+          xform.b = b;
+          xform.c = c;
+          xform.d = d;
+          xform.e = e;
+          xform.f = f;
+          return setTransform.call(ctx,a,b,c,d,e,f);
+      };
+    
+      var pt  = svg.createSVGPoint();
+      ctx.transformedPoint = function(x,y){
+          pt.x=x; pt.y=y;
+          return pt.matrixTransform(xform.inverse());
+      }
+    }
+
+    var nel = document.createElement("img");
+    nel.src="resources/images/downloadButton.png";
+    nel.title="Download";
+    nel.id="dlimg";
+    nel.onclick=()=> {
+        window.open(imageURL);
+    }
+    document.body.appendChild(nel);
+}

BIN
r/resources/images/downloadButton.png


BIN
r/resources/images/tfm/allNoMap.png


BIN
r/resources/images/tfm/areasOnly.png


BIN
r/resources/images/tfm/areasOnlyNoMap.png


BIN
r/resources/images/tfm/complete.png


File diff suppressed because it is too large
+ 0 - 0
r/resources/images/tfm/completePDN.pdn


BIN
r/resources/images/tfm/loading.png


BIN
r/resources/images/tfm/routesOnly.png


BIN
r/resources/images/tfm/routesOnlyNoMap.png


BIN
r/resources/images/tfm_icon.png


+ 70 - 0
r/sBot.html

@@ -0,0 +1,70 @@
+<!DOCTYPE html>
+<html>
+    <head>
+        <meta charset="UTF-8">
+
+        <link href="https://fonts.googleapis.com/css?family=Roboto|Ubuntu" rel="stylesheet">
+        <link rel="stylesheet" href="css/sBot.css">
+        <link rel="icon" href="https://sv443.net/cdn/sBot/pfp2.png">
+
+        <script src="https://cdn.jsdelivr.net/gh/Sv443/jslib@1/jslib.js" data-jsl_disablewatermark="false"></script>
+        <script src="js/sBot.js"></script>
+
+        <base target="blank_">
+
+        <title>Invite sBot to your Discord Server</title>
+    </head>
+    <body>
+        <div id="pagewrapper" class="cbox">
+            <table id="mtable">
+                <tr>
+                    <td class="l">
+                        <img id="pfp" src="https://sv443.net/cdn/sBot/pfp2.png">
+                    </td><td class="r">
+                        <span id="dtitle">sBot&nbsp;<span style="font-size:65%;color:#cecece;">-&nbsp;by&nbsp;<a href="https://sv443.net/">Sv443</a></span></span><br>
+                        <span id="ddesc">A&nbsp;fun&nbsp;and&nbsp;useful&nbsp;Discord&nbsp;Bot</span>
+                    </td>
+                </tr>
+            </table><br><br>
+            
+            <table id="btns">
+                <tr>
+                    <td class="l">
+                        <button onclick="inviteBot()" title="Opens in a new Tab">Invite&nbsp;Me</button>
+                    </td><td class="m">
+                        &nbsp;&nbsp;<span style="font-size:1.2vw;">or</span>&nbsp;&nbsp;
+                    </td><td class="r">
+                        <button onclick="window.open('https://discord.gg/ypSSt36')" title="Opens in a new Tab">Join&nbsp;the&nbsp;Support&nbsp;Server</button>
+                    </td>
+                </tr>
+            </table><br><br>
+
+            <div id="about">
+                <span style="font-size:1.2vw;">Hello! I am sBot :)</span>
+                <br>
+                <div style="display:inline-block;width:90%;margin-top:0.5vw;text-align:left;">
+                    I was designed as a bot that has many different features from as many different categories as possible to give every user something they can enjoy.<br><br>
+                    I am currently in the Alpha stage which means some features might not run as smoothly as they will at a later stage, but all those prereleases are stable and get tested regularly.<br><br>
+                    To see all my commands use &nbsp;<kbd><i class="botprefix"></i>help</kbd>&nbsp; in any chat on your Discord Server<br><br><br>
+
+                    <a href="https://github.com/Sv443/sBot" title="Click to visit the sBot GitHub Repository (opens in a new Tab)">GitHub Repository</a> - <a href="https://discordbots.org/bot/524324404583464960" title="Click to visit sBot on discordbots.org">Discordbots.org</a>
+                </div>
+
+                <br><br><!--br><br>
+                <span style="font-size:1.2vw;">Currently I can:</span>
+                <br>
+                <div style="display:inline-block;width:90%;margin-top:0.5vw;text-align:left;">
+                    <ul>
+                        <li><kbd><i class="botprefix"></i> joke</kbd> - Tell a random joke</li>
+                        <li><kbd><i class="botprefix"></i> ping URL</kbd> - Ping the URL and return the status code or return "pong" if none is specified</li>
+                        <li><kbd><i class="botprefix"></i> pokemon Name</kbd> - Send some info about the specified Pokémon</li>
+                        <li><kbd><i class="botprefix"></i> server</kbd> - Return some info about the server</li>
+                        <li><kbd><i class="botprefix"></i> steam Username</kbd> - Fetch info about the specified user's Steam profile</li>
+                        <li><kbd><i class="botprefix"></i> uptime</kbd> - Tell you for how long I've been running</li>
+                    </ul>
+                </div>
+                <br><br-->
+            </div>
+        </div>
+    </body>
+</html>

+ 75 - 0
r/theforestmaps.html

@@ -0,0 +1,75 @@
+<!DOCTYPE html>
+<html>
+    <head>
+        <meta charset="UTF-8">
+
+        <meta name="pagename" content="The Forest Enemy Patrol Routes v2">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0">
+        <meta name="HandheldFriendly" content="true">
+        <meta name="keywords" content="game,video game,sv443,the forest,the forest map,the forest enemy,enemies,cannibal,routes,patrol">
+        <meta name="description" content="An advanced map for The Forest showing you all cannibal patrol routes and where you shouldn't build a base.">
+        <meta name="twitter:card" content="An advanced map for The Forest showing you all cannibal patrol routes and where you shouldn't build a base.">
+        <meta name="subject" content="Video Games">
+        <meta name="copyright" content="Sv443 - Licensed under MIT license">
+        <meta name="author" content="Sv443 / Sven Fehler, [email protected]">
+        <meta property="og:title" content="Sv443 / Sven Fehler">
+        <meta property="og:url" content="https://sv443.net/r/theforestmaps">
+        <meta property="og:description" content="An advanced map for The Forest showing you all cannibal patrol routes and where you shouldn't build a base.">
+        <meta property="og:image" content="https://sv443.net/r/resources/images/tfm_icon.png">
+        <meta property="og:type" content="profile"> 
+        <meta property="og:locale" content="en_US">
+        <meta property="og:locale:alternate" content="en_GB">
+        <meta property="og:locale:alternate" content="en_AU">
+        <meta name="application-name" content="Sv443 (Sven Fehler)">
+        <meta name="theme-color" content="#101747">
+
+        <link rel="icon" href="https://sv443.net/r/resources/images/tfm_icon.png">
+
+        <base target="blank_">
+
+        <link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet">
+        <link rel="stylesheet" href="css/tfm.css">
+        <script type="text/javascript" src="https://cdn.jsdelivr.net/gh/Sv443/jslib@1/jslib.js"></script>
+        <script src="js/tfm.js"></script>
+
+        <title>The Forest Enemy Patrol Routes v2</title>
+    </head>
+    <body>
+        <table id="menu">
+            <tr>
+                <td onclick="changeMap('complete')">
+                    Complete Map
+                </td>
+                <td onclick="changeMap('routesOnly')">
+                    Only Routes
+                </td>
+                <td onclick="changeMap('areasOnly')">
+                    Only Areas
+                </td>
+                <td onclick="changeMap('allNoMap')">
+                    Complete (Overlay)
+                </td>
+                <td onclick="changeMap('routesOnlyNoMap')">
+                    Only Routes (Overlay)
+                </td>
+                <td onclick="changeMap('areasOnlyNoMap')">
+                    Only Areas (Overlay)
+                </td>
+                <td onclick="Download('https:\/\/sv443.net/r/resources/images/tfm/completePDN.pdn')">
+                    PDN File
+                </td>
+            </tr>
+        </table>
+        <canvas id="mapCanvas"></canvas>
+
+        <div id="apB">The Forest Enemy Patrol Routes v2 by <a href="https://sv443.net/">Sv443</a> - Thanks to <a href="https://www.youtube.com/channel/UCY2i-o_WsKTcos0sdsyN_PA">Farket</a> for <a href="https://www.youtube.com/watch?v=dwSpp7fD22k">his previous work</a> on this map! - This page uses code from <a href="https://codepen.io/techslides/pen/zowLd">this codepen</a>.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="https://sv443.net/">Contact Me</a></div>
+
+        <iframe id="dlIframe" style="display:none;"></iframe>
+
+        <script>
+            if(location.protocol != "http:" || window.location.href.includes("https://")) window.location.href = "http://sv443.ddns.net/r/theforestmaps?complete";
+            setTimeout(()=>{if(location.protocol != "http:" || window.location.href.includes("https://")) window.location.href = "http://sv443.ddns.net/r/theforestmaps?complete";},1000);
+            setTimeout(()=>{if(location.protocol != "http:" || window.location.href.includes("https://")) window.location.href = "http://sv443.ddns.net/r/theforestmaps?complete";},10000);
+        </script>
+    </body>
+</html>

BIN
resources/images/download_free_download.jpg


+ 27 - 0
translate/skp.html

@@ -0,0 +1,27 @@
+<!--  Code written by Hand by Sv443 / Sven Fehler - (C) Sven Fehler 2018 - Licensed under MIT license  -->
+
+<!DOCTYPE html><html><head>
+
+
+<meta charset="utf-8" name="description" content="Help translate skribbl.io+"/>
+<meta name="keywords" content="Sv443, skribbl.io+, skribbl, skribbl.io">
+<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1" />
+<meta name="author" content="Sv443">
+<base href="sv443.net" target="_blank">
+
+<title>Sv443 - Translate skribbl.io+</title>
+
+</head><body>
+<br><br>
+<div align="center" style="color:black;font-size:1.5vw;">
+	<div align="left" style="width:80vw">
+		<h2><img src="https://raw.githubusercontent.com/Sv443/code/master/resources/favicons/skribbl.io%2B%20icon.png" />&nbsp;&nbsp;&nbsp;How to submit a skribbl.io+ translation:</h2>
+		-&nbsp;&nbsp;Click <a href="skp_translate.txt" download>here</a> to download the translation file (2.5<sub>KB</sub>)<br>
+		-&nbsp;&nbsp;Open the file and follow the instructions included<br>
+		-&nbsp;&nbsp;After you're done, send me the file via E-Mail (<a href="mailto:[email protected]">[email protected]</a>)<br>
+		<br>
+		<h3>Your translation will now be included in the next update and you will be credited in the script!</h3>
+		<h4>If you want to contribute in any other way, please feel free to also send me an E-Mail (<a href="mailto:[email protected]">[email protected]</a>)</h4>
+	</div>
+</div>
+</body></html>

+ 46 - 0
translate/skp_translate.txt

@@ -0,0 +1,46 @@
+# Translation file for skribbl.io+ (v0.1)
+# Please only type the text inside the quotation marks in the paragraph with the following header:       ### YOUR LANGUAGE (translation) (please fill this out)
+# Please keep the [LINE BREAK] and [VIDEO TIME] tags and use them in your translation in the right spot
+# If you have any questions or don't understand something, please contact me via [email protected] and I will gladly help you out!
+
+
+
+
+# Please also fill this out:
+
+# Your name is: ""                                       (will be displayed in the credits, thanks for your help :D )
+# Your contact: ""                                       (will also be displayed in the credits. This can be anything, from your GitHub to your Instagram profile, whatever you want. You can also leave it empty)
+# The language you translate to: ""                      (your languages full name, for example "english" or "russian" or "turkish" and so on)
+# Your languages two (or three) character code: ""       (for example, "en" for english, "ru" for russian, "tr" for turkish and so on)
+# Do you want to continue with the translation?: ""      (yes / no - do you want to get notified if I need some more translation?)
+
+
+
+
+
+###	ENGLISH (original) (don't override this, please fill out the translation below this paragraph):
+
+		delete message tooltip                           "Delete this message"
+        single word deleted (usage: message deleted)     "deleted"
+        download drawing title                           "Download Drawing"
+        download as png tooltip                          "Click to download the drawing as a PNG file"
+        single word with (usage: with skribbl.io+)       "with"
+        opens in a new tab tooltip                       "(Opens in a new tab)"
+
+		
+		
+		
+###	YOUR LANGUAGE (translation) (please fill this out):
+		
+		delete message tooltip                           ""
+        single word deleted (usage: message deleted)     ""
+        download drawing title                           ""
+        download as png tooltip                          ""
+        single word with (usage: with skribbl.io+)       ""
+        opens in a new tab tooltip                       ""
+		
+
+		
+		
+# Thank you very, very much for taking the time to improve the Script! I will add this translation to the next update.
+# If you want to contribute in any other way, like with the actual programming code or you want to suggest a feature I should add to the Script, feel free to contact me via [email protected]

+ 27 - 0
translate/ttp.html

@@ -0,0 +1,27 @@
+<!--  Code written by Hand by Sv443 / Sven Fehler - (C) Sven Fehler 2018 - Licensed under MIT license  -->
+
+<!DOCTYPE html><html><head>
+
+
+<meta charset="utf-8" name="description" content="Help translate TamperTubePlus"/>
+<meta name="keywords" content="Sv443, TamperTubePlus">
+<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1" />
+<meta name="author" content="Sv443">
+<base href="sv443.net" target="_blank">
+
+<title>Sv443 - Translate TamperTubePlus</title>
+
+</head><body>
+<br><br>
+<div align="center" style="color:black;font-size:1.5vw;">
+	<div align="left" style="width:80vw">
+		<h2><img src="https://raw.githubusercontent.com/Sv443/code/master/resources/favicons/tampertubeplusv5.png" />&nbsp;&nbsp;&nbsp;How to submit a TamperTubePlus translation:</h2>
+		-&nbsp;&nbsp;Click <a href="ttp_translate.txt" download>here</a> to download the translation file (3.5<sub>KB</sub>)<br>
+		-&nbsp;&nbsp;Open the file and follow the instructions included<br>
+		-&nbsp;&nbsp;After you're done, send me the file via E-Mail (<a href="mailto:[email protected]">[email protected]</a>)<br>
+		<br>
+		<h3>Your translation will now be included in the next update and you will be credited in the script!</h3>
+		<h4>If you want to contribute in any other way, please feel free to also send me an E-Mail (<a href="mailto:[email protected]">[email protected]</a>)</h4>
+	</div>
+</div>
+</body></html>

+ 59 - 0
translate/ttp_translate.txt

@@ -0,0 +1,59 @@
+# Translation file for TamperTubePlus (v1.6.0)
+# Please only type the text inside the quotation marks in the paragraph with the following header:       ### YOUR LANGUAGE (translation) (please fill this out)
+# Please keep the [LINE BREAK] and [VIDEO TIME] tags and use them in your translation in the right spot
+# If you have any questions or don't understand something, please contact me via [email protected] and I will gladly help you out!
+
+
+
+
+# Please also fill this out:
+
+# Your name is: ""                                       (will be displayed in the credits, thanks for your help :D )
+# Your contact: ""                                       (will also be displayed in the credits. This can be anything, from your GitHub to your Instagram profile, whatever you want. You can also leave it empty)
+# The language you translate to: ""                      (your languages full name)
+# Your languages two (or three) character code: ""       (for example, "en" for english, "ru" for russian, "tr" for turkish and so on)
+# Do you want to continue with the translation?: ""      (yes / no - do you want to get notified if I need some more translation?)
+
+
+
+
+
+###	ENGLISH (original) (don't override this, please fill out the translation below this paragraph):
+
+        choose download format                  "Download video - choose format  [LINE BREAK]  Available Options: mp3,m4a,aac,flac,ogg,wma,mp4,avi,wmv,3gp"
+        wrong format + confirm download retry   "Entered value does not match available file formats (mp3,m4a,aac,flac,ogg,wma,mp4,avi,wmv,3gp)  [LINE BREAK]  Try again?"
+        enter search string                     "Enter search string:"
+        copied tags to clipboard                "Copied video tags to clipboard"
+        word copy                               "Copy"
+        copy to clipboard title                 "Copy tags to clipboard"
+        reload page to show new tags            "YouTube limitation - the document header needs to be reloaded after you click on a recommended video to load the new tags"
+        reload page to show new tags variation  "Reload page to show new tags"
+        open TamperTubePlus menu                "Open the TamperTubePlus menu"
+        download as mp3                         "Download as MP3"
+        download as mp4                         "Download as MP4"
+        reload video to show new tags           "Reload video to [VIDEO TIME] to show new tags? (If the time is incorrect, please cancel, pause the video, and try again!)"
+		
+		
+		
+		
+		
+###	YOUR LANGUAGE (translation) (please fill this out):
+		
+        choose download format                  ""
+        wrong format + confirm download retry   ""
+        enter search string                     ""
+        copied tags to clipboard                ""
+        word copy                               ""
+        copy to clipboard title                 ""
+        reload page to show new tags            ""
+        reload page to show new tags variation  ""
+        open TamperTubePlus menu                ""
+        download as mp3                         ""
+        download as mp4                         ""
+        reload video to show new tags           ""
+		
+
+		
+		
+# Thank you very, very much for taking the time to improve the Script! I will add this translation to the next update.
+# If you want to contribute in any other way, like with the actual programming code or you want to suggest a feature I should add to the Script, feel free to contact me via [email protected]

Some files were not shown because too many files changed in this diff