merhaba oyun sitemiz var bu sitede günlük ödül verilen bir sistem var.
<?php
session_start();
if (!class_exists('Yetki')) {
die("YETKISIZ ERISIM ISTEGI ENGELLENDI");
}
?>
<!DOCTYPE html>
<html lang="tr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Fancybox CSS ve jQuery -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fancyapps/ui/dist/fancybox.css" />
<script src="https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@fancyapps/ui/dist/fancybox.umd.js"></script>
</head>
<body>
<div style="display: none;" id="reward-popup">
<div class="reward-content">
<h2>Günlük Ödülünüz!</h2>
<p>Eğer şanslıysanız Elit İtem kazanabilirsiniz!</p>
<div class="rewards">
<div class="reward-slot"></div>
<div class="reward-slot1"></div>
</div>
<button onclick="kazan()"><h1>KAZAN!</h1></button>
</div>
</div>
<div class="calendar-container">
<h1 style="color: white;">Günlük Ödüller</h1>
<div class="login-calendar" id="calendar">
</div>
<button class="collect-button" id="reward-button">Bugünün Ödülünü Al</button>
</div>
<script>
function collectReward() {
Fancybox.show([{ src: '#reward-popup', type: 'inline' }]);
}
function kazan() {
$.ajax({
type: "POST",
url: "kazan.php",
success: function(response) {
alert(response); // Kullanıcıya geri dönüşü bildir
Fancybox.close(); // Popup'ı kapat
},
error: function(xhr, status, error) {
alert("Bir hata oluştu, lütfen tekrar deneyin.");
}
});
}
function setDayStates() {
const currentDate = new Date();
const currentDay = currentDate.getDate();
const currentMonth = currentDate.getMonth();
const currentYear = currentDate.getFullYear();
const daysInMonth = new Date(currentYear, currentMonth + 1, 0).getDate();
const dayNames = ['Pazar', 'Pazartesi', 'Salı', 'Çarşamba', 'Perşembe', 'Cuma', 'Cumartesi'];
const monthNames = ['Ocak', 'Şubat', 'Mart', 'Nisan', 'Mayıs', 'Haziran', 'Temmuz', 'Ağustos', 'Eylül', 'Ekim', 'Kasım', 'Aralık'];
const calendar = document.getElementById('calendar');
for (let i = currentDay - 1; i <= currentDay + 1; i++) {
const dayElement = document.createElement('div');
dayElement.classList.add('day');
dayElement.id = `day${i}`;
let imagePath = "/web/ss/Tasarim/img/reward/sandik.png";
const dayIndex = i < 1 ? daysInMonth + i : (i > daysInMonth ? i - daysInMonth : i); // Tarih döngüsü
const dayDate = new Date(currentYear, currentMonth, dayIndex);
const dayName = dayNames[dayDate.getDay()];
const monthName = monthNames[dayDate.getMonth()];
dayElement.innerHTML = `<div class="day-number">${dayIndex} ${monthName} ${dayName}</div><a href="${imagePath}" data-fancybox data-caption="Reward ${dayIndex}"><img src="${imagePath}" alt="Reward ${dayIndex}"></a>`;
if (i === currentDay) {
dayElement.classList.add('active');
} else if (i > currentDay) {
dayElement.classList.add('future');
}
calendar.appendChild(dayElement);
}
}
document.addEventListener('DOMContentLoaded', function() {
setDayStates();
document.getElementById('reward-button').addEventListener('click', function() {
collectReward();
});
document.querySelectorAll('.day img').forEach(function(img) {
img.addEventListener('click', function(event) {
event.preventDefault();
});
});
});
</script>
</body>
</html>Bugünün ödülü al denildiği zaman rastgele item seç olayı var.
bu sayfa rasgeleitemsec.php
function rastgeleItemSec($elitMi, $limit) {
$elitKosulu = $elitMi ? "1" : "0";
$query = mysql_query("SELECT itemadi, adet, itemvnum, resim FROM ishop.gunlukhediye WHERE elit = $elitKosulu ORDER BY RAND() LIMIT $limit");
$itemler = [];
while ($row = mysql_fetch_assoc($query)) {
$itemler[] = $row;
}
return $itemler;
}
$bugununTarihi = date('Y-m-d');
$kontrolSorgu = mysql_query("SELECT * FROM ishop.gunlukhediye_alanlar WHERE kullaniciadi = '$kullaniciAdi' AND alinan_tarih = '$bugununTarihi'");
$hediyeAlmisMi = mysql_num_rows($kontrolSorgu);
if ($hediyeAlmisMi) {
echo "Bugün zaten hediye almışsınız.";
} else {
// Şans belirle
$rasgeleSayi = mt_rand(1, 100);
if ($rasgeleSayi <= 80) {
$normalItemler = rastgeleItemSec(false, 2);
$verilecekItemler = $normalItemler;
} else {
// Bir elit, bir normal item ver
$elitItemler = rastgeleItemSec(true, 1);
$normalItemler = rastgeleItemSec(false, 1);
$verilecekItemler = array_merge($elitItemler, $normalItemler);
}
echo json_encode($verilecekItemler);
}
?>o kadar kurcaladım ki çalıştıramadım bir türlü yardımcı olabilecek biri var mı acaba. birde kazan tuşuna basınca oyuncuya aktaran kazan.php dosyası var.
<?php
session_start();
function oyuncuyaItemEkle($kullaniciAdi, $itemAdi, $adet, $itemVnum) {
mysql_query("INSERT INTO oyun_envanteri (kullaniciadi, itemvnum, adet) VALUES ('$kullaniciAdi', '$itemVnum', '$adet')");
}
$kullaniciAdi = $_SESSION['username'];
$verilecekItemler = json_decode(file_get_contents('rasgele_item_sec.php'), true);
foreach ($verilecekItemler as $item) {
$itemAdi = $item['itemadi'];
$adet = $item['adet'];
$itemVnum = $item['itemvnum'];
oyuncuyaItemEkle($kullaniciAdi, $itemAdi, $adet, $itemVnum);
}
$alinanHediyeler = json_encode($verilecekItemler);
mysql_query("INSERT INTO ishop.gunlukhediye_alanlar (kullaniciadi, alinan_tarih, alinan_hediyeler) VALUES ('$kullaniciAdi', NOW(), '$alinanHediyeler')");
echo "Hediyeniz başarıyla verildi.";
?>çok karıştı farkındayımm fakat çıkamadım bende işin içinden fonksiyonların isimleri filan değişti artık çok yoruldum bu sistem basit ama hata veriyor sürekli.