Jump to content

Oyun için Proje


boroz
 Share

Recommended Posts

@ KintaRo ustam bilgilerinizi bizler ile paylaşmanızı büyük bir keyif ile takip etmekteyim, harika bilgiler sunuyorsunuz, sabrınızında hayranıyım; MAŞAALLAH Diyorum.
Hoş görünüze sıgınarak biraz uzun soracağım.

1-ben bir oyunu kolaylıkla kurmak için ams ile hazırlayacagım.
oyun 8 gb bunu 2 adet dvdiye yazdıracağım ams bu işlemi otamatik yaparmı yapmaz ise nasıl yaptırmalıyım.

2-arayüzde 1 buton olacak bu butona tıklandığında zip ile dosyalar istedigim yere cıkarılacak,
oyun için gerekli ek yazılımlar yüklenecek DirectX VE Microsoft Visual C++ 2008 kurulacak,
ve ara yüzdeki progress çalışacak tüm işlemler için aynı progres çalışsın istiyorum.

ben bir örnek yapıp hazırladım dosya copy ve zip ile progressi ayrı projelerde calıştırdım
ancak şimdi ben progress i zip ve run komutlarında aynı progresi kullanmak istiyorum
aşagıda benim örneği veriyorum.

[code]real_password = "lidervideo";
user_password = Dialog.PasswordInput("BoroZ UstA Diyorki", "Parola (Şifre) Giriniz:", MB_ICONQUESTION);
if real_password ~= user_password then
result = Dialog.Message("BoroZ UstA Diyorki ", "YaNLıŞ Şifre Girdin Arkadaşım.\r\nTekraR DeNe", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
Application.ExitScript();
end
function CopyCallback (Source,Destination,Copied,Total)
Progress.SetCurrentPos("Progress1", (Copied / Total) * 100);
Label.SetText("Label1", Source)
Label.SetText("Label2", Destination)
yuzde = Math.Floor((Copied / Total) * 100);
Progress.SetText("Progress1", "%"..yuzde.."");
end
File.Copy("AutoPlay\\Docs\\Battlefield_Vietnam\\*.*", "C:\\Lider_GameS\\Battlefield Vietnam", true, true, false, true, CopyCallback);
error = Application.GetLastError();
if error ~= 0 then
Dialog.Message("Hata!", "BoroZ Usta DiyorKi\r\nKuruluM sırasında bir hata oluştu!", MB_OK, MB_ICONEXCLAMATION, MB_DEFBUTTON1);
end
result = Dialog.Message("BoroZ UstA Diyorki", "KuRuLuM TamaMLandI.", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
Application.Exit(0);[/code]

[code]function zip (sPath, nPercent, nStatus)
if nStatus == ZIP_STATUS_MAJOR then
Progress.SetCurrentPos("Progress1", nPercent);
Progress.SetText("Progress1", "%"..nPercent)
end
end
Zip.Extract("AutoPlay\\Docs\\Redist.zip", {"*.*"}, "C:\\Test", true, true, "", ZIP_OVERWRITE_NEVER, zip);[/code] Edited by boroz
Link to comment
Share on other sites

[quote name='boroz' date='26 Şubat 2011 - 20:58 ' timestamp='1298747310' post='970512']
@ KintaRo ustam bilgilerinizi bizler ile paylaşmanızı büyük bir keyif ile takip etmekteyim, harika bilgiler sunuyorsunuz, sabrınızında hayranıyım; MAŞAALLAH Diyorum.
Hoş görünüze sıgınarak biraz uzun soracağım.

1-ben bir oyunu kolaylıkla kurmak için ams ile hazırlayacagım.
oyun 8 gb bunu 2 adet dvdiye yazdıracağım ams bu işlemi otamatik yaparmı yapmaz ise nasıl yaptırmalıyım.

2-arayüzde 1 buton olacak bu butona tıklandığında zip ile dosyalar istedigim yere cıkarılacak,
oyun için gerekli ek yazılımlar yüklenecek DirectX VE Microsoft Visual C++ 2008 kurulacak,
ve ara yüzdeki progress çalışacak tüm işlemler için aynı progres çalışsın istiyorum.

ben bir örnek yapıp hazırladım dosya copy ve zip ile progressi ayrı projelerde calıştırdım
ancak şimdi ben progress i zip ve run komutlarında aynı progresi kullanmak istiyorum
aşagıda benim örneği veriyorum.
[/quote]

[color="#000000"]yorumlarınız için teşekkürler.

1- bence bunun için AMS ye gerek yok, Winrar ile dosya üzerine sağ tıklayın ve [b]Arşive Ekle[/b]'ye basın. Açılan pencerede aşağıdaki resimdeki gibi

[img]http://i.imgur.com/MJzNb.png[/img]

[b]Ciltlere böl [/b]kısmına [b]4.5 GB[/b] yazın ki her parça 1 DVD'ye sığsın, daha sonra [b]SFX Arşivi oluştur[/b]'u seçin ve [b]Gelişmiş[/b] sekmesinden[b] SFX Seçeneklerini[/b] açın. Çıkarttıktan sonra çalıştır kısmına oyunun kurulum dosyasının yolunu yazın. yani [b]gta [/b]klasorune sağ tıklayıp bu işlemi yaptiysaniz su sekilde yazmalisiniz:

[b]GTA\setup.exe[/b]


Yok kurulum tek exe den olusuyorsa direk dosya adını yazın [b]setup.exe[/b] gibi.

Çıkartılacak yola [b]%temp%[/b] yazınki tempe çıkartsın,

[img]http://i.imgur.com/uhSql.png[/img]

Modlar sekmesindende işaretli kısımlar seçili hale getirin.

[img]http://i.imgur.com/KrGj6.png[/img]

Daha sonra pencerelere tamam diyip onaylayın. işlem bittikten sonra elinizde bir kaç dosya olacak

[quote]gta.part1.exe
gta.part2.rar
gta.part3.rar[/quote]

bu dosyalarin her birini bir dvd ye çekeceksiniz. 1. DVD'ye part1.exe olanı koyun ve yanına bir autorun.inf adlı bir dosya oluşturup içine sunlari yazin:

[quote][autorun]
open=gta.part1.exe[/quote]

DVD'leri çekip 1. dvdyi test için taktığınızda kurulum açılıp başlayacaktır. Sadece 2. ve 3. partı istediğinde uyarı penceresi çıkar ve sizde dvd yi değiştirip tamam'a basarsiniz. önce daha küçük boyutlu dosyalarda deneyinki yanlış yaparsanız dvd ler ve zamnınız heba olmasın.[/color]


2. Soru içinse Kodların en basina:

[quote]Progress.SetRange("Progress1", 0, 2)
Progress.SetCurrentPos("Progress1", 0)[/quote]

sonra kurulum dosyasını

[b]File.Run() [/b]

ile çalıştıracaksın bu kodun hemen altına

[quote]nPos = Progress.GetCurrentPos("Progress1")
Progress.SetCurrentPos("Progress1", nPos+1)[/quote]

yazarsan program kurmak için callback fonksiyonu kullanmana gerek kalmaz.

Copy ve Zip içinde fonksiyonların varmış zaten, incelemedim ama çalışmazsa onlar içinde yardımcı oluruz.

Link to comment
Share on other sites

@KintaRo Usta cevapınız için çok teşekkur ederim.
winrar ile oyunu paketlemeyi biliyorum anlatımınız için yinede teşekkür ederim lakin ben
aynı işlemi ams ile yaptırmak istiyorum.

oyunu hdd de bir kılasör oluştutturarak oyunun dosyalarını bu klasöre copyalamak veye zip den cıkarttırmak ve oyun için gerekli yazılımları yuklettirmek directx ve c++ gibi ve son olarak masa ustüne kısayol atamak istiyorum.

tüm bu islemleri winrar ile icine bir cmd comut satırı yaparak yaptırıyorum.şimdi sizden istedigim bunun ams ile bir yolu var ise tüm bunları ams ile yaptırmak.

yani: zipten cıkartmak
directx kurdurmak
c++ kurdurmak
masa üstüne kısayol atamak

Link to comment
Share on other sites

[quote name='boroz' date='27 Şubat 2011 - 22:43 ' timestamp='1298840034' post='971290']
@KintaRo Usta cevapınız için çok teşekkur ederim.
winrar ile oyunu paketlemeyi biliyorum anlatımınız için yinede teşekkür ederim lakin ben
aynı işlemi ams ile yaptırmak istiyorum.

oyunu hdd de bir kılasör oluştutturarak oyunun dosyalarını bu klasöre copyalamak veye zip den cıkarttırmak ve oyun için gerekli yazılımları yuklettirmek directx ve c++ gibi ve son olarak masa ustüne kısayol atamak istiyorum.

tüm bu islemleri winrar ile icine bir cmd comut satırı yaparak yaptırıyorum.şimdi sizden istedigim bunun ams ile bir yolu var ise tüm bunları ams ile yaptırmak.

yani: zipten cıkartmak
directx kurdurmak
c++ kurdurmak
masa üstüne kısayol atamak
[/quote]

Aklımda bir yol var ama denemek gerekir;

1- anlaıtını yaptığım şekilde winrarı paketle.

2- AMS de projeyi oluştur, projedeki kur buttonu su sekilde olcak:

[quote]File.Run("Autoplay\\Docs\\oyun.part1.exe", "", "Autoplay\\Docs", SW_SHOWNORMAL, true)
File.Run("Autoplay\\Docs\\directx.exe", "", "Autoplay\\Docs", SW_SHOWNORMAL, true)
File.Run("Autoplay\\Docs\\Credist.exe", "", "Autoplay\\Docs", SW_SHOWNORMAL, true)[/quote]

daha sonra oyun.part1.exe, directx.exe, Credist.exe dosyalarını docs klasorune at, projeyi web/mail executable seklinde build et.

3- oyun.part2.exe dosyasını 2. dvd ye, varsa diğer dosyalarda ayrı dvd lere çek.

Şimdi olay su sekilde geliscek;

1- kur buttonuna tiklayinca part1.exe yi calistircak, part1.exe kurulmaya basliyacak, (SW_SHOWNORMAL, true) dediğimiz için diger dosyalari kurmak için bu işlemin bitmesini bekleyecek) 2. ve varsa diger dvdleri isteyecek. (proje tempe ciktigi için 1. dvd yi çıkartmak sorun olmayacaktır)

2- 2. ve varsa 3. dvdleride takip oyunun çıkma işlemi bittikten sonra directx ve Credist kurulacak ve olay bitecek. directx ve C++ Redistributable 'in katilimsiz versiyonlarını koyarsan problem çıkmaz.

3- sanırım oldu bu iş :D

Link to comment
Share on other sites

@ KintaRo hocam cevabınız için tekrar tekrar teşekkürler. aklıma takılan birkaç yer var izninizle.

projeyi web/mail executable build nasıl yapacagım. 4 secenek var cd/dvd ye yaz, klasör yarat, exe yap, iso yap
yanılmıyorsam klasör yarat web/mail executable olmalı.

verdiginiz komutlar ile işlem tamam ancak progress ilişkilendirmesini yapamıyorum bu komutlar için progres nasıl olmalı,
benim istedigim progres tek seferde 100% olabilir her işlem için ayrı olmasına gerek duymuyorum

not: daha önceki verdiginiz komut ile progresi çalıştıramadım,
yarıya kadar gelip kalıyor yarıyakadar gelirkende sayarak degil bir hareketle hop %50 :)

[quote name='KintaRo' date='28 Şubat 2011 - 08:04 ' timestamp='1298880892' post='971449']

2. Soru içinse Kodların en basina:

Progress.SetRange("Progress1", 0, 2)
Progress.SetCurrentPos("Progress1", 0)

sonra kurulum dosyasını

File.Run()

ile çalıştıracaksın bu kodun hemen altına
nPos = Progress.GetCurrentPos("Progress1")
Progress.SetCurrentPos("Progress1", nPos+1)
[/quote]

Edited by boroz
Link to comment
Share on other sites

Sanırım türkçe ams kullanıyorsun. Gözünüzü sevim kaç oldu kullanmayın şu türkçe versiyonu, hem problem çıkartıyor hemde böyle terimlerde karışıklık çıkıyor. Yav İngilizce kullansanız ordaki terimler bütün programlarda işinize yarayacaktır. File, Edit, Project, Publish, View, Help gibi terimleri bütün programlarda var, yapmayın etmeyin.

İngilizceyi kurup Web/Mail Executable seçeneğini seçip projeyi build etmeni umut ediyorum, türkçe karşılığını söylemicem :)


Progressi şu şekilde yapacaksın:

[codebox]Progress.SetRange("Progress1", 0, 3) -- burdaki 3 sayısı program sayısı ile doğru orantılı. Progress kaç kere ilerleyecekse yani bi anlamda kaç program varsa bu sayı o kadar olmalı
Progress.SetCurrentPos("Progress1", 0)

nPos = Progress.GetCurrentPos("Progress1")
Progress.SetCurrentPos("Progress1", nPos+1)
File.Run("Autoplay\\Docs\\oyun.part1.exe", "", "Autoplay\\Docs", SW_SHOWNORMAL, true)
nPos = Progress.GetCurrentPos("Progress1")
Progress.SetCurrentPos("Progress1", nPos+1)
File.Run("Autoplay\\Docs\\directx.exe", "", "Autoplay\\Docs", SW_SHOWNORMAL, true)
nPos = Progress.GetCurrentPos("Progress1")
Progress.SetCurrentPos("Progress1", nPos+1)
File.Run("Autoplay\\Docs\\Credist.exe", "", "Autoplay\\Docs", SW_SHOWNORMAL, true)[/codebox]

sanırım bu şekilde olacaktır.

Link to comment
Share on other sites

@ KintaRo ustam tekrar tekrar teşekkurler şimdi kaldırıp ingilizce kurayorum hemen.
siz insanların işlerine yardımcı oluyorsunuzya CC ALLAH'ta sizin işlerinize yardımcı olsun.
akşam komutları deneyecegim yarın sonucu paylaşırım.
hocam birde kısayol atamak vardı masa üstüne ama neyse ben onu winrara yaptırrım artık.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...