Yenileniyoruz!
 
AnasayfaAnasayfa  Üye ListesiÜye Listesi  Kullanıcı GruplarıKullanıcı Grupları  Kayıt OlKayıt Ol  Giriş yapGiriş yap  

Paylaş | 
 

 BanSistem Son Nokta Koyuldu [01 Temmuz 2010 Guncellendi]

Önceki başlık Sonraki başlık Aşağa gitmek 
YazarMesaj
ImSoRy
Moderatör
Moderatör
avatar

Mesaj Sayısı Mesaj Sayısı : 56
Başarı Puanı Başarı Puanı : 234
Rep Puanı Rep Puanı : 0
Bölümü Bölümü : Oyunlar / Webmaster

MesajKonu: BanSistem Son Nokta Koyuldu [01 Temmuz 2010 Guncellendi]   Ptsi Tem. 12, 2010 5:59 am

95.173.165.43/bansistem.php

Sorunsuz Çalışmaktadır Güncellendi. 01 Temmuz 2010 01:11

Çalışma Sistemini Söyliyim.
1-)Oyundan çıkarken eğer authority 255 ise ban zamani ve acilma zamanini sureliban tablosuna yazdir.
2-)Account Login Yaparken Eğer Banlıysa Account Block Hatasi Verir.ve Kalan Sureyi Dakika Cinsinden Güncelletir.
3-)Eğer Kalan Sure 0 dan küçükse Çarın Banını açar


DipNot : Örneğin çar ban yedi ve süresi bitti.Oyuncu Giriş yaptı.Ama Account Block diyor.
Burda Kalan Sureyi Gunceller.ve 2.Defa Enter a Bastiginda Giriş Yapabilir.
Bizzat Test den Geçirilmiştir.




Kurulum ;

Step 1;

Query Anaylzer Kodu Kn_Online Seçip ;

Kod:

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[SureliBan]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[SureliBan]
GO

CREATE TABLE [dbo].[SureliBan] (
    [StrUser] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
    [BanZaman] [datetime] NULL ,
    [BanSayisi] [int] NULL ,
    [KalanSuresi] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
    [AcilmaTarihi] [datetime] NULL
) ON [PRIMARY]
GO


Step 2

Query Anaylzer Kodu Kn_Online Seçip


Kod:

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[bansistem]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[bansistem]
GO

SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO

CREATE PROCEDURE [dbo].[bansistem] 
@char varchar(50)

AS
--OrcMad Tarafından İlk Paylaşım ; [Linkleri görebilmek için üye olun veya giriş yapın.] 01:25 All Thanks.
declare @banzaman datetime,
@cikis datetime,
@kalansure int,
@aut int
select @banzaman = banzaman from sureliban where struser = @char
select @cikis = acilmatarihi from sureliban where struser = @char
select @kalansure = datediff(minute,getdate(),@cikis)
select @aut = authority from userdata where struserid = @char
if @kalansure <  0
begin
update userdata set authority = 1 where struserid = @char
update sureliban set kalansuresi = '0' WHERE struser = @char
end
else
begin
update sureliban set kalansuresi = datediff(minute,getdate(),@cikis) where struser = @char
end

GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO


Step 3 ;


Query Anaylzer Kodu Kn_Online Seçip

Kod:

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[bansistem2]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[bansistem2]
GO

SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO

CREATE PROCEDURE [dbo].[bansistem2] 
@char varchar(20) 
AS

declare @aut int,
@bansayisi int,
@cikis datetime
select @bansayisi = bansayisi from sureliban where struser = @char
select @aut = authority from userdata where struserid = @char
select @cikis = acilmatarihi from sureliban where struser = @char
if @aut = '255' and @bansayisi = 0
begin
update sureliban set banzaman = getdate(), bansayisi = bansayisi + 1, acilmatarihi = dateadd(dd,1,getdate()),kalansuresi = '1440' where struser = @char
end
if @aut = '255' and @bansayisi = 1
begin
update sureliban set banzaman = getdate(), bansayisi = bansayisi + 1, acilmatarihi = dateadd(dd,3,getdate()),kalansuresi = '4320' where struser = @char
end
if @aut = '255' and @bansayisi = 2
begin
update sureliban set banzaman = getdate(), bansayisi = bansayisi + 1, acilmatarihi = dateadd(dd,5,getdate()),kalansuresi = '10080' where struser = @char
end
if @aut = '255' and @bansayisi = 3
begin
update sureliban set banzaman = getdate(), bansayisi = bansayisi + 1, acilmatarihi = dateadd(dd,9999,getdate()),kalansuresi = '99999' where struser = @char
end
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO



Step 5
Query Analyzer db mizi seçip ctrl v f5
Kod:

alter table userdata add kayit tinyint

[SIZE="4"]Design tableden kayit in default değerini 0 yapınız bunu uygulamassanız sistem çalışmaz.

default value 0 yazın sağ tık save diyin ve çıkın.
[/SIZE]


Step 6


Account Logout Prosedurune
Kod:

declare @charid varchar(50),
@kayit tinyint
select @charid = strcharid1 from account_char where straccountid = @accountid
select  @kayit = kayit from userdata where struserid =  @charid

if @kayit != 1
begin
insert into sureliban (struser,bansayisi) values (@charid,0) -- sureliban tablosuna nikimizi yazdirdik
end


update userdata set kayit = '1' where struserid = @charid -- kayidimizi bitirdik

exec bansistem2 @charid


step 7 giriş prosedrunuze benimki myst_login mesela.

Kod:

declare @charid  varchar(50),
@aut tinyint

select @charid =  strcharid1 from account_char where straccountid = @accountid
select @aut = authority from userdata where struserid = @charid
if @aut = 255  --eger char banlıysa
begin --basla
exec bansistem @charid --bansistem prosedurunu calistir
   
Set @nRet = 4 --- account block hatasini ver ve login yapma
RETURN
end


step 8 Panel

Kod:


<?php
ob_start();
session_start();

$dns_Adi = "KN_Online"; //Db Adiniz
$dbuser = "kn_online"; //Database güvenlik adi
$dbpass = "kn_online"; //database güvenlik sifresi

$conn = odbc_connect("$dns_Adi","$dbuser","$dbpass") or die ("Veri Tabani Bulunamadi.");

?> 

<center>  <a href="index.php?page=bansistem.php"> Ban Acilmasina Kalan Sure </a>
<br />Kalan Sure Dakika Cinsindendir
<br />OrcMad Tarafindan Yazilmistir.<br />

               
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9" />
<title>OrcMad Online Top Siralama</title>
<style>
body{
  font-weight:bold;
  font-family: Geneva, Arial, Helvetica, sans-serif;
}
a,a:hover{
  text-decoration:none;
  color:orange;
}

#Tablo {
Width:650px;
border-spacing:0;
border-padding:0;
border:1px solid black;
}

#Tablo .baslik{
Height:25px;
background:orange;
border:1px solid black;
}
#Tablo td{
color: #990000;
border:1px solid black;
}
.textwhite:hover{
  background:grey;
}

</style>
</head>
 
<?php


 
    echo'<table id="Tablo">';   

$results=odbc_exec($conn,"SELECT TOP 50 strUser, struser ,banzaman, acilmatarihi, kalansuresi, bansayisi FROM sureliban  ORDER  BY str(kalansuresi) DESC");
$sira = 0;
echo '
  <tr class="Baslik">
    <td align="center">Sira</td>
    <td align="center">Karakter Adi </td>
    <td align="center">Ban Zamani</td>
    <td align="center">Acilma Zamani </td>
    <td align="center">Kalan Dakika</td>
 <td align="center">Ban Sayisi</td>
 
   
  </tr>
'; 
while (odbc_fetch_row($results)) {
    $user = odbc_result($results,1); 
 
   
    $banzaman = odbc_result($results, 2);
    $bansayi = odbc_result($results, 3);
    $kalansuresi = odbc_result($results, 4);
    $kalan = odbc_result($results, 5);
  $kalan2 = odbc_result($results, 6);
 


 
     
    $sira++;

if ($kalan2 > 0) {

echo '
          <tr class="textwhite">
            <td align="center">'.$sira.'</td>
            <td align="center">'.$banzaman.'</td>
            <td align="center">'.$bansayi.'</td>
            <td align="center">'.$kalansuresi.'</td>
            <td align="center">'.$kalan.'</td>
            <td align="center">'.$kalan2.'</td>

                    </tr>';         
         
   
};   
}
echo '</table>';

?>
</body>
</html>



Bunları Yaptıgınız Takdirde Sizin Sadece Oyundan Adamı Banlamanız Yeterlidir.
O Otomatik Kalan Sureyi Gunceller.Kendi Banını açar.

Her gun check_day gibi bir şey yok.

<a href="http://utkuygun.com"><span style="font-size: x-large;">Utkuygun.COM | Hayattan Bir Parça</span></a>
[Resimleri görebilmek için üye olun veya giriş yapın.]
[Resimleri görebilmek için üye olun veya giriş yapın.]
Sayfa başına dön Aşağa gitmek
Kullanıcı profilini gör
 
BanSistem Son Nokta Koyuldu [01 Temmuz 2010 Guncellendi]
Önceki başlık Sonraki başlık Sayfa başına dön 
1 sayfadaki 1 sayfası
 Similar topics
-
» FEN - ANADOLU - DÜZ LİSE ÜNİTELENDİRİLMİŞ YILLIK DERS PLANLARI 2009-2010

Bu forumun müsaadesi var:Bu forumdaki mesajlara cevap veremezsiniz
 :: Oyun :: Private Serverlar :: Prosedür & Kodlar-
Buraya geçin: