Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

C# Connector Tutorial


Mum_Chamber

Öne çıkan mesajlar

Burada C# ile nasıl launchpad yapılacağını anlatan kodları vermiştim (linkler değişti). Fakat orada da söylediğim gibi pek az kişinin serverında launchpad'e ihtiyacı olacaktır. Ben de oturdum Connector hazırladım. Diğerine göre basit ama işlevli oldu. Dosyaların adresleri şöyle:

Launchpad için
UOConnectorCode.zip | UOConnector.zip
Connector için
ConnectorCode.zip | Connector.zip
Kodların efektif kullanımı için Visual Studio.NET, programların çalışabilmesi için ise .Net FrameWork gereklidir.

Şimdi geçelim tutorial bölümümüze:
(Açıklamaların aynısı kodların içinde de bulunmaktadır. sadece yorumları kalın hale getirdim.)
said:


Kodların "Windows Generated Code" region'u dışında kalan şekliyle:

programın hangi klasöre kayıtlı olduğunu bir değişkende tutalım

private static string klasor ="";

[STAThread]
static void Main()
{
burası programın constructor'ı. program açıldığında bunlar olacak:
Application.Run(new Form1());
Kullanacağımız yeni Form1 türünde değişkenimizi yaratıyoruz.
Başka bir değişle Form1 classının bir örneğini türetiyoruz. (instanciate)

}

UO'nun hangi klasörde olduğunu bulacak fonksiyonumuz.
private void KlasorBul()
{
registry'den kontrol etmek için reg adında bir değişken yaratıyoruz.
RegistryKey reg;
kodu try-catch bloğuna aldık ki, hata olursa program çakılmasın.
try
{
oraya yazılı registry anahtarını açmak için kolları sıvıyoruz.
reg = Registry.LocalMachine.OpenSubKey( @"SoftwareOrigin Worlds OnlineUltima Online1.0", false );
bu anahtarın içindeki ExePath isimli ikili kayıdın değerini alıyoruz.
buradan bize C:Program FilesUltima Onlineclient.exe şeklinde bir string dönecek.

klasor = reg.GetValue( "ExePath" ).ToString();
bize gelen stringdeki client.exe'yi almıyoruz. bize sadece klasör adı lazım.
klasor değişkeninin içindeki client.exe bölümünü silmektense boşluk ile
/değiştiriyoruz. sonuç değişmeyecektir.

klasor = klasor.Replace( @"client.exe", "" );
}
catch eğer yukarıdaki blok hata verirse
{
bir hata mesajı çıkarıyoruz. aslında throw new exeption yapmamız gerek
fakat bu kadar ufak projede gerek yok.

MessageBox.Show( "UO yüklü değil mi yoksa?" );
}
}


login.cfg dosyasını değiştirecek ve oyunu açacak fonksiyonumuz.
fonksiyonumuz iki parametre alacak. birincisi ip, ikincisi port.
bunlara göre login.cfg'ye yazacağız.

private void LoginYaz( string IP, int port )
{
dosyaya yazmak için yeni bir StreamWriter nesnesine ihtiyacımız var.
append = false yapıyoruz ki eski dosyayı silsin.

StreamWriter sw = new StreamWriter( klasor + @"login.cfg", false );
LoginServer=ip,port şeklinde yazıyoruz.
sw.Write( "LoginServer=" + IP + "," + port );
açık bağlantımızı kapıyoruz.
sw.Close();

serverın client'ının adının client.exe olduğunu varsayıyoruz.
eğer client.exe UO klasörünün içinde varsa

if( File.Exists( klasor + @"client.exe" ) )
client.exe dosyasını çalıştırıyoruz.
System.Diagnostics.Process.Start( klasor + @"client.exe" );
else yoksa
MessageBox.Show( "client.exe'yi bulamadım be abi" );
}


Hakkımızda menüsünün ilk butonu için..
private void menuItem4_Click(object sender, System.EventArgs e)
{
MessageBox.Show( "SüperMüm'den paticik.com'a hediye", "SüperConnector" , MessageBoxButtons.OK, MessageBoxIcon.Information );
}


bağlan butonu için
private void menuItem2_Click(object sender, System.EventArgs e)
{
KlasorBul();
LoginYaz( "192.168.1.1", 5555 );
}

eğer istenirse initializer'a bir kaç tane buton daha eklenerek birden fazla
sharda bağlanmak için sadece yeni menü butonunun altına
KlasorBul();
LoginYaz( shard ipsi , shard portu );
yazmak yetecektir. hayırlı olsun.


}
}


Tutorial şimdilik bu kadar, isteyen olursa devamını hazırlarım (daha ne isteyeceksiniz be?)[signature][hline]en ince yerim bileğim..

[Bu mesaj Mum_Chamber tarafından 29 Nisan 2004 00:03 tarihinde değiştirilmiştir]
Link to comment
Sosyal ağlarda paylaş

.net kasış iş ya ama güzel bişi olur
mum düşünüo musun icq dan konuştuumuzu[signature][hline]Forumlara bir şey yazmadan önce dur iki kere düşün sonra da tıkla
-----------
The words of a banished king
"I swear revenge"
Filled with anger aflamed our hearts
Full of hate full of pride
We screamed for revenge
-----------

Ardenia FRP Sitesi|Sözlükçe
Link to comment
Sosyal ağlarda paylaş

.net süper bi özellik ama kurulum şimdi sizi kasabilir ama windowsun ileriki versionlarında kendiliğinden geleceği için sizi de kastırmadan hedefine ulasacak bill amcanız :)
bu arada connector diye bi kelime var mı ingilizcede veya türkçede?[signature][hline]SouLForGeD, 26 Nisan 2004 12:23 tarihinde demiş ki:
I rule!
Link to comment
Sosyal ağlarda paylaş

hemen araştırıcı gençlik hesabı www.seslisozluk.com dan baktım ki sözlerimiz bağlayıcı olsun diye :) netekim bu kelimenin olduğu ortaya çıktı ve anlamıda gayet basit. "connect" sözünden türemiş bir kelime ve "bağlayıcı" anlamına geliyor ;)
coder; bill amca gelip yüklemeyecek ama inan sen bir süre kendini zorunlu hissedeceksin. bill amca tüm bilgisayar kullanıcılarına bu zorunluluğu yaşatacak sadece :)
[kahrolsun bill amca ve tekel :) ][signature][hline]Uzak diye bir yer yoktur...
Link to comment
Sosyal ağlarda paylaş

bu arada connector = connecter, eklemeden edemedim :)

[bu arada konu ile alakalı olarak şuna katılıyorum, en azından şu zamanda bir sharda bağlanmak için .net framework ihtiyacı olan bir connector'u kullanmak dezavantaj. lakin buradaki temel amaç pratik yapmak herhalde. temel mantığı kavramak...][signature][hline]Uzak diye bir yer yoktur...
Link to comment
Sosyal ağlarda paylaş

Çok saol Chamber..

Yalnız ben ne zaman bole bir connector tutoriali gorsem beceremem bir arada Arlooax boyle bir topicde anlatmı$tı yine beceremedim.. Ya C çalı$acak programı bulamadim yada ne bileyim .net framework'u felan bunlarin tam linkleri felan warmi elinizde.. Gerçekten çok işe yaracak. Bir türlü beceremedim in$. bu sefer olacak yardimlarinizi bekliorum.[signature][hline]Icq =224455507
Mail = Xharloan
Link to comment
Sosyal ağlarda paylaş

  • 8 ay sonra ...
iyi guzel bır acıklama yapmıssınızda SU lınklerınızde artık bı calıssa nerede yararlı bı tutoral bulsam kesınlıkle lınklerı kırık oluyor bu konuda yenı lınk vermenız mumkunmu acaba plss..[signature][hline]parayla saadet olmaz!!!! nah olmaz para olsunda bak neler oluyoo
Link to comment
Sosyal ağlarda paylaş

bu tutorial benimde gözümden kaçmış :) bana sadece source ları lazım :) (çok merak ettim incele istiom :)) elinde olan varsa bi yere koyarsa ne cici olur dimi :)[signature][hline]Her sabah yolunu gözlerim ,
Buğdayların arasındaki yeşil okyanusları görebilmek ,
Kır çiçeklerinin kokusunu duyabilmek ,
Beni sevdiğini hayal edebilmek için...
Grandmaster zgrw
Çankaya Üniversitesi Go-Kart Topluluğu Kurucusu

[Bu imza zgrw tarafından 12 Novamber 2004 23:12 tarihinde değiştirilmiştir]
Link to comment
Sosyal ağlarda paylaş

hmm bumu hepsi iyiymiş :) ben daha fazladır diye düşünüp okuamdım bile orayı :D[signature][hline]Her sabah yolunu gözlerim ,
Buğdayların arasındaki yeşil okyanusları görebilmek ,
Kır çiçeklerinin kokusunu duyabilmek ,
Beni sevdiğini hayal edebilmek için...
Grandmaster zgrw
Çankaya Üniversitesi Go-Kart Topluluğu Kurucusu

[Bu imza zgrw tarafından 12 Novamber 2004 23:12 tarihinde değiştirilmiştir]
Link to comment
Sosyal ağlarda paylaş

çok teşekkür ederis :)[signature][hline]Her sabah yolunu gözlerim ,
Buğdayların arasındaki yeşil okyanusları görebilmek ,
Kır çiçeklerinin kokusunu duyabilmek ,
Beni sevdiğini hayal edebilmek için...
Grandmaster zgrw
Çankaya Üniversitesi Go-Kart Topluluğu Kurucusu

[Bu imza zgrw tarafından 12 Novamber 2004 23:12 tarihinde değiştirilmiştir]
Link to comment
Sosyal ağlarda paylaş

tebrikler mum inş herkese yararlı olur.[signature][hline]Lucas

hele bir ışıklar sönsün hele bir kapansın kapılar sular durulsun bıçak atacağım daha on iki'den kısa devre yapsın kalbim ellerim inatla dökülsün cigaraya dağlar daim büyüsün sular köpürsün sen beni ozaman gör...

hele küssün meydanlar dehşetin oğlu ölsün ağır bir köpek karanlığı ve tüm mayınlar patlasın sen beni ozaman gör..
Link to comment
Sosyal ağlarda paylaş

×
  • Yeni Oluştur...