init
|
@ -0,0 +1,4 @@
|
|||
iceyrazor.gpg.pub
|
||||
assets/img/**
|
||||
mmd/*
|
||||
mcjsonupdate.php
|
|
@ -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.
|
|
@ -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>
|
|
@ -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
|
|
@ -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>
|
After Width: | Height: | Size: 353 KiB |
|
@ -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>
|
|
@ -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";
|
||||
}
|
||||
?>
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
}
|
|
@ -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;
|
||||
|
||||
}
|
|
@ -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>
|
|
@ -0,0 +1,3 @@
|
|||
<div style="font-size: 20; color: lightblue; text-decoration: underline;">Welcome To Simply Chatty</div><br><br><br><br>
|
||||
|
||||
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<status>
|
||||
<user time="offline">iceyrazor</user>
|
||||
</status>
|
After Width: | Height: | Size: 489 KiB |
|
@ -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"}
|
||||
]
|
||||
}
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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 > 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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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");
|
||||
}
|
||||
}
|
|
@ -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";
|
||||
}*/
|
||||
?>
|
|
@ -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 <o<</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">↓</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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
After Width: | Height: | Size: 2.6 KiB |
After Width: | Height: | Size: 2.6 KiB |
After Width: | Height: | Size: 9.3 KiB |
After Width: | Height: | Size: 9.7 KiB |
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 100 KiB |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 4.3 KiB |
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 38 KiB |
After Width: | Height: | Size: 9.5 KiB |
After Width: | Height: | Size: 8.7 KiB |
After Width: | Height: | Size: 8.2 KiB |
After Width: | Height: | Size: 8.5 KiB |
After Width: | Height: | Size: 9.0 KiB |
After Width: | Height: | Size: 2.3 KiB |
|
@ -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
|
||||
|
|
@ -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"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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>
|
|
@ -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>
|
|
@ -0,0 +1 @@
|
|||
https://youtube.com/embed/zViYpS3BIqY
|
|
@ -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>
|