Anasayfa
UO Sunucular
Forumlar
Profilim
UO-Developer.COM

Sphere MySQL — Online Ölüm Saatleri

UO-Developer.com — ölen, öldüren, yer, saat — web sitesinde gösterme

Selamlar arkadaşlar — bugün size Sphere'de veritabanı üzerinden sunucuda ölen kişi, öldüren, yer ve saat bilgisini sitede göstermeyi anlatacağım.

Konu: MySQL ölüm kaydı + PHP web listesi | Seviye: Orta

İlgili: Online Ölüm Saatleri | MySQL Komutları | MySQL Kurulumu

Ön koşul: projedeki Sphere MySQL Entegrasyonu rehberi | Türkçe Sphere.ini


! DİKKAT !

PHP örneği eski mysql_* fonksiyonlarını kullanır — PHP 7+ sürümlerinde kaldırılmıştır. Modern hosting'de mysqli veya PDO tercih edin.

! DİKKAT !
İçindekiler
  • Gereksinimler
  • sphere.ini ayarları
  • f_onserver_start — MySQL bağlantısı
  • PHP — ölüm listesi
  • PHP — veritabanı ayarları
  • on=@Death — kayıt
  • olum tablosu
  • Kontrol listesi

1. Gereksinimler
  • SphereServer 0.56b
  • MySQL kurulu
  • libMySQL.dll 32-bit — SphereSvr.exe yanında
  • Web hosting veya yerel PHP + Apache

Not: Sürümünüz 56b olmalıdır. sphere.ini üzerinden veritabanını mutlaka ayarlamalısınız.


2. sphere.ini — Database Ayarları

Öncelikle sphere.ini dosyasından database ayarlarınızı yapın:

MYSQL=1
MySqlHost=localhost
MySqlUser=kullanici
MySqlPassword=sifren
MySqlDatabase=sphere

3. f_onserver_start — MySQL Bağlantısı

sphere_serv_triggers.scp dosyasını açın. f_onserver_start fonksiyonunun altına şunu ekleyin:

[FUNCTION f_onserver_start]
db.connect
if (<db.connected>)
    serv.log MySQL debug: MySQL baglantisi tamamlandi
else
    serv.log MySQL debug: MySQL baglantisi tamamlanamadi.
endif
return 1

Sonra sistemi kurmaya başlayabilirsiniz.


4. PHP — Ölüm Listesi

Web sitenize aşağıdaki PHP kodunu ekleyin — örnek dosya adı olum.php:

<?
$db = "olum";
$dbismi = "sphere";
$baglanti = mysql_connect("localhost","kullanici","sifren")
or die ("Database servera baglanilamadi...");
$database = mysql_select_db("$dbismi", $baglanti) or die("Database secilemedi...");
$sorgu = "select * from $db";
$sonuc = mysql_query($sorgu) or die("Sorgulama yapilamadi...");

while ($row = mysql_fetch_object($sonuc))
{
$olen = $row->olen;
$olduren = $row->olduren;
$yer = $row->yer;
$saat = $row->saat;

echo "Olen = $olen";
echo "<br />";
echo "Olduren = $olduren";
echo "<br />";
echo "Yer = $yer";
echo "<br />";
echo "Saat = $saat";
echo "<br />";
echo "----------------------------------------";
echo "<br />";
}

mysql_free_result($sonuc);
mysql_close($baglanti);
?>

5. PHP — Veritabanı Ayarları

PHP dosyasını ekledikten sonra veritabanı bağlantı satırlarını kendi bilgilerinizle düzenleyin, kaydedip çıkın:

$db = "olum";
$dbismi = "sphere";
$baglanti = mysql_connect("localhost","kullanici","sifren")
or die ("Database servera baglanilamadi...");
  • $db — tablo adı — olum
  • $dbismi — veritabanı adı — sphere
  • kullanici / sifren — MySQL kullanıcı adı ve şifresi

6. olum Tablosu

Kayıtların yazılması için veritabanında olum tablosu olmalıdır. Henüz yoksa phpMyAdmin'de çalıştırın:

CREATE TABLE `olum` (
  `olen` varchar(255) NOT NULL,
  `olduren` varchar(255) NOT NULL,
  `yer` varchar(255) NOT NULL,
  `saat` varchar(255) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

7. on=@Death — Sphere Kayıt

Fix event bölümüne on=@Death kısmına şunu ekleyin:

on=@Death
db.execute "INSERT INTO olum (olen, olduren, yer, saat) VALUES('<name>','<act.name>','<region.name>','<serv.rtime>')"

Ekledikten sonra sistem tamamdır. Oyuncu öldüğünde kayıt MySQL'e yazılır; PHP sayfası listeler.

Alan eşlemesi:

  • olen — ölen — name
  • olduren — öldüren — act.name
  • yer — bölge — region.name
  • saat — sunucu zamanı — serv.rtime

8. Test ve Kontrol Listesi
  • Sphere 0.56b — sphere.ini database ayarları yapıldı
  • sphere_serv_triggers.scp — f_onserver_start db.connect eklendi
  • olum tablosu oluşturuldu
  • olum.php — $db, $dbismi, kullanıcı/şifre düzenlendi
  • on=@Death db.execute eklendi
  • Test ölümü — tabloda satır + web sayfasında görünüm

DB komutları: projedeki Sphere MySQL Komutları rehberi

UO-Dev SPONSOR

Paylaş

XFacebook

Faydalı mı?

Bu içerik size yardımcı oldu mu?

UO-Dev SPONSOR

Afronola 25-12-2009 02:10
Bunları ben kısmen öğrendim php dili bilmiyorum mesela ben bunu php diliyle sade 4 tablı tablo oluşturmak istiyorum veritabanından veriyi çekip, dgh.php sayfasında nasıl gösterebilirim. kodlaması hakkında kısa bir örnek verebilecek olan var mı arkadaşlar?

Üyelerin oylama ortalaması (10 dışında) :

Henüz Oylanmamış

Oylar: 0

Paylaş

XFacebook

Faydalı mı?

Bu içerik size yardımcı oldu mu?