Jump to content

Autoit İle Yapabilir Miyim Acaba.


Mytolocia

Recommended Posts

Arkadaşlar Ben Wow oyununda farklı serverlara baglanmak icin bi launcher gelistiricem. Olay şu . World Of Warcraft/Data/enGB/Realmlist.wtf

Dosyasındaki :

set Realmlist "buraya logon adresi gelicek"

şeklinde değiştiricem.

Buraya girilecek veride bi input box içinde olacak.

O Veriyi değiştirdikten soranada World Of Warcraft / Wow.exe yi çalıştırıcak.

Bunu yapmak için Autoit in Form Desiqner ı kullandım formu hazırladım. Şimdi butonların işlevlerini nasıl yazıcam ? .kxp şekilde kayıt yapıyor. Autoit ile açında da çok farklı kodlar çıkıyor. Yardımlarınızı bekliyorum.

Bu da Form :

74058847.jpg

Link to comment
Share on other sites

set realmlist en.logon.worldofwarcraft.com ==> bize lazım olan kısım . en.logon .... kısmını değiştircez.

set patchlist en.version.worldofwarcraft.com

Altında 2 tane daha satır var ama onlar yazılmasa da olur onemli olan ilk satır.

Sadece ilk satırı yazsak yeterli olur.

Link to comment
Share on other sites

Şu nedenle izledim direk olarak değiştiremeyiz yani bu kısmı değiştir diye tamamen dosyaya bakmam lazım nasıl yapacağımı bulmam için.

Link to comment
Share on other sites

#include <GUIConstants.au3>

#Region ### START Koda GUI section ### Form=c:\users\barış\desktop\form2.kxf

$Form2 = GUICreate("Wow Diffirent Server Launcher By Mytolocia !", 405, 294, 303, 219)

GUISetBkColor(0x000000)

$Label1 = GUICtrlCreateLabel("World Of Warcraft Diffirent Server Launcher ", 32, 16, 359, 27)

GUICtrlSetFont(-1, 12, 400, 0, "Comic Sans MS")

GUICtrlSetColor(-1, 0xFFFFFF)

$TypeHereTheAdress = GUICtrlCreateInput("TypeHereTheAdress", 96, 96, 233, 21)

$Launch = GUICtrlCreateButton("Launch", 152, 240, 105, 33, 0)

$About = GUICtrlCreateButton("About", 320, 240, 73, 33, 0)

GUISetState(@SW_SHOW)

#EndRegion ### END Koda GUI section ###

While 1

$nMsg = GUIGetMsg()

Switch $nMsg

Case $GUI_EVENT_CLOSE

Exit

Case $Label1

Case $Launch

EndSwitch

WEnd

Kodlar bu şekilde Autoit için nasıl bir yol izliycem .Launch a basınca şunu yapsın şeklinde. Hangi komutları kullancam : ?

@Osk1 bu arada o en ler eu olucak.

Link to comment
Share on other sites

Şimdi önce fonksiyon yazalım dosyaya veri yazmak için;

Function YAZ(Yeri As String, Veri As String)
Open Yeri For Output As #1
Print #1, Veri
Close #1
End Function[/CODE]

Özür dilerim bilmiyordum hepsinin 2 satırdan oluştuğunu :)

Formu hazırlayalım;

Gereken 1 adet textbox = text1 'adres yazılacak

1 adet buton =Command1 'çalıştır butonu

Şimdi öncelikle Command1_Click olayına yazalım hemen..

Yaz (App.Path & "\Data\enGB\Realmlist.wtf","set realmlist " & text1.text & vbcrlf & "set patchlist en.version.worldofwarcraft.com") 'WOW ' un klasöründe olduğunu varsayıyorum.

Shell App.Path & "\Wow.exe" ' exe yi çalıştır.

-Sonuç olarak text1' e mesela Deneme yazdık sonuc olarak şunu yazar;

set realmlist sonuc

set patchlist en.version.worldofwarcraft.com

Link to comment
Share on other sites

Case $Launch

buradan itibaren ne olmasını istiyosan oraya yazacaksın.Olay bundan ibaret aslında birazcık baksan verdiğimiz kaynak kodlarına falan hemececik anlarsın.Mesela bi örnek

....

...

Case $Launch

MsgBox(0, "", "Launch'a basınca yapılacak iş..")

...

..

gibi yapacaksın..

Link to comment
Share on other sites

Oski teşekkürler visiual basic de bir deneyeceğim anladığım kadarıyla biraz karışık geldi . Neyse sağol :) ( Benden kaynaklı )

Talha_252 Msgbox cıkartmak kolay. Ben bi dizndeki dosyanın içindeki bir yazıyı değiştircem. Bu nasıl olucak ?

ve bu değiştirilecek yazıyı da inputbox dan alınacak . oraya ne yazıldıysa

Link to comment
Share on other sites

Projeyi vereyim;

http://rapidshare.com/files/345946733/anlatm.rar[/CODE]

kaynak kodlar ve exe bulunmaktadır.

Link to comment
Share on other sites

#include <File.au3>

Dim $aRecords

Global $File = "text.txt"

If Not _FileReadToArray($File, $aRecords) Then

MsgBox(4096, @ScriptName, "There was an error reading file!")

Exit

EndIf

For $x = 1 To $aRecords[0]

$Replaced = StringReplace($aRecords[$x], "hallo", "hello")

MsgBox(0, @ScriptName, $Replaced)

Next

$New = FileOpen($File, 2)

FileWrite($New, $Replaced)

FileClose($New)

Şöyle bir kod yazdım .daha dogrusu help dosyasıdna yazıyordu değiştirdim biraz. Şimdi bu hello yazsını yani değiştirildiğinde yeni yazılacak yazıyı inputbox daki yazı neyse onu yazmasını nasıl saglayabilirim ?

Link to comment
Share on other sites

Talha abi son bir soru sorucam. Şimdi bu realmlist.wtf dosyasının içeiği sürekli değişicek yani farklı serverlar a girdiğimde farklı adresler olucak. Yukarıdaki sistemde belli bir yazı yerine başka bir yazı koyuyoruz. onun yerine içindeki

set realmlist xxxxxxxxx

set upadatelist aaaaaaaa

bu xxxxx kısmını değiştirebilme şansımız var mı ?

yada tüm içeriği sildirip ınput box da yaznın basına set realmlist getirip ardından da ınput boxdakini yazıdırmak gibi.

Kusura bakma çok fazla soru sordum galiba. Amacım bış sorular değil kendimi geliştirmek için bu çalışmayı devam ettirmek istiyorum.

@Osk1 çalışman süper bir şekilde çalışıyor ellerine sağlık. :)

Link to comment
Share on other sites

Bugunlerde görüyorum ki armut piş ağzıma düş diyenlere armudunu vermeyince iyi olamıyorsun.Normalde asla yapmayacağım birşeyi ilk kez sırf bu yüzden yapıyorum.Buyur armudunun kodları:

#include <GuiConstants.au3>
#include <File.au3>
GuiCreate("Launcher", 392, 71,-1, -1)
GuiCtrlCreateGroup("Seçilecek Serverı Giriniz:", 10, 10, 300, 50)
$tamam = GuiCtrlCreateButton("Yazdır!", 320, 20, 60, 40)
$server = GuiCtrlCreateInput("", 20, 30, 280, 20)
GuiSetState()
$wtf = @ProgramFilesDir & "\WOW\WOW.WTF"
$oyunyolu = @ProgramFilesDir & "\WOW\WOW.EXE"
While 1
    $msg = GuiGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
        ExitLoop
    Case $msg = $tamam
        $varmi = FileExists($wtf)
        if $varmi = 0 Then
            MsgBox(0,"Hata",$wtf & " dosyası bulunamadı")
        Else
            _FileWriteToLine($wtf, 1, "set realmlist " & GUICtrlRead($server), 1)
            $oyun = MsgBox(4,"Tebrikler!",GUICtrlRead($server) & "'ı başarıyla yazıldı.Oyun başlatılsın mı?")
            if $oyun = 6 Then
                RunWait($oyunyolu)
            Else
                Exit
            EndIf
        EndIf
    EndSelect
WEnd
Exit[/CODE]

Link to comment
Share on other sites

Armut piş gibi bir düşüncem yok . Sadece öğrenmeye çalışıyorum. Bu da mı suç sadece yol göstermelerini istiyorum . siz yaparsanız benim ne özelliğim kalacak. Bunun bende farkındayım ve yol göstermelerini istiyorum. Öyle bir gayem yok ( armut gibi ) . Sadece Nasıl Pişirileceğini soruyorum !

Kodlar için teşekkürler bunun armut olmadıgını ben armutu tamamlayacagımı görüceksin.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...