Sphere MySQL — Online Ölüm Saatleri
UO-Developer.com — ölen, öldüren, yer, saat — web sitesinde göstermeSelamlar 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=sphere3. 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 1Sonra 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

