
MT2Dosyalar tarafından geliştirilen bir sistemi sizlere paylaşmak istiyorum.
Öncelikle Klasik Server Panellerinde Register / Kayıt sistemi şu şekilde işlemektedir !
Kullanıcı adı, şifre, mail, güvenlik sorusu şeklinde.
Bu kayıt sistemini diğerlerinden ayıran şey client'te yaptığının işlemleri panel üzerinden yapabileceksiniz !
Yani Kısaca Oyuna Gir ENTER Bas Giriş Yap
Özellikleri
--------------
1 ) Kayıt Olurken Hesabınızın Bayrağını Seçeceksiniz
2) Sizden Karakter Seçmeniz İstenecek ( savaşçı, sura, ninja, saman)
3) Sizden Karakterinizin Cinsini Seçmeniz İstenecek ( Kız / Erkek )
4) Sizden Oyun İçinde Oluşturduğunuz karaktere İsim Vermeniz İstenecek ( Oyun İçindeki Karakter Adı )
5) Sizden Mail , Kullanıcı Adı, Güvenlik Şifresi İstenecek !
KURULUM
-------------
1) Navicat giriş yapın. Yeni bir database oluşturacaksınız. Adı : mt2dosyalar
Ardından settings.sql içerisine atıcaksınız
2) Navicat Giriş Yapın account > indirdiğiniz dosyadaki account.sql buraya atınız
3) Navicat Giriş Yapın player > İndirdiğiniz dosyadaki player.sql buraya atınız
4) Ana dizindeki ayarlar.php düzenlenecek
5) kayit-sistemi/ayarlar.php düzenlecek
Anasayfa Görüntüsü
-------------------------

Bayrak Seçim Ekranı
-----------------------

Karakter Seçim Ekranı
------------------------

Kullanıcı Bilgileri Giriş Ekranı
---------------------------------

Kayıt Bilgilendirme Ekranı
-------------------------------

Navicat Account Kısmı
---------------------------

Navicat Player Kısmı
-----------------------

Oyun Giriş Ekranından
-------------------------

Oyun İçinden
----------------

İndirme Linkleri
--------------------
İNDİRME LİNKİ
VİRUS TOTAL

EK OLARAK
-----------------------
Sisteme Karakter Skill Seçimi Eklensin mi ?
Açıklama : Burada seçilen skiller 5 level olduığunuzda otomatik olarak hesabınıza geçecek. Böylece öğretmenlere gitme derdi v.s olmayacak !
GÜNCELLEME #1
------------------------
Kayıt sonrası Beta'ya kayıt olanların sayısını göstermek için bilgi.php açın ve şunlarla değiştirin
Bilgi.php:
<h2>Bilgilendirme</h2>
<p>Aldığınız Bilgilendirme İçeriği:</p>
<ul class="errorlist">
<?php foreach ($errors as $error): ?>
<li><?php print $error; ?></li>
<?php endforeach; ?>
</ul>
<?php include("ayarlar.php");
mysql_connect(("$dbhost"),("$dbuser"),("$dbpass"));
mysql_select_db("account");
$accs = "SELECT * from account";
$accsquery = mysql_query($accs);
$accszahl = mysql_num_rows($accsquery);
echo "<br><br><br>Beta'ya Kaydolan Toplam Hesap Sayısı: $accszahl"; ?>

GÜNCELLEME #2
-----------------------------
Kayıt sonrası geri sayım eklemek için ( Örnek : xx gün xx saat xx dakıka xx sanıye sonra MT2Dosyalar AÇILACAKTIR )
Bilgi.php 'yi komple değiştirin
Kod:
<h2>Bilgilendirme</h2>
<p>Aldığınız Bilgilendirme İçeriği:</p>
<ul class="errorlist">
<?php foreach ($errors as $error): ?>
<li><?php print $error; ?></li>
<?php endforeach; ?>
</ul>
<?php include("ayarlar.php");
mysql_connect(("$dbhost"),("$dbuser"),("$dbpass"));
mysql_select_db("account");
$accs = "SELECT * from account";
$accsquery = mysql_query($accs);
$accszahl = mysql_num_rows($accsquery);
echo "<br><br><br>Beta'ya Kaydolan Toplam Hesap Sayısı: $accszahl"; ?>
<style>
#evenimente, #evenimente td, #evenimente th {
width: auto;
font-family: Verdana;
font-size: 15px;
padding: 5px;
border-radius: 4px;
color: #f90505;
text-align: center;
}
#evenimente th {
background-color: #F5AF0A;
color: #000000;
width: auto;
font-family: Verdana;
font-size: 15px;
padding: 5px;
border: 1px solid #FAFA01;
border-radius: 4px;
text-align: center;
}
</style>
<script>
var evenimente = null;
document.addEventListener("readystatechange", function(e) {
if (document.readyState == "complete") {
evenimente = new Array();
evenimente.push(new eveniment("", "15:05:2020:20:00:00"));
update_tabel();
setInterval(update_tabel, 1001);
}
});
function eveniment(nume, data) {
data = data.split(":");
this.nume = nume;
this.data = new Date(data[2], data[1] - 1, data[0], data[3], data[4], 0, 0);
}
function update_tabel() {
var tabel = document.querySelector("#evenimente");
tabel.innerHTML = "";
for (var i = 0; i < evenimente.length; i++) {
var current_date = new Date();
if (evenimente.data < current_date)
tabel.innerHTML += "<tr><td>" + evenimente[i].nume + "</td><td>Evenimenul a inceput!</td></tr>";
else {
var delta = (evenimente[i].data.getTime() - current_date.getTime()) / 1000;
var days = Math.floor(delta / 86400);
var hours = Math.floor(delta / 3600) % 24;
var minutes = Math.floor(delta / 60) % 60;
var seconds = Math.floor(delta % 60);
var result = "";
if (days == 1)
result += days + " zi, ";
else
result += days + " Gün, ";
if (hours == 1)
result += hours + " ora, ";
else
result += hours + " Saat, ";
if (minutes == 1)
result += minutes + " minut, ";
else
result += minutes + " Dakika, ";
if (seconds == 1)
result += seconds + " secunda, ";
else
result += seconds + " Saniye, ";
result = result.substring(0, result.length - 2);
tabel.innerHTML += "<tr><td>" + evenimente[i].nume + "</td><td>" + result + "</td></tr>";
}
}
}
</script>
<br><br><br>
<table id="evenimente"></table>Sonra MT2Dosyalar Acilacaktir

GÜNCELLEME #
Kayıt Olurken Karakter Silme Kodunu Aktif Etmek İçin
icerik.php açın ve şununla değiştirin
Kod:
<?php
$errors = array();
$kullanici_adi = isset($_POST['kullanici_adi']) ? $_POST['kullanici_adi'] : '';
$email = isset($_POST['email']) ? $_POST['email'] : '';
$password = isset($_POST['password']) ? $_POST['password'] : '';
$sifre_tekrar = isset($_POST['sifre_tekrar']) ? $_POST['sifre_tekrar'] : '';
$captcha = isset($_POST['captcha']) ? $_POST['captcha'] : '';
$bayrak = isset($_GET['bayrak']) ? $_GET['bayrak'] : '';
$karakter = isset($_GET['karakter']) ? $_GET['karakter'] : '';
$oyuncuadi = isset($_POST['oyuncuadi']) ? $_POST['oyuncuadi'] : '';
$karaktersilmekodu = isset($_POST['karaktersilmekodu']) ? $_POST['karaktersilmekodu'] : '';
if ( empty($kullanici_adi) || empty($email) || empty($password) || empty($sifre_tekrar) ) {
if ( empty($kullanici_adi) )
$errors[] = "Kullanici Adi Bos Birakilamaz";
if ( empty($email) )
$errors[] = "Eposta adresi gerekli.";
if ( empty($password) )
$errors[] = "Parola zorunludur.";
if ( empty($sifre_tekrar) )
$errors[] = "Sifrenizi ikinci kez girmeniz gerekiyor.";
if ( empty($karaktersilmekodu) )
$errors[] = "KarakterSilme Kodunu Giriniz";
} else {
if (!preg_match('/^[A-Za-z0-9]+\z/', $kullanici_adi)) // kullanım "^\w+$^" izin vermek istiyorsan "-" ve "_"
$errors[] = "Hesapta yalnizca alfasayisal karakterler bulunmalidir.";
if (!preg_match('/^[A-Za-z0-9]*\z/', $oyuncuadi)) // bu durumda, boş dizeye izin verilir (+ yerine *)
$errors[] = "Takma ad yalnizca alfasayisal karakterler icermelidir.";
if (strlen($kullanici_adi) < 3)
$errors[] = "Kullanici Adiniz En Az 3 Karakterden Olusmalidir";
if (strlen($karaktersilmekodu) < 7)
$errors[] = "Karakter Silme Kodu 7 Haneli Olmalidir";
if (strlen($oyuncuadi) < 3)
$errors[] = "Karakter Adiniz En Az 3 Karakterden Olusmalidir";
if (strlen($password) < 6)
$errors[] = "Sifreniz En Az 6 Karakterden Olusmalidir";
if ( $captcha != $correct_answer )
$errors[] = "Dogrulama Kodunu Yanlis Girdiniz";
if ( $password != $sifre_tekrar )
$errors[] = "Iki sifre eslesmiyor.";
if (!isset($_POST['kural']))
$errors[] = "Kayit islemine devam etmek istiyorsaniz hizmet sartlarini kabul etmelisiniz.";
else if (count($errors) <= 0) {
$password = mysql_real_escape_string($password);
$_check_user = $db->queryUniqueValue("SELECT `login` FROM `account`.`account` WHERE `login` = '$kullanici_adi'"); //Hiçbir satır seçilmezse NULL döndürür (bu normal davranıştır)
if ( strcasecmp($_check_user,$kullanici_adi) == 0 ) // büyük / küçük harfe duyarlı olmayan karşılaştırma. 0 eşit oldukları anlamına gelir.
$errors[] = "Zaten Kayitli Bir Hesap : <b>$kullanici_adi</b> ";
else {
$registration_key = md5($email);
$ip_address = $_SERVER['REMOTE_ADDR'];
// Başlangıç Bonucu
$bonus_expire_date = '2020-05-05 00:00:00';
$safebox_expire = $bonus_expire_date;
$fish_mind_expire = $bonus_expire_date;
$autoloot_expire = $bonus_expire_date;
// Başlangıç Bonusu Bitiş
$zipcode = isset($_POST['warnByMail']) ? 1 : 0; // Mail İle Onarma Zip Fonksiyonlu
$db->execute("INSERT INTO `account`.`account`
(`login`, `password`, `email`, `create_time`, `web_ip`,`registration_key`, `safebox_expire`, `fish_mind_expire`, `autoloot_expire`, `zipcode`, `social_id`)
VALUES
('$kullanici_adi', PASSWORD('$password'), '$email', NOW(), '$ip_address', '$registration_key', '$safebox_expire', '$fish_mind_expire', '$autoloot_expire', '$zipcode', '$karaktersilmekodu')");
// Kayıt Oluşturma Mantıgı
if (is_numeric($karakter) && $karakter >= 0 && $karakter <= 7 &&
is_numeric($bayrak) && $bayrak >= 1 && $bayrak <= 3) {
$oyuncuadi = mysql_real_escape_string($oyuncuadi);
$account_id = $db->lastInsertedId();
$db->execute("INSERT INTO player.player
SET
account_id = '$account_id',
name = '$oyuncuadi',
job = '$karakter'
");
$player_id = $db->lastInsertedId();
$db->execute("INSERT INTO player.player_index
SET
id = '$account_id',
pid1 = '$player_id',
empire = '$bayrak'
");
} else
$errors[] = "Karakterin olusturulmasi sirasinda girilen veriler gecerli degildi: karakteriniz olusturulmadi, ancak dogrudan oyunda olusturabilirsiniz.";
// Oyuncu Son Oluşma Mantıgı
include_once '';
if ( !mail($to, $subject, $message, $headers) )
$errors[] = "<br><br>Hesap Basariyla Olusturuldu ! Beta Surumun Acilisini Bekleyin<br><br>Kullanici Adi : $kullanici_adi <br>Sifre : $password <br>Mail : $email <br> Karakter Adi : $oyuncuadi <br> Karakter Silme Kodu : $karaktersilmekodu" ;
else //Kayıt tamamlandı
include_once '';
}
}
}
if (count($errors) > 0) // Kayıt Basarız oldu Player Name Oluşmadı
include_once 'kayit-sistemi/bilgi.php';
?>
Ardından sonicerik.php açın ve komple değiştirin şu kodla
Kod:
<?php
$bayrak = isset($_GET['bayrak']) ? $_GET['bayrak'] : '';
$karakter = isset($_GET['karakter']) ? $_GET['karakter'] : '';
?>
<form id=kayitol method=post action="<?=MT2DOSYALAR?>kayit-basamak3/<?=$bayrak?>/<?=$karakter?>">
<fieldset>
<ol>
<li class="bilgi">
<label for=kullanici_adi title="Kullanici Adinizi Giriniz.">Kullanici Adi</label>
<input id=kullanici_adi name=kullanici_adi type=text maxlength=16 placeholder="Kullanici Adi">
</li>
<li class="bilgi">
<label for=oyuncuadi title="Oyun Icerisindeki Karakter Adinizi Giriniz.">Karakterinizin Adi</label>
<input id=oyuncuadi name=oyuncuadi type=text maxlength=16 placeholder="Oyun Icinde Karakter Adiniz">
</li>
<li class="bilgi">
<label for=email title="Mail Adresinizi Giriniz">Email Adresiniz</label>
<input id=email name=email type=email placeholder="admin@mt2dosyalar.com" required>
</li>
<li class="bilgi">
<label for=password title="Sifrenizi Giriniz">Sifreniz</label>
<input id=password name=password type=password maxlength=16 placeholder="Maximum 16 Karakter" required>
</li>
<li class="bilgi">
<label for=sifre_tekrar>Sifreniz (Tekrar)</label>
<input id=sifre_tekrar name=sifre_tekrar placeholder="Sifrenizi Tekrar Giriniz" type=password maxlength=16 required>
</li>
<li class="bilgi">
<label for=karaktersilmekodu title="Karakter Silme Kodu Giriniz.">SilmeKodu</label>
<input id=karaktersilmekodu name=karaktersilmekodu type=text maxlength=7 placeholder="Karakter Silme Kodunuz">
</li>
<li class="bilgi">
<label for=captcha><?=$captcha_question?></label>
<input id=captcha name=captcha type=number placeholder="Cevabi Buraya Yaziniz" maxlength=2 required>
</li>
</ol>
</fieldset>
<fieldset>
<ul>
<li class="altbilgi">
<label for="kural">Oyun Kurallarini Kabul Ediyorum !</label>
<input id="kural" type="checkbox" name="kural" checked>
</li>
</ul>
</fieldset>
<fieldset>
<button type=submit name=submit class="btn-green">Kayit Tamamla !</button>
</fieldset>
<input type=hidden name=f value="<?=$firstNumber?>">
<input type=hidden name=s value="<?=$secondNumber?>">
<input type=hidden name=o value="<?=$operator?>">
</form>

PEKİ SİZE BİR SÜPRİZ DAHA (YAKINDA)

MT2Dosyalar Wiki Sistemi #2020
PART #1 ----------------- https://forum.turkmmo.com/konu/3735853-mt2dosyalar-yeni-kayit-sistemi-gelismis/ PART #2 -------------------- Merhaba arkadaşlar ! Piyasa'ya şöyle bir wiki sistemi Yakışacağını Düşündüm ve Oğuzhan Gökmenin Yapmış Olduğu Wiki CMS Sistemine Giydirdim. Gayet Güzel ve...