403Webshell
Server IP : 109.234.162.214  /  Your IP : 216.73.216.222
Web Server : Apache
System : Linux servd162214.srv.odns.fr 4.18.0-372.26.1.lve.1.el8.x86_64 #1 SMP Fri Sep 16 14:08:19 EDT 2022 x86_64
User : carpe ( 1178)
PHP Version : 8.0.30
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/carpe/public_html/CURSED/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/carpe/public_html/CURSED/cursedV2.php
<?php

session_start();

if(isset($_POST['deco'])){
    if (isset($_SESSION['login'])) {
        unset($_SESSION['login']);
        session_destroy();
        header("Location: cursedV2.php");
    }
}

if(isset($_SESSION['login'])){
    echo "<div id='cache'>on</div>";
}

                
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Carpirats</title>
    
    
    
    <link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Tangerine:wght@400;700&display=swap" rel="stylesheet">

<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=VT323&display=swap" rel="stylesheet">
<link rel="icon" type="image/png" href="images/coin.png">
<style>
body{
    margin:0;
    padding:0;
    width:100%;
    height:100vh;
    display:flex;
    justify-content:center;
    background-image:url('images/bg_wood.png');
    background-size:cover;
    position:fixed;
    
    font-family: "VT323", serif;
  font-weight: 400;
  font-style: normal;

}

#canvas{
	width: 1000px;
	height:600px;
	background-image:url('images/skyV2.png');
	background-size:cover;
	background-position:center;
	image-rendering: pixelated;
	position:relative;
	overflow:hidden;
	z-index:2;
	margin-top:150px;
}

#bordure{
    margin-bottom:50px;
    position:absolute;
	width: 1130px;
	height:700px;
	image-rendering: pixelated;
    margin-right:60px;
    z-index:2;
    pointer-events: none;
    margin-top:75px;
}

#eau{
    position:absolute;
    width:1000px;
    height:600px;
    z-index:2;
    bottom:20px;
}

#radeau{
    width:200px;
    height:100px;
    position:absolute;
    bottom:100px;
    z-index:4;
    left:400px;
}

#ecume{
    width:200px;
    height:100px;
    position:absolute;
    z-index:3;
    bottom:100px;
    left:350px;
}

#background3{
    position:absolute;
}

#background4{
    position:absolute;
    left:1000px;
}

#map{
    position:absolute;
    width:600px;
    right:-30px;
    z-index:3;
    bottom:-80px;
    cursor:pointer;
    display:none;
}

#classement{
    position:absolute;
    top:120px;
    left:0px;
    width:320px;
    height:400px;
    z-index:100;
    background:url('images/classement.png');
    background-size: 100% 100%;
    background-repeat:no-repeat;
    background-position:center;
}

#title_classement{
    text-align:center;
    font-size:2.5rem;
    margin:0;
    padding:0;
    margin-top:5px;
    padding-bottom:5px;
    color:#50321d;
    background-image:url('images/texte.png');
    background-size: 100% 180%;
    background-repeat:no-repeat;
    background-position:center;
    padding:35px 40px 40px 30px;
    position:absolute;
    width:300px;
    top:50px;
    left:-65px;
    z-index:101;
}

.oh{
    
    font-size:1.5rem;
    width:100%;
    margin:0;
    margin-top:5px;
    margin-left:10px;
    color:#b79a6e;
    
}
#oh{
    font-size:1.5rem;
    width:100%;
    margin:0;
    margin-left:10px;
    color:#b79a6e;
    margin-top:25px;
}

#players{
    width:100%;
    height:100%;
    overflow:auto;
}

#quetes{
    position:absolute;
    top:125px;
    right:130px;
    width:420px;
    height:300px;
    z-index:100;
}
#title_quetes{
    position:absolute;
    top:80px;
    right:130px;
    z-index:101;
    width:400px;
    font-size:2rem;
    background-image:url('images/texte.png');
    background-size: 100% 180%;
    background-repeat:no-repeat;
    background-position:center;
    padding:25px 20px 30px 20px;
    text-align:center;
    color:#50321d;
    
}

#jornal{
    position:absolute;
    width:500px;
    left:0px;
    z-index:0;
    bottom:0;
    cursor:pointer;
}
#header{
    position:absolute;
    top:20px;
    z-index:1000;
}

#log{
    position:absolute;
    left:640px;
    top:25px;
    z-index:1001;
}

#log h2{
    margin:0;
    margin-top:10px;
    color:#b79a6e;
    cursor:pointer;
}

#log h2:hover{
    text-decoration:underline;
}

#infos{
    position:absolute;
    left:120px;
    top:25px;
    z-index:1001;
}
#infos div{
    display:flex;
    gap:25px
}

#infos div h2{
    margin:0;
    margin-top:10px;
}

#pears_ins{
    position:absolute;
    z-index:999;
    width:auto;
    background:#b79a6e;
    top:-200px;
    text-align:center;
    padding:0px 15px 10px 15px;
    color:#50321d;
    transition:.5s all;
}

#pears_ins form{
    display:flex;
    gap:15px;
    align-items:center;
}
#pears_ins h2{
    font-size:1.2rem;
    margin:0;
    margin-top:20px;
}

#pears_ins h3{
    font-size:1rem;
    margin:0;
    margin-top:20px;
}
#pears_ins input{
    margin-top:20px;
    background:none;
    border:none;
    outline:none;
    font-family: "VT323", serif;
  font-weight: 400;
  font-style: normal;
  font-size:1.2rem;
}

#pears_ins label{
    font-size:1.2rem;
    margin:0;
    margin-top:20px;
    background:#50321d;
    color:#b79a6e;
    padding:5px 15px 5px 15px;
    cursor:pointer;
}

#pears_con{
    position:absolute;
    z-index:999;
    width:auto;
    background:#b79a6e;
    top:-200px;
    text-align:center;
    padding:0px 15px 10px 15px;
    color:#50321d;
    transition:.5s all;
}

#pears_con form{
    display:flex;
    gap:15px;
    align-items:center;
}
#pears_con h2{
    font-size:1.2rem;
    margin:0;
    margin-top:20px;
}

#pears_con h3{
    font-size:1rem;
    margin:0;
    margin-top:20px;
}
#pears_con input{
    margin-top:20px;
    background:none;
    border:none;
    outline:none;
    font-family: "VT323", serif;
  font-weight: 400;
  font-style: normal;
  font-size:1.2rem;
}

#pears_con label{
    font-size:1.2rem;
    margin:0;
    margin-top:20px;
    background:#50321d;
    color:#b79a6e;
    padding:5px 15px 5px 15px;
    cursor:pointer;
}

#gocon{
    text-decoration:underline;
    cursor:pointer;
}
#goin{
    text-decoration:underline;
    cursor:pointer;
}

#deconnexion{
    all:initial;
    margin:0;
    margin-top:10px;
    color:#b79a6e;
    font-family: "VT323", serif;
  font-weight: 600;
  font-style: normal;
  font-size:1.5rem;
}
#deconnexion:hover{
    cursor:pointer;
    text-decoration:underline;
}

.icons{
    position:absolute;
    width:60px;
}

#piece{
    left:160px;
    top:12px;
}

#gold_texte{
    position:absolute;
    color:#50321d;
    left:175px;
    top:20px;
    font-size:1.2rem;
}
#food{
    left:80px;
}

#heart{
    width:55px;
    top:14px;
    left:10px;
}

#orientation{
    position:absolute;
    z-index:10;
    bottom:50px;
    left:300px;
}

#niv{
    position:absolute;
    z-index:100;
    color:#bd8532;
    top:180px;
    left:330px;
    font-size:2.5rem;
    transform:rotate(-17deg);
    
}

#cache{
    display:none;

}

#food{
    top:10px;
}

#usernom{
    position:absolute;
    z-index:100;
    color:#bd8532;
    top:105px;
    left:330px;
    font-size:3rem;
    transform:rotate(-30deg);
    text-align:center;
}

#inv{
    background:#50321d;
    width:60%;
    height:50%;
    position:absolute;
    z-index:220;
    left:50%;
    top:50%;
    transform:translate(-50%,-40%);
    display:none;
    align-items:start
}

#inv div{
    background:#b79a6e;
    margin:10px;
    padding:10px;
    display:flex;
    align-items:center;
    gap:5px;
}

#inv div h2{
    margin:0;
    padding:0;
}
#inv div h3{
    margin:0;
    padding:0;
}

#message{
    width:500px;
    height:160px;
    position:absolute;
    z-index:999;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    display:none;
    align-items:center;
    gap:20px;
    background:url('images/texte.png');
    background-size: 100% 180%;
    background-repeat:no-repeat;
    background-position:center;
    padding:100px;
}

#parrot{
    height:80%;
}

#message p{
    margin:0;
    padding:0;
    margin:10px;
    color:#50321d;
    font-size:1.2rem;
    height:90%;

}
#message h1{
    position:absolute;
    right:120px;
    bottom:120px;
    cursor:pointer;
    color:#50321d;
    margin:0;
    padding:0;
    font-size:1.2rem;
}

.ile{
    position:absolute;
    z-index:2;
    top:240px;
    width:500px;
    left:1050px;
}

#vie{
    position:absolute;
    top:10px;
    left:20px;
}

#vivres{
    position:absolute;
    left:95px;
    top:10px;
}

#quests{
    width:290px;
    height:200px;
    position:absolute;
    right:200px;
    top:180px;
    z-index:100;
    overflow:auto;
}

#quests div{
    display:flex;
    align-items:center;
    gap:10px;
    justify-content:center;
}
#quests p{
    font-size:1.2rem;
    color:#50321d;
    font-weight:200;
    margin:0;
    margin-left:30px;
}
#quests div h2{
    font-size:1.5rem;
    color:#50321d;
    font-weight:200;
    margin:0;
}

.coche{
    width:40px;
}

#notif{
    position:absolute;
    top:740px;
    z-index:999;
    text-align:center;
    color:#bd8532;
}

#fishing_road{
    position:absolute;
    z-index:100;
    left:568px;
    bottom:95px;
    width:130px;
    display:none;
}
#fishing_road0{
    position:absolute;
    z-index:100;
    left:568px;
    bottom:95px;
    width:130px;
    display:none;
    transition:.5s bottom;
}

#fished{
    position:absolute;
    bottom:20px;
    right:380px;
    z-index:101;
    width:200px;
    font-size:1.3rem;
    background-image:url('images/texte.png');
    background-size: 100% 180%;
    background-repeat:no-repeat;
    background-position:center;
    padding:25px 20px 30px 20px;
    text-align:center;
    color:#50321d;
    display:none;
    cursor:pointer;
}

#menu_ile{
    position:absolute;
    width:80%;
    height:70%;
    z-index:201;
    left:100px;
    top:140px;
    display:none;
}

#title_ile{
    position:absolute;
    top:-20px;
    left:185px;
    z-index:101;
    width:400px;
    font-size:2rem;
    background-image:url('images/texte.png');
    background-size: 100% 180%;
    background-repeat:no-repeat;
    background-position:center;
    padding:25px 20px 30px 20px;
    text-align:center;
    color:#50321d;
}

.icon{
    position:absolute;
    
    z-index:101;
    font-size:1.4rem;
    background-image:url('images/texte.png');
    background-size: 100% 180%;
    background-repeat:no-repeat;
    background-position:center;
    padding:25px 15px 30px 15px;
    text-align:center;
    color:#50321d;
    cursor:pointer;
}

.ile_menu{
    width:90%;
    position:absolute;
    top:100px;
    left:100px;
}

#port{
    bottom:50px;
    right:85px;
}

#poissonnerie{
    bottom:90px;
    left:125px;
}

#taverne{
    bottom:60px;
    left:450px;
}

#vente{
    width:550px;
    height:160px;
    position:absolute;
    z-index:211;
    top:70%;
    left:50%;
    transform:translate(-50%,-50%);
    align-items:center;
    gap:20px;
    background:url('images/texte.png');
    background-size: 100% 180%;
    background-repeat:no-repeat;
    background-position:center;
    padding:100px;
    display:none;

}
#vente p{
    margin:0;
    padding:0;
    margin:10px;
    color:#50321d;
    font-size:1.2rem;
    height:90%;
}
#close_vente{
    position:absolute;
    right:120px;
    bottom:120px;
    cursor:pointer;
    color:#50321d;
    margin:0;
    padding:0;
    font-size:1.2rem;
}

#buttons{
    width:400px;
    position:absolute;
    bottom:100px;
    right:180Px;
    display:flex;
    gap:20px;
    justify-content:center;
    
}

#buttons h2{
    cursor:pointer;
}

#sp{
    display:none;
}

#magasin{
    display:none;
    width:400px;
    height:100px;
    position:absolute;
    left:220Px;
    bottom:165px;
    flex-wrap:wrap;
    align-items:start;
    overflow:auto;
}
#magasin div{
    margin:0;
    display:flex;
    align-items:center;
    gap:20px;
    height:50px;
}

.Acheter{
    cursor:pointer;
}

.Vendre{
    cursor:pointer;
}

</style>
<body>
    <h2 id='usernom'><?php 
                
                if(isset($_SESSION['login'])){
                    echo $_SESSION['login'];
                    
                    //cache pour dire en js -> va chercher les données, tes connectée
                }else{
                    echo "User";
                }
                    
                ?></h2>
    <h1 id='niv'>Niv 1</h1>
    <div id='pears_ins'>
        <h3>Si vous avez déja un compte, <a id='gocon'>connectez vous.</a></h3>
        <form>
            <input id='ins_nom' class='toi' type='text' name='pseudo' placeholder='Pseudo' maxlength='10'>
            <input id='ins_mdp' class='toi' type='PASSWORD' name='mdp' placeholder='Mdp'>
            <label class='envoyer' id='register'>S'inscrire</label>
            <label class='envoyer2'>Fermer</label>
        </form>
        <h3 id='erreur1'>En vous inscrivant, vous conservez les données de jeu actuelles</h3>
    </div>
    <div id='pears_con'>
        <h3>Si vous n'avez pas de compte, <a id='goin'>enregistrez vous.</a></h3>
        <form>
            <input id='log_nom' class='toi' type='text' name='pseudo' placeholder='Pseudo' maxlength='10'>
            <input id='log_mdp' class='toi' type='PASSWORD' name='mdp' placeholder='Mdp'>
            <label class='envoyer' id='login'>Se connecter</label>
            <label class='envoyer2'>Fermer</label>
        </form>
        <h3 id='erreur2'></h3>
    </div>
    <h2 id='title_classement'>Classement</h2>
    <div id='classement'>

            <?php 
            
            include 'database.php';
            $database = new Database();
            $connexion = $database->getConnection();
            
            if ($connexion) {
                $sql = "SELECT * FROM `users` order by gold DESC";
                $statement = $connexion->prepare($sql);
                $statement->execute();
                
                $index = 0;         
                $results = $statement->fetchAll(PDO::FETCH_ASSOC);
                foreach ($results as $row) {
                    $index++;
                    if($index<11){
                        
                    
                    if($index <2){
                        echo "<h3 id='oh'>";
                        $pseudo = $row['pseudo'];
                        $gold = $row['gold'];
                        echo "Top $index : ";
                        echo "$pseudo, $gold";
                        echo "</h3>";
                    }else{
                        
                    
                    echo "<h3 class='oh'>";
                    $pseudo = $row['pseudo'];
                    $gold = $row['gold'];
                    echo "Top $index : ";
                    echo "$pseudo, $gold";
                    echo "</h3>";
                    }
                    }
                }
            }
            
            ?>
    </div>
    <h2 id='title_quetes'>Liste de Quêtes</h2>
    <img id='quetes' src='images/quetes.png'>
    <div id='quests'>

    </div>
    <div id='canvas'>

        <div id='menu_ile'>
            <h2 id='title_ile'>Roady Bay</h2>
            <img class='ile_menu' src='images/ile1.png'>
            <h3 class='icon' id='port'>Port</h3>
            <h3 class='icon' id='poissonnerie'>Marché</h3>
            <h3 class='icon' id='taverne'>Taverne</h3>
            
        </div>
        <div id='inv'>
            
        </div>
        
        <div id='vente'>
            <img id='parrot' src='images/parrot.png'>
            <p>Message à transmettre</p>
            <h1 id='close_vente'>Fermer..></h1>
            <div id='buttons'>
                <h2 id='commerce'>Commercer</h2>
                <h2 id='talk'>Discuter</h2>
                <h2 id='sp'>Lever l'ancre</h2>
                <h2 id='up'>Améliorer</h2>
            </div>
            <div id='magasin'>
                
            </div>
        </div>
        
        <div id='message'>
            <img id='parrot' src='images/parrot.png'>
            <p>Message à transmettre</p>
            <h1 id='close_mess'>..></h1>
        </div>
        <img id='background3' src='images/background3.png'>
        <img id='background4' src='images/background3.png'>
        <img id='eau' src='aie/Untitled00086401.png'>
        <img class='ile' id='ile1' src='images/ile1.png'>
        <img id='ecume' class='boat' src='images/eau.png'>
        <img id='radeau' class='boat' src='images/bateau1.png'>
        <img id='fishing_road' class='boat' src='images/fishing_road11.png'>
        <img id='fishing_road0' class='boat' src='images/fishing_road0.png'>
        <img id='header' src='images/header.png'>
        <img id='orientation' src='images/orientation.png'>
        
        <h2 id='fished'>Pécher le poisson</h2>
        <?php
        
        if(isset($_SESSION['login'])){
            echo "<div id='log'>
            <h2 id='sauvegarder'>- Sauvegarder</h2>
            <form method='POST' action='cursedV2.php'>
            <input type='submit' id='deconnexion' value='- Deconnexion' name='deco'>
            </form>
        </div>";
        }else{
            echo "<div id='log'>
            <h2 id='connexion'>- Connexion</h2>
            <h2 id='inscription'>- Inscription</h2>
        </div>";
        }
        
        ?>
        
        <div id='infos'>
            <div id='un'>
                <img id='piece' class='icons' src='images/piece.png'>
                <h2 id='gold_texte'>100</h2>
            </div>
            <div id='deux'>
                <img id='heart' class='icons' src='images/heart1.png'>
                <h2 id='vie'>100</h2>
                <img id='food' class='icons' src='images/food.png'>
                <h2 id='vivres'>100</h2>
            </div>
        </div>
    </div>
    <h2 id='notif'></h2>
    <img id='bordure' src='images/border.png'>
    <img id='map' src='images/map.png'>
    <img id='jornal' src='images/jornal.png'>

<script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
<script>

function supp(obj,quantite2){
    //trouver la div et récupéré la quantité
    var enfants = document.querySelectorAll('#inv > div');
    var tableauEnfants = Array.from(enfants);
    var divPoisson = tableauEnfants.find(function(div) {
        var h2 = div.querySelector('h2');
        return h2 && h2.textContent.trim() === obj; 
    });
    
    if(divPoisson){
        var h3 = divPoisson.querySelector('h3');
        var quantite = h3.textContent.trim();
        var intquantite = parseInt(quantite.match(/\d+/)[0]);
        var quantite3 = parseInt(quantite2);
        var result = intquantite - quantite3;
        //console.log(result)
        if(result<=0){
            divPoisson.remove();
        }else{
            //enelver la quantite adéquate
            h3.textContent = `x${result}`;
        }
    }else{
        console.log("lobjet nexiste pas dans linventaire");
    }
    // faire quantité - quantité 2
    // si le résultat est 0 ou moins, supprimé la div, sinon, appliquer le nouveau résultat
    
    
}

function vendre() {

    var vendreElements = document.querySelectorAll('.Vendre');

    vendreElements.forEach(element => {
        if (!element.dataset.eventAttached) {
            element.addEventListener('click', function(event) {
                
                var boutonClique = event.target;
                var produitDiv = event.target.closest('div');
                var select2 = produitDiv.querySelector('.produit');
                
                var nom = produitDiv.querySelector('.nom');
                
                nom = nom.textContent;
                
                var prix = produitDiv.querySelector('.price');
                prix = prix.textContent;
                prix = parseInt(prix.match(/\d+/)[0]);

                
                
                
                var quantite2 = select2.value;
                //console.log(quantite2)
                var prixTot = prix * quantite2;
                var valeurs = Array.from(select2.options).map(option => parseInt(option.value));
                var valeurMax = Math.max(...valeurs);
                
                if(quantite2 == valeurMax){

                        produitDiv.remove();
                        console.log('TT remove')
 
                        supp(nom,quantite2)
                        
                    }else{

                        for (let i = 0; i < quantite2; i++) {
                            var select3 = produitDiv.querySelector('.produit');
                            var optionsCount = select3.options.length;
                                select2.options[optionsCount - 1].remove(); 
                        }
                        supp(nom,quantite2)

                        
                        
                    }
                    
                    var money = $('#gold_texte').text();
                    money = parseInt(money.match(/\d+/)[0]);
                    var reste = money + prixTot;
                    $('#gold_texte').text(reste);
                    notif("Vous avez vendu " + quantite2 + " " + nom + " pour " + prixTot + 'golds')
                
            })
            element.dataset.eventAttached = true;
        }
    })
}

function acheter() {
    var acheterElements = document.querySelectorAll('.Acheter');

    acheterElements.forEach(element => {
        if (!element.dataset.eventAttached) {
            element.addEventListener('click', function(event) {
                //console.log('Clic détecté sur :', event.target);
                var boutonClique = event.target;
                var produitDiv = event.target.closest('div');
                var select2 = produitDiv.querySelector('.produit');
                
                var nom = produitDiv.querySelector('.nom');
                nom = nom.textContent;
                
                var prix = produitDiv.querySelector('.price');
                prix = prix.textContent;
                prix = parseInt(prix.match(/\d+/)[0]);
                //console.log(prix)
                
                var quantite2 = select2.value;
                //console.log(quantite2)
                var valeurs = Array.from(select2.options).map(option => parseInt(option.value));
                var valeurMax = Math.max(...valeurs);
                
                var money = $('#gold_texte').text();
                money = parseInt(money.match(/\d+/)[0]);
                
                var prixTot = prix * quantite2;
                if(money >= prixTot){
                    //AJOUT A LINV
                    notif("Vous avez acheté " + quantite2 + " " + nom)
                    
                    add(nom,quantite2);
                    
                    
                    var reste = money - prixTot;
                    $('#gold_texte').text(reste);
                    if(quantite2 == valeurMax){

                        produitDiv.remove();
                    }else{

                        for (let i = 0; i < quantite2; i++) {
                            var select3 = produitDiv.querySelector('.produit');
                            var optionsCount = select3.options.length;
                                select2.options[optionsCount - 1].remove(); 
                        }
                        
                    }
                    
                }else{
                    notif("Vous n'avez pas assez dargent")
                }

            });
            element.dataset.eventAttached = true;
        }
    });
}

function sellmarket() {
    //NE PAS ALLER CHERCHER DANS LA BDD -> PAS ACTUALIS1E, ALLER CHERCHER DANS L4INV
    var divs = document.querySelectorAll('#inv > div');

    divs.forEach(function(div, index) {
        var h2 = div.querySelector('h2');
        var h3 = div.querySelector('h3');
        var nom = h2.textContent;
        var quantite = h3.textContent;
        
        quantite = parseInt(quantite.match(/\d+/)[0]);
        console.log(quantite)
        quantite++;
        if(nom == 'Poisson'){
                        

                    var newDiv = document.createElement('div');
                    newDiv.classList.add('vent');
                    var newH2 = document.createElement('h3');
                    var newH3 = document.createElement('h3');
                    
                    var newH32 = document.createElement('h2');
                    
                    var select = document.createElement('select');
                    
                    select.classList.add('produit');
                    for (let i = 1; i < quantite; i++) {
                        //console.log(i)
                        var option = document.createElement('option');
                        option.value = i;
                        option.textContent = i;
                        select.appendChild(option);
                    }
                    
                    newH2.textContent = nom; 
                    //newH3.textContent = `x${quantite2}`;
                    //DEFINIR LES PRIX
                    var prix = 5;
                    newH3.textContent = prix + 'e/unité';
                    newH32.textContent = "Vendre"; 
                    newH32.classList.add('Vendre');
                    newH2.classList.add('nom');
                    newH3.classList.add('price');
                    
                    select.selectedIndex = select.options.length - 1;
                    newDiv.appendChild(newH32);
                    newDiv.appendChild(newH2);
                    newDiv.appendChild(select);
                    newDiv.appendChild(newH3)
                    
                    $('#magasin').append(newDiv);
                    
                    vendre();
                    
                    }
        
    });
    
    /**
    var cause2 = 'take';
    $.ajax({
            url:'inv.php',
            data:{cause2:cause2},
            type:'POST',
            success: function(res){
                var tab = res.split('.');
                tab.pop();
                tab.forEach(index =>{
                    var tab2 = index.split(',');
                    //console.log(tab2[0]);
                    //console.log(tab2[1]);
                    
                    var nom = tab2[0];
                    var quantite = tab2[1];
                    console.log(quantite)
                    
                    if(nom == 'Poisson'){
                        
                    quantite++;

                    var newDiv = document.createElement('div');
                    newDiv.classList.add('vent');
                    var newH2 = document.createElement('h3');
                    var newH3 = document.createElement('h3');
                    
                    var newH32 = document.createElement('h2');
                    
                    var select = document.createElement('select');
                    
                    select.classList.add('produit');
                    for (let i = 1; i < quantite; i++) {
                        //console.log(i)
                        var option = document.createElement('option');
                        option.value = i;
                        option.textContent = i;
                        select.appendChild(option);
                    }
                    
                    newH2.textContent = nom; 
                    //newH3.textContent = `x${quantite2}`;
                    //DEFINIR LES PRIX
                    var prix = 5;
                    newH3.textContent = prix + 'e/unité';
                    newH32.textContent = "Vendre"; 
                    newH32.classList.add('Vendre');
                    newH2.classList.add('nom');
                    newH3.classList.add('price');
                    
                    select.selectedIndex = select.options.length - 1;
                    newDiv.appendChild(newH32);
                    newDiv.appendChild(newH2);
                    newDiv.appendChild(select);
                    newDiv.appendChild(newH3)
                    
                    $('#magasin').append(newDiv);
                    
                    vendre();
                    
                    }
                })
            }
        })**/

}


function addmarket(obj, quantite2,prix) {
    console.log(quantite2)
    var enfants = document.querySelectorAll('#magasin > div');
    var tableauEnfants = Array.from(enfants);
    
    quantite2++;
    
    var divPoisson = tableauEnfants.find(function(div) {
        var h2 = div.querySelector('h2');
        return h2 && h2.textContent.trim() === obj; 
    });

    if (divPoisson) {
        var h3 = divPoisson.querySelector('h3');
        var quantite = h3.textContent.trim();
        var intquantite = parseInt(quantite.match(/\d+/)[0]);
        var plus = parseInt(quantite2); 
        intquantite += plus; 
        h3.textContent = `x${intquantite}`;
        

    //jpense le if on peut le supp mais je laisse au cas ou 
        
    } else {
        var newDiv = document.createElement('div');
        newDiv.classList.add('sells')
        var newH2 = document.createElement('h3');
        var newH3 = document.createElement('h3');
        
        var newH32 = document.createElement('h2');
        
        var select = document.createElement('select');
        
        select.classList.add('produit');
        for (let i = 1; i < quantite2; i++) {
            //console.log(i)
            var option = document.createElement('option');
            option.value = i;
            option.textContent = i;
            select.appendChild(option);
        }
        
        newH2.textContent = obj; 
        newH2.classList.add('nom');
        //newH3.textContent = `x${quantite2}`;
        newH3.textContent = prix + 'e/unité';
        newH3.classList.add('price');
        newH32.textContent = "Acheter"; 
        newH32.classList.add('Acheter');
        
        select.selectedIndex = select.options.length - 1;
        newDiv.appendChild(newH32);
        newDiv.appendChild(newH2);
        newDiv.appendChild(select);
        newDiv.appendChild(newH3)
        
        $('#magasin').append(newDiv);
        
        acheter();
    }
}




var stop=false;

var monde = 1;
var quest = 1;
var niv = 1;
var bateau = 1;
var mess = 1;

var avancer = 0;
var block = true;
var block_peche = true;

var ile1=false;



function vente(icon){
    var nom = icon.textContent;
    if(nom == 'Port'){
        $('#sp').css('display','block')
        $('#commerce').css('display','none')
        $('#up').css('display','block')
    }else{
        $('#sp').css('display','none')
        $('#commerce').css('display','block')
        $('#up').css('display','none')
    }
    if(nom == 'Taverne'){
        $('#commerce').css('display','none')
    }else{
        if(nom != 'Port'){
            
        
        $('#commerce').css('display','block')
        }
    }

        $('#vente > p').text(nom)
        $('#vente').css('display','flex')


}
function remove(){
    var enfants = document.querySelectorAll('#magasin > .sells');
    enfants.forEach(function(enfant) {
        enfant.remove(); // Supprime chaque div enfant
    });
}

$('#commerce').on('click',function(){
    const valeur = $(this).closest('#buttons').prevAll('p').text();
    console.log(valeur);
    
    if(valeur == "Marché"){
        remove();
        addmarket('Poisson','20','10')
    }
    if(valeur == "Taverne"){
        remove()
        addmarket('RIEN AHAHA','20','10')
    }
    if(valeur == "Port"){
        
    }
    
    $('#vente > p').css('display','none');
    $('#magasin').css('display','flex');
    //gérer ici ??
    
})
$('#close_vente').on('click',function(){
    $('#vente').css('display','none')
    $('#vente > p').css('display','block');
    $('#magasin').css('display','none');
})

var icons = document.querySelectorAll('.icon');
icons.forEach(function(icon) {
  
  icon.addEventListener('click',function(){
      vente(icon)
  })
});

$('#sp').on('click',function(){
    if(quest < 8){
        notif("Terminez vos quetes avant de quitter l'ile")
    }else{
        
    
    ile1=false;
    $('#menu_ile').css('display','none');
    $('#vente').css('display','none')
    }
})
    


function update(quest){
    

    if(quest == 2){
        quete("Ouvrir l'inventaire","Appuyez sur A pour ouvrir l'inventaire",2);
            block=false;
    }
    if(quest == 3){
            quete("Ferme l'inventaire","Appuyez sur A pour fermer l'inventaire",3);
            block=false;
        }
    if(quest == 4){
        quete("Pécher un poisson","Appuyez sur R pour ouvrir pécher",4);
        block_peche=false;
    }
    
    if(quest == 6){
        quete("Atteindre l'ile la plus proche","Laissez le bateau dériver jusqu'a l'ile la plus proche",6);
        ile1 = true;
    }
    
    if(quest == 7){
        quete("Vends les poissons que tu a peché pour te faire un peu d'argent !","Va au marché pour vendre les poissons",7)
        quete("Va chercher des informations à la taverne","",8)
        quete("Améliore ton bateau au port","",9)
    }
    
    if(quest >= 2){
        block=false;
    }
    if(quest>=4){
        block_peche=false;
    }

    
}

function mess_update(mess){
    if(mess == 1){
                        message('Enfin réveillé l’ami ? Tu dois te demander ce que tu fou la… ')
                    }
        if(mess == 2){
            message('T’es un pirate, ou plutôt t’étais… On s’est fait attaqué un truc, une chose… vraiment étrange… m’fin bref, de notre bel équipage, il reste que toi et moi, les autres sont tous morts. ')
        }
        if(mess == 3){
            message('Il nous reste plus grand chose, a part ce radeau, et j’ai cru apercevoir un bout de carte dépassé de ta poche, tu devrais y jeter un coup d’oeil. Perso j’ai pris du plomb dans les plumes, et j’me souviens plus de grand chose, j’imagine que c’est pareil pour toi…')
        }
        if(mess==5){
            message("Et bah ca nous avance pas beaucoup, tu ferais mieux de pecher pour essayer de t’en sortir avant que la fin vienne t’achever, de toute facon, ta rien de mieux a faire, on a qu’a se laisser dériver jusqu’a atteindre une ile. ");
    }
    
}

$('#close_mess').on('click',function(){
    $('#message').css('display','none')
    mess++;
    mess_update(mess);

    if(mess == 4){
        quest++;
        update(quest)
    }
})





function endquete(id){
    var div = document.getElementById(id);
    var p = document.getElementById(id + '1');
    $('#coche').attr('src','images/coched.png');
    setTimeout(function(){
        if(p){
        p.remove();
        }
        if(div){
        div.remove();
        }
        
    if(quest == 3){
        quest++;
        update(quest)
        mess++;
        mess_update(mess);
    }
        
    if(quest == 2){
        quest++;
        update(quest)
        
    }
    
    if(quest == 5){
        quest++;
        update(quest)
    }
    
    if(quest == 6){
        quest++;
        update(quest)
    }
    
    

    },2000)
    
}

function notif(texte){
    $('#notif').text(texte)
    setTimeout(function(){
        $('#notif').text('')
    },2000)
}

function quete(titre,texte,id){
    var div = document.createElement('div');
        var h2 = document.createElement('h2');
        var img = document.createElement('img');
        img.id = 'coche';
        var p = document.createElement('p');
        div.id = id;
        p.textContent = texte;
        p.id = id + '1';
        img.src = 'images/coche.png';
        h2.textContent = titre;
        div.appendChild(img);
        div.appendChild(h2);
        $('#quests').append(div)
        $('#quests').append(p)
}



function message(texte){
    $('#message').css('display','flex')
    $('#message > p').text(texte)
}

var index10 = 0;
setInterval(function(){
    index10++
    $('#fishing_road').attr('src','images/fishing_road1' + index10 + '.png')
    if(index10 ==4){
        index10=0;
    }
},400)



function save(){
    var cause2 = "give";
    /**
    var vie3 = $('#vie').css('width');
    var vie4 = parseInt(vie3,10);
    var vivres3 = $('#vivres').css('width');
    var vivres4 = parseInt(vivres3,10);
    **/
    var vie4 = $('#vie').text();
    var vivres4 = $('#vivres').text();
    
    var gold4 = $('#gold_texte').text();
    var gold5 = parseInt(gold4.match(/\d+/)[0], 10)
    
    var niv2 = $('#niv').text();
    var niv3 = parseInt(niv2.match(/\d+/)[0], 10)
    
    var bateau_src = $('#radeau').attr('src');
    var id_bateau = parseInt(bateau_src.match(/\d+/)[0], 10);
    
    
    $.ajax({
            url:'data.php',
            data:{cause:cause2,vie:vie4,vivres:vivres4,gold:gold5,monde:monde,quest:quest,niv:niv3,bateau:id_bateau,mess:mess},
            type:'POST',
            success: function(res){
                //console.log(res)
            }
        })
    /**
    var nom = "";
    var quantite = "";
    var cause2 = "supp";
    $.ajax({
            url:'inv.php',
            data:{cause2:cause2},
            type:'POST',
            success: function(res){
                //console.log('Supp')
            }
        })
        
        **/
        
    setTimeout(function(){
        cause2 = 'send2';
        let enfants = $('#inv').children();
        Array.from(enfants).forEach(enfant => {
            let h2 = enfant.querySelector('h2');
            if (h2) {
                nom = h2.textContent;
            }
            let h3 = enfant.querySelector('h3');
            
            if (h3) {
                quantite = h3.textContent;
                quantite = parseInt(quantite.match(/\d+/)[0]);
                //ICI MODIFIER EN INT
            }
            //console.log(nom);
            //console.log(quantite)
            console.log(nom)
            console.log(quantite)
            $.ajax({
                url:'inv.php',
                data:{cause2:cause2,nom:nom,quantite:quantite},
                type:'POST',
                success: function(res){
                    //console.log('add')
                    notif('Sauvegarde effectuée avec succès')
                }
            })
            
        });
    },2000)
}



$(document).on('click', '#sauvegarder', function() {
    save();
    
})


function menu_ile(ile){
    $('#ile1').css('display','none')
    $('#menu_ile').css('display','block')
    
    setTimeout(function(){
        sellmarket();
    },1000)
    
}

var cache = $('#cache').text();
if(cache == "on"){
    var cause = "lookfor";
    $.ajax({
            url:'data.php',
            data:{cause:cause},
            type:'POST',
            success: function(res){
                var tab = res.split(',');
                var vie = tab[0];
                var vivres = tab[1];
                var gold2 = tab[2];
                monde = tab[3];
                quest = tab[4];
                var niv = tab[5];
                mess = tab[7];
                
                
                
                if(mess == 4){
                    mess=3;
                }
                mess_update(mess);
                update(quest)
                
                if(monde == 1){
                    $('#ile1').css('left','300px');
                    stop=true;
                    if(quest == 6){
                        endquete(6);
                    }
                    menu_ile();
                }

                var bateau2 = tab[6];
                $('radeau').attr('src','images/' + bateau2 + '.png');
                $('#vie').text(vie);
                $('#vivres').text(vivres);
                if(vie > 75){
                    $('#heart').attr('src','images/heart1.png');
                }
                if(vie > 50 && vie <= 75){
                    $('#heart').attr('src','images/heart3.png');
                }
                if(vie > 25 && vie <= 50){
                    $('#heart').attr('src','images/heart5.png');
                }
                if(vie >0 && vie <= 25){
                    $('#heart').attr('src','images/heart7.png');
                }
                if(vie <= 0){
                    $('#heart').attr('src','images/heart9.png');
                }
                
                if(vivres > 75){
                    $('#food').attr('src','images/food.png');
                }
                if(vivres > 50 && vivres <= 75){
                    $('#food').attr('src','images/food2.png');
                }
                if(vivres > 25 && vivres <= 50){
                    $('#food').attr('src','images/food4.png');
                }
                if(vivres >0 && vivres <= 25){
                    $('#food').attr('src','images/food6.png');
                }
                if(vivres <= 0){
                    $('#food').attr('src','images/food8.png');
                }
                
                $('#gold_texte').text(gold2)
                
                /**
                $('#gold').text(gold2 + " pieces d'or");
                $('#vie').css("width",vie);

                $('#vivres').css("width",vivres);
                **/
                
                /**
                if(quest == 1){
                    message('Enfin réveillé l’ami ? Tu dois te demander ce que tu fou la… ')
                }
                if(quest == 2){
                    quete("Ouvrir l'inventaire","Appuyez sur A pour ouvrir l'inventaire",2)
                }
                **/
            }
        })
    var cause2 = 'take';
    $.ajax({
            url:'inv.php',
            data:{cause2:cause2},
            type:'POST',
            success: function(res){
                var tab = res.split('.');
                tab.pop();
                tab.forEach(index =>{
                    var tab2 = index.split(',');
                    //console.log(tab2[0]);
                    //console.log(tab2[1]);
                    
                    if(tab2[0] == 'Map'){
                        $('#map').css('display','block')
                    }

                    add(tab2[0],tab2[1]);
                })
            }
        })
    
}else{
    message('Enfin réveillé l’ami ? Tu dois te demander ce que tu fou la… ')
    
    add('Journal','1');
    add('Canne à peche','1');
    add('Lettre','1');
}

function add(obj, quantite2) {
    var enfants = document.querySelectorAll('#inv > div');
    var tableauEnfants = Array.from(enfants);
    
    // Trouver la div contenant l'objet (Poisson)
    var divPoisson = tableauEnfants.find(function(div) {
        var h2 = div.querySelector('h2');
        return h2 && h2.textContent.trim() === obj; 
    });

    if (divPoisson) {
        var h3 = divPoisson.querySelector('h3');
        var quantite = h3.textContent.trim();
        var intquantite = parseInt(quantite.match(/\d+/)[0]);
        
        var plus = parseInt(quantite2); 
        intquantite += plus; 
        h3.textContent = `x${intquantite}`;
    } else {
        var newDiv = document.createElement('div');
        var newH2 = document.createElement('h2');
        var newH3 = document.createElement('h3');
        
        newH2.textContent = obj; 
        newH3.textContent = `x${quantite2}`; 
        
        newDiv.appendChild(newH2);
        newDiv.appendChild(newH3);
        $('#inv').append(newDiv);
    }
}


$('#register').on('click',function(){
    var nom = $('#ins_nom').val();
    var mdp = $('#ins_mdp').val();
    var cause = 'register';


    if(!mdp || !nom){
        $('#erreur1').text('Veuillez remplir tous les champs')
    }else{
        $('#erreur1').text('');
        $.ajax({
            url:'verif.php',
            data:{cause:cause,nom:nom,mdp:mdp},
            type:'POST',
            success: function(res){
                $('#erreur1').text(res)
                //console.log('OOO')
                //console.log(res)
                if(res == "Enregistrement réussi"){
                    location.reload();
                }
            }
        })
    }
    
    
    send_item('Journal','1');
    send_item('Canne à peche','1');
    send_item('Lettre','1');
    
})
function send_item(nom,quantite){
    var cause2 = "send";
    $.ajax({
            url:'inv.php',
            data:{cause2:cause2,nom:nom,quantite:quantite},
            type:'POST',
            success: function(res){
                //console.log('Supp')
            }
        })
}

$('#login').on('click',function(){
    var nom = $('#log_nom').val();
    var mdp = $('#log_mdp').val();
    var cause = 'login';

    if(!mdp || !nom){
        $('#erreur2').text('Veuillez remplir tous les champs')
    }else{
        $('#erreur2').text('');
        $.ajax({
            url:'verif.php',
            data:{cause:cause,nom:nom,mdp:mdp},
            type:'POST',
            success: function(res){
                $('#erreur2').text(res)
                //console.log(res)
                if(res == "Connexion reussie"){
                    location.reload();
                }
            }
        })
    }
})

var close = document.querySelectorAll('.envoyer2');
close.forEach(index =>{
    index.addEventListener('click', function(){
        $('#pears_con').css('top','-200px');
        $('#pears_ins').css('top','-200px');
    })
})

$('#connexion').on('click',function(){
    $('#pears_con').css('top','0px');
     $('#pears_ins').css('top','-200px');
})

$('#inscription').on('click',function(){
    $('#pears_ins').css('top','0px');
    $('#pears_con').css('top','-200px');
})

$('#goin').on('click',function(){
    $('#pears_ins').css('top','0px');
    $('#pears_con').css('top','-200px');
})

$('#gocon').on('click',function(){
    $('#pears_ins').css('top','-200px');
    $('#pears_con').css('top','0px');
})




var jsp = $('#eau').attr('src');
var okk = parseInt(jsp.match(/\d+/)[0]);

var boat = document.querySelectorAll('.boat');
var derive = 0;

setInterval(function(){
    okk++;
        var src2 = "aie/Untitled000" + okk + ".png";
        $('#eau').attr('src',src2);
        if(okk>86574){
            okk=86402;
        }
    
    if(!stop){
        
    
        if(ile1){
            var leftValue_ile1 = parseFloat($('#ile1').css('left'));
            var nouvelleValeur_ile1 = leftValue_ile1 - 2;
            //console.log(leftValue_ile1)
        
            //console.log(nouvelleValeurbg)
            $('#ile1').css('left', nouvelleValeur_ile1 + 'px');
            
            if(nouvelleValeur_ile1 < 300){
                stop=true;
                monde++;
                enquete(6);
            //remplir ici
            }
        }
        
        var leftValue_bg = parseFloat($('#background3').css('left'));
        var nouvelleValeurbg = leftValue_bg - 0.5;
        var leftValue_bg2 = parseFloat($('#background4').css('left'));
        var nouvelleValeurbg2 = leftValue_bg2 - 0.5;
        
        if(nouvelleValeurbg<-1100){
            nouvelleValeurbg = 1000;
        }
        
        if(nouvelleValeurbg2<-1100){
            nouvelleValeurbg2 = 1000;
        }
        //console.log(nouvelleValeurbg)
        $('#background3').css('left', nouvelleValeurbg + 'px');
        $('#background4').css('left', nouvelleValeurbg2 + 'px');
        
        boat.forEach(index =>{
            var leftValue = parseFloat(window.getComputedStyle(index).left)
            var nouvelleValeur3 = 0;
            
            if(derive<34){
                nouvelleValeur3 = leftValue + 1;
            }else{
                nouvelleValeur3 = leftValue - 0.5;
            }
        
            index.style.left = nouvelleValeur3 + 'px';
        })
        derive++;
        
        if(derive>100){
            derive=0;
        }
    
    }
    
},40)

document.addEventListener('keydown', (event) => {
if (event.key === 'a' || event.key === 'A') {
        if(!block){
            
        
        var o = $('#inv').css('display');
        if(o == "none"){
            $('#inv').css('display','flex');
            if(quest == 2){
                endquete(2);
                block=true;
            }
        }else{
            $('#inv').css('display','none');
            if(quest == 3){
                endquete(3);
            }
            
        }

        }
        
    }
})


document.addEventListener('keydown', (event) => {
    if (event.key === 'r' || event.key === 'R') {
        if (!block_peche) {
            var etat_radeau = $('#radeau').attr('src');
            if (etat_radeau === 'images/fishing1.png') {
                console.log("La pêche est arrêtée !");
                stopFishing(); // Fonction centralisée pour arrêter la pêche
            } else {
                peche();
                $('#radeau').attr('src', 'images/fishing1.png');
                $('#fishing_road').css('display', 'block');
                $('#fishing_road0').css('display', 'block');
            }
        }
    }
});

function stopFishing() {
    // Réinitialise tout l'état lié à la pêche
    isRunning = false;
    clearInterval(montee);
    clearInterval(descente);
    index9 = 95; // Remet la position à l'état initial
    $('#radeau').attr('src', 'images/bateau1.png');
    $('#fishing_road').css('display', 'none');
    $('#fishing_road0').css('display', 'none');
    $('#fished').css('display', 'none');
    clearTimeout(timeoutId);
}

var descente; // Variable pour stocker l'intervalle de descente
var montee;
var timeoutId;
    
function poisson() {
    var index9 = 95; // Position initiale
    var isClicable = false; // Permet de contrôler si un clic est possible
     // Variable pour stocker l'intervalle de montée
     // Variable pour stocker l'identifiant du setTimeout
    var isRunning = true; // Contrôle si le jeu est actif

    function descendre() {
       
        descente = setInterval(() => {
             console.log('why')
            if (!isRunning) {
                clearInterval(descente);
                return;
            }
            if (index9 > 92) {
                index9 -= 1;
                $('#fishing_road0').css('bottom', index9 + 'px');
                timeoutId = setTimeout(() => {
                    $('#fishing_road0').css('opacity', 0);
                }, 250);
            } else {
                clearInterval(descente);
                isClicable = true;
                $('#fished').css('display', 'block');
                console.log("Le curseur est en bas, vous pouvez cliquer !");

                // afficher une div -> attraper le poisson
                timeoutId = setTimeout(() => {
                    if (isClicable && isRunning) {
                        remonter();
                    }
                }, 400);
            }
        }, 50);
    }

    function remonter() {
        
        montee = setInterval(() => {
            console.log('why')
            if (!isRunning) {
                clearInterval(montee);
                return;
            }
            if (index9 < 95) {
                index9 += 1;
                $('#fishing_road0').css('bottom', index9 + 'px');
                $('#fishing_road0').css('opacity', 1); // Rend visible à nouveau
            } else {
                clearInterval(montee);
                $('#fished').css('display', 'none');
                isClicable = false; // Désactive le clic lorsque le curseur est remonté
            }
        }, 50);
        peche();
    }

    // Déclenche la descente initiale
    descendre();

    // Gestion du clic sur le poisson
    $('#fished').on('click', function () {
        if (isClicable) {
            console.log("Clic détecté pendant que le curseur est en bas !");
            isClicable = false;
            $('#fishing_road').css('display', 'none');
            $('#fishing_road0').css('display', 'none');
            $('#fished').css('display', 'none');
            add('Poisson', '1');
            notif('Vous avez attrapé un poisson');
            index9 = 95;
            quest++;
            endquete(4);
            
            clearInterval(montee);
            clearInterval(descente);
            clearTimeout(timeoutId);
            
            
        }
    });
}

function peche() {
    console.log('la peche reprend')
    timeoutId = setTimeout(function () {
        var intervalId = setInterval(function () {
            let randomNumber = Math.floor(Math.random() * 3) + 1;
            if (randomNumber == 1) {
                poisson();
                clearInterval(intervalId);
            }
        }, 1000);
    }, 1000);
}



</script>
</body>
</html>

Youez - 2016 - github.com/yon3zu
LinuXploit