This commit is contained in:
iceyrazor 2025-02-11 19:19:46 -06:00
commit ca2430aaa9
66 changed files with 3870 additions and 0 deletions

4
.gitignore vendored Normal file
View File

@ -0,0 +1,4 @@
iceyrazor.gpg.pub
assets/img/**
mmd/*
mcjsonupdate.php

21
LICENSE Executable file
View File

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2024 iceyrazor
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

45
ModGuideLine.html Executable file
View File

@ -0,0 +1,45 @@
<html>
<head>
<title> mod guide line </title>
</head>
<body>
<h2>what the hell is this and why was i sent this?</h2>
<h2>all mods on my discord server will now follow these guide lines</h2>
<br>
<h2>why</h2>
<h2>mod abuse</h2>
<br>
<h2>ew this is soo basic<h2>
<h2>deal with it</h2>
<br><br>
<fieldset>
<legend style="font-size: 30px">Enforcement</legend>
<p>go <a href="https://dyno.gg/commands#/Moderator" target="blank">here</a> to see commands, before every reason leave "strike [strike num]"</p>
<p>you as a enforce + are not allowed to be hostile in any way and must show
full restraint and be very patient when dealing with users, as if you were in retail</p>
<p>when a person breaks the rules for the first time you do not mute, it all
depends on how everyone behaves, so for instance when a user breaks the rules
for the first time, and he doesn't get mad at all, he gets strike one, a warning.
how ever if he is rude he instantly gets strike two, 20 min mute.<br>
the reason for this is because i wont tolerate dicks on my server.
if the user has previously received strike one and he breaks other rule,
you guessed it its strike two even if he isn't rude.
on strike three the user gets one of the following.
<li>kick</li>
<li>24 hour mute or ban</li><br>
on strike four it is a three day ban no matter what, on strike 5 its perm ban.</p>
<p>you as a mod can give as many strikes as you want or see fit when a user breaks a rule, such as if you fell the person
does not need a strike 2 after a strike 1 has been made. you can do another waring with a strike 1.2, but once it goes to
a strike 2 you can not go down, and you can not go from strike 1 and jump to a strike 3 just because you see fit</p>
<p>and thats all she wrote</p>
</fieldset>
<h1 align="center">gmod</h1>
<fieldset>
<p>so strike one is the same as discord, and gmod logging goes into
the discord chat #moderation, strike two is a 120 second jail, on strike
three it is a kick or 24 hour ban depending on the users hostility,
strike four is a 3 day ban, and strike 5 is a perm ban.... thats it</p>
</body>
</html>

3
README.md Normal file
View File

@ -0,0 +1,3 @@
# iceyfox.xyz
just decided to post my websites files on a git repo. cuz why not.
not everything here is on the website. for instance. stuff with plain text passwords

28
TOS and privacy.html Executable file
View File

@ -0,0 +1,28 @@
<html>
<head>
<title>iceyfox servers tos</title>
<meta data="soon to be finished" />
</head>
<body>
<p>note this is pretty much just a disclaimer as of right now for what information you give</p>
<h1>terms and conditions</h1>
<h2>information givien</h2>
<p>you agree that i (the user) are solely responsible for any and all information entered to iceyfox servers.
you agree that the information given can be viewed at anytime by anyone acessing x10host.com
(wither it be administrators or someone acessing the files illegaly),
witch is not limited to</p>
<li>passwords</li>
<li>usernames</li>
<li>any and all form data</li>
<p>simply put, do not give personal information that you would not trust to this site as it (the site) is
not complete</p>
<p>the site will ask for passwords, just use one you dont normally use</p><br>
<h2>bans and adminstrative action</h2>
<p>you agree that i (the user) can and will be banned by any administrators at anytime for any reason up to the
judgement of said adminstrator</p>
<p>to make a ban appeal emal me iceyfoxservers@gmail.com</p>
<br><br><p>pls no sue</p>
</body>
</html>

BIN
account_data/guest.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 353 KiB

67
arma3.html Executable file
View File

@ -0,0 +1,67 @@
<html>
<head>
<title>arma 3 rules and info</title>
<style>
body {
background-image: url("assets/img/arma.jpg");
background-size: cover;
background-position: fixed;
}
h1 {
color: rgb(240,240,240);
text-shadow: 2px 2px 3px #000000;
}
fieldset {
margin-right: 15%;
margin-left: 15%;
background-color: rgba(230,230,230,0.7);
border-radius: 8px;
border-color: rgb(200,200,200);
border-style: inset;
}
li {
font-size: 23px;
}
.home {
text-decoration: none;
overflow: hidden;
color: #000000;
border-color: rgb(180,180,180);
background-color: rgba(140,140,140,1);
border-style: outset;
text-shadow: 1px 1px 2px #000000;
padding: 5px;
}
.home:hover {
border-style: inset;
text-shadow: 2px 2px 3px #000000;
}
</style>
</head>
<body>
<h1 align="center">iceyfox servers, arma 3</h1>
<fieldset>
<br>
<a class="home" href="index.html">go home (hint click me)</a>
<!-- rules -->
<h2 align="center">rules</h2>
<li>any 93rd NINJA members are allowed to tell you what to do</li>
<li>no hacking/exploiting</li>
<li>no stream sniping</li>
<li>civis and independant can call a raid in text chat to raid main base, and after being granted
you can raid either solo or in a group, doesn't matter. if you are not granted and you raid the
might of zeus will be stricken upon you</li>
<!-- info -->
<h2 align="center">info</h2>
<li>the discord <a href="https://discord.gg/A4gUYvY">here</a></li>
<li>there is a arsenal at the civi spawn for player customization</li>
<li>if you wanna visit the military base you can, just wait outside the gate and ask in global channel</li>
<li>if you wanta normal vehicle ask a admin to spawn one,
it will be spawned at civ spawn or independent spawn depening on what team you are on(global channel)</li>
<li>if you do wanna rp and not force respawn, call a "DOCTOR!" in global channel and wait,
the unit will send a medic.. or admin with ace 3 knowledge</li>
</fieldset>
</body>
</html>

BIN
assets/CozetteVector.ttf Normal file

Binary file not shown.

32
assets/fetch-content-list.php Executable file
View File

@ -0,0 +1,32 @@
<?php
$made_content_f=scandir("made_content");
$made_content_partial_f=scandir("made_content/partial");
$made_content_f=array_splice($made_content_f,2,count($made_content_f));
$made_content_partial_f=array_splice($made_content_partial_f,2,count($made_content_partial_f));
$made_content=[];
$made_content_partial=[];
for($i=0;$i<count($made_content_f);$i++){
$thumbnail="thumb_".$made_content_f[$i];
if(!file_exists("made_content/thumbnails/thumb_".$made_content_f[$i])){
$thumbnail="thumb_DEFAULT.jpg";
}
$made_content_f[$i]=["made_content/",$made_content_f[$i],$thumbnail];
}
for($i=0;$i<count($made_content_partial_f);$i++){
$thumbnail="thumb_".$made_content_partial_f[$i];
if(!file_exists("made_content/thumbnails/thumb_".$made_content_partial_f[$i])){
$thumbnail="thumb_DEFAULT.jpg";
}
$made_content_partial_f[$i]=["made_content/partial/",$made_content_partial_f[$i],$thumbnail];
}
if($_GET['type']=="full"){
echo json_encode(array_merge($made_content_f,$made_content_partial_f));
}
elseif($_GET['type']=="partial"){
echo json_encode($made_content_partial_f);
} else {
echo "no type was set";
}
?>

79
assets/gmod.css Executable file
View File

@ -0,0 +1,79 @@
body {
background-image: url("img/gmod.jpg");
background-size: cover;
background-attachment: fixed;
}
h1 {
text-align: center;
color: rgb(255,255,255);
text-shadow: 1px 1px 2px #000000;
}
fieldset {
background-color: rgba(255,255,255,0.7);
}
li {
font-size: 23px;
}
h2 {
color: rgb(50,50,50);
text-shadow: 3px 3px 4px #ffffff;
}
.info {
float: right;
overflow: hidden;
margin-left: 50.1%;
margin-right: 5%;
border-radius: 15px;
position: absolute;
}
.rules {
float: left;
overflow: hidden;
margin-right: 50.1%;
margin-left: 5%;
border-radius: 15px;
}
a {
text-decoration: none;
color: rgb(240,240,240);
background-color: rgba(250,250,250,1);
border-color: rgb(200,200,200);
border-style: inset;
border-width: 3px;
text-shadow: 1px 1px 2px #000000;
padding: 0px 4px;
}
a:hover {
text-shadow: 2px 2px 3px #000000;
border-style: outset;
}
.loadbar {
background-color: rgb(230,230,230);
border: 3px solid white;
padding: 10px 10px;
position: absolute;
right: 30px;
bottom: 20vh;
width: 40vw;
font-size: 20px;
}
.filename {
background-color: rgb(150,150,150);
border: 1px solid white;
padding: 3px;
position: absolute;
left: 70px;
top: 6px;
right: 4px;
height: 28%;
}
.map {
background-color: rgb(150,150,150);
border: 1px solid white;
padding: 3px;
}
.fileneeded {
font-size: 20px;
position: absolute;
right: 20px;
}

120
assets/index.css Executable file
View File

@ -0,0 +1,120 @@
@font-face {
font-family: 'cozette';
src: url('CozetteVector.ttf') format('truetype');
font-weight: 400; /* or 700 for bold, etc. */
font-style: normal; /* or italic */
}
::-webkit-scrollbar {
width: 0px;
background: transparent;
}
html{
padding: 0px;
margin: 0px;
color: white;
font-size: 18px;
background-color: #303030;
background-image: url('./img/index-background-v2.png?v=2');
}
.main{
font-family: cozette;
border: 2px solid #0050e0;
padding: 20px;
display: grid;
grid-template-columns: 1fr;
width: 90%;
min-height: 100vh;
justify-items: center;
margin-bottom: 100px;
background-color: #333333;
}
.main-text{
min-width: 50%;
max-width: 100%;
}
code{
font-family: cozette;
background-color: #282828;
padding-right: 1px;
padding-left: 1px;
}
.spacer1{
min-height: 300px;
overflow: hidden;
}
.line-break{
min-height: 20px;
min-width: 90%;
border-radius: 30px;
background-image: linear-gradient(to right, #333333, #2d2d2d, #272727, #212121, #1b1b1b, #1b1b1b, #1b1b1b, #1b1b1b, #212121, #272727, #2d2d2d, #333333);
}
@keyframes Up-header {
from {min-height:10px; padding: 80px 0; max-height:200px; top: 0px}
to {min-height:0px; padding: 0; max-height:0px; top: -5px}
}
@keyframes Down-header {
from {min-height:0px; padding: 0; max-height:0px; top: -5px}
to {min-height:10px; padding: 80px 0; max-height:200px; top: 0px}
}
.header{
overflow: hidden;
position: fixed;
padding: 80px 0;
min-height: 10px;
width: 100vw;
left: 0px;
font-size: 80px;
color: white;
text-shadow: 2px 2px 2px black;
top: 0px;
background-image: url("./img/index_banner.png");
background-attachment: fixed;
background-position: 0px -120px;
background-repeat: no-repeat;
background-size: cover;
text-align: center;
border-bottom: 4px solid black;
animation-duration: 1s;
animation-fill-mode: forwards;
animation-name: Down-header;
}
a{
color: #009ff9;
font-size: 20px;
}
.videos{
position: relative;
top: 10%;
height: 80%;
}
.social-tray img{
width: 50px;
height: 50px;
}
.social-tray .yt{
width: 71px;
height: 50px;
}
.social-tray .discord{
width: 67px;
}

118
assets/index.js Executable file
View File

@ -0,0 +1,118 @@
let side_bar=document.getElementById('side_bar')
let width=side_bar.clientWidth
side_bar.style.left=-(width)+'px'
function animate({timing,draw,duration,on_done}){
start = performance.now();
requestAnimationFrame(function animate(time){
let timeFraction = (time - start) / duration;
if (timeFraction>1) timeFraction = 1;
let progress = timing(timeFraction)
draw(progress);
if(timeFraction<1){
requestAnimationFrame(animate)
} else {
if(typeof on_done === "function") on_done();
}
})
}
function open_sb(){
side_bar.style.opacity="1";
animate({
duration: 400,
timing(timeFraction){
return Math.pow(timeFraction,2);
},
draw(progress){
side_bar.style.left=(progress*width)-width+'px'
}
});
}
function close_sb(){
animate({
duration: 800,
timing(timeFraction){
return Math.pow(timeFraction, 2);
},
draw(progress){
document.getElementById("side_bar").style.left=((1-progress)*width)-width+'px'
},
on_done(){
side_bar.style.opacity="0";
}
});
}
fetch('assets/fetch-content-list.php?type=partial',{
cache:'no-cache'
})
.then(response=>response.json())
.then(res=>{
let folder='assets/'
input_str=''
for(i in res){
if(res[i].match(/.png|.PNG|.jpg|.JPG|.jpeg|.JPEG|.gif|.GIF/g)){
input_str+='<div class="image_box_img_wrap"><div><img src="'+folder+res[i]+'" /></div></div>'
} else if(res[i].match(/.mp4|.MP4/g)){
input_str+='<div class="image_box_img_wrap">'+
'<video class="videos" width="100%" height="100%'+
'" controls><source src=\''+folder+res[i]+
'\' type="video/mp4"></video></div>';
}
}
document.getElementById('image_box_container').innerHTML=input_str
})
image_container_child_width=0
image_container_child_count=0
function set_size(){
let img_wrap=document.getElementsByClassName("image_box_img_wrap")
image_container_child_width=img_wrap[0].clientWidth
image_container_child_count=img_wrap.length-1
setTimeout(set_size,1000)
}
setTimeout(set_size,1000)
last_index=0
last_pos=0
index=0
move_image_box_locked=false
function move_image_box(dir){
if(move_image_box_locked==false){
move_image_box_locked=true
let direction=''
let sub=''
if(dir=="+"){
index=index+1
direction=''
sub=''
} else {
direction='1-'
index-=1
sub='-'+image_container_child_width
}
animate({
duration:800,
timing(TF){
return Math.pow(TF,2);
},
draw(Prog){
document.getElementById("image_box_container").scrollLeft=(eval(direction+Prog)*(image_container_child_width))+eval(last_pos+sub)+(10*index)
},
on_done(){
last_pos=(image_container_child_width*index);
if(index<0){
index=0;
last_pos=0;
}
if(index>image_container_child_count){ index=image_container_child_count; last_pos=(image_container_child_width*index); }
move_image_box_locked=false
}
})
}
}

193
assets/indexold2.css Executable file
View File

@ -0,0 +1,193 @@
/*::-webkit-scrollbar {
width: 0px; /* Remove scrollbar space
background: transparent; /* Optional: just make scrollbar invisible
}*/
html{
font-size: 25px;
padding: 0px;
margin: 0px;
margin-left: 0px;
}
.side-bar-button{
user-select: none;
width: 50px;
}
.float-button{
position: fixed;
left: 20px;
top: 40%;
background-color: rgba(255,255,255,0.1);
}
.side-bar-button:hover{
background-color: rgb(200,200,200,0.5);
}
.main-wrap > .side-bar-button{
position: absolute;
left: 10px;
top: 550px;
}
.side-bar-button > svg{
width: inherit;
height: inherit;
}
#side_bar{
z-index: 3;
display: grid;
grid-template-columns: 1fr;
grid-auto-rows: min-content;
position: fixed;
width: 18%;
height: 100vh;
min-width: 280px;
opacity: 0;
top: 0px;
padding: 10px;
padding-right: 20px;
border-right: 2px solid black;
background-color: white;
overflow: scroll;
margin-bottom: 200px;
}
#side_bar > div{
padding: 10px;
position: relative;
text-align: center;
display: grid;
grid-template-columns: 1fr;
grid-auto-rows: min-content;
}
#side_bar > div:nth-child(1){
text-align: left;
}
#side_bar > div > div{
height: 30px;
}
#side_bar a{
font-size: 20px;
text-decoration: none;
color: black;
}
#side_bar > div > div:hover{
background-color: rgb(230,230,230);
}
.main-wrap{
margin: auto;
display: grid;
grid-template-columns: 1fr;
width: 95%;
justify-items: center;
justify-content: center;
}
.footer{
position: relative;
background-color: black;
color: white;
padding: 20px;
width: 100%;
}
.body{
display: grid;
grid-template-columns: 1fr;
width: 95vw;
padding: 0px;
min-height: 100vh;
justify-items: center;
margin-bottom: 100px;
}
#image_box{
position: relative;
overflow: hidden;
height: 500px;
width: 90%;
padding: 10px;
}
#image_box_container{
position: relative;
overflow-x: hidden;
white-space: nowrap;
height: 90%;
width: 100%;
padding-left: 10px;
padding-right: 10px;
}
#image_box_container > div{
overflow: hidden;
display: inline-block;
width: 98%;
height: 98%;
margin-right: 10px;
text-align: center;
vertical-align: middle;
}
#image_box_container > div > div{
height: 98%;
width: 95%;
display: flex;
margin: auto auto;
align-items: center;
justify-content: center;
}
#image_box_container img{
width: auto;
max-width: 100%;
max-height: 100%;
text-align: center;
}
.image-box-fader{
pointer-events: none;
position: absolute;
left: 0px;
top: 0px;
width: 100%;
height: 100%;
background: linear-gradient(
to right,
white,
5%,
rgba(137,255,241,0) 50%,
95%,
white 100%
);
}
#image_box_arrow_left, #image_box_arrow_right{
z-index: 2;
position: absolute;
top: 50%;
}
#image_box_arrow_left{
left: 10px;
}
#image_box_arrow_right{
right: 10px;
}
.title-bar-wrap > div{
background-image: url("./img/index_banner.png");
/* Set a specific height */
padding: 150px 0;
min-height: 10px;
width: 100vw;
left: 0px;
font-size: 80px;
color: white;
text-shadow: 2px 2px 2px black;
/* Create the parallax scrolling effect */
background-attachment: fixed;
background-position: center;
background-repeat: no-repeat;
background-size: cover;
text-align: center;
}

315
chat/chat.php Executable file
View File

@ -0,0 +1,315 @@
<?php session_start(); ?>
<html>
<head>
<style>
html{
overflow: scroll;
overflow-x: hidden;
min-height: 100%;
position: relative;
background-color: rgb(30,30,30);
color: white;
}
::-webkit-scrollbar {
width: 0px; /* Remove scrollbar space */
background: transparent; /* Optional: just make scrollbar invisible */
}
code{
padding-left: 2px;
padding-right: 2px;
text-align: left;
}
.chat-box{
position: relative;
border: solid 4px black;
top: 0vh;
max-width: 60%;
height: 72vh;
overflow: scroll;
padding: 5px;
}
.autost{
color: white;
background-color: green;
padding: 4px;
}
.statusbox{
position: absolute;
border: solid 3px black;
padding: 5px;
top: 10%;
left: 2%;
font-size: 15px;
}
.hider{
position: absolute;
background-color: rgba(0,0,0,0.8);
width: 100%;
bottom: 0px;
top: 0px;
left: 0px;
display: none;
}
.pbox{
color: white;
width: 90%;
height: 60vh;
top: 30px;
left: 30px;
padding: 3%;
position: relative;
background-color: rgb(50,50,50);
overflow: scroll;
font-size: 20px;
}
.inner-chat-box{
font-size: 15px;
}
.inner-chat-box-pfp{
height: 50px;
width: 50px;
object-fit: cover;
border-radius: 50px;
}
.inner-chat-box-wrap{
position: relative;
bottom: 20;
}
.inner-chat-box-a{
text-decoration: none;
}
</style>
</head>
<body>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<?php
date_default_timezone_set('America/Los_Angeles');
$set_logout_status=true;
require_once("../login/login.php");
if($login_correct=="true"&&$_SESSION['username']!="guest"){
//set status
$statusf=simplexml_load_file("status.xml");
$file = fopen("status.xml","w");
$userexist=false;
for($i=0;$i<=count($statusf->user);$i++){
if($statusf->user[$i]==$_SESSION['username']){
$userexist=true;
break;
}
if($userexist==true){break;}
}
$i=0;
fwrite($file, '<?xml version="1.0" encoding="UTF-8"?>'."\n".'<status>'."\n");
$wrote=false;
foreach($statusf as $status){
if(($statusf->user[$i]==$_SESSION['username'])||($userexist==false)){
if($userexist==false){
fwrite($file, ' <user time="'.$statusf->user[$i]['time'].'">'.$statusf->user[$i]."</user>\n");
}
if($wrote==false){fwrite($file, ' <user time="'.date("n/j/Y/H:i").'">'.$_SESSION['username']."</user>\n"); $wrote=true;}
} else {
fwrite($file, ' <user time="'.$statusf->user[$i]['time'].'">'.$statusf->user[$i]."</user>\n");
}
$i++;
}
fwrite($file, '</status>');
fclose($file);
}
$xml=simplexml_load_file("../account_data/".$_SESSION['username'].".xml");
$ban="false";
for($i=count($xml->history->action);$i>=0;$i--){
if(($xml->history->action[$i]['page']=="simplychat")&&($xml->history->action[$i]['type']=="ban")){
$ban="true";
$reason=strval($xml->history->action[$i]);
break;
}
if($ban=="true"){break;}
}
?>
<title>welcome <?php echo $_SESSION['username']; ?></title>
<div align="center"><div id="error-message" style="display: none; text-align: center; background-color: red; width: 50%;"></div></div>
<script language="javascript" type="text/javascript">
if("<?php echo $_SESSION['errormsglogin']; ?>"!=""){
$("#error-message").css("display","block");
$("#error-message").html("<?php echo $_SESSION['errormsglogin']; ?>");
}
</script>
<div align="center"><div align="center" id="chat" class="chat-box"></div></div>
<a href="../index.html" style="text-decoration: none; color: white; size: 20px; border: 2px outset white; padding: 4px; position: absolute; top: 10px; left: 10px;">go home</a>
<br>
<form id="chatform" align="center" method="post" action="chatposter.php" target="_blank" >
<textarea autocomplete="off" type="text" name="text" id="text" style="height: 50px; width: 50%; background-color: rgb(30,30,30); color: white; font-size: 15;" ></textarea>
</form>
<div id="status" class="statusbox"></div>
<div align="center">
<input autocomplete="off" id="autost" class="autost" type="button" onclick="autos()" value="toggle autoscroll" />
<input autocomplete="off" class="autost" style="background-color: rgba(0,0,0,0);" type="button" onclick="show('rules')" value="show rules, commands, info" />
<input autocomplete="off" class="autost" style="background-color: rgba(0,0,0,0);" type="button" onclick="cleartext()" value="clear text" />
</div>
<div id="time" align="right" style="position: relative; float: right; width: 10vw; right:1vw; bottom: 3vh;"></div>
<audio controls id="hardr" style="width: 0%; height: 0%;"><source src="hardr.wav" type="audio/mpeg"></audio>
<div style="position: absolute; right:20px; top: 40px; padding: 10px;">
<a href="profile.php?username=<?php echo $_SESSION['username']; ?>" target="_blank">
<img style="width:70px; height: 70px; border-radius: 70px; object-fit: cover;" src="<?php echo $_SESSION['profilepicture']; ?>" alt="../account_data/guest.png"></img>
<div style="position: absolute; top: 30%; left: 7%; font-size: 15px; color: white; text-decoration: none; background-color: rgba(30,30,30,0.5);" align="center">logged in as<br><?php echo $_SESSION['username']; ?></div>
</a>
</div>
<script language="javascript" type="text/javascript">username="<?php echo $_SESSION['username']; ?>"</script>
<script src="../login/login.js" ></script>
<div id="rules" class="hider" onclick="hide('rules')"><div class="pbox" id="hidertext"></div></div>
<div id="errorbox" class="hider" onclick="hide('errorbox')"><div class="pbox" id="errorboxtext"></div></div>
<script language="javascript" type="text/javascript">
if('<?php echo $ban; ?>' == 'true') {
if(alert('you were banned by admin. reason: '+'<?php echo $reason; ?>')) {
window.location.replace("../index.html");
} else {
window.location.replace("../index.html");
}
throw new Error('This is not an error. This is just to abort javascript');
}
//toggle auto scroll
function autos(){
switch(autoscroll){
case true:
autoscroll=false;
$("#autost").css("background-color", "red");
break;
case false:
autoscroll=true
$("#autost").css("background-color", "green");
break;
}
}
//post rule commands based on perms
var pboxtext="because of my webhost TOS, NO 18+ CONTENT IS ALLOWED ON THIS CHAT<br>";
if('<?php for($i=0;$i<=count($xml->permissions->perm);$i++){ if($xml->permissions->perm[$i]=="permission.simplychat.clear"){ echo $xml->permissions->perm[$i]; }} ?>'=="permission.simplychat.clear"){
var pboxtext=pboxtext+
"/clear --clears chat<br>";
}
if('<?php for($i=0;$i<=count($xml->permissions->perm);$i++){ if($xml->permissions->perm[$i]=="permission.simplychat.mute"){ echo $xml->permissions->perm[$i]; }} ?>'=="permission.simplychat.mute"){
var pboxtext=pboxtext+
"/mute,user,time(m minutes,h hours,d days),reason --mutes the user with the set amount of time, example"
+" /mute,guest,1m,test<br>";
}
if('<?php for($i=0;$i<=count($xml->permissions->perm);$i++){ if($xml->permissions->perm[$i]=="permission.simplychat.ban"){ echo $xml->permissions->perm[$i]; }} ?>'=="permission.simplychat.ban"){
var pboxtext=pboxtext+
"/ban,user,reason --permanatly bans the user example /ban,guest,fwaggot<br>";
}
var pboxtext=pboxtext+'<br><br><a style="color: rgb(0,120,230);" target="blank" href="http://iceyfox.x10host.com/discord_rules.html">rules</a>'
$("#hidertext").html(pboxtext);
//hide and show
function show(data){
$("#"+data).css("display","block");
}
function hide(data){
$("#"+data).css("display","none");
}
//clear text
function cleartext(){
$("#text").val("");
}
//read the fucking file
var autoscroll=true;
chatget('chat');
chatget('status');
chatloader();
setInterval(chatloader,2000);
function chatget(mode){
if(mode=="chat"){
$.ajax({
type: "GET",
url: "chat.txt",
cache: false,
async: true,
success: function chatreturn(data){
$("#chat").html(data);
loadedchat=data;
}
});}
}
function chatloader(){
usaTime = new Date().toLocaleString("en-US", {timeZone: "America/Los_Angeles"});
usaTime = new Date(usaTime);
//read file
$.ajax({
type: "GET",
url: "chat.txt",
cache: false,
async: true,
success: function(data){
if(data!=loadedchat){
chatget('chat');
}
}
});
$.ajax({
type: "GET",
url: "status.xml",
cache: false,
async: true,
dataType: "xml",
success: function(xml){
str="";
datetime = (usaTime.getMonth()+1) + "/"
+ usaTime.getDate() + "/"
+ usaTime.getFullYear() + "/"
+ usaTime.getHours() + ":"
+ usaTime.getMinutes();
$(xml).find('user').each(function(index){
getTime=$(this).attr('time');
if((getTime.split(":")[0].split("/")[3] != usaTime.getHours())||((getTime.split("/")[0]+getTime.split("/")[1]+getTime.split("/")[2]) != (datetime.split("/")[0]+datetime.split("/")[1]+datetime.split("/")[2]))){
var status = "offline";
var statuscolor = "gray";
} else if((parseInt(getTime.split(":")[1])+3 < parseInt(usaTime.getMinutes()))||(parseInt(getTime.split(":")[0].split("/")[3]) != parseInt(datetime.split(":")[0].split("/")[3]) )){
var status = "away";
var statuscolor = "#E64C00";
} else {
var status = "online";
var statuscolor = "rgb(0,200,50)";
}
str=str+($(this).text()+' <code style="background-color: '+statuscolor+';">'+status+'</code><br>time: '+getTime+"<br><br>");
});
$("#time").html("pst "+datetime);
$("#status").html(str);
}
});
//rest of loop shit
if(autoscroll==true){
var elem = document.getElementById('chat');
elem.scrollTop = elem.scrollHeight;
}
}
//run the text cheak stuff
$("#text").keyup(function(event) {
if (event.keyCode === 13 && !event.shiftKey) {
$("#text").val($("#text").val().slice(0,-1));
runtext();
}
});
function runtext(){
if(($("#text").val().toLowerCase().includes("nigger"))==true){
document.getElementById('hardr').play();
return false;
} else if($("#text").val().length>2000){
show('errorbox');
$("#errorboxtext").html("your text can not be greater than 2000 characters<br>"+'<input autocomplete="off" class="autost" style="background-color: rgba(0,0,0,0);" type="button" onclick="cleartext()" value="clear text?" />');
return false;
} else {
$("#chatform").submit();
}
$("#text").val('');
}
</script>
<?php $_SESSION['errormsglogin']=""; ?>
</body>
</html>

3
chat/chat.txt Executable file
View File

@ -0,0 +1,3 @@
<div style="font-size: 20; color: lightblue; text-decoration: underline;">Welcome To Simply Chatty</div><br><br><br><br>

147
chat/chatposter.php Executable file
View File

@ -0,0 +1,147 @@
<html>
<body>
<?php
session_start();
date_default_timezone_set("America/Los_Angeles");
//set status
if($_SESSION['username']!="guest"){
$statusf=simplexml_load_file("status.xml");
$file = fopen("status.xml","w");
$userexist=false;
for($i=0;$i<=count($statusf->user);$i++){
if($statusf->user[$i]==$_SESSION['username']){
$userexist=true;
break;
}
if($userexist==true){break;}
}
$i=0;
fwrite($file, '<?xml version="1.0" encoding="UTF-8"?>'."\n".'<status>'."\n");
$wrote=false;
foreach($statusf as $status){
if(($statusf->user[$i]==$_SESSION['username'])||($userexist==false)){
if($userexist==false){
fwrite($file, ' <user time="'.$statusf->user[$i]['time'].'">'.$statusf->user[$i]."</user>\n");
}
if($wrote==false){fwrite($file, ' <user time="'.date("n/j/Y/H:i").'">'.$_SESSION['username']."</user>\n"); $wrote=true;}
} else {
fwrite($file, ' <user time="'.$statusf->user[$i]['time'].'">'.$statusf->user[$i]."</user>\n");
}
$i++;
}
fwrite($file, '</status>');
fclose($file);
}
//get users color
if($_SESSION['username']!="guest"){
$userxml=simplexml_load_file("../account_data/".$_SESSION['username'].".xml");
$color=$userxml->color;
} else {
$color="#ffffff";
}
//read file
$get_chat_file=file_get_contents("chat.txt");
//manage text eg image parsing and link parsing ect
$usertext=str_replace(array("<",">"),"",$_POST['text']);
$usertext_split=explode(" ",$usertext);
$usertext="";
foreach($usertext_split as $text){
if(substr($text,0,29)=="https://www.youtube.com/watch"){
$text='
<iframe width="500" height="300" src="https://www.youtube.com/embed/'.explode("&",explode("=",$text)[1])[0].'"></iframe>
';
}
elseif(substr($text,0,4)=="http"||substr($text,0,5)=="https"){
if(strpos($text,".jpg")||strpos($text,".png")||strpos($text,".gif")){
$text='
<a href="'.$text.'" target="_BLANK"><img width="500px" src="'.$text.'"></img></a>
';
} else {
$text='<a href="'.$text.'" target="_BLANK">'.$text.'</a>';
}
}
if($text=="nigger"){
$text="ERROR. N**** TRIED TO BYPASS";
}
$usertext=$usertext.$text." ";
}
//tags
$tags="";
if($_SESSION['username']=="iceyrazor"){
$tags=$tags.'<code style="color: white; background-color: rgba(0,50,200,0.4); padding-left: 4px; padding-right: 4px;">site owner</code>';
}
$chatfile=fopen("chat.txt","w");
$chat_file_send_content=$get_chat_file.'
<div class="inner-chat-box">
<a class="inner-chat-box-a" href="profile.php?username='.$_SESSION['username'].'" target="_blank">
<img class="inner-chat-box-pfp" src="'.$_SESSION['profilepicture'].'" />
</a>
<code class="inner-chat-box-wrap">
'.$tags.'
<code style="color: '.$color.';">'.$_SESSION['username'].'</code>:
<code style="padding-left: 5px; white-space: pre-line;"> '.$usertext.'</code>
</code>
</div>
<br>
';
//cheak perms and run commands
$bot_tag='<code style="color: white; background-color: rgba(0,50,200,0.4); padding-left: 4px; padding-right: 4px;">site bot</code>';
$perm_clear=false;
$perm_mute_guest=false;
$perm_mute=false;
$perm_lock_chat=false;
$perm_bypass_lock=false;
foreach($userxml->permissions->perm as $perm){
if($perm=="simplychatty.clear"){ $perm_clear=true; };
if($perm=="simplychatty.mute-guest"){ $perm_mute_guest=true; };
if($perm=="simplychatty.mute"){ $perm_mute=true; };
if($perm=="simplychatty.lock-chat"){ $perm_lock_chat=true; };
if($perm=="simplychatty.bypass-lock"){ $perm_bypass_lock=true; };
}
if($perm_clear==true&$usertext=="/clear "){
$chat_file_send_content='
<div style="font-size: 20; color: lightblue; text-decoration: underline;">
Welcome To Simply Chatty
</div><br><br><br><br>';
}
$chatstat=file_get_contents("chatstat.txt");
if($perm_lock_chat==true&$usertext=="/lock chat "){
$file_chatstat=fopen("chatstat.txt","w");
if($chatstat=="locked"){
$chat_file_send_content=$get_chat_file.'<div class="inner-chat-box">'.$bot_tag." ".
$_SESSION['username'].' unlocked the chat </div><br>';
fwrite($file_chatstat,"unlocked");
} else {
$chat_file_send_content=$get_chat_file.'<div class="inner-chat-box">'.$bot_tag." ".
$_SESSION['username'].' locked the chat </div><br>';
fwrite($file_chatstat,"locked");
}
fclose($file_chatstat);
}
if($perm_bypass_lock==false&$chatstat=="locked"){
$chat_file_send_content=$get_chat_file."";
}
if(false==true){
//unfinished mute
$chat_file_send_content=$get_chat_file.'<div class="inner-chat-box">'.$bot_tag." ".
$_SESSION['username']." muted ".$usertext_split[1].'</div><br>';
}
//
fwrite($chatfile,$chat_file_send_content);
fclose($chatfile);
?>
<script language="javascript" type="text/javascript">window.close();</script>
</body>
</html>

BIN
chat/hardr.wav Executable file

Binary file not shown.

213
chat/profile.php Executable file
View File

@ -0,0 +1,213 @@
<?php session_start(); ?>
<html>
<head>
<title><?php echo $_GET['username']; ?> profile</title>
<style>
html{
background-color: rgb(30,30,30);
color: white;
}
::-webkit-scrollbar {
width: 0px; /* Remove scrollbar space */
background: transparent; /* Optional: just make scrollbar invisible */
}
.editb, .saveb{
display: none;
font-size: 20px;
}
.saveb{
position: absolute;
top: 0px;
left: 60px;
}
.edituserform input{
font-size: 20px;
padding: 5px;
background-color: rgb(30,30,30);
color: white;
border: inset 2px white;
width: 50%;
}
.color{
width: 40px;
height: 40px;
border: none;
}
td{
border: solid 2px white;
padding: 5px;
font-size: 25px;
}
.notibox{
background-color: rgb(0,120,0);
padding: 5px;
display: none;
}
</style>
</head>
<body>
<?php
require_once("../../mysql_connect.php");
$password=$_SESSION['password'];
if($_SESSION['username']!="guest"){
$stmt=$dbc->prepare("select username,password from ".$dbc_ver_accounts." where username=?");
$stmt->execute([$_SESSION['username']]);
$getuser=$stmt->fetch();
if($getuser[0]==$_SESSION['username']){
if(password_verify($_SESSION['password'],$getuser[1])){
$pass="pass";
}
}
}
if($_GET['username']=="guest"){
$pass="guest";
} else {
$stmt=$dbc->prepare("select username,discord,email from ".$dbc_ver_accounts." where username=?");
$stmt->execute([$_GET['username']]);
$getuser=$stmt->fetch();
$get_username=$getuser[0];
$get_discord=$getuser[1];
$get_email=$getuser[2];
if(file_exists("../account_data/".$_GET['username'].".xml")){
$xml=simplexml_load_file("../account_data/".$_GET['username'].".xml");
} else {
$pass="not exist";
}
if(file_exists("../account_data/".$_GET['username'].".png")){
$user_pfp="../account_data/".$_GET['username'].".png";
} elseif(file_exists("../account_data/".$_GET['username'].".jpg")){
$user_pfp="../account_data/".$_GET['username'].".jpg";
} elseif(file_exists("../account_data/".$_GET['username'].".gif")){
$user_pfp="../account_data/".$_GET['username'].".gif";
} else {
$user_pfp="../account_data/guest.png";
}
}
//get history
for($i=0;$i<count($xml->history->action);$i++){
$gethistory[$i][0]=strval($xml->history->action[$i]);
$gethistory[$i][1]=strval($xml->history->action['page'][$i]);
$gethistory[$i][2]=strval($xml->history->action['type'][$i]);
$gethistory[$i][3]=strval($xml->history->action['datetime'][$i]);
$gethistory[$i][4]=strval($xml->history->action['attime'][$i]);
}
?>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<!--run cheak-->
<script language="javascript" type="text/javascript">
if("<?php echo $pass; ?>"=="guest"){
if(alert('guest can not view/edit profiles')) {
window.close();
} else {
window.close();
}
throw new Error('This is not an error. This is just to abort javascript');
}
if("<?php echo $pass; ?>"=="not exist"){
if(alert('user does not exist')) {
window.close();
} else {
window.close();
}
window.close();
throw new Error('This is not an error. This is just to abort javascript');
}
</script>
<!--shown page-->
<div id="notibox" class="notibox" align="center"></div>
<div style="padding: 20px; position: absolute; left: 15%; border: solid 2px black; width: 70vw; height: 70vh;">
<div style="position: absolute;">
<img onmouseover="show('editprofilebox')" style="height: 100px; width: 100px; object-fit: cover; border-radius: 100px;" src="<?php echo $user_pfp; ?>"></img>
<div onmouseout="hide('editprofilebox')" style="display: none; position: absolute; top: 0px; bottom: 0px; right: 0px; left: 0px; border-radius: 100px; background-color: rgba(0,0,0,0.6);" id="editprofilebox">
<form style="position: absolute; top: 30px; left: 10px;" action="profile_update.php" method="post" enctype="multipart/form-data" target="_blank" onsubmit="setTimeout(() => { location.reload(); }, 1000);">
<input autocomplete="off" type="file" name="pfp_picture" /><br>
<input autocomplete="off" type="submit" name="pfp_change" value="change" /><br>
</form>
</div>
</div>
<div class="edituserform" style="position: absolute; left: 140px; padding: 4px; font-size: 25px; right: 10px">
<div style="padding: 5px;">username: <span id="username"><?php echo $get_username; ?></span></div>
<div style="padding: 5px;">discord: <span id="discord"><?php echo $get_discord ?></span></div>
<div style="padding: 5px;">email: <span id="email"><?php echo $get_email ?></span></div>
<div style="padding: 5px;">color:
<span id="color"><span style="padding: 3px"></span><span style="padding: 10px; padding-top: 1px; padding-bottom: 1px; background-color: <?php echo $xml->color; ?>;"></span> </span></div>
</div>
<div align="Center" style="position: absolute; padding: 5px; max-height: 30%; overflow: scroll; bottom: 50px; left: 23%; right: 23%; border: solid 2px white;">
history<br>
<p>m=minute, h=hour, d=day</p>
<table align="Center">
<tr style="background-color: rgb(180,20,0);">
<td>page</td><td>date</td><td>type</td><td>for</td><td>reason</td></tr>
<script language="javascript" type="text/javascript">
var gethistory=JSON.parse('<?php echo json_encode($gethistory); ?>');
for(var i=0; i<=(gethistory.length)-1; i++){
document.write("<td>"+gethistory[i][1]+"</td>");
document.write("<td>"+gethistory[i][3]+"</td>");
document.write("<td>"+gethistory[i][2]+"</td>");
document.write("<td>"+gethistory[i][4]+"</td>");
document.write("<td>"+gethistory[i][0]+"</td>");
document.write("</tr>");
}
</script>
</table>
</div>
<div style="position: absolute; bottom: 10px; left: 43%;" align="center">
<button class="editb" id="editbutton" onclick="editm()" >edit</button>
<button class="saveb" id="savebutton" onclick="save()" >save</button>
</div>
</div>
<!--hidden form-->
<form style="display: none" id="editform" action="poster.php" method="get" target="_blank">
<input autocomplete="off" type="hidden" name="doing" value="edituser" />
<input autocomplete="off" type="hidden" name="discord" id="discordF" />
<input autocomplete="off" type="hidden" name="email" id="emailF" />
<input autocomplete="off" type="hidden" name="color" id="colorF" />
</form>
<!--functions and shit-->
<script language="javascript" type="text/javascript">
//notification
if("<?php echo $_SESSION['message']; ?>"=="file uploaded"){
$("#notibox").html("profile changed!");
$("#notibox").css("display","block");
setTimeout(function(){ $("#notibox").css("display","none"); },4000)
} else if("<?php echo $_SESSION['message']; ?>"!=""){
$("#notibox").html("<?php echo $_SESSION['message'] ?>");
$("#notibox").css("background-color","rgb(180,0,0)");
$("#notibox").css("display","block");
}
//functions
if("<?php echo $pass; ?>"=="null"){
$("#editbutton").css("display","block");
}
function editm(){
$("#savebutton").css("display","block");
$("#discord").html('<input autocomplete="off" type="text" id="discordi" value="<?php echo $xml->discord; ?>" />');
$("#email").html('<input autocomplete="off" type="email" id="emaili" value="<?php echo $xml->email; ?>" />');
$("#color").html('<input class="color" autocomplete="off" type="color" id="colori" value="<?php echo $xml->color; ?>"/>');
}
function save(){
$("#discordF").val($("#discordi").val());
$("#emailF").val($("#emaili").val());
$("#colorF").val($("#colori").val());
$("#editform").submit();
setTimeout(() => { location.reload(); }, 500);
}
function show(idd){
if((idd=="editprofilebox")){
if(("<?php echo $pass; ?>"!="!edit")){
$("#"+idd).css("display","block");
}
} else {
$("#"+idd).css("display","block");
}
}
function hide(idd){
$("#"+idd).css("display","none");
}
</script>
<?php $_SESSION['message']=""; ?>
</body>
</html>

33
chat/profile_update.php Executable file
View File

@ -0,0 +1,33 @@
<html>
<body>
<?php
session_start();
require_once("../login/login.php");
if($login_correct=="true"){
if(isset($_POST['pfp_change'])){
$file_type = strtolower(pathinfo($_FILES["pfp_picture"]["name"],PATHINFO_EXTENSION));
if($file_type=="png"||$file_type=="jpg"||$file_type=="gif"){
if($_FILES["pfp_picture"]["size"] < 3000000){
unlink("../account_data/".$_SESSION['username'].".png");
unlink("../account_data/".$_SESSION['username'].".jpg");
unlink("../account_data/".$_SESSION['username'].".gif");
if(move_uploaded_file($_FILES["pfp_picture"]["tmp_name"], "../account_data/".$_SESSION['username'].".".$file_type)) {
$_SESSION['message']="file uploaded";
} else {
$_SESSION['message']="there was a error uploading your file";
}
} else {
$_SESSION['message']="file is too big, must be less than 5mb";
}
} else {
$_SESSION['message']="file is not a image or gif, try again";
}
}
} else {
echo $_SESSION['message']="error. you cant edit a profile that isn't yours. nice try";
}
?>
<script language="javascript" type="text/javascript">window.close();</script>
</body>
</html>

4
chat/status.xml Executable file
View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<status>
<user time="offline">iceyrazor</user>
</status>

BIN
dmu/dmu map queue.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 489 KiB

11
dmu/map_queue.json Normal file
View File

@ -0,0 +1,11 @@
{
"todo":[
{"name":"wheezebob","words":"wheezer","color":"undefined",
"status":"inactive","comments":"need to define color","issue_date":"8/29/2023"}
],
"done":[
{"name":"iceyrazor","words":"SWD","color":"pink",
"comments":"public buyable map 2777B","issue_date":"8/31/2023","finished_date":"8/31/2023"}
]
}

105
dmu/mapqueue.html Normal file
View File

@ -0,0 +1,105 @@
<html>
<head>
<title>dmu map queue</title>
<style>
html{
background-color: #000000;
color: #ffffff;
background: url('dmu map queue.png');
background-size: cover;
background-position: center center;
background-attachment: fixed;
}
.main-wrap{
background-color: #111111f0;
width: 80%;
min-height: 800px;
}
a{
color: #007fff;
}
p, td, a{
font-size: 20px;
}
td{
border: 2px solid white;
padding: 5px;
}
.warn{
color: #efef00;
}
</style>
</head>
<body>
<div align="center">
<div class="main-wrap">
<a href="http://iceyfox.x10host.com/" target="_BLANK">main page</a>
<br><br>
<p class="warn">this site updates by itself. do not spam refresh!</p>
<p>this shows what orders are in queue</p>
<br><br><br>
<h1>in queue</h1>
<table id="todo_queue"></table>
<br><br>
<h1>done maps</h1>
<table id="done_list"></table>
</div>
</div>
<script language="javascript">
function fetch_loop(){
fetch('map_queue.json')
.then(response => response.json())
.then(res=>{
update_list(res);
});
setTimeout(fetch_loop,3000);
}
fetch_loop();
function update_list(res){
let str="<tr><td>username</td><td>word(s)</td><td>color</td><td>status</td><td>comments</td><td>date</td></tr>"
res.todo.forEach(item=>{
let Scolor= item.status=="active" ? "#00ff5f" : "#d03f00";
console.log(item);
str+="<tr><td>"+item.name
+"</td><td>"+item.words
+"</td><td>"+item.color
+"</td><td style=\"color:"+Scolor+";\">"+item.status
+"</td><td>"+item.comments
+"</td><td>"+item.issue_date
+"</td></tr>"
});
todo_queue.innerHTML=str
str="<tr><td>username</td><td>word(s)</td><td>color</td><td>comments</td><td>issued date</td><td>finished date</td></tr>"
res.done.forEach(item=>{
console.log(item);
str+="<tr><td>"+item.name
+"</td><td>"+item.words
+"</td><td>"+item.color
+"</td><td>"+item.comments
+"</td><td>"+item.issue_date
+"</td><td>"+item.finished_date
+"</td></tr>"
});
done_list.innerHTML=str
}
</script>
</body>
</html>

62
full_art.html Executable file
View File

@ -0,0 +1,62 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
#image_box_container{
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
grid-template-rows: minmax(200px auto) 400px minmax(300px, auto);
grid-auto-rows: minmax(300px, auto);
grid-gap: 20px;
}
#image_box_container img{
width: 100%;
height: auto;
}
body{
background-color: #333333;
}
</style>
</head>
<body>
<div id="image_box_container"></div>
<div id="image_viewer"></div>
<script language="javascript" type="text/javascript">
fetch('assets/fetch-content-list.php?type=full',{
cache:'no-cache'
})
.then(response=>response.json())
.then(res=>{
let set_str=""
let folder='assets/'
for(i in res){
let file=folder+res[i][0]+res[i][1]
let thumbnail=folder+"made_content/thumbnails/"+res[i][2]
if(file.match(/.png|.PNG|.jpg|.JPG|.jpeg|.JPEG|.gif|.GIF/g)){
set_str+=`<div><div><img onclick=open_img('${file}') src="${file}" /></div></div>`
} else if(file.match(/.mp4|.MP4/g)){
set_str+='<div>'+
'<video class="videos" width="100%" height="100%" '+
`controls><source src="${file}" `+
'type="video/mp4"></video></div>';
//set_str+=`<div><div><img onclick=open_vid('${file}') src="${thumbnail}" /></div></div>`
}
}
document.getElementById('image_box_container').innerHTML+=set_str
})
function open_img(file){
console.log(file)
}
function open_vid(file){
console.log(file)
}
</script>
</body>
</html>

35
gmod.html Executable file
View File

@ -0,0 +1,35 @@
<html>
<head>
<title>gmod rules</title>
<link rel="stylesheet" type="text/css" href="assets/gmod.css?v=1.1">
</head>
<body>
<h1>iceyfox servers</h1>
<fieldset class="rules">
<a href="index.html">go home (hint click me)</a>
<h2 align="center">rules</h2>
<ol><li>dont mess with other peoples spawned items without there permission (ramming them counts)</li>
<li>dont noclip into peoples bases without there permission</li>
<li>dont go outside the map walls and the skybox (tardis does not count)</li>
<li>no mic or text spamming</li>
<li>no racism or sexism</li>
<li>use common sense</li>
<li>no advertising</li>
<li>dont use the sonic screwdriver on players</li>
<li>no prop killing</li>
<li>no noclip killing what so ever</li>
<li>if someone ask you to stop killing them.. stop</li><ol>
</fieldset>
<fieldset class="info">
<h2 align="center">info</h2>
<li>if you can not read all the shit here now, you can when you load in</li>
<li>you can rp (role play) if you want to, you dont have to, its sandbox</li>
<li>there is no specific uptime for the server, it will be up at random times</li>
<li>if you want the Member rank you have to join the discord server which is on the home page and can only be obtained by
being trusted by a enforcer +(the home button is on the top left of rules)(rank is not mandatory)</li>
<li>if your in a sit (frozen/jailed) for breaking a rule dont leave until the admin says you are free to go.</li>
<li><a href="http://steamcommunity.com/sharedfiles/filedetails/?id=1216537527">server collection</a></li>
</fieldset>
</body>
</html>

51
gmodloadscreen.html Executable file
View File

@ -0,0 +1,51 @@
<html>
<head>
<title>gmod rules</title>
<link rel="stylesheet" type="text/css" href="assets/gmod.css?v=1.1">
</head>
<body>
<h1>iceyfox servers</h1>
<fieldset class="rules">
<ol><li>dont mess with other peoples spawned items without there permission (ramming them counts)</li>
<li>dont noclip into peoples bases without there permission</li>
<li>dont go outside the map walls and the skybox (tardis does not count)</li>
<li>no mic or text spamming</li>
<li>no racism or sexism</li>
<li>use common sense</li>
<li>no advertising</li>
<li>dont use the sonic screwdriver on players</li>
<li>no prop killing</li>
<li>no noclip killing what so ever</li>
<li>if someone ask you to stop killing them.. stop</li><ol>
</fieldset>
<fieldset class="info">
<h2 align="center">info</h2>
<li>if you can not read all the shit here now, you can when you load in</li>
<li>you can rp (role play) if you want to, you dont have to, its sandbox</li>
<li>there is no specific uptime for the server, it will be up at random times</li>
<li>if you want the Member rank you have to join the discord server which is on the home page and can only be obtained by
being trusted by a enforcer +(the home button is on the top left of rules)(rank is not mandatory)</li>
<li>if your in a sit (frozen/jailed) for breaking a rule dont leave until the admin says you are free to go.</li>
</fieldset>
<div class="loadbar">
status: <span id="filename" class="filename"></span><br><br>
map: <span id="mapname" class="map"></span>
<span id="needed" class="fileneeded"></span>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script language="javascript" type="text/javascript">
function GameDetails( servername, serverurl, mapname, maxplayers, steamid, gamemode, volume, language ){
$("#mapname").html(mapname)
}
function SetFilesNeeded( needed ) {
$("#needed").html(needed)
}
function SetStatusChanged( status ) {
$("#filename").html(status)
}
</script>
</body>
</html>

86
hls.html Normal file
View File

@ -0,0 +1,86 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Live Streaming</title>
<link rel="stylesheet" href="https://cdn.plyr.io/3.7.8/plyr.css" />
</head>
<body>
<div style="height: 120vh;">
<video id="player" controls preload="auto" autoplay="true">
</video>
</div>
<div id="user_count"></div>
<br><br><br><br><br><br><br>
<script src="https://cdn.jsdelivr.net/npm/hls.js@latest"></script>
<script src="https://cdn.plyr.io/3.7.8/plyr.js"></script>
<script type="text/javascript">
document.addEventListener('DOMContentLoaded', ()=>{
let video = document.getElementById('player');
let source = "http://iceyfoxservers.ddns.net:4388/test.m3u8";
const defaultOptions = {};
if(Hls.isSupported()){
const hls = new Hls();
hls.loadSource(source);
hls.on(Hls.Events.MANIFEST_PARSED,function(event,data){
const availQualities = hls.levels.map((dat2) => dat2.height);
defaultOptions.controls = [
'play-large',
'restart',
//'rewind',
'play',
'fast-forward',
'progress',
'current-time',
'duration',
'mute',
'volume',
'captions',
'settings',
'pip',
'airplay',
'fullscreen',
]
defaultOptions.quality = {
default: availQualities[0],
options: availQualities,
forced: true,
onChange: (e)=> updateQuality(e)
}
new Plyr(video,defaultOptions);
});
hls.attachMedia(video);
window.hls = hls;
} else {
console.log("hls not supported");
}
function updateQuality(newQuality){
window.hls.levels.forEach((level, levelindex)=>{
if(level.height === newQuality){
window.hls.currentLevel=levelIndex;
}
})
}
user_count.innerHTML="user count: fetching"
user_count_loop();
})
function user_count_loop(){
fetch('http://iceyfoxservers.ddns.net:4389/usr_count.txt')
.then((res)=>res.text())
.then((data)=>{
user_count.innerHTML="user count: "+data
})
setTimeout(user_count_loop,5000);
}
</script>
</body>
</html>

115
index.html Executable file
View File

@ -0,0 +1,115 @@
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width">
<meta property="og:type" content="website">
<meta property="og:url" content="http://iceyfox.xyz/">
<meta property="og:site_name" content="iceyfox frost box">
<meta property="og:title" content="the frost box">
<meta property="og:description" content="a simple website containing iceyrazor's bio, socials and random stuffs he made">
<meta property="og:image" content="http://iceyfox.xyz/assets/img/index_banner.png">
<meta property="og:image:alt" content="insert image here">
<meta name="msapplication-TileColor" content="#ff00ff">
<meta name="twitter:card" content="summary_large_image">
<meta name="theme-color" content="#0000ff">
<title>frost box</title>
<link rel="stylesheet" href="assets/index.css?ver=30" />
</head>
<body>
<div align="center">
<div class="header" id="header_main">The Frost Box</div>
<div class="spacer1" id="spacer_header"></div>
<div class="main" align="left">
<div class="social-tray">
<a target="_BLANK" href="https://github.com/iceyrazor"><img src="assets/img/icons/github-mark.png"></img></a>
<a target="_BLANK" href="https://gitea.iceyfox.xyz"><img src="assets/img/icons/gitea.svg"></img></a>
<a target="_BLANK" href="https://discord.gg/6bSre9V"><img class="discord" src="assets/img/icons/discord-mark-blue.png"></img></a>
<a target="_BLANK" href="https://www.youtube.com/channel/UCOBfHd00-1HBu8bwXV63OSw"><img class="yt" src="assets/img/icons/yt_logo_rgb_dark.png"></img></a>
<a target="_BLANK" rel="me" href="https://mas.to/@iceyrazor"><img src="assets/img/icons/mastodon-logo-purple.svg"></img></a>
<a target="_BLANK" href="https://www.twitch.tv/iceyrazor"><img src="assets/img/icons/twitch.png"></img></a>
<a target="_BLANK" href="https://x.com/@iceyrazor1"><img src="assets/img/icons/twit-logo-black.png"></img></a>
<a target="_BLANK" href="/blog/index.xml"><img src="assets/img/RSS.png"></img></a>
</div>
<div class="main-text">
<ul>
<li>i also have a gitea (git) server that i may move my repos too. <a href="https://gitea.iceyfox.xyz">https://gitea.iceyfox.xyz</a></li>
</ul>
<ul>
<li><b>contact</b> me by email <code>iceyfoxservers@gmail.com</code>. or on discord <code>iceyrazor</code></li>
<li>GPG key for encrypting messages if you know how, download <a href="http://iceyfox.xyz/iceyrazor.gpg.pub">here</a> or just run:</li>
<ul>
<li><code>curl -sL http://iceyfox.xyz/iceyrazor.gpg.pub | gpg --import</code></li>
<li>Fingerprint: <code>A2C2 FAA5 6038 665F 1E51 BCDB 1726 AA27 638B FDD5</code></li>
<li>All legitimate emails from me will be signed with my GPG key. Probably</li>
</ul>
</ul>
<a target="_BLANK" style="font-size:30px" href="/blog">checkout my blog</a><br>
<a target="_BLANK" style="font-size:30px" href="/updates">get updates</a>
<br><br>
<div class="line-break"></div>
<h1>about me</h1>
<p>Im interested in coding, networking technologies, 3d modeling, as well as 3d CGI.</p>
<p>Programming in bash, Clang, Javascript, Nodejs, lua, and beginning with web design.</p>
<p>My main focus is web sockets, mysql, and anything really that involves connecting devices to other devices. Typically through web sockets.</p>
<p>Previous work experience? none, i do this as a hobby.</p>
<p>And i use arch btw. :)</p>
<p>See more of my art <a href="http://iceyfox.xyz/full_art.html">here</a></p>
<div class="line-break"></div>
<h1>Games. Love games.</h1>
<ul>
<li>I've mainly been into minecraft</li>
<li>metal gear rising revengeance</li>
<li>resonite &gt; vrchat</li>
<li>space engineers</li>
<li>no mans sky</li>
</ul>
</div>
<div class="line-break"></div>
<h3>low quality render of a my boi jumpin</h3>
<p>this site is bad at serving videos. play it on repeat till it loads</p>
<div height="100%">
<video class="videos" width="100%" height="90%" controls><source src="assets/made_content/partial/jumpin-smol.mp4" type="video/mp4"></video>
</div>
<div class="line-break"></div>
<div class="main-text">
<h1>links</h1>
<a target="_BLANK" href="full_art.html">see art</a><br>
<a target="_BLANK" href="/blog">my blog and rss feed</a><br>
<a target="_BLANK" href="/updates">my updates and rss feed</a>
<h2>rule pages</h2>
<div><a target="_BLANK" href="minecraft.html">minecraft rules</a></div>
<div><a target="_BLANK" href="gmod.html">gmod rules</a></div>
<div><a target="_BLANK" href="spaceengineers.html">space engineers rules</a></div>
<div><a target="_BLANK" href="arma3.html">arma 3 rules</a></div>
<h2>scripts</h2>
<div><a href="/tardisproject/tardis.php">tardis project</a></div>
<br><br>
</div>
<div class="line-break"></div>
<div class="main-text">
<h1>discord</h1>
<div><a href="https://discord.gg/6bSre9V">https://discord.gg/6bSre9V</a></div>
<br><br>
<div style="height: 501px;"><iframe src="https://discordapp.com/widget?id=367256647254540299&theme=dark" align="center" width="500" height="500" allowtransparency="true" frameborder="0"></iframe></div>
<br><br>
</div>
</div>
</div>
<script language="javascript" type="text/javascript">
document.addEventListener("scroll",()=>{
if(document.documentElement.scrollTop > 10){
document.getElementById('header_main').style.animationName="Up-header";
} else {
document.getElementById('header_main').style.animationName="Down-header";
}
})
</script>
</body>
</html>

103
indexold.html Executable file
View File

@ -0,0 +1,103 @@
<html>
<head>
<title>iceyfox servers</title>
<style>
::-webkit-scrollbar {
width: 0px; /* Remove scrollbar space */
background: transparent; /* Optional: just make scrollbar invisible */
}
body{
background-image: url('assets/img/index.jpg');
background-attachment: fixed;
background-size: cover;
}
.spacer{
padding-top: 30px;
}
.header, .body, .footer{
font-size: 20px;
width: 96%;
border: 2px solid black;
background-color: rgba(250,250,250,0.3);
padding: 20px;
}
.header{
color: white;
text-shadow: 2px 2px 2px black;
padding: 0px;
width: 98%;
}
.body{
border-radius: 20px;
}
.footer{
background-color: rgba(100,100,100,0.4);
color: white;
}
.nav-bar{
font-size: 20px;
color: white;
background-color: rgba(0,120,200,0.2);
width: 100%;
}
.nav-bar td{
padding-left: 4px;
padding-right: 4px;
}
.nav-bar a{
text-decoration: none;
color: white;
}
.nav-link:hover{
background-color: rgba(0,40,200,0.2);
}
</style>
</head>
<body>
<div align="center">
<div align="center" class="header">
<h1>the ice box</h1>
<div align="left">
<table class="nav-bar">
<tr>
<td>social</td>
<td class="nav-link"><a target="_BLANK" href="https://www.twitch.tv/iceyrazor">twitch</a></td>
<td class="nav-link"><a target="_BLANK" href="https://www.youtube.com/channel/UCOBfHd00-1HBu8bwXV63OSw">youtube</a></td>
<tr>
<td>rule pages:</td>
<td class="nav-link"><a target="_BLANK" href="discord_rules.html">discord rules</a></td>
<td class="nav-link"><a target="_BLANK" href="gmod.html">gmod rules</a></td>
<td class="nav-link"><a target="_BLANK" href="spaceengineers.html">space engineers rules</a></td>
<td class="nav-link"><a target="_BLANK" href="minecraft.html">minecraft rules</a></td>
<td class="nav-link"><a target="_BLANK" href="arma3.html">arma 3 rules</a></td>
</tr>
<tr>
<td>scripts</td>
<td class="nav-link"><a href="/chat/chat.php">simply chaty, my chat box</a></td>
<td class="nav-link"><a href="/tardisproject/tardis.php">tardis project</a></td>
</tr>
</table>
</div>
</div>
<div class="spacer"></div>
<div align="left" class="body">
<p>if you have any ideas, feel free to contact me at the gmail below. (dont spam my gmail or leave stupid s*** there)</p>
<iframe src="https://discordapp.com/widget?id=367256647254540299&theme=dark" align="center" width="350" height="500" allowtransparency="true" frameborder="0"></iframe>
<p>if button doesn't work here ya go (copy and paste): <a href="https://discord.gg/6bSre9V">https://discord.gg/6bSre9V</a></p>
</div>
<div class="spacer"></div>
<div align="center" class="footer">
<p align="center">made by the foxy animator 2018-2019</p>
<p align="center">contact me at: iceyfoxservers@gmail.com, or over discord</p>
<p align="center">this site is completely scripted from scratch. no web creators are used</p>
<p align="center">i didn't make the background image i googled it :3</p>
</div>
</div>
</body>
</html>

84
indexold2.html Executable file
View File

@ -0,0 +1,84 @@
<html>
<head>
<link rel="stylesheet" href="assets/indexold2.css?ver=21" />
</head>
<body>
<div id="side_bar">
<div class="side-bar-button" onClick="close_sb()">
<svg xmlns="http://www.w3.org/2000/svg" width="50" height="50" fill="currentColor" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M2.5 12a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5z"/>
</svg>
</div>
<div>
<h2>social media</h2>
<div><a target="_BLANK" href="https://github.com/iceyrazor">github</a></div>
<div><a target="_BLANK" href="https://www.youtube.com/channel/UCOBfHd00-1HBu8bwXV63OSw">youtube</a></div>
<div><a target="_BLANK" href="https://www.twitch.tv/iceyrazor">twitch</a></div>
</div>
<div>
<h2>rule pages</h2>
<div><a target="_BLANK" href="discord_rules.html">discord rules</a></div>
<div><a target="_BLANK" href="gmod.html">gmod rules</a></div>
<div><a target="_BLANK" href="spaceengineers.html">space engineers rules</a></div>
<div><a target="_BLANK" href="minecraft.html">minecraft rules</a></div>
<div><a target="_BLANK" href="arma3.html">arma 3 rules</a></div>
</div>
<div>
<h2>scripts</h2>
<div><a href="/chat/chat.php">simply chaty, my chat box</a></div>
<div><a href="/tardisproject/tardis.php">tardis project</a></div>
</div>
<div>
<div style="height: 501px;"><iframe src="https://discordapp.com/widget?id=367256647254540299&theme=dark" align="center" width="260" height="500" allowtransparency="true" frameborder="0"></iframe></div>
<br><br>
discord:
<div><a href="https://discord.gg/6bSre9V">https://discord.gg/6bSre9V</a></div>
</div>
</div>
<div class="main-wrap">
<div class="title-bar-wrap">
<div>iceyrazor's.... thing</div>
</div>
<div class="body">
<h1>about me</h1>
<p>Im just a guy intrested in 3d modeling, and coding</p>
<p>I do the above, 3d modeling, as well as CGI, Javascript, Nodejs, a bit of C#, and
beginning with webdesign. (as you can tell XD)</p>
<p>And im working with linux, debian</p>
<h1>Some art i have made</h1>
<div id="image_box">
<div id="image_box_container"></div>
<span id="image_box_arrow_left" onClick="move_image_box('-')">
<svg xmlns="http://www.w3.org/2000/svg" width="50" height="50" fill="currentColor" class="bi bi-arrow-left-circle" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-4.5-.5a.5.5 0 0 1 0 1H5.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L5.707 7.5H11.5z"/>
</svg>
</span>
<span id="image_box_arrow_right" onClick="move_image_box('+')">
<svg xmlns="http://www.w3.org/2000/svg" width="50" height="50" fill="currentColor" class="bi bi-arrow-right-circle" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM4.5 7.5a.5.5 0 0 0 0 1h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L10.293 7.5H4.5z"/>
</svg>
</span>
<span class="image-box-fader" />
</div>
<a target="_BLANK" href="full_art.html">see more art</a>
</div>
<div class="footer" align="center">
<p>made by iceyrazor 2018-2022</p>
<p>contact me at: iceyfoxservers@gmail.com, or over discord</p>
<p>this site is completely scripted from scratch. no web creators are used</p>
</div>
</div>
<div class="side-bar-button float-button" onClick="open_sb()">
<svg xmlns="http://www.w3.org/2000/svg" width="50" height="50" fill="currentColor" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M2.5 12a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5z"/>
</svg>
</div>
<script src="assets/index.js"></script>
</body>
</html>

52
linuxinfo/index.html Normal file
View File

@ -0,0 +1,52 @@
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width">
<meta property="og:type" content="website">
<meta property="og:url" content="http://iceyfox.xyz/linux_info.html">
<meta property="og:site_name" content="linux info">
<meta property="og:title" content="linux info">
<meta property="og:description" content="a page containing a whole slew of linux stuffs. and a bit of privacy stuff">
<meta property="og:image" content="http://iceyfox.xyz/assets/img/linux2.png">
<meta property="og:image:alt" content="insert image here">
<meta name="msapplication-TileColor" content="#ff00ff">
<meta name="theme-color" content="#0000ff">
<title>linux info</title>
<link rel="stylesheet" href="/assets/static-style.css" />
</head>
<body>
<div class="static-main">
<h1>linux info</h1>
<p>this is a collection of links and info on running games and vr on linux</p>
<p>running linux. You're going to run into quite a lot of issues.<br>
Most of them solvable with a quick google search and pasting in a command. But often enough you get into a issue hell hole. <br>
Here's a video that has a bit that pretty much shows the issue rabbit hole you can run into. <br>
<a href="https://www.youtube.com/watch?v=HWv5B4HMvQs&">My Experience with Arch Linux (GNOME)</a>
</p>
<h2>playlist</h2>
<p>i have a whole playlist on a bunch of linux stuffs</p>
<a href="https://www.youtube.com/watch?v=mUlIEFzryCY&list=PLwpvCCyacwS_hXujYSFeQH_CQKIq_gE2M&index=1">Linux is Too Hard - A Solution</a>
<h1>Vr</h1>
<table>
<ul>
<li>
Here's a site with a ton of info on running VR.
I recommend envision with WiVrn over using alvr + steamvr. async with steamvr is shit.
<a href="https://lvra.gitlab.io">lvra.gitlab.io</a>
</li>
</ul>
</table>
<h1>Privacy</h1>
<p>A lot of people say "why should i care about privacy, i have nothing to hide". Would you be okay letting many strangers
watch you use the bathroom in your own home every time? Would you let me look through every one of your emails?
on every account if you have multible?</p>
<p>You don't always have to sacrifice a whole lot for privacy. You can choose what fits your model, but don't use that thinking above
to make stupid decisions</p>
<p>here's a playlist on privacy starting off with why it matters
<a href="https://www.youtube.com/watch?v=pcSlowAhvUk&list=PLwpvCCyacwS-ztlFutZbKYc9j2sv0x0Sm">Glenn Greenwald: Why Privacy Matters</a>
</p>
</div>
</body>
</html>

45
login/login.js Executable file
View File

@ -0,0 +1,45 @@
/*<div style="position: absolute; top: 10px; right: 20px; background-color: white;" align="right">
<button id="loginbutton" onclick="hidetoggle('loginbox')" style="border: solid 2px white; color: black; padding:4px;" >
login/signup </button>
<div id="loginbox" style="display: none; padding: 4px;"><form method="post" action="">
<input autocomplete="off" type="text" name="username" /><br><br>
<input autocomplete="off" type="password" name="password" /><br><br>
<div align="left">
<input autocomplete="off" type="submit" value="login" />
<span style="padding-left: 20px" />
<a href="../register/register.php" style="text-decoration: none; border: solid 1px gray; border-radius: 1px; padding-bottom: 2px; padding-left: 5px; padding-right: 5px; color: black;">register</a>
</div>
</form></div>
</div>*/
//removed until database is fixed
/*document.write('<div style="position: absolute; top: 10px; right: 20px; background-color: white;" align="right">'+
'<button id="loginbutton" '+"onclick=\"hidetoggle('loginbox')\""+' style="border: solid 2px white; color: black; padding:4px;" >'+
'login/signup ▼</button>'+
'<div id="loginbox" style="display: none; padding: 4px;"><form method="post" action="">'+
'<input autocomplete="off" type="text" name="username" /><br><br>'+
'<input autocomplete="off" type="password" name="password" /><br><br>'+
'<div align="left">'+
'<input autocomplete="off" type="submit" value="login" />'+
'<span style="padding-left: 20px" />'+
'<a href="../register/register.php" style="text-decoration: none; border: solid 1px gray; border-radius: 1px; padding-bottom: 2px; padding-left: 5px; padding-right: 5px; color: black;">register</a>'+
'</div></form></div></div>');*/
loginboxtext='<form method="post" action="">'+
'<input autocomplete="off" type="hidden" name="logout" value="true" /><br>'+
'<div align="center">'+
'<input autocomplete="off" type="submit" name="logout" value="logout" />'+
'</div></form></div>';
if(username!="guest"){
$("#loginbox").html(loginboxtext);
$("#loginbutton").html("logout ▼");
}
function hidetoggle(data){
if($("#"+data).css("display")=="none"){
$("#"+data).css("display","block");
} else {
$("#"+data).css("display","none");
}
}

86
login/login.php Executable file
View File

@ -0,0 +1,86 @@
<?php
//require_once("../../mysql_connect.php");
$_SESSION['username']="guest";
$_SESSION['password']="password";
$_SESSION['profilepicture']="../account_data/guest.png";
/*if(isset($_POST['logout'])){
if($set_logout_status==true){
if($_SESSION['username']!="guest"){
$statusf=simplexml_load_file("status.xml");
$file = fopen("status.xml","w");
$userexist=false;
for($i=0;$i<=count($statusf->user);$i++){
if($statusf->user[$i]==$_SESSION['username']){
$userexist=true;
break;
}
if($userexist==true){break;}
}
$i=0;
fwrite($file, '<?xml version="1.0" encoding="UTF-8"?>'."\n".'<status>'."\n");
$wrote=false;
foreach($statusf as $status){
if(($statusf->user[$i]==$_SESSION['username'])||($userexist==false)){
if($userexist==false){
fwrite($file, ' <user time="'.$statusf->user[$i]['time'].'">'.$statusf->user[$i]."</user>\n");
}
if($wrote==false){fwrite($file, ' <user time="offline">'.$_SESSION['username']."</user>\n"); $wrote=true;}
} else {
fwrite($file, ' <user time="'.$statusf->user[$i]['time'].'">'.$statusf->user[$i]."</user>\n");
}
$i++;
}
fwrite($file, '</status>');
fclose($file);
}
}
$_SESSION['username']="";
$_SESSION['password']="";
}
if($_SESSION['username']==""||$_SESSION['username']=="guest"){
if($_POST['username']==""){
$_SESSION['username']="guest";
$_SESSION['password']="password";
} else {
$_SESSION['username']=$_POST['username'];
$_SESSION['password']=$_POST['password'];
}
}
$_POST['username']="";
$_POST['password']="";
if($_SESSION['username']!="guest"){
$stmt=$dbc->prepare("select username,password from ".$dbc_ver_accounts." where username=?");
$stmt->execute([$_SESSION['username']]);
$getuser=$stmt->fetch();
if($getuser[0]==$_SESSION['username']){
if(password_verify($_SESSION['password'],$getuser[1])){
$login_correct="true";
} else {
$_SESSION['username']="guest";
$_SESSION['password']="password";
$_SESSION['errormsglogin']="login info is incorrect";
$login_correct="false";
}
} else {
$_SESSION['username']="guest";
$_SESSION['password']="password";
$_SESSION['errormsglogin']="login info is incorrect";
$login_correct="false";
}
}
$stmt=null;
$getuser=null;
if(file_exists("../account_data/".$_SESSION['username'].".png")){
$_SESSION['profilepicture']="../account_data/".$_SESSION['username'].".png";
} elseif(file_exists("../account_data/".$_SESSION['username'].".jpg")){
$_SESSION['profilepicture']="../account_data/".$_SESSION['username'].".jpg";
} elseif(file_exists("../account_data/".$_SESSION['username'].".gif")){
$_SESSION['profilepicture']="../account_data/".$_SESSION['username'].".gif";
} else {
$_SESSION['profilepicture']="../account_data/guest.png";
}*/
?>

175
minecraft.html Executable file
View File

@ -0,0 +1,175 @@
<html>
<head>
<title>iceyfox servers mc</title>
<style>
::-webkit-scrollbar {
width: 0px; /* Remove scrollbar space */
background: transparent; /* Optional: just make scrollbar invisible */
}
html {
min-width: 500px;
position: relative;
}
body{
background-image: url("assets/img/minecraft.png");
background-size: cover;
background-attachment: fixed;
}
h1{
color: rgb(255,255,255);
text-shadow: 2px 2px 3px #000000;
}
a{
font-size: 23px;
background-color: rgba(200,200,200,1);
text-decoration: none;
color: rgb(50,50,50);
border-width: 3px;
border-style: outset;
border-color: rgb(150,150,150);
padding: 4px;
}
a:hover {
border-style: inset;
background-color: rgba(180,180,180,1);
}
fieldset{
font-size: 27px;
background-color: rgba(200,200,200,0.7);
border-style: inset;
}
p{
color: rgb(255,255,255);
font-size: 27px;
text-shadow: 3px 3px 4px #000000;
}
fieldset p{
color: #000000;
text-shadow: 0px 0px 0px rgba(0,0,0,0);
}
legend{
color: rgb(255,255,255);
}
.rules{
position: relative;
width: 43vw;
left: 1%;
}
.info{
position: absolute;
margin-left: 50vw;
top: 6%;
width: 45vw;
}
.modlist{
position: relative;
left: 1%;
width: 43vw;
}
.inner_modlist{
padding-bottom: 30px;
padding: 4px;
border: 2px solid black;
overflow: scroll;
height: 46vh;
}
.modlist_bottom_bar{
position: absolute;
background-color: rgba(200,200,200,0);
bottom: 11%;
left: 3%;
width: 94%;
height: 5%;
align-text: center;
}
.modlist a{
font-size: 25px;
background-color: rgba(0,0,0,0);
text-decoration: underline;
color: rgb(0,50,150);
border: 0px;
padding: 4px;
}
.has-required-mod{
border: 2px solid black;
padding: 4px;
margin-top: 4px;
magrin-bottom: 4px;
}
</style>
</head>
<body>
<h1 align="center">iceyfox servers minecraft</h1>
<fieldset class="rules">
<legend>rules</legend>
<li>no swpamming</li>
<li>no griefing</li>
<li>no hacking</li>
<li>no x-ray cheats or scripts outside what is allready a mod &lt;o&lt;</li>
<li>no advertising</li>
<li>don't mess spawn/spawn city in any way</li>
<li>do not make claimes around your ship.<br> you tend to forget and then start claiming the sky. so dont. stations are ok</li>
<li>if you enter a claim they can deal with you how ever the claimer pleases,
they can also ignore most rules but entering a mods claim, the mod still cant put a strike on you for entering it and
no one can hack because someone entered a claim</li>
</fieldset>
<fieldset class="info">
<legend>info</legend>
<a href="index.html">go home (hint click me)</a><br><br>
<a href="https://files.minecraftforge.net/net/minecraftforge/forge/index_1.16.5.html" target="blank">forge</a>
<span style="padding: 5px;"> </span><code style="color: rgb(255,100,0); background-color: rgb(100,100,100); padding: 3px; border-radius: 20px; padding-left: 10px; padding-right: 10px">Forge: 1.16.5 36.2.39</code><br><br>
<a href="https://www.mediafire.com/folder/u5ekctiq277nv/mods" target="blank">here is the mods to join the server</a><br><br>
<li id="server_status">ip: private server</li><br>
<li>buyable things (not irl money)<br>
these are things you can get ingame by asking staff, that i think is.. fair. staff do not keep diamonds
<ol>
<!--<li>starter ship, you can buy a starter ship, ones that randomly generate is space. but only once and you can not allready have a ship. you are free to loot this if you wish, but again you do not get another one. for 3 diamonds.</li>-->
<li>dragon reroll, you can reroll a dragons gender for breeding if you meet the following criteria
<ol>
<li>you must have 2 dragons of the same type be stage 5 or higher</li>
<li>you must NOT have apposing gender of the same type allready. eg if you have one male and one female, you can not do this. and if you have 2 male and one female you can not do this. you can only do this if all are the same gender</li>
<li>you can only do this once every 15 hours</li>
</ol>
for 5 diamonds and the sacrafice of 1 dragon you want to re roll. you will get the same color and type back, as an egg.
</li>
<li>dragon revive, you can revive a dragon if you meet the following criteria
<ol>
<li>DO NOT loot the corpse, also have some sort of proof you did have a dragon</li>
<li>the dragon amount you had before your dragon died must be less than 3, eg if you have 2 remaning after your dragon dies. you can not do this</li>
<li>you can only do this 2 times every 15 hours</li>
</ol>
for 5 diamonds.
</li>
</ol>
dragon types by color
<li>type fire=Red, Emerald, Bronze, gray</li>
<li>type ice=Blue, White, Sapphire, Silver</li>
</li>
<br>
<iframe width="560" height="315" src="https://www.youtube.com/embed/rtrseUNg4ks" frameborder="1"></iframe>
</fieldset>
<fieldset class="modlist">
<legend>mod list</legend>
<p>a list of mods that i use currently</p>
<div class="inner_modlist"><div id="modlist"></div><p class="modlist_bottom_bar" align="center">&#8595;</p></div>
<script language="javascript" type="text/javascript">
mod_error=true;
fetch("minecraft_mod_list.json",{cache:"no-cache"})
.then(res=>res.json())
.then(res=>{
document.getElementById("modlist").innerHTML=res["mods"][0].replace(/</g,"").replace(/>/g,"").replace(/\\n/g,"<br>")
});
</script>
<br>
</fieldset>
</body>
</html>

18
register/loginM.php Executable file
View File

@ -0,0 +1,18 @@
<html>
<head>
<style>
html, input{
font-size: 25px;
background-color: rgb(30,30,30);
color: white;
}
</style>
</head>
<body>
<form method="post" action="manage.php">
<input type="text" name="username" value="username" />
<input type="password" name="password" value="password" />
<input type="submit" value="login" />
</form>
</body>
</html>

104
register/manage.php Executable file
View File

@ -0,0 +1,104 @@
<?php session_start(); ?>
<html>
<head>
<style>
html, input{
font-size: 25px;
background-color: rgb(30,30,30);
color: white;
}
table, td{
border: solid 2px white;
font-size: 25px;
}
td{
padding: 4px;
padding-top: 1px;
padding-bottom: 1px;
}
.button{
padding: 0px;
width: 30px;
height: 35px;
}
</style>
</head>
<body>
<?php
require_once("../../mysql_connect.php");
$username=$_POST['username'];
$password=$_POST['password'];
$userc="true";
if($username!="iceyrazor"){
$userc="false";
} else {
$stmt = $dbc->prepare("select * from accounts where username=?");
$stmt->execute([$username]);
$getpass=$stmt->fetch()['password'];
if(password_verify($password,$getpass)){
$passwordc="true";
} else {
$passwordc="false";
}
}
$stmt = $dbc->query("select username,discord,email from unver_accounts");
$getusername=array();
$getdiscord=array();
$i=0;
while($row = $stmt->fetch()){
$getusername[$i]=$row['username'];
$getdiscord[$i]=$row['discord'];
$i++;
}
$dbc=null;
?>
<script language="javascript">
if('<?php echo $userc; ?>' == "false"){
if(alert('only the owner has permission to use this page')) {
window.location.replace("loginM.php");
} else {
window.location.replace("loginM.php");
}
throw new Error('This is not an error. This is just to abort javascript');
}
if('<?php echo $passwordc; ?>' == "false"){
if(alert('password is incorrect')) {
window.location.replace("loginM.php");
} else {
window.location.replace("loginM.php");
}
throw new Error('This is not an error. This is just to abort javascript');
}
</script>
<div align="center"><table><tr style="background-color: rgb(0,50,120);"><td>user</td><td>discord</td></tr>
<form target="_blank" align="center" method="post" action="poster.php" onsubmit="prefresh()">
<script language="javascript" type="text/javascript">
var uname=JSON.parse('<?php echo json_encode($getusername) ?>');
var discord=JSON.parse('<?php echo json_encode($getdiscord); ?>');
for(i=0;i<uname.length;i++){
document.write("<tr>");
document.write("<td>"+uname[i]+"</td>");
document.write("<td>"+discord[i]+"</td>");
document.write('<td><input autocomplete="off" type="radio" name="user" value="'+uname[i]+'" /></td>');
document.write("</tr>");
}
</script>
</table></div><br>
<div align="center">
action: <select autocomplete="off" name="action">
<option autocomplete="off" value="accept">accept</option>
<option autocomplete="off"value="deny">deny</option>
</select><br><br>
<input autocomplete="off" type="text" name="reason" value="reason" /><br><br>
<input autocomplete="off" type="submit" name="manageconfirm" value="confirm" />
</div></form>
<script language="javascript">
function prefresh(){
setTimeout(() => { location.reload(); }, 1000);
}
</script>
</body>
</html>

83
register/poster.php Executable file
View File

@ -0,0 +1,83 @@
<html>
<head>
<?php session_start(); ?>
</head>
<body>
<?php
require_once("../../mysql_connect.php");
if(isset($_POST['register_submit'])){
$response = $dbc->query("select username from ".$dbc_unver_accounts);
$response2 = $dbc->query("select username from ".$dbc_ver_accounts);
$uexist=false;
if($response){
//cheak if exist
while($row = $response->fetch(PDO::FETCH_ASSOC)){
if($row['username']==$_POST['usernameR']){
$uexist=true;
break;
}
}
while($row = $response2->fetch(PDO::FETCH_ASSOC)){
if($row['username']==$_POST['usernameR']){
$uexist=true;
break;
}
}
//creation
if($uexist==true){
$_SESSION['message'] = "user allready exist";
} else {
//send data
$query="INSERT INTO ".$dbc_unver_accounts." (username, password,
discord, email) VALUES (?,?,?,?)";
$stmt=$dbc->prepare($query);
$password=password_hash($_POST['passwordR'], PASSWORD_DEFAULT);
$stmt->execute([$_POST['usernameR'],$password,$_POST['discord'],
$_POST['email']]);
$_SESSION['message']="complete";
}
} else {
$_SESSION['message'] = "internal server error";
}
}
if(isset($_POST['manageconfirm'])){
if($_POST['action']=="deny"){
$stmt=$dbc->prepare("delete from ".$dbc_unver_accounts." where username=?");
$stmt->execute([$_POST['user']]);
$action="denied";
}
if($_POST['action']=="accept"){
$getinfo=$dbc->prepare("select * from ".$dbc_unver_accounts." where username=?");
$getinfo->execute([$_POST['user']]);
$getinfoarr=array();
while($row=$getinfo->fetch()){
$getinfoarr=array($row['username'],$row['password'],$row['discord'],$row['email']);
}
$drop=$dbc->prepare("delete from ".$dbc_unver_accounts." where username=?");
$drop->execute([$_POST['user']]);
$stmt=$dbc->prepare("INSERT INTO ".$dbc_ver_accounts."
(username, password, discord, email, date_created, primary_key)
VALUES (?,?,?,?,NOW(),NULL)");
$stmt->execute($getinfoarr);
$file=fopen("../account_data/".$_POST['user'].".xml","w");
fwrite($file,'<?xml version="1.0" encoding="UTF-8"?>'."\n<user>\n <color>#ffffff</color>\n <permissions>\n </permissions>\n</user>");
fclose($file);
$action="confirmed";
}
$xml=simplexml_load_file("log.xml");
$file = fopen("log.xml","w");
fwrite($file,'<?xml version="1.0" encoding="UTF-8"?>');
fwrite($file,"\n<log>");
fwrite($file,"\n".'<user name="'.$_POST['user'].'" action="'.$action.'">'.$_POST['reason'].'</user>');
for($i=0;$i<=4;$i++){
fwrite($file,"\n".'<user name="'.$xml->user[$i]['name'].'" action="'.$xml->user[$i]['action'].'">'.$xml->user[$i].'</user>');
}
fwrite($file,"\n</log>");
fclose($file);
}
$dbc=null;
?>
<script language="javascript">window.close();</script>
</body>
</html>

99
register/register.php Executable file
View File

@ -0,0 +1,99 @@
<html>
<head>
<?php session_start(); ?>
<style>
html, input{
font-size: 25px;
background-color: rgb(30,30,30);
color: white;
}
input{
padding: 4px;
}
fieldset, td{
border: solid 2px white;
font-size: 25px;
}
td{
padding: 4px;
}
.messagebox{
width: 50%;
}
</style>
</head>
<body>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<!--get log-->
<?php
$xml=simplexml_load_file("log.xml");
$i=0;
foreach($xml as $read){
$logf[$i]=strval($xml->user[$i]);
$logfname[$i]=strval($xml->user[$i]['name']);
$logfaction[$i]=strval($xml->user[$i]['action']);
$i++;
}
?>
<!--register-->
<div align="center">
<form method="post" action="poster.php" target="_blank" onsubmit="prefresh()">
username: <input autocomplete="off" type="text" name="usernameR" required /><br><br>
password: <input autocomplete="off" type="password" name="passwordR" required /><br><br>
discord name (with #numbers): <input autocomplete="off" type="text" name="discord" /><br><br>
(optional, for contact if discord goes down, also will be used as verifing you if you
lose your password)<br>
email: <input autocomplete="off" type="email" name="email" /><br><br>
<p align="center"><code style="color: orange;">note:</code> that when registering,
your account will be validated by a mod, you will have to wait</p>
<!--message-->
<div align="center"><div id="messagebox" class="messagebox"></div></div>
<script language="javascript">
if("<?php echo $_SESSION['message']; ?>"=="complete"){
$("#messagebox").html("complete");
$("#messagebox").css("background-color","green");
} else if("<?php echo $_SESSION['message']; ?>"=="user allready exist"){
$("#messagebox").html("user allready exist");
$("#messagebox").css("background-color","red");
} else if("<?php echo $_SESSION['message']; ?>"=="internal server error"){
$("#messagebox").html("internal server error");
$("#messagebox").css("background-color","red");
} else if("<?php echo $_SESSION['message']; ?>"!=""){
$("#messagebox").html("a unknown error has occured");
$("#messagebox").css("background-color","red");
}
console.log("<?php echo $_SESSION['message']; ?>");
</script><br>
<a href="../TOS and privacy.html">terms of service</a><br><br>
<input autocomplete="off" type="submit" name="register_submit" value="register" />
</form>
</div>
<!--read/print log-->
<br><br><br><br>
<div align="center"><fieldset style="width: 70%;"><table>
<legend>verified log</legend>
<tr style="background-color: rgb(0,50,120);"><td>user</td><td>action</td><td>reason</td></tr>
<script language="javascript" type="text/javascript">
var logf=JSON.parse('<?php echo json_encode($logf); ?>');
var logfname=JSON.parse('<?php echo json_encode($logfname); ?>');
var logfaction=JSON.parse('<?php echo json_encode($logfaction); ?>');
for(i=0;i<'<?php echo $i; ?>';i++){
document.write("<tr>");
document.write("<td>"+logfname[i]+"</td>");
document.write("<td>"+logfaction[i]+"</td>");
document.write("<td>"+logf[i]+"</td>");
document.write("</tr>");
}
//reload
function prefresh(){
setTimeout(() => { location.reload(); }, 500);
}
</script>
</table></fieldset></div><br>
<div align="center"><a href="manage.php" target="blank" style="color: white;">manager</a></div><br><br><br><br>
</body>
<?php $_SESSION['message']=""; ?>
</html>

124
smallscripts/2otpal.php Executable file
View File

@ -0,0 +1,124 @@
<html>
<head>
<title>2 of these people are lieing</title>
<style>
.errorbox{
display: none;
background-color: rgb(200,0,0);
color: white;
padding: 4px;
position: relative;
width: 30%;
}
.adminform, .viewnamebox{
border: 2px solid black;
padding: 10px;
position: relative;
width: 30%;
}
.viewnamebox{
display: none;
}
</style>
</head>
<body>
<?php
$password="1323";
//SET PASSWORD ABOVE
$errorlvl="";
if(file_exists("2otpal.json")==false){
$file = fopen("2otpal.json","w");
fwrite($file,"{\n \"names\":[\n \n ],\n \"maxplayers\":\"4\"\n}");
fclose($file);
$output="2otpal.json did not exist, creating";
echo "<script>console.log('Debug Objects: " . $output . "' );</script>";
}
$string = file_get_contents("2otpal.json");
$Jfile = json_decode($string, true);
if($_POST['doing']=="add"&&$_POST['Name']!=""){
if(count($Jfile['names'])<intval($Jfile['maxplayers'])-1){
$file=fopen("2otpal.json","w");
fwrite($file,"{\n \"names\":[");
for($i=0;$i<count($Jfile['names']);$i++){
fwrite($file,"\n \"".$Jfile['names'][$i]."\",");
}
fwrite($file,"\n \"".$_POST['Name']."\"");
fwrite($file,"\n ],\n \"maxplayers\":\"".$Jfile['maxplayers']."\"\n}");
fclose($file);
} else {
$errorlvl="max names have been reached";
}
}
if($_POST['doing']=="reset names"){
if($_POST['password']==$password){
$file = fopen("2otpal.json","w");
fwrite($file,"{\n \"names\":[\n \n ],\n \"maxplayers\":\"".$Jfile['maxplayers']."\"\n}");
fclose($file);
} else {
$errorlvl="password is not correct";
}
}
if($_POST['doing']=="set players"){
if($_POST['password']==$password){
$file=fopen("2otpal.json","w");
fwrite($file,"{\n \"names\":[");
for($i=0;$i<count($Jfile['names']);$i++){
if($i<count($Jfile['names'])-1){
fwrite($file,"\n \"".$Jfile['names'][$i]."\",");
} else {
fwrite($file,"\n \"".$Jfile['names'][$i]."\"");
}
}
fwrite($file,"\n ],\n \"maxplayers\":\"".$_POST['maxplayers']."\"\n}");
} else {
$errorlvl="password is not correct";
}
}
$string = file_get_contents("2otpal.json");
$Jfile = json_decode($string, true);
$_POST['password']=="";
$_POST['doing']=="";
?>
<div align="center">
<h1>this is a page for my game by tom scott, <br> two of these people are lying</h1>
<p> see his playlist <a href="https://www.youtube.com/watch?v=3UAOs9B9UH8&list=PLfx61sxf1Yz2I-c7eMRk9wBUUDCJkU7H0" target="_blank">here</a></p><br><br>
<div class="errorbox" id="errorbox"></div><br>
<form method="post" target="_self">
<input autocomplete="off" type="hidden" name="doing" value="add" />
wiki page name: <input autocomplete="off" type="text" name="Name" /><br><br>
<input autocomplete="off" type="submit" value="submit">
</form>
<br><button onclick="viewnames()">view wiki names</button><br><br>
<div id="viewnamebox" class="viewnamebox"></div>
<br><br>
<p>admin/host stuff below</p>
<form class="adminform" method="post" target="_self">
<select name="doing">
<option value="reset names">reset names</option>
<option value="set players">set players</option>
</select><br><br>
password: <input autocomplete="off" type="text" name="password"/><br><br>
players: (if setting players): <input autocomplete="off" type="number" max="100" name="maxplayers"/><br><br>
<input type="submit" value="submit">
</form>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script language="javascript" type="text/javascript">
if("<?php echo $errorlvl; ?>"!=""){
$("#errorbox").css("display","block");
$("#errorbox").html("<?php echo $errorlvl; ?>");
}
function viewnames(){
var getnames = <?php echo json_encode($Jfile['names'], JSON_PRETTY_PRINT) ?>;
$("#viewnamebox").css("display","block");
text="";
for(i=0; i<getnames.length; i++){
text=text+getnames[i]+"<br>";
}
$("#viewnamebox").html(text);
}
</script>
</body>
</html>

98
spaceengineers.html Executable file
View File

@ -0,0 +1,98 @@
<html>
<head>
<title>se rules & info</title>
<style>
body {
background-image: url("assets/img/spaceengineers.jpg");
background-size: cover;
background-attachment: fixed;
}
* {
color: rgb(250,250,250);
}
h1 {
text-align: center;
color: rgb(250,250,250);
text-shadow: 2px 2px 3px #000000;
}
li {
font-size: 20px;
}
fieldset {
border-radius: 15px;
background-color: rgba(0,0,0,0.3);
}
.rules {
float: left;
overflow: hidden;
margin-right: 52%;
margin-left: 2%;
}
.info {
overflow: hidden;
float: right;
position: absolute;
margin-left: 52%;
margin-right: 2%;
}
a {
text-decoration: none;
border-style: inset;
border-width: 2px;
padding: 4px;
border-color: rgb(220,220,200);
}
a:hover {
border-style: outset;
}
</style>
</head>
<body>
<h1>iceyfox server's space engineers</h1><br>
<fieldset class="rules">
<legend>rules</legend>
<a href="index.html">go home (hint click me)</a><br><br>
<li>dont mess with other peoples grids or sectors (without permission), if you are in someone else's sector they can
do what they want to your grids as long as it is a private sector</li>
<li>if your going to build on sector 0-20-0-0 (spawn) make shure its 200m away from the main building</li>
<li>be careful how fast your going, because if you run into my stuff ill kick you on the spot</li>
<li>dont be a dick</li>
<li>no extream racism or sexism in chat</li>
<li>don't spam</li>
</fieldset>
<fieldset class="info">
<legend> info / q & a </legend>
<li>admins can deal with rule breakers the way they please</li>
<li>sec is the same as saying sector</li>
<li>before you ask no you cant have a planet, that is for {A31} + </li>
<li>the link to joining the discord is back on the home page</li>
<li>no you cant have enforcer you must be recommended by a fabulous fox +</li>
<li>if your ship is too laggy dont get mad that it just randomly disappeard, a admin deleted it</li>
<h2>- how my sector system works -</h2>
<h3>the works of it :p</h3>
<p>sec 0-20-0-0 is somewhat near spawn, i will give a short explaination on how this works
if you have more question on how this works feel free to ask. <br><br>
sec sectorID-range-private-planet, the sector id is well. the id of said sector (it would typicly be 3-5 digits),
0 would be spawn<br><br>
the range is how far the sectors claim is in KM<br><br>
private would be if the sector is private or not, 1 being private<br><br>
planet would be if the sector is a planet 1 being it is a planet, if it is a planet range is to be ignored/set to 0 and
the entire planet is claimed, if it is not a planet then that means it is range and any planets in that sector are
still claimed
<h3>making a sector</h3>
<p>having your own sector is perfectly fine as long as your sector has the center pole or beacon on planet,
and you are not intersecting with another sector, and you have a max range of 30km, as well it needing a antenna/beacon
with (sec 3to5digitID-range-private-planet) make sure your id has not been taken,
GPS's would help, only {A31}+ can have private non planet sector's, fiannly your sector must be registerd at
spawn have a mod register it for you.<br><br>
you are allowed to have your own station without having to have a sec.</p>
</fieldset>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

BIN
tardisproject/assets/button.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
tardisproject/assets/lever.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
tardisproject/assets/panel.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

BIN
tardisproject/assets/switch.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

372
tardisproject/classes.js Executable file
View File

@ -0,0 +1,372 @@
class Panel{
constructor(x,y,width,height){
this.width=width;
this.height=height;
this.pos={
x: x,
y: y
};
}
draw(){
ctx.drawImage($("#img_panel")[0],this.pos.x,this.pos.y,this.width,this.height);
}
}
class Throttlelever{
constructor(panel,x,y,scale){
this.panel=panel;
this.scale=scale;
this.name="throttle lever";
this.desc="changes the power when teleporting";
this.handlescale=scale*1.6;
this.pos={
x: setwidth/2-this.scale/2+x,
y: setheight/2-this.scale/2+y
};
this.min=(this.pos.y-(this.scale+80)/5).toFixed(2);
this.max=(this.pos.y+(this.scale+80)/2.4).toFixed(2);
this.handlepos={
x: setwidth/2-this.handlescale/2+x,
y: this.max
}
this.mouseisdown=false;
this.mouseisover=false;
}
draw(){
if(panelnum==this.panel){
if(this.handlepos.y<this.min){
this.handlepos.y=this.min
}
if(this.handlepos.y>this.max){
this.handlepos.y=this.max;
}
if(power.ison==false){
this.handlepos.y=this.max
}
this.value=100-(((this.handlepos.y-this.pos.y+26).toFixed())/80*100).toFixed();
ctx.drawImage($("#img_throttle_base")[0],this.pos.x,this.pos.y,this.scale,this.scale+80);
ctx.drawImage($("#img_throttle_handle")[0],this.handlepos.x,this.handlepos.y,this.handlescale,this.handlescale+20);
if(power.ison==true){
ctx.fillStyle = "#0df";
ctx.font = "13px Ariel";
ctx.fillText(this.value,this.pos.x+15,this.pos.y+this.scale+72)
}
if(telepathicChover.ison==true&&this.mouseisover==true){
ctx.fillStyle = "#000";
ctx.globalAlpha = 0.8;
ctx.fillRect(globalcx,globalcy,150,100)
ctx.globalAlpha = 1;
ctx.font = "15px Ariel";
ctx.fillStyle = "#fff";
ctx.fillText(this.name,globalcx+20,globalcy+20,149)
ctx.font = "12px Ariel";
ctx.fillText(this.desc,globalcx,globalcy+40,149)
}
}
}
mouseon(cx,cy){
if(panelnum==this.panel){
if(cx>this.pos.x&&cx<this.pos.x+this.scale&&cy>this.pos.y&&cy<this.pos.y+this.scale+80){
this.mouseisdown=true;
this.handlepos.y=cy-this.handlescale/2;
}
}
}
move(cx,cy){
if(panelnum==this.panel){
if(cx>this.pos.x&&cx<this.pos.x+this.scale&&cy>this.pos.y&&cy<this.pos.y+this.scale+80){
if(this.mouseisdown==true){
this.handlepos.y=cy-this.handlescale/2;
}
this.mouseisover=true;
} else {
this.mouseisover=false;
}
}
}
}
class Button{
constructor(panel,x,y,scale,Back,offNoPower,redOff,redNoPower,name,desc){
this.panel=panel;
this.scale=scale;
this.name=name;
this.desc=desc;
this.pos={
x: setwidth/2-this.scale/2+x,
y: setheight/2-this.scale/2+y
};
this.ison=false;
this.back=Back;
this.redOff=redOff;
this.offNoPower=offNoPower;
this.redNoPower=redNoPower;
this.mouseisover=false;
this.locked=false;
this.run_function=false;
}
draw(){
if(power.ison==false&&this.offNoPower==true){
this.ison=false;
}
if(panelnum==this.panel){
if(this.ison==true&&this.back==true){
ctx.drawImage($("#img_button_back")[0],this.pos.x,this.pos.y,this.scale,this.scale);
} else if(this.redNoPower==true&&power.ison==false){
ctx.drawImage($("#img_button_back_red")[0],this.pos.x,this.pos.y,this.scale,this.scale);
} else if(this.ison==false&&this.redOff==false){
ctx.drawImage($("#img_button_back_white")[0],this.pos.x,this.pos.y,this.scale,this.scale);
} else if(this.ison==false&&this.redOff==true){
ctx.drawImage($("#img_button_back_red")[0],this.pos.x,this.pos.y,this.scale,this.scale);
}
ctx.drawImage($("#img_button")[0],this.pos.x,this.pos.y,this.scale,this.scale);
}
}
drawhover(){
if(telepathicChover.ison==true&&this.mouseisover==true){
ctx.fillStyle = "#000";
ctx.globalAlpha = 0.8;
ctx.fillRect(globalcx,globalcy,150,120)
ctx.globalAlpha = 1;
ctx.font = "15px Ariel";
ctx.fillStyle = "#fff";
ctx.fillText(this.name,globalcx+20,globalcy+20,120)
ctx.font = "12px Ariel";
ctx.fillText(this.desc,globalcx,globalcy+40,120)
}
}
toggle(cx,cy,run_function){
if(panelnum==this.panel){
if(cx>this.pos.x&&cx<this.pos.x+this.scale&&cy>this.pos.y&&cy<this.pos.y+this.scale){
if(this.locked==false){
this.run_function=run_function;
switch(this.ison){
case false:
this.ison = true;
break;
case true:
this.ison = false;
break;
}
}
}
}
}
move(cx,cy){
if(panelnum==this.panel&&cx>this.pos.x&&cx<this.pos.x+this.scale&&cy>this.pos.y&&cy<this.pos.y+this.scale){
this.mouseisover=true;
} else {
this.mouseisover=false;
}
}
}
class Switch{
constructor(panel,x,y,scale,offNoPower,is3stage,name,desc){
this.panel=panel;
this.scale=scale;
this.name=name;
this.desc=desc;
this.pos={
x: setwidth/2-this.scale/2+x,
y: setheight/2-this.scale/2+y
};
this.stage=2;
this.ison=false;
this.offNoPower=offNoPower;
this.is3stage=is3stage;
this.mouseisover=false;
}
draw(){
if(power.ison==false&&this.offNoPower==true){
this.stage=2;
this.ison=false;
}
if(panelnum==this.panel){
if(this.stage==1){
this.ison=true;
ctx.drawImage($("#img_switch_down")[0],this.pos.x,this.pos.y,this.scale,this.scale);
}
if(this.stage==2){
this.ison=false;
ctx.drawImage($("#img_switch")[0],this.pos.x,this.pos.y,this.scale,this.scale);
}
if(this.stage==3){
this.ison=true;
ctx.drawImage($("#img_switch_up")[0],this.pos.x,this.pos.y,this.scale,this.scale);
}
}
}
drawhover(){
if(telepathicChover.ison==true&&this.mouseisover==true){
ctx.fillStyle = "#000";
ctx.globalAlpha = 0.8;
ctx.fillRect(globalcx,globalcy,150,100)
ctx.globalAlpha = 1;
ctx.font = "15px Ariel";
ctx.fillStyle = "#fff";
ctx.fillText(this.name,globalcx+20,globalcy+20,this.pos.y+this.scale)
ctx.font = "12px Ariel";
ctx.fillText(this.desc,globalcx,globalcy+40,this.pos.y+this.scale)
}
}
toggle(cx,cy){
if(panelnum==this.panel){
if(this.is3stage==false){
if(cx>this.pos.x&&cx<this.pos.x+this.scale&&cy>this.pos.y&&cy<this.pos.y+this.scale){
switch(this.stage){
case 2:
this.stage=3;
break;
case 3:
this.stage=2;
break;
}
}
} else {
if(cx>this.pos.x&&cx<this.pos.x+this.scale){
if(cy>this.pos.y&&cy<this.pos.y+(this.scale/3)){
this.stage=3;
}
if(cy>this.pos.y+(this.scale/3)&&cy<this.pos.y+(this.scale/3*2)){
this.stage=2;
}
if(cy>this.pos.y+(this.scale/3*2)&&cy<this.pos.y+this.scale){
this.stage=1;
}
}
}
}
}
move(cx,cy){
if(panelnum==this.panel&&cx>this.pos.x&&cx<this.pos.x+this.scale&&cy>this.pos.y&&cy<this.pos.y+this.scale){
this.mouseisover=true;
} else {
this.mouseisover=false;
}
}
}
class Arrowbutton{
constructor(x,y,width,height){
this.width=width;
this.height=height;
this.pos={
x: x,
y: y
};
}
draw(name){
ctx.drawImage($(name)[0],this.pos.x,this.pos.y,this.width,this.height);
}
click(cx,cy,type){
if(cx>this.pos.x&&cx<this.pos.x+this.width&&cy>this.pos.y&&cy<this.pos.y+this.height){
if(type=="up"){
panelnum++;
if(panelnum>4)panelnum=1;
}
if(type=="down"){
panelnum--;
if(panelnum<1)panelnum=4;
}
}
}
}
class Flever{
constructor(panel,x,y,scale){
this.panel=panel;
this.state="#img_flever";
this.scale=-120;
this.name="flight lever"
this.desc="allows you to move when flightmode is enabled"
this.pos={
x: setwidth/2-(this.scale+260)/2+x,
y: setheight/2-(this.scale+409)/2+y
};
this.buttonpos={
x: ((this.pos.x+(this.scale+260)/2)-(this.scale+239)/2)+6,
y: this.pos.y+(this.scale+409)-90
}
this.mouseisover=false;
this.mobilebuttons=false;
}
draw(){
if(panelnum==this.panel){
ctx.drawImage($(this.state)[0],this.pos.x,this.pos.y,this.scale+260,this.scale+409);
if(this.mobilebuttons==true){
ctx.drawImage($("#img_flever_mobile")[0],this.buttonpos.x,this.buttonpos.y,this.scale+239,this.scale+191);
}
}
}
drawhover(){
if(telepathicChover.ison==true&&this.mouseisover==true){
ctx.fillStyle = "#000";
ctx.globalAlpha = 0.8;
ctx.fillRect(globalcx,globalcy,160,100)
ctx.globalAlpha = 1;
ctx.font = "15px Ariel";
ctx.fillStyle = "#fff";
ctx.fillText(this.name,globalcx+20,globalcy+20,this.pos.y+this.scale)
ctx.font = "12px Ariel";
ctx.fillText(this.desc,globalcx,globalcy+40,this.pos.y+this.scale+20)
ctx.fillText("use arrow keys on keyboard",globalcx,globalcy+80,this.pos.y+this.scale)
}
}
toggle(cx,cy){
if(panelnum==this.panel&&cx>this.pos.x&&cx<this.pos.x+this.scale+260&&cy>this.pos.y&&cy<this.pos.y+this.scale+409){
if(this.mobilebuttons==true){
if(cx>((this.buttonpos.x)+6)+(this.scale+227)/3&&cy>this.buttonpos.y&&cx<(((this.buttonpos.x)+6)+(this.scale+227)/3)+(this.scale+227)/3&&cy<this.buttonpos.y+(this.scale+191)/2){
this.state="#img_flever_forward";
}
else if(cx>((this.buttonpos.x)+6)+(this.scale+227)/3&&cy>this.buttonpos.y+(this.scale+155)&&cx<(((this.buttonpos.x)+6)+(this.scale+227)/3)+(this.scale+227)/3&&cy<this.buttonpos.y+(this.scale+155)+(this.scale+191)/2){
this.state="#img_flever_back";
}
else if(cx>((this.buttonpos.x)+6)&&cy>this.buttonpos.y+(this.scale+155)&&cx<(((this.buttonpos.x)+6)+(this.scale+227)/3)+(this.scale+227)/3&&cy<this.buttonpos.y+(this.scale+155)+(this.scale+191)/2){
this.state="#img_flever_left";
}
else if(cx>((this.buttonpos.x)+6)+(this.scale+227)/1.5&&cy>this.buttonpos.y+(this.scale+155)&&cy<this.buttonpos.y+(this.scale+155)+(this.scale+191)/2){
this.state="#img_flever_right";
} else {
this.state="#img_flever";
}
}
this.mobilebuttons=true;
}
}
move(cx,cy){
if(panelnum==this.panel&&cx>this.pos.x&&cx<this.pos.x+this.scale+260&&cy>this.pos.y&&cy<this.pos.y+this.scale+409){
this.mouseisover=true;
} else {
this.mouseisover=false;
}
}
}
class Textpanel{
constructor(panel,x,y,width,height){
this.panel=panel;
this.width=width;
this.height=height;
this.pos={
x: setwidth/2-this.width/2+x,
y: setheight/2-this.height/2+y
};
this.text="";
}
draw(){
if(panelnum==this.panel){
ctx.drawImage($("#img_text_panel")[0],this.pos.x,this.pos.y,this.width,this.height);
this.text=this.text.toString().split("BR");
ctx.fillStyle = "#0df";
if(this.text.length>1){
var size=(this.height/1.8-0.5)/(this.text.length-0.5);
} else {
var size=(this.height/1.8-0.5)/1;
}
ctx.font = size+"px Ariel";
if(power.ison==true){
for(var i=0; i<this.text.length; i++){
ctx.fillText(this.text[i],this.pos.x+this.width/12,this.pos.y+this.height/this.text.length*(i+1-0.3),this.width/1.21);
}
}
}
}
}
//scanner

26
tardisproject/planetdata.json Executable file
View File

@ -0,0 +1,26 @@
{
"earth":{
"cords":"0/0/0",
"scale":"500",
"generateRandomObjects":"true",
"objects":{
"refuel":[
"0/1",
"20/20"
],
"space-radio":[
"3/3"
]
}
},
"earthsMoon":{
"cords":"1/0/0",
"scale":"100",
"generateRandomObjects":"false",
"objects":{
"space-radio":[
"1/0"
]
}
}
}

450
tardisproject/testing??.php Executable file
View File

@ -0,0 +1,450 @@
<html>
<head>
<style>
*{
margin: 0;
padding: 0;
box-sizing: border-box;
background-color: rgb(50,50,50);
}
::-webkit-scrollbar {
width: 0px; /* Remove scrollbar space */
background: transparent; /* Optional: just make scrollbar invisible */
}
img{
display: none;
background: transparent;
}
#Gscreen{
border: 1px solid black;
}
.Gscreen-container{
display: flex;
justify-content: center;
}
a{
position: absolute;
top: 10px;
left: 10px;
text-decoration: none;
color: white;
}
</style>
<img id="img_button" src="assets/button.png">
<img id="img_button_back" src="assets/button-back.png">
<img id="img_button_back_white" src="assets/button-back-white.png">
<img id="img_button_back_red" src="assets/button-back-red.png">
<img id="img_panel" src="assets/panel.png">
<img id="img_flever" src="assets/lever.png">
<img id="img_flever_left" src="assets/lever-left.png">
<img id="img_flever_right" src="assets/lever-right.png">
<img id="img_flever_forward" src="assets/lever-forward.png">
<img id="img_flever_back" src="assets/lever-back.png">
<img id="img_flever_mobile" src="assets/lever-mobile-buttons.png">
<img id="img_text_panel" src="assets/text-panel.png">
<img id="img_arrow_left" src="assets/arrow-left.png">
<img id="img_arrow_right" src="assets/arrow-right.png">
<img id="img_switch" src="assets/switch.png">
<img id="img_switch_up" src="assets/switch-up.png">
<img id="img_switch_down" src="assets/switch-down.png">
<img id="img_throttle_base" src="assets/throttle-lever-base.png">
<img id="img_throttle_handle" src="assets/throttle-lever-handle.png">
</head>
<body>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<div class="Gscreen-container"><canvas id="Gscreen" width=1000px height=600px></canvas></div>
<a href="../index.html">go home</a>
<script src="classes.js"></script>
<script language="javascript" type="text/javascript">
let scrn=document.getElementById('Gscreen');
let ctx=scrn.getContext('2d');
function locked_game_loop_wrap(loop){
//settings & defaults
setwidth=1000;
setheight=600;
let currfuel=100;
let currplanet=[0,0,0];
let currcords=[0,0];
let destcords=[[0,0,0],[0,0]]
panelnum=2;
let tardis_move_status="idle";
let flightloop_isrunning=false;
//scanner class, had to define here because of scope
class TelepathicScanner{
constructor(x,y,scale){
this.width=scale;
this.height=scale;
this.pos={
x: setwidth/2-this.width/2+x,
y: setheight/2-this.height/2+y
};
}
draw(){
if(power.ison==true){
this.text=scannertext().split("BR")
ctx.font = "20px Ariel";
ctx.fillStyle = "#000"
ctx.globalAlpha = 0.5;
ctx.fillRect(this.pos.x,this.pos.y,this.width-30,this.height-13)
ctx.fillStyle = "#fff";
ctx.globalAlpha = 1;
for(var i=0; i<this.text.length; i++){
ctx.fillText(this.text[i],this.pos.x+2,this.pos.y+this.height/this.text.length*(i+1),this.width/1.21);
}
}
}
}
let planetdata={};
//error cheak and auto sets
$.getJSON("planetdata.json", function(result){
planetdata=result;
})
.error(function(){
if(alert('error loading planet data')){
location.reload();
} else {
location.reload();
}
});
//side loops
function moveloop(){
tardis_move_status="flying";
insideloop();
idlefuelloop();
function insideloop(){
if(fmbutton.ison==true){
if(flever.state=="#img_flever_forward"){
currcords[1]++
}
if(flever.state=="#img_flever_back"){
currcords[1]--
}
if(flever.state=="#img_flever_left"){
currcords[0]--
}
if(flever.state=="#img_flever_right"){
currcords[0]++
}
setTimeout(insideloop,500)
} else {
if(takeoffbutton.ison==false){
tardis_move_status="idle";
}
}
}
function idlefuelloop(){
if(fmbutton.ison==true){
currfuel--
setTimeout(idlefuelloop,3000)
}
}
}
function flightloop(){
if(flightloop_isrunning==false){
flightloop_isrunning=true;
fmbutton.ison=false;
fmbutton.locked=true;
takeoffbutton.locked=true;
tardis_move_status="taking off";
setTimeout(function(){
tardis_move_status="in vortex";
takeoffbutton.locked=false;
currplanet=destcords[0];
currcords=destcords[1];
flightloop_idlefuelloop();
flightloop_waitforoff();
},3000)
function flightloop_idlefuelloop(){
if(takeoffbutton.ison==true){
currfuel--;
setTimeout(flightloop_idlefuelloop,15000);
}
}
function flightloop_waitforoff(){
if(takeoffbutton.ison==false){
takeoffbutton.locked=true;
tardis_move_status="landing";
currplanet=destcords[0];
currcords=destcords[1];
setTimeout(function(){
tardis_move_status="idle";
takeoffbutton.locked=false;
fmbutton.locked=false;
flightloop_isrunning=false;
},3000);
} else {
setTimeout(flightloop_waitforoff,500);
}
}
}
}
function textentryT_runcommands(){
if(textEntryButton.ison==false){
let text=textEntryT.text.toString().split(" ")
if(text[0]=="setdest:"){
destcords=[[parseInt(text[1]),parseInt(text[2]),parseInt(text[3])],[parseInt(text[4]),parseInt(text[5])]];
}
textEntryT.text="";
textEntryButton.ison=false;
} else {
if(document.getElementById("entry_box_mobile").value!==""){
textEntryT.text=document.getElementById("entry_box_mobile").value;
document.getElementById("entry_box_mobile").value="";
}
}
}
/*
button syntax
panel, x, y, scale, back when on, off when no power, red when off, red when no power, name, desc
switch syntax
panel, x, y, scale, off when no power, 3 stage button?
*/
let arrowleft = new Arrowbutton(1,setheight/2-70/2,70,70);
let arrowright = new Arrowbutton(1000-70-1,setheight/2-70/2,70,70);
let panel = new Panel(0,150,1000,450);
telepathicScanner = new TelepathicScanner(10,-150,200);
//panel 2 --space
power = new Switch(2,180,200,70,false,false,"power","enables the power....");
let fmbutton = new Button(2,240,200,50,true,true,false,true,"flightmode button","enables flightmode for moving");
let flever = new Flever(2,320,100);
let flightTpanel = new Textpanel(2,0,0,190,80);
//panel 3 --flight
let throttlelever = new Throttlelever(3,290,140,50);
let telepathicCmain = new Switch(3,-180,-40,50,true,false,"telepathic main","enables main telepath functions");
let telepathicCscanner = new Switch(3,-140,-40,50,true,false,"telepathic scanner","enables telepathic scanner");
telepathicChover = new Switch(3,-100,-40,50,true,false,"telepathic hover","what you are reading right now");
let takeoffbutton= new Button(3,220,220,50,true,true,false,true,"takeoffbutton","for teleporting");
let flightTpanel2 = new Textpanel(3,0,0,120,130);
let textEntryT = new Textpanel(3,-240,220,100,30);
let textEntryButton = new Button(3,-160,220,30,true,true,false,true,"text enable","allows you to use commands (keyboard)")
let text_status = new Textpanel(3,135,-30,140,45);
window.onload = function() {
//gameloop
function gameloop(){
if(currfuel<0)currfuel=0;
if(currfuel>100)currfuel=100;
if(currfuel<1){
fmbutton.ison=false;
}
//cord updater
for(var planet in planetdata){
planetcords=planetdata[planet].cords.split("/")
planetcords=[parseInt(planetcords[0]),parseInt(planetcords[1]),parseInt(planetcords[2])]
if(currplanet[0]==planetcords[0]&&currplanet[1]==planetcords[1]&&currplanet[2]==planetcords[2]){
//get and set based limits
if(currcords[0]>parseInt(planetdata[planet].scale)){currcords[0]=-parseInt(planetdata[planet].scale)}
if(currcords[1]>parseInt(planetdata[planet].scale)){currcords[1]=-parseInt(planetdata[planet].scale)}
if(currcords[0]<-parseInt(planetdata[planet].scale)){currcords[0]=parseInt(planetdata[planet].scale)}
if(currcords[1]<-parseInt(planetdata[planet].scale)){currcords[1]=parseInt(planetdata[planet].scale)}
//asd
for(var objects in planetdata[planet].objects){
for(var ListOfObjects in planetdata[planet].objects[objects]){
LOOcords=planetdata[planet].objects[objects][ListOfObjects].split("/")
LOOcords=[parseInt(LOOcords[0]),parseInt(LOOcords[1])]
if(currcords[0]==LOOcords[0]&&currcords[1]==LOOcords[1]){
}
}
}
}
}
//main drawing
ctx.clearRect(0,0,setwidth,setheight);
panel.draw();
arrowleft.draw("#img_arrow_left");
arrowright.draw("#img_arrow_right");
//panel 2
flightTpanel.text="planet x:"+currplanet[0]+" y:"+currplanet[1]+" z:"+currplanet[2]+"BRx:"+currcords[0]+" y:"+currcords[1]+"BRfuel: "+currfuel;
flightTpanel.draw();
power.draw();
fmbutton.draw();
flever.draw();
//panel3
throttlelever.draw();
telepathicCmain.draw();
telepathicCscanner.draw();
telepathicChover.draw();
takeoffbutton.draw();
flightTpanel2.text="Current-"+
"BRspace: "+currplanet[0]+" "+currplanet[1]+" "+currplanet[2]+"BRplanet: "+currcords[0]+" "+currcords[1]+
"BRDestination-"+
"BRspace: "+destcords[0][0]+" "+destcords[0][1]+" "+destcords[0][2]+"BRplanet: "+destcords[1][0]+" "+destcords[1][1];
flightTpanel2.draw();
textEntryButton.draw();
textEntryT.draw();
text_status.draw();
text_status.text="status: "+tardis_move_status;
if(telepathicCmain.ison==false){
telepathicCscanner.stage=2;
telepathicChover.stage=2;
}
if(telepathicCscanner.ison==true){
telepathicScanner.draw();
}
//draw hovers
fmbutton.drawhover();
power.drawhover();
flever.drawhover();
telepathicCmain.drawhover();
telepathicCscanner.drawhover();
telepathicChover.drawhover();
takeoffbutton.drawhover();
textEntryButton.drawhover();
requestAnimationFrame(gameloop);
}
gameloop();
//!---mouse and button
scrn.addEventListener('mousedown',function(event){
var cx = event.pageX - $('#Gscreen').offset().left;
var cy = event.pageY - $('#Gscreen').offset().top;
arrowleft.click(cx,cy,"down");
arrowright.click(cx,cy,"up");
//panel 2
fmbutton.toggle(cx,cy,true);
if(fmbutton.run_function==true){moveloop();fmbutton.run_function=false;}
power.toggle(cx,cy,false);
flever.toggle(cx,cy);
if(fmbutton.ison==false){flever.mobilebuttons=false}
//panel3
throttlelever.mouseon(cx,cy);
telepathicCmain.toggle(cx,cy);
telepathicCscanner.toggle(cx,cy);
telepathicChover.toggle(cx,cy);
takeoffbutton.toggle(cx,cy,true);
if(takeoffbutton.run_function==true){flightloop();takeoffbutton.run_function=false;}
textEntryButton.toggle(cx,cy,true);
if(textEntryButton.run_function==true){textentryT_runcommands();textEntryButton.run_function=false;}
},false);
scrn.addEventListener('mouseup',function(event){
throttlelever.mouseisdown=false;
},false);
scrn.addEventListener('mousemove',function(event){
var cx = event.pageX - $('#Gscreen').offset().left;
var cy = event.pageY - $('#Gscreen').offset().top;
globalcx = event.pageX - $('#Gscreen').offset().left;
globalcy = event.pageY - $('#Gscreen').offset().top;
//panel 3
throttlelever.move(cx,cy);
fmbutton.move(cx,cy);
power.move(cx,cy);
flever.move(cx,cy);
telepathicCmain.move(cx,cy);
telepathicCscanner.move(cx,cy);
telepathicChover.move(cx,cy);
takeoffbutton.move(cx,cy);
textEntryButton.move(cx,cy);
},false);
document.addEventListener('keydown',function(event){
if(textEntryButton.ison==true){
if(event.keyCode==13){
textEntryButton.ison=false;
textentryT_runcommands();
} else if(event.keyCode==16){
} else if(event.keyCode==8){
textEntryT.text=textEntryT.text.toString().substring(0,textEntryT.text.toString().length-1);
} else if(event.keyCode==32){
textEntryT.text=textEntryT.text+" ";
} else {
textEntryT.text=textEntryT.text+event.key;
}
}
if(fmbutton.ison==true){
if(panelnum==2){
if(event.keyCode==38){
flever.state="#img_flever_forward";
}
if(event.keyCode==37){
flever.state="#img_flever_left";
}
if(event.keyCode==39){
flever.state="#img_flever_right";
}
if(event.keyCode==40){
flever.state="#img_flever_back";
}
if(event.keyCode==70){
alert('respects payed');
}
}
}
},false);
document.addEventListener('keyup',function(event){
flever.state="#img_flever";
},false);
}
//scanner text function
function scannertext(){
text="";
for(var planet in planetdata){
planetcords=planetdata[planet].cords.split("/")
planetcords=[parseInt(planetcords[0]),parseInt(planetcords[1]),parseInt(planetcords[2])]
if(currplanet[0]==planetcords[0]&&currplanet[1]==planetcords[1]&&currplanet[2]==planetcords[2]&&(tardis_move_status=="idle"|tardis_move_status=="flying")){
getcords=[]
for(var objects in planetdata[planet].objects){
for(var ListOfObjects in planetdata[planet].objects[objects]){
LOOcords=planetdata[planet].objects[objects][ListOfObjects].split("/")
LOOcords=[parseInt(LOOcords[0]),parseInt(LOOcords[1])]
if(objects=="refuel"){
getcords.push([LOOcords[0],LOOcords[1],""])
}
if(objects=="space-radio"){
getcords.push([LOOcords[0],LOOcords[1],""])
}
}
}
for(var y=(currcords[1]+4);y>=(currcords[1]-4);y--){
y2=y
if(y2>parseInt(planetdata[planet].scale)){y2=-((parseInt(planetdata[planet].scale)*2+1)-y)}
if(y2<-parseInt(planetdata[planet].scale)){y2=((parseInt(planetdata[planet].scale)*2+1)+y)}
for(var x=(currcords[0]-4);x<=(currcords[0]+4);x++){
x2=x
if(x2>parseInt(planetdata[planet].scale)){x2=-((parseInt(planetdata[planet].scale)*2+1)-x)}
if(x2<-parseInt(planetdata[planet].scale)){x2=((parseInt(planetdata[planet].scale)*2+1)+x)}
for(i=0;i<getcords.length;i++){
if(x2==getcords[i][0]&&y2==getcords[i][1]){
texticon=getcords[i][2]
break;
} else if(x2==currcords[0]&&y2==currcords[1]){
texticon="U"
} else {
texticon="+"
}
}
text=text+"["+texticon+"]"
}
text=text+"BR"
}
}
}
return text;
}
}
locked_game_loop_wrap();
</script>
<br><br>
<div style="color: white;" align="center">
<textarea id="entry_box_mobile" style="color: white; padding: 4px;"></textarea>
<p>the box below allows mobile users to enter text to things one the game without having to
plug in a keyboard</p>
</div>
</body>
</html>

33
twitchvideo/requestor.php Executable file
View File

@ -0,0 +1,33 @@
<html>
<head>
<title>video requestor</title>
</head>
<body>
<?php
date_default_timezone_set('America/Los_Angeles');
if($_POST['videourl']!=""){
if($_POST['password']=="1234"){
$text = str_replace(["<",">"],"",$_POST['videourl']);
$text="https://youtube.com/embed/".explode("=",$text)[1];
$file=fopen("url.txt","w");
fwrite($file,$text);
fclose($file);
} else {
$message="password is not right";
}
}
?>
<p><?php echo $message; ?></p>
<div align="center">
<iframe width="560" height="315" src="<?php echo $text; ?>" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div><br><br>
<div align="center">
<form method="post">
url: <input autocomplete="off" type="url" name="videourl" maxlength="200" /><br><br>
password: <input autocomplete="off" type="text" name="password" /><br><br>
<input autocomplete="off" type="submit" value="enter">
</div>
</form>
</body>
</html>

1
twitchvideo/url.txt Executable file
View File

@ -0,0 +1 @@
https://youtube.com/embed/zViYpS3BIqY

27
twitchvideo/video.php Executable file
View File

@ -0,0 +1,27 @@
<html>
<head>
</head>
<body>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<iframe id="videobox" width="560" height="315" src="" frameborder="0" allow="autoplay; encrypted-media; gyroscope; picture-in-picture"></iframe>
<script language="javascript" type="text/javascript">
function loop(){
$.ajax({
type: "GET",
url: "url.txt",
cache: false,
async: true,
success: function(data){
if(data+"?autoplay=1"!=$('#videobox').attr('src')){
$("#videobox").attr("src",data+"?autoplay=1");
$('#videobox').attr('src', $('#videobox').attr('src'));
}
}
});
}
window.onload = setInterval(loop,2000);
</script>
</body>