|
|
Paylaş |
| İçerde : 1 misafir, 0 üye : --- | Sayfalar: 1 |
|
Yazar
|
Mesaj #39964
07-03-2011 13:06 GMT
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. www.neviex.com/karakter.rar 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. Örn: Kod: 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. Kod: 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: Kod: <?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('http://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.
|
|
Yazar
|
Mesaj #39965
07-03-2011 14:00 GMT
|
|
Yazar
|
Mesaj #39996
07-03-2011 17:56 GMT
Büyük adamların hataları güneş tutulmasına benzer, onları herkes görür |
|
Yazar
Toplam Mesaj: 904
Oyun Tarzı: Pvp
Emulatör: 0.56b
Tecrübe: World Builder
Yaş: 17
Messenger: Msn iletişim
|
Mesaj #39997
07-03-2011 18:01 GMT
|
|
Yazar
|
Mesaj #40013
08-03-2011 01:27 GMT
|
|
Yazar
|
Mesaj #40028
08-03-2011 14:36 GMT
![]() |
|
Yazar
|
Mesaj #40089
09-03-2011 15:09 GMT
Ayrılık zor be kardeş.. |
|
Yazar
|
Mesaj #40094
09-03-2011 16:46 GMT
|
|
Yazar
|
Mesaj #40147
10-03-2011 16:24 GMT
|
|
Yazar
Toplam Mesaj: 44
Oyun Tarzı: Rp
Emulatör: 0.56b
Tecrübe: World Builder
Yaş: 23
Messenger: Msn iletişim
|
Mesaj #40501
16-03-2011 16:49 GMT
Öncelikle merhabalar, Vermiş olduğunuz linki indirip inceledim paperdoll.php functionlari call ettiremediğim için bir sonuca ulaşamadım (büyük ihtimal benim localimdeki php sürümü ile ilgili bir sıkıntı) onun yerine kinetix'in vermiş olduğu orjinal "gumpreader php" yi kendime göre düzenleyip sphere-mysql yardımı ile oyun site bağlantısını kurdum , ve takıldığım 2 nokta oldu. Oyun içerisinden playerin findlayerlerini sorgulattiktan sonra mysql e kaydedip bir sonuça ulaştım fakat takıldığım noktalar ; 1) Örneğin playerin elinde katana var idsi "i_katana" bunun mul dosyalari içerisindeki karşılığını nasıl bulabileceğim hakkında bir fikir bulamadım , gene örnekliyecek olursak i_katana 'nın mul dosyasindaki karşiliği "5118" bu karşığı spherede scriptsel olarak nasıl bulabilirim. 2) 2. sorunum gene benzer olarak hueslerde spheredeki renk kodlarinin mullardaki karsiliğini bulmak. (default renklerin cogunu tanıyor fakat hepsi için geçerli değil) Bunlarda manuel olarak girdilerime karşılık aldığım sonuçlar ; 1 ) Erkek ; ![]() 2 ) Kadın ; ![]() Erkek için gelen değer 12 kadin için 13 oyun içerisinde sadece erkek ve kadın olduğu için bunla ilgili bir problem yok. Üstte belirtmiş olduğum 2 soruna cevap alabilirsem tamamiyle aktif hale gelip otomatik olarak sunucudaki görüntüyü siteye bastırabilecem yardımlarınız için şimdiden teşekkürler. Biz kılıcımızla degil.İnancımızla savaşırız.Kılıç sadece tanrı ile aramızdaki aracıdır.İnancımız kadar öldürürüz biz.. |
|
Yazar
|
Mesaj #40509
16-03-2011 20:36 GMT
|
|
Yazar
Toplam Mesaj: 44
Oyun Tarzı: Rp
Emulatör: 0.56b
Tecrübe: World Builder
Yaş: 23
Messenger: Msn iletişim
|
Mesaj #40514
16-03-2011 22:07 GMT
Scriptsel açıdan tek problem yukarda belirttiğim sorun , veritabanı bağlantıarını kurdum fakat sistemi tam otomatik olarak kullanabilmem için oyun içerisinde verdirttiğim item yardımı ile belirlediğim zaman aralığı içerisinde findlayerleri sorgulatıp database o değerleri yazdırmam lazım ki sıkıntı burda örnekliyecek findayeri sorgulatıp ustundeki robenin id si buduk i_tc_r diyelim biz bunu siteden mysql yardımı ile yansıtabilmemiz için oyun içerisinde kaydederken muldaki karşılığını db ye kaydetmemiz lazım . Benim paylaştığım scripti kullanırsanız daha rahat edersiniz demişsiniz ; Sizin verdiğiniz php dosyalarını indirip inceledim configrasyon dosyasında ekrana sqlconnect functionu hatasını bastırmak için db bilgilerini yanlış girsemde paperdoll.php içerisinde functionu call etmediği için yazdırmıyor functionu kendim elle bastırdığım zaman devreye giriyor kaldı ki eğer sizin paylaştığınızı düzenleyip kullansam bile aynı yerde sıkıntı yaşıyacağım. Siz eski sunucunuzda bu sistemi kullandığınızı söylemişsiniz oyun içerisinden db ye yazdırmak yada update etmek için muldaki karşılığını kullanmış olmanız lazım banada lazım olan bu ben bu değerleri database e kaydettirip kinetixin paylaştığı sistemde çağırıp webde görüntüsünü bastıracağım. Sanırım çok fazla uzun yazdım. Biz kılıcımızla degil.İnancımızla savaşırız.Kılıç sadece tanrı ile aramızdaki aracıdır.İnancımız kadar öldürürüz biz.. |
|
Yazar
|
Mesaj #40516
16-03-2011 22:34 GMT
Kullandım tabiki, ancak hdd yandığı için sphere yedeğim yoktu ve gitti hepsi. Script yazdınız mı dememdeki amaç şu; Yazdığınız bir script varsa, başkalarıda sphere'den mysql'e aktarma kısmını görmüş olur. Ben şöyle yapmıştım; Oyuncu oyuna ilk girdiğinde bir diyalog ile Bu karakterinizi avatar yapmak istiyor musunuz? diye sorduktan sonra, evet derse o karakteri myrunuo_characters'e ekleyip, o anki layer'ları da myrunuo_characters_layers'e ekliyordum ve bir daha o oyuncuya diyalog çıkarmıyordum. Daha sonra ise, oyuncu o karakterle oyuna girdikten 1 dakika sonra layer'larını update ettiriyordum. Tabiki ben avatar olarak kullandığım için böyle yapma gereği duymuştum, ancak siz bütün karakterlerini yazdırmak isterseniz farklı bir yol izlemeniz lazım. Ben sadece bir karakterini yaptırmıştım. Sphere'den mysql'e layerlarını yazdırdığınız bir script varsa onu paylaşmanızı dilerim. Beraber geliştiririz ve herkes yararlanmış olur. |
|
Yazar
Toplam Mesaj: 44
Oyun Tarzı: Rp
Emulatör: 0.56b
Tecrübe: World Builder
Yaş: 23
Messenger: Msn iletişim
|
Mesaj #40521
16-03-2011 23:53 GMT
Ben sizden farklı olarak içindeki herkezin sitede paperdollu ie görüebileceği bir sistem yazdım oyuncu oyuna girdikten sonra isim menüsü geliyor ve bu isim menüsünde gerekli sorguları yaptıktan sonra eğer db de o uid de bir kayıt yoksa yazdırıyorum eğer varsa update ettiriyorum bu sayede kullanıcı istesede istemesede db de yer almak zorunda kalıyor , ek olarak playera bir memory verdirterek belirlediğim zaman aralığı içerisinde db de kullanıcının uid ini sorgulatıp son değişiklerinide db ye kaydetmiş oluyorum yanlız paperdoll kısmında layerlerinin mullardaki karsılıgını bulup ona göre yazdırıp yada update yaptırmam lazım bu sayede şöyle birşey yapıcam böylelikle webden oyuna aktarmış olduğum bilgiler içerisinde oyuncu ismini tıklandığı zaman paperdoll resminide bastırabilmış olucam. Şuanda web üzerinden oyundaki karakterin özelliklerini alabiliyorum (kill,karma,fame,guid,vb.) bu bilgilerin incelendiği sayfa da paperdolluda bastırabilmem için spheredeki itemleri mysql e kaydederken karşılığını bulmam lazım. Bu şekil ; Findlayer la sorgulatıyorum. bu sorgulatma sonucu üstündeki tüm itemlerin ve karakterin özelliklerini scriptsel karsılığını buluyorum, Örnek olarak bulduğum değerler ; silah i_katana ustundekiler i_robe , i_studded_tunic vb bu değerleri bulduğum gibi db ye yazdırsam site üzerinden cektiğimde bir sonuç elde edemiyeceğim kaydederken şu şekilde kaydetmem lazım ; layerx = 5118 / katana layerxy = blabla / herhangi bir item Eğer bu şeki kayderdersem layerx = i_katana mullardan i_katanayi cekme gibi bir imkanım olmuyor. Biz kılıcımızla degil.İnancımızla savaşırız.Kılıç sadece tanrı ile aramızdaki aracıdır.İnancımız kadar öldürürüz biz.. |
|
Yazar
|
Mesaj #40544
17-03-2011 16:39 GMT
Eski yedeklerden bulduk, sanırım bu işinizi fazlasıyla görecektir. Kullanmak isteyenler için sphere scripti.. Kod: [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
|






 





