Merhaba Arkadaşlar,

Öncelikle belirteyim scripti ben yazmadım, size sadece nasıl kullanılacağını göstereceğim.

Sistem aslen runuo için kodlanmıştır. Ancak sphere mysql desteğinden sonra entegre edilebilmektedir.

Buradan Script'i İndirebilirsiniz

Dosyanın içindeki sql tablolarını yükleyin, daha sonra sphere mysql bilginiz yerindeyse, karakterin layer'larını sql'e yazdırmanız gerekmektedir.
En altta o script'i de ekledim.

Örn:
CREATE TABLE myrunuo_characters (
  char_id int(12) unsigned default NULL,
  char_name varchar(150) default NULL,
  char_str int(3) unsigned default NULL,
  char_dex int(3) unsigned default NULL,
  char_int int(3) unsigned default NULL,
  char_female int(2) unsigned default NULL,
  char_counts int(3) unsigned default NULL,
  char_guild varchar(4) default NULL,
  char_guildtitle varchar(150) default NULL,
  char_nototitle varchar(150) default NULL,
  char_bodyhue int(3) unsigned default NULL,
  char_public int(1) unsigned default NULL,
  KEY char_id (char_id),
  KEY char_guild (char_guild)
) TYPE=MyISAM;

Bu kısma gireceğiniz bilgi bir seferlik olacak. Aynı char_id ile tekrar ekleme yapmayacaksınız. Eğer değişiklik olacaksa update kullanacaksınız.

CREATE TABLE myrunuo_characters_layers (
  char_id int(12) unsigned default NULL,
  layer_id int(3) unsigned default NULL,
  item_id int(12) unsigned default NULL,
  item_hue int(3) unsigned default NULL,
  KEY charid (char_id)
) TYPE=MyISAM;

Bu kısımda karakterin bütün layerlarını yazdırmanız gerekiyor.
örn:
Karakter ID: 35644
layer_id : 2
item_id: 100
item_hue: 84848

Karakter ID: 35644
layer_id : 1
item_id: 900
item_hue: 84848

Bu kısımda bir karakterin karakter id'si hiç değişmiyor, sadece layer item ve rengi değişiyor.

Bu işlemi de yaptıktan sonra, paperdoll.php?id=char_id (Burası char_id numarası olacak) yazdığınızda o karakterin webdeki görüntüsü ortaya çıkmış olacak.

Zamanım olmadığı için sphere kısmını yazamadım, eski sunucumda yazmıştım ancak hdd yanınca hepsi gitti.

Deneyip, çabalayan arkadaşlar lütfen çabalasınlar. Bu bir hobi, yapmak yada yapmamak size kalmış. Sphere kısmına destek olanlar da olursa, tak-çalıştır şeklinde yayınlarız.

Kolay gelsin.

Ek:
<?php
$host ="SUNUCU IP";
$mysqladi ="VTKULLLANICI";
$mysqlsifre ="SIFRE";
$db = "VTADI";
@mysql_connect ("$host", "$mysqladi", "$mysqlsifre") or die ("MySql Baglantisinda Hata");
@mysql_select_db ("$db") or die ("Üye Veritabanina Baglanilamadi");
$id=$_GET['id'];
$sorgu = mysql_query ("SELECT * FROM myrunuo_characters WHERE accname ='$id'");
while ($kayit=mysql_fetch_array($sorgu)){
$icerik =$kayit["char_id"];
// Resim olusturma
$src = imagecreatefrompng('https://SUNUCU IP/karakter/paperdoll.php?id='. $icerik .'');
$dest = imagecreatetruecolor(118, 183);

// Croplama
imagecopy($dest, $src, 0, 0, 40, 60, 118, 183);

// resim turu
header('Content-Type: image/gif');
imagegif($dest);

imagedestroy($dest);
imagedestroy($src);
}
?>

Mesela ben resmi avatar gibi küçük olarak croplamıştım. Bunu da paylaşayım yardımcı olacaktır. myrunuo_characters tablosuna accname olarak yeni bir sütun oluşturmuştum. Sphere'den mysql'e account name'ini de yazdırıyordum. Böylece forumdaki acc name ile mysql'deki birbiriyle eşleşiyordu. Forumda da avatar olarak oyundaki karakteri gözüküyordu.

Eski yedeklerden bulduk, sanırım bu işinizi fazlasıyla görecektir. Kullanmak isteyenler için sphere scripti..


[function avatar]
karaktersql
layeryaz

[function karaktersql]
db.connect
REF1 = <uid>
IF (<REF1>)
ref1.karimierkekmi
DB.EXECUTE "INSERT INTO myrunuo_characters VALUES ('<eval <REF1>>','<REF1.NAME>','<REF1.ACCOUNT.NAME>','<REF1.STR>','<REF1.DEX>','<REF1.INT>','<REF1.DTAG.CINSIYET>','<REF1.ACCOUNT.CHARS>','<REF1.GUILD>','<REF1.DTAG.GS_title>','Neviex','33770','1')"
ENDIF

[function karimierkekmi]
if (<src.body> == c_woman)
src.tag0.cinsiyet 1
return 1
else
src.tag0.cinsiyet 0
return 1
endif

[function karakterupd]
db.connect
REF1 = <uid>
IF (<REF1>)
 DB.EXECUTE "UPDATE myrunuo_characters SET char_name='<REF1.NAME>' WHERE char_id='<REF1>'"
 DB.EXECUTE "UPDATE myrunuo_characters SET char_counts='<REF1.ACCOUNT.CHARS>' WHERE char_id='<REF1>'"
ENDIF

[function layeryaz]
db.connect
REF1 = <uid>
IF (<REF1>)
db.execute "delete from myrunuo_characters_layers where char_id='<eval <REF1>>';"
if (<ref1.findlayer(1).DISPIDDEC> > 0)
DB.EXECUTE "INSERT INTO myrunuo_characters_layers VALUES ('<eval <REF1>>','1','<ref1.findlayer(1).DISPIDDEC>','<eval <ref1.findlayer(1).color>>')"
endif
if (<ref1.findlayer(2).DISPIDDEC> > 0)
DB.EXECUTE "INSERT INTO myrunuo_characters_layers VALUES ('<eval <REF1>>','2','<ref1.findlayer(2).DISPIDDEC>','<eval <ref1.findlayer(2).color>>')"
endif
if (<ref1.findlayer(3).DISPIDDEC> > 0)
DB.EXECUTE "INSERT INTO myrunuo_characters_layers VALUES ('<eval <REF1>>','3','<ref1.findlayer(3).DISPIDDEC>','<eval <ref1.findlayer(3).color>>')"
endif
if (<ref1.findlayer(4).DISPIDDEC> > 0)
DB.EXECUTE "INSERT INTO myrunuo_characters_layers VALUES ('<eval <REF1>>','4','<ref1.findlayer(4).DISPIDDEC>','<eval <ref1.findlayer(4).color>>')"
endif
if (<ref1.findlayer(5).DISPIDDEC> > 0)
DB.EXECUTE "INSERT INTO myrunuo_characters_layers VALUES ('<eval <REF1>>','5','<ref1.findlayer(5).DISPIDDEC>','<eval <ref1.findlayer(5).color>>')"
endif
if (<ref1.findlayer(6).DISPIDDEC> > 0)
DB.EXECUTE "INSERT INTO myrunuo_characters_layers VALUES ('<eval <REF1>>','6','<ref1.findlayer(6).DISPIDDEC>','<eval <ref1.findlayer(6).color>>')"
endif
if (<ref1.findlayer(7).DISPIDDEC> > 0)
DB.EXECUTE "INSERT INTO myrunuo_characters_layers VALUES ('<eval <REF1>>','7','<ref1.findlayer(7).DISPIDDEC>','<eval <ref1.findlayer(7).color>>')"
endif
if (<ref1.findlayer(8).DISPIDDEC> > 0)
DB.EXECUTE "INSERT INTO myrunuo_characters_layers VALUES ('<eval <REF1>>','8','<ref1.findlayer(8).DISPIDDEC>','<eval <ref1.findlayer(8).color>>')"
endif
if (<ref1.findlayer(9).DISPIDDEC> > 0)
DB.EXECUTE "INSERT INTO myrunuo_characters_layers VALUES ('<eval <REF1>>','9','<ref1.findlayer(9).DISPIDDEC>','<eval <ref1.findlayer(9).color>>')"
endif
if (<ref1.findlayer(10).DISPIDDEC> > 0)
DB.EXECUTE "INSERT INTO myrunuo_characters_layers VALUES ('<eval <REF1>>','10','<ref1.findlayer(10).DISPIDDEC>','<eval <ref1.findlayer(10).color>>')"
endif
if (<ref1.findlayer(11).DISPIDDEC> > 0)
DB.EXECUTE "INSERT INTO myrunuo_characters_layers VALUES ('<eval <REF1>>','11','<ref1.findlayer(11).DISPIDDEC>','<eval <ref1.findlayer(11).color>>')"
endif
if (<ref1.findlayer(12).DISPIDDEC> > 0)
DB.EXECUTE "INSERT INTO myrunuo_characters_layers VALUES ('<eval <REF1>>','12','<ref1.findlayer(12).DISPIDDEC>','<eval <ref1.findlayer(12).color>>')"
endif
if (<ref1.findlayer(13).DISPIDDEC> > 0)
DB.EXECUTE "INSERT INTO myrunuo_characters_layers VALUES ('<eval <REF1>>','13','<ref1.findlayer(13).DISPIDDEC>','<eval <ref1.findlayer(13).color>>')"
endif
if (<ref1.findlayer(14).DISPIDDEC> > 0)
DB.EXECUTE "INSERT INTO myrunuo_characters_layers VALUES ('<eval <REF1>>','14','<ref1.findlayer(14).DISPIDDEC>','<eval <ref1.findlayer(14).color>>')"
endif
if (<ref1.findlayer(15).DISPIDDEC> > 0)
DB.EXECUTE "INSERT INTO myrunuo_characters_layers VALUES ('<eval <REF1>>','15','<ref1.findlayer(15).DISPIDDEC>','<eval <ref1.findlayer(15).color>>')"
endif
if (<ref1.findlayer(16).DISPIDDEC> > 0)
DB.EXECUTE "INSERT INTO myrunuo_characters_layers VALUES ('<eval <REF1>>','16','<ref1.findlayer(16).DISPIDDEC>','<eval <ref1.findlayer(16).color>>')"
endif
if (<ref1.findlayer(17).DISPIDDEC> > 0)
DB.EXECUTE "INSERT INTO myrunuo_characters_layers VALUES ('<eval <REF1>>','17','<ref1.findlayer(17).DISPIDDEC>','<eval <ref1.findlayer(17).color>>')"
endif
if (<ref1.findlayer(18).DISPIDDEC> > 0)
DB.EXECUTE "INSERT INTO myrunuo_characters_layers VALUES ('<eval <REF1>>','18','<ref1.findlayer(18).DISPIDDEC>','<eval <ref1.findlayer(18).color>>')"
endif
if (<ref1.findlayer(19).DISPIDDEC> > 0)
DB.EXECUTE "INSERT INTO myrunuo_characters_layers VALUES ('<eval <REF1>>','19','<ref1.findlayer(19).DISPIDDEC>','<eval <ref1.findlayer(19).color>>')"
endif
if (<ref1.findlayer(20).DISPIDDEC> > 0)
DB.EXECUTE "INSERT INTO myrunuo_characters_layers VALUES ('<eval <REF1>>','20','<ref1.findlayer(20).DISPIDDEC>','<eval <ref1.findlayer(20).color>>')"
endif
if (<ref1.findlayer(21).DISPIDDEC> > 0)
DB.EXECUTE "INSERT INTO myrunuo_characters_layers VALUES ('<eval <REF1>>','21','<ref1.findlayer(21).DISPIDDEC>','<eval <ref1.findlayer(21).color>>')"
endif
if (<ref1.findlayer(22).DISPIDDEC> > 0)
DB.EXECUTE "INSERT INTO myrunuo_characters_layers VALUES ('<eval <REF1>>','22','<ref1.findlayer(22).DISPIDDEC>','<eval <ref1.findlayer(22).color>>')"
endif
if (<ref1.findlayer(23).DISPIDDEC> > 0)
DB.EXECUTE "INSERT INTO myrunuo_characters_layers VALUES ('<eval <REF1>>','23','<ref1.findlayer(23).DISPIDDEC>','<eval <ref1.findlayer(23).color>>')"
ENDIF
endif

Kolay gelsin.
Güzel paylaşım teşekkürler.
çok güzel paylaşım lai çok teşekkürler..

Üye Ol veya Giriş Yap

Bu forum başlığına mesaj atmak istiyorsanız hemen üye olun veya giriş yapın.