Talha İşbitirici
Valve hammer detayli
; font-family: tahoma, verdana, arial; font-size: 11px; background-color: rgb(46, 56, 57);">Harita Tasarım İçin gerekli Programlar
; text-decoration: none;">= Harita Tasarım Aracı (indrimek için resime tıkla)
; text-decoration: none;">= Compile Araçları (indrimek için resime tıkla)
; text-decoration: none;">= Haritalar için wad Dosyası olusturur(indrimek için resime tıkla)
; text-decoration: none;">= Bsp formatındaki haritaları map formatına çevirme(indrimek için resime tıkla)
Şimdilik bu kadar program yeter bunlar temel İşlevler için ileride baska programlarda eklicem.Başlıyoruz;
Önce indirdiğimiz zip dosyalarını extrac edelim,ondan sonra valve hammer editörü yükliyelim.Yükledikten sonra,programın ayarlarını yapmaya baslıyabiliriz.
Valve Hammer Editör
Programı yükledikten sonra Çalıştırın bir pencere acılcak ve ayarlarla ilgili yardım isteyip istemediğinizi sorucak, hayır seçeneğine tıklayın ve karşımızda ayarlar tablosu, ekranda ki ayarları beraber yapalım şimdi.
Resimli anlatım
Game Configuration
Build Programs
General
2d views
Textures
Yazılı anlatım
Programı calıstırın Tools penceresinden Options u secin cıkan pencerede Game configurations seceneğine tıklayın,ayarları aşağıdaki gibi yapın;
Configurations:Edit butonuna basın daha sonra add butonuna en son acılan yere istediğiniz bir adı girin Ben Counter-Strike olarak atadım ismini.Daha sonra ok ve close tuslarına basarak pencereleri kapatın.
Game DataFiles:Add butonuna basın, Hammer ı yüklediğiniz yerde fdg isimli klasörün içinde counter-strike isimli fdg dosyası olucak onu seçin.
Texture Format:Burda ayar yapmıyacağız.
Map Type:Burda ayar yapmıyacağız.
Default PointEntity class:info_player_start ı seciyoruz.
Default SolidEntity Class:Func_wall ı seciyoruz.
Game Executable Directory:Counter-Strike nın klasorunun yerini belirtiyoruz.
Örnek:C:/Program Files/Counter-Strike/cstrike
Mod Directory:Tfc yada baska yüklü olan hl modlarının yuklu oldugu
klasörünün yerini belirtiyoruz(dikka sadece bir mod secilebilir).
Örnek:Bende cs1.6 yüklü olduğundan mod yüklü deil bende böyle gösterdim.
C:/Program Files/Counter-Strike/platform
Game Directory:Valve klasörünün olduğu yeri belirtiyoruz.
Örnek:C:/Program Files/Counter-Strike/valve
RMF Directory:Haritanızı yaparken kaydetmek istediğiniz zaman nereye
kaydettiğinizi bilmeniz gerekir,belgelerim klasörüne Haritalarım isimli bi klasör
açın ve rmf directory e klasörünüzü tanıtın.
Örnek:C:/Haritalarım(ben c de klasör actım).
Sıra geldi Build Programs Ayarlarına,panelden Build Programsı seçin ve
ayarları yapın;
Build Programs
Resimli anlatım
Game Configuration
Build Programs
General
2d views
Textures
Yazılı anlatım
Programı calıstırın Tools penceresinden Options u secin cıkan pencerede Game configurations seceneğine tıklayın,ayarları aşağıdaki gibi yapın;
Game configurations
Configurations:Edit butonuna basın daha sonra add butonuna en son acılan yere istediğiniz bir adı girin Ben Counter-Strike olarak atadım ismini.Daha sonra ok ve close tuslarına basarak pencereleri kapatın.
Game DataFiles:Add butonuna basın, Hammer ı yüklediğiniz yerde fdg isimli klasörün içinde counter-strike isimli fdg dosyası olucak onu seçin.
Texture Format:Burda ayar yapmıyacağız.
Map Type:Burda ayar yapmıyacağız.
Default PointEntity class:info_player_start ı seciyoruz.
Default SolidEntity Class:Func_wall ı seciyoruz.
Game Executable Directory:Counter-Strike nın klasorunun yerini belirtiyoruz.
Örnek:C:/Program Files/Counter-Strike/cstrike
Mod Directory:Tfc yada baska yüklü olan hl modlarının yuklu oldugu
klasörünün yerini belirtiyoruz(dikka sadece bir mod secilebilir).
Örnek:Bende cs1.6 yüklü olduğundan mod yüklü deil bende böyle gösterdim.
C:/Program Files/Counter-Strike/platform
Game Directory:Valve klasörünün olduğu yeri belirtiyoruz.
Örnek:C:/Program Files/Counter-Strike/valve
RMF Directory:Haritanızı yaparken kaydetmek istediğiniz zaman nereye
kaydettiğinizi bilmeniz gerekir,belgelerim klasörüne Haritalarım isimli bi klasör
açın ve rmf directory e klasörünüzü tanıtın.
Örnek:C:/Haritalarım(ben c de klasör actım).
Sıra geldi Build Programs Ayarlarına,panelden Build Programsı seçin ve
ayarları yapın;
Build Programs
Configurations:Counter-Strike yi seçin.
Not:Game Configurationda ki configurationsa handi adı girdiyseniz build
programda ki configurationsa daki isim otamatik çıkar iki adın da aynı
olmasına dikkat edin.
Game Executable:Hl.exe nin yerini tanıtın.
Örnek:C:Program FilesCounter-Strikehl.exe
CSG Executable:Masaüstüne extract ettiğimiz zhlt klasöründeki csg.exe yi
tanıtın.
Örnek:C:Documents and SettingsSaS_sistemciDesktopzonershlcsg.exe
BSP Executable:Masaüstüne extract ettiğimiz zhlt klasöründeki bsp.exe yi
tanıtın.
Örnek:C:Documents and SettingsSaS_sistemciDesktopzonershlbsp.exe
VIS Executable:Masaüstüne extract ettiğimiz zhlt klasöründeki vis.exe yi
tanıtın.
Örnek:C:Documents and SettingsSaS_sistemciDesktopzonershlvis.exe
Not:Game Configurationda ki configurationsa handi adı girdiyseniz build
programda ki configurationsa daki isim otamatik çıkar iki adın da aynı
olmasına dikkat edin.
Game Executable:Hl.exe nin yerini tanıtın.
Örnek:C:Program FilesCounter-Strikehl.exe
CSG Executable:Masaüstüne extract ettiğimiz zhlt klasöründeki csg.exe yi
tanıtın.
Örnek:C:Documents and SettingsSaS_sistemciDesktopzonershlcsg.exe
BSP Executable:Masaüstüne extract ettiğimiz zhlt klasöründeki bsp.exe yi
tanıtın.
Örnek:C:Documents and SettingsSaS_sistemciDesktopzonershlbsp.exe
VIS Executable:Masaüstüne extract ettiğimiz zhlt klasöründeki vis.exe yi
tanıtın.
Örnek:C:Documents and SettingsSaS_sistemciDesktopzonershlvis.exe
tanıtın.
Place compile maps in this directory before running the game:
Haritanızı yaptınız compile ettiniz,compile işlemi bittikten sonra maplarımızı
kaydeticeğimiz klasörü belirtmemiz lazım.
Örnek:C:Program FilesCounter-Strikecstrikemaps
Not:Genelde olan bir hata var bazı yeni başlayan tasarımcılar maplarını
başka klasörlere kaydettikleri için compile bittiğinde oyun calıştıgında harita
bulunamadı gibi bir hata alıyorlar bunun nedeni,cs nin haritayı
bulamamasıdır,bunun olmaması için Place compile maps in this directory
before running the game:
Örnek:C:ProgramFilesCounter-Strikecstrikemaps ayarı bu şekilde yapın.O
zaman maplar direk cs maps klasörüne kaydedileceği için haritanız
açılacaktır.
Şimdi sıra 2d views ayarlarında,2d views penceresini seçin ve ayarları yapın.
2d views
Options:Burda Reorientprimitives on creaation in the active 2D view
seceneği hariç hepsini seçin dikkat Grid ayarlarına ellemeyin.
Grid:Burda ayar yapmıyacağız.
3d views
Burda ayar yapmıyacağız.
Burda ayar yapmıyacağız.
General
Undo Levels:Bu ayar haritanızı yaparken bir hata yaptınız ve geri almak
istiyorsunuz.O zaman buraya bir değer girin ve ne kadar geri almak istiyosanız
o kadar geri alın.
Not:Dikkat undo level değerinde bilgisayarının ram ı düşük olanlar için 50
ideal bir değer bu tur sistemi düşük olanlar fazla değer girmesinler yoksa pc
de kasmalar başlar.
istiyorsunuz.O zaman buraya bir değer girin ve ne kadar geri almak istiyosanız
o kadar geri alın.
Not:Dikkat undo level değerinde bilgisayarının ram ı düşük olanlar için 50
ideal bir değer bu tur sistemi düşük olanlar fazla değer girmesinler yoksa pc
de kasmalar başlar.
Textures
Texture Files:Haritanızı tasarlarken kullanacağınız kaplamaların olduğu wad
dosyalarının yerini belirtir.
dosyalarının yerini belirtir.
Diğer konularda Hammerda ki araçların ne işe yaradığını
acıklayacağım.
Valve Hammer Araçlar
Hammerda Çizim için Kulanacağımız araçları tanıyalım
Selection Tool:Bu araç çizdiğimiz nesneleri seçmemize yarar
; text-decoration: none;">
Örnek:
Magnify:Üzerinde çalıştığımız alanı zoom yapmaya yarar.
Camera:Camera ile 3d Görüntüde çalışırken gezmemizi sağlar.
Entity Tool:Entity tool ile haritamıza counter ve teröristleri yerlere silahları koyarız veya arac yolu yapabiliriz mesela hl de bi mapta küçük sarı bi tren vardı üzerinde gittiğimiz multiplayer olrak oynarken, onun için yollar yapabiliriz(path corner koyarak tam adı bu muydu ne herhalde bu olması lazım)
Block Tool:Bu araç ile araba,ev,kapı,duvar vb. şeyler çizebiliriz. Block tool ile 5 farklı çizim neceneği vardır.Bunlar;block,wedge,cylinder,spike ve arc tipi çizimlerdir ve objects kısmından secilirler.
Örnek
:
Block:Duvar kapı pencere merdiven çizmek için kullanılır.
Arc:Dönen merdiven Yapımında Kullanılır.
Wedge:Üçgen şekiller yapılır.
Spike:Tam acıklıyamıcam ama silindir ve üçgen karışımı bişi ortaya cıkıyo,deneyin anlarsınız.
Cylender:silindir nesneler yapma için kullanılır,mesela benzin varili,havuz,tekerlek vb.
Toggle texture appcilation:haritamıza çizmiğimiz nesneleri kaplamaya yarar mesela bir duvara pencere texturesi kaplıcaz diyelim.
seçiyoruz ve sağ yanda cıkan face properties penceresinden browse ye basarak istediğimiz resmi nesnemize uyguluyoruz.
Örnek: resmin sol tarafındaki beyaz yer kaplanmamış hali (sol üste cizgiden bakın).
Apply current texture:Toggle texture appcilation le aynı işlevi görüyor tek fark toggle texture nesnenin sadece bir yüzeyini kaplıyor,apply current ise nesnenin tamamını kaplıyor.
Örnek:
Apply Decals:Duvar üstüne yazı yada logo koymak için Kullanılır(İlerki zamanlarda yapılışını anlatacağım).
Clipping Tool:Nesneleri kesmeye yarar.
Örnek:
Vertex Tool:Nesneleri yamultmaya yarar mesela bu yöntemle dağ yapabiliriz cs_siege deki dağlar gibi
Path Tool:Tam olarak ne işe yaradığını hatırlamıyorum sun bi araz yazarım işlevini.
Evet hammer da kullanıcağımız araçlarıda öğrendik sıradaki konumuz entity ler.
Nesnelere Özellik Verme
Nesnelere bazı özellikler verebiliriz,nedir mesela bunlar?
func_bomb_target:Oyunda bomba kuracağımız alanı belirler,nereye kadar bomba kurulmasını istiyorsak o kadar büyüklükte boyutunu ayarlayıp bir brush(nesne)çizeriz tabiki bu nesne aaatrigger texturesi ile kaplı olmalıdır.Daha sonra çizdiğimiz brush a func_bomb_target özelliği ekleriz.
Not:Bomba kurduğunuz bölegedeki kutu veya benzer şeylerin kırılmasını istiyorsanız Func_bomb_target atadığınız brushun name kısmına targeta yazın daha sonra kırılacak nesneninde(func_breakable olarak atadığımız nesne) name kısmına target a yazın böylece bomba patlayınca kutularda kırılmış olur.Bir örnekle göstereyim isterseniz.
func_breakable:Nesneye kırılganlık özelliği verir.Mesela kutuya ates edersek bu özellik sayesinde kırılır yada bomba alanına koyduğumuz kutular bomba patlayınca kutularda kırılır.
Strength : Nesnenin nesnenin ne kadar sağlam olduğunu ayarlarız 1 cok zayıf 255 cok sağlam.
Material Type:Kırılan parçaların dağılırken ne olmasını istiyorsak onu seçeriz mesela tahta,metal,cam,
Gibs Direction:Kırıldıktan sonra ki parçaların nereye dağılmalarını istiyorsak onu ayarlarız.
Delay Before Fire:Ateş edildikten ne kadar süre yazdıysanız o zaman kırılır mesela 15sn bekler ve kırılır.
Gib Model:Kırıldıktan sonra dağılan parçalar için model ekleyebilirsiniz mesela kırılınca altın dağılabilir.
Spawn On Break:Kırılınca içinden alet edevat cıkar mesela healt mermi vs (Sadece hl için yapılan maplarda olur).
İşaretler:
Only Trigger:Sadece func_bomb_target gibi başka bir entity tetiklediğinde kırılması için.
Touch:Değince kırılması için.
Pressaure:Üstüne cıkınca kırılması için.
Instant crowbar:levye ile kırılır. (Half-Life için)
func_button:Asansörlerin yada normal kapıları acmak için func_button özelliği atarız böylece kapıları duğmeye basarak açabiliriz.
Speed:Düğmenin hareket hızı. 1ile 255 arası.
Trgetted Object:Tetiklemek istediğimiz başka entity varsa onun adı.
Master:Bu düğme başka bir entity tarafından çalışır hale getirilebilir.
Sounds:Düğmeye basınca ortaya cıkan ses.
Delay before reset:Her basmada tekrar çalışır hale gelmesi -1 sn ye yazarsanız bir defa çalışacaktır.
Delay before trigger:Girdiğiğiniz değer kadar bekler ve sonra çalıştıracağı hangi entity varsa onu tetikler.
Locked Sound:Eğer master'i varsa, tetiklenmeden önce çıkaracağı kilitli sesi.
Unlocked Sound:Eğer master'i varsa, master aktif hale gelince çıkaracağı ses.
İşaretler:
Don't Move:Hareket etmemesi için.
Toggle:Düğmenin ışığı her basmada yanıp söner.
Sparks:Kıvılcım çıkarır.
Touch Activates:Düğme dokunduğunuz an çalışır.
func_buyzone:Oyuncular silah alacağı mesafeyi belirlememizi sağlar nereye koyarsak oradan alırlar yanlız sadece baselere cizin haksızlık olmasın.Team kısmından hangi takım için olmasını istediğinizi seçebilirsiniz.
func_conveyor:Bu özellik verilen nesnenin üzerine çıkan kimse nesneyle birlikte hareket eder.mesela alışveriş mağazalarında ki yürüyen merdivenin arabalar için olanını düşünün.
Speed:Kayma hızı 1 ile 255 arası.
İşaretler:
No Push:Bant kayar ama oyuncuyu yada bir nesneyi üzerinde taşıyamaz.
No Solid:Görünmez olur.
func_door:Kayarak açılan kapı yapımında kullanılır.Yukarı-aşağı gitmesini istiyorsak menuden up-down seçeneğini işaretleyin.
Parametreler:
Speed:Açılma hızı.
Master:Dönmesini sağlayan nesne mesela tekrar verelim(zaten hep aynı örnek ) düğme gibi.
Move Sound:Açılma sesi.
Stop Sound:Kapanma sesi.
Delay before close:Açık kalma süresi.
Lip:Mesela kapıdan gecicez diyelim açmaya çalıştığımızda buraya ne değer verirsek o kadar süre bekler ve öyle açılır
Damage infilicted when blocked:Kapının arasına sıkışıp kalan nesneye
(func_breakable özelliği olan nesne)vereceği hasar.
Health:Kapıya sıkışan oyuncuya vereceği hasar.
İşaretler:
Starts Open:oyun başlayınca kapıda açık olarak başlar.
Toggle:Değdiğiniz zaman yada baska bir entity tarafından tetiklenince açılır tekrar dokunursanız kapanır.
Use Only:Sadece "use" tuşu ile çalışır.
func_door_rotating: Normal kapı yapımında kullanılır donmesi için,döneceği yere göre menteşe çizilir bu çizilen nesne ''origin'' adlı texture ile kaplanır.
Parametreler:
Distance:Dönme açısı.Hiç bir şey yazmazsananız 90 derece dönecektir.
İşaretler:
Reverse Dir:Kapı oyuncuya doğru açılır.
One Way:Kapı tek tarafa açılır.
func_escapezone:Escape haritalarında teroristlerin kaçış bölgesini belirtmek için kullanılır.
func_hostage_rescue:Rehine kurtarma bölgesini belirtmek için kullanılır.
func_illiusionary:Bir nesneye bu özelliği verdiğiniz zaman oyuncu onun içinde geçebilir mesela çalı çırpı yaparken kullanabilirsiniz.
func_ladder:Bu özelliği verdiğiniz nesneden oyuncu yukarı doğru tırmana bilir mesela merdiveni olabilir.
func_pendulum:Sallanma özelliği yaratır mesela tabela yada ağaç veya baska bir şeyi sallandırabiliriz.
func_pushable:Çizdiğini nesneleri itmenizi sağlar(hl single player oynarken kutuları itebiliyoduk hatırladınızmı?).
func_rot_button: Vana veya benzeri dönerek çalışan nesneler için kullanılır.Herzaman ki gibi yine origin olmalı.
Parametreler:
Pitch Yaw Roll (x y z):Dönme açısını ayarlamak için.
Targetted Object: Tetiklemek istediğimiz entity.
func_rotating:Bu özelliği atadığımız nesne sürekli döner mesela pervane.
func_vip_safetyzone:Vip haritalarında vip kaçış bölgesini belirtir mesela as_oilrig haritası gibi.
func_wall:Tel,ağaç,merdiven gibi arkası görünen yada cam gibi nesnelerin içini gösterebilen özelliklere sahip textureleri func_wall ile yaparız.
Tel,ağaç,merdiven gibi nesnelerin mavi olan yerlerin oyunda gözükmemesi için func_wall atadığımız nesnenin özelliklerinden şu ayarları yaparız.
Render Mode:Solid
FX Amount:255 yapılır.
Cam gibi nesneler için ise
Render Mode:Texture
Fx Amount:1-255arası sayı girerek seffalıgını ayarlarız.Eğer camın kırılmasını istiyorsanın Func_breakable olrak atadığımız camın özelliklerinden yine üsteki aynı özellikleri yazmalıyız.
trigger_once: Eğer bi oyuncu bu entity edokunursa baska bir entity tetiklenir mesela ben haritamda oyuncular için msj yazıyorum msl oyuncu dokunuyo trigger_once ye ve karsısında yazı cıkıyor Bilmemm ne haritasına hoş geldiniz iyi oyunlar falan.
Tüm bu özellikleri nesnelere nasıl veririz,Özellik vereceğimiz nesneye mousenin sağ tuşu ile tıklarız cıkan pencerede tie to entity seçeriz ve karsımıza bir panel cıktı ordaki class kısmından istediğimiz özelliği atarız ve attiributes kısmındanda atadığımız özelliklerin ayarlarını yaparız .
Noktasal Özellikler
ambient_generic:Haritanıza ses eklemenizi sağlar(dosya waw formatında olmalı)
Parametreler:
Path/filename...:Haritanızda kullandığınız sesin klasörünü belirtin(cstrikesound klasöründe olucak koyacağınız sesler)
Volume:Ses ayarı (1-10) arasında değer verebilisiniz.
Diğer parametreler çeşitli efektler eklemek içindir.
İşaretler:
Play Evrywhere:Ses tüm haritada duyulur.
Small Radius:Ses küçük bir alanda duyulur.
Medium Radius:Ses normal bir alanda duyulur.
Large Radius:Ses geniş bir alanda duyulur.
Start slient:Başlangıçta sessiz.
is NOT looped:Ses bir defa çalınır.
armoury_entity: Haritanızda yere silah veya kalkan koymak için kullanılır(O-2 ile alıyoruzya)
Örnek:aim_ak_colt ta yerdeki silahlar gibi
Parametreler:
Item:Yere konulacak silahların adı
Count:Ne kadar koymak istiyorsanız o değeri girin
env_beam:Lazer sprites eklemenizi sağlar
Parametreler:
Start Entity:Başlangıç yerini belirten info_target in "name" parametresi.
Ending Entity:Bitiş yerini belirten info_target in "name" parametresi.
Brightness:Parlaklık
Sprite Name:Efekt için kullanılacak sprite dosyasının adı.
Texture Scroll Rate:Eklediğinizi sprite nin haraket hızıdır.
env_beverage:İçinden enerji veren nesneler cıkar(half-life multiplayer haritalarında olurdu kola makinelerine basınca düşen kola enerjimizi arttırırdı)
env_blood:Kan efekti çıkartır.
env_explotion:Patlama efekti verir
Parametreleri:
Magnitude:Patlama şiddeti.
İşaretleri:
No damage:Hasar vermemesi için.
Repeatable:Tekrar patlaması için olması için
No fireball:Alev çıkmaz.
No smoke:Duman çıkmaz.
No decal:Patlama yerinde siyah is oluşmaz.
No sparks:Kıvılcım oluşmaz.
env_glow:Işık entityleri ile kullanıldıklarında flu bir parlaklık oluşur.
env_shake: Sallantı efekti ekler.
Parametreler:
Amplitude:Sallantı şiddeti.
Efect Radius:Etki alanı
Duration:Etki süresi ne kadar değer girerseniz o kadar sb ye etki eder
env_spark: Kıvılcım efekti ekler. Arızalı cihaz yapmak için kullanabilirsiniz.Mesela bozuk asansör düğmesi veya lamba düğmesi olark kullanabilirsiniz.
env_sprite:İsteğiniz bir sprite eklersiniz.Mesela kendi Sprites inizide yapabilirsiniz.
hostage_entity: Haritanıza rehine koymanızı sağlar(cs haritaları için sadece mesela cs_militia,cs_siege veya cs_assault için)
info_map_parameters:Bununla haritanızda silah satın alma yerini ve bombanın etki alanını ayarlayabilirsiniz.
info_player_deathmatch:Haritaya terörist eklemek için kullanılır.
info_player_start:Haritaya Anti-Terörist eklemek için kullanılır
Not:Haritayı test ederken bir tane bu entyt den koymanız şart yokya haritada dolaşamassınız ve birde oyuncular yerden 16 px yukarda olmalı yere temas ederlerse oyundayken hareket edemezler(hatırlayın oyuna başlayınca cok hafif yukardan yere düşüyorsunuz bi hatırlayın nedenı bu işte)
info_target:Başka bir entity için kullanılır mesela kamera koyduk haritamıza kameranın ne yönü göstermemizi istiyorsak oraya koyarız bir tane.
info_vip_start:Haritanıza vip eklemek için kullanılır.(as_haritaları yapılırken mesela as_oilrig haritasında ce deki vip).
light:Ortama ışık koymak için kullanılır.
light_environment:Ortam ışığı koymak için(güneş yada ay olarak kullanırız)bir tane yeterlidir.
light_spot:İnfo_target ile birlikte, spot ışık oluşturur.
trigger_camera:Kamera Yapmak İçin Kullanılır
multi_manager:Bir seferde bir çok entity tetiklemek için kullanılır.
env_render:Bu özellik tetiklemse sonrasında target kısmına hangi modelin adı yazılmışşsa veya sprites onu meydana cıkarır.
cycler_sprite:Sprites yada model eklemek için kullanılır.
Wally İle Wad Dosyası Oluşturmak
Evet arkadaşlar şimdi sizlere kendi yaptığınız maplara wad dosyası hazırlamak için örnekler anlatacağım, evet gelelim ilk önce wad dosyasında kullanacağımız resimleri secmeye diyelim resimlerimiz hazır, ben 2 tane resim sectim bir tane demir kapı bir tanede duvar, resimlerden önce cok öenmli bir şey anlatmak istiyorum half-life da ki kaplamaların belli başlı boyutları vardır, belli ölçülere bağlı boyutlar bunlar bu boyutlar 16 nın katları sekşinde olur mesela;
16, 32, 48, 64, 80, 96, 112, 128, 144, 160, 176, 192, 208, 224, 240, 256,
272, 288, 304, 320, 336, 352, 368, 384, 400, 416, 432, 448, 464, 480, 496,
512
diye gider 512 nin üstüne cıkarsanız ki zaten cıktıgınızda hata vercektir muhakkak, diyelimki 512 den buyuk bir resim doyası koydunuz wally e ki eğer boyutuda 16 nın katlarına uyuyorsa mesela 640*640 wally kabul eder ve izin verir wad dosyasına eklemenize ve haritayıda kompile eder sorun cıkarmaz taki sorun oyuna girerken cıkar kaplamanın boyutunun cok buyuk oldugu konusunda uyarı verir, şimdi sectiğim resmi photoshopta boyutunu ayarlıcam öncelikle kapının boyutunu ayarlıyalım yukardakilerden hangisi uygun kapının yuksekliği için onu söyliyeyim, ben genelde 128 kullanırım bu seferde öyle yapıcam yukseklik 128 olarak ayarladık genişlikte 80 olarak ayarladım,genelde 96*128 olarak ayarlarım ama burda kapının uzunlugu genıslığine oranla uzun kaldıgı ıcın 80 olarak ayarladım deneme yanılma ile kapı yuksekliğini ayarlarsınız yanlız yukardakı rakamlara gore olcak.Gelelim şimdi ikinci resmimize ikinci resmimde bir duvar,şimdi kullandığınız duvar şekilleri kare olur genelde ben bir tane kare bir duvar ayarladım duvarın boyutunuda her zaman 128*128 olarak uygularım 256*256 da olabilir ama oyunda duvar buyuk gelebilir oyuncunun gözüne evet resimlerin boyutunu ayarladık şimdi gelelim resimleri wally ile wad dosyalarına eklemeye öncelikle wally i acalım ve yeni dosya oluşturmaya baslıyalım,
kırmızı ile işaretlenmiş yere basıp dosya oluşturun
Daha sonra cıkan menude type yazan yerdeki yeri aşağıdaki resimde olan seçimle aynı yapın;
Sonra ok ye basın,oluştırduğumuz dosya gelicek ekrana;
Evet arkadaşlar şimdi sizlere kendi yaptığınız maplara wad dosyası hazırlamak için örnekler anlatacağım, evet gelelim ilk önce wad dosyasında kullanacağımız resimleri secmeye diyelim resimlerimiz hazır, ben 2 tane resim sectim bir tane demir kapı bir tanede duvar, resimlerden önce cok öenmli bir şey anlatmak istiyorum half-life da ki kaplamaların belli başlı boyutları vardır, belli ölçülere bağlı boyutlar bunlar bu boyutlar 16 nın katları sekşinde olur mesela;
16, 32, 48, 64, 80, 96, 112, 128, 144, 160, 176, 192, 208, 224, 240, 256,
272, 288, 304, 320, 336, 352, 368, 384, 400, 416, 432, 448, 464, 480, 496,
512
diye gider 512 nin üstüne cıkarsanız ki zaten cıktıgınızda hata vercektir muhakkak, diyelimki 512 den buyuk bir resim doyası koydunuz wally e ki eğer boyutuda 16 nın katlarına uyuyorsa mesela 640*640 wally kabul eder ve izin verir wad dosyasına eklemenize ve haritayıda kompile eder sorun cıkarmaz taki sorun oyuna girerken cıkar kaplamanın boyutunun cok buyuk oldugu konusunda uyarı verir, şimdi sectiğim resmi photoshopta boyutunu ayarlıcam öncelikle kapının boyutunu ayarlıyalım yukardakilerden hangisi uygun kapının yuksekliği için onu söyliyeyim, ben genelde 128 kullanırım bu seferde öyle yapıcam yukseklik 128 olarak ayarladık genişlikte 80 olarak ayarladım,genelde 96*128 olarak ayarlarım ama burda kapının uzunlugu genıslığine oranla uzun kaldıgı ıcın 80 olarak ayarladım deneme yanılma ile kapı yuksekliğini ayarlarsınız yanlız yukardakı rakamlara gore olcak.Gelelim şimdi ikinci resmimize ikinci resmimde bir duvar,şimdi kullandığınız duvar şekilleri kare olur genelde ben bir tane kare bir duvar ayarladım duvarın boyutunuda her zaman 128*128 olarak uygularım 256*256 da olabilir ama oyunda duvar buyuk gelebilir oyuncunun gözüne evet resimlerin boyutunu ayarladık şimdi gelelim resimleri wally ile wad dosyalarına eklemeye öncelikle wally i acalım ve yeni dosya oluşturmaya baslıyalım,
kırmızı ile işaretlenmiş yere basıp dosya oluşturun
Daha sonra cıkan menude type yazan yerdeki yeri aşağıdaki resimde olan seçimle aynı yapın;
Sonra ok ye basın,oluştırduğumuz dosya gelicek ekrana;
Evet arkadaşlar gelelim tekrar photoshop a, şimdi resimlerin boyutlar hazır önce kapıyı koyacağız,kapıyı ctrl+a ile secip ctrl+c ile kopyala dıyoruz resmi kopyaladıktan sonra üstteki resimdeki dosyanın ustune sağ tıklıyoruz cıkan menude "Paste As New" e basıyoruz
Sonra bir pencere cıkacak yine karsımıza ordada kaplamamıza vereceğimiz adı soruyor orayada ne koymussak mesela ben kapı koydum
oraya kapi yazıyoruz ve ok diyoruz aşağıdaki gibi resimler ekleniyor
sonra wallyde file kısmından save diyoruz kayıt için ne ad giriceğimizle ilgili isim soruyor ne olucak diyelim mapın adı de_sistemci wad dosyasının adıda de_sistemci olsun
Not:Wallyde dosyada iken kaplamanın adını girdiğinizde harflerin uyumuna dikkat edin türkçe karakterler kullanırsanız hammerda sorun cıkarır Ö,Ü,Ç,İ ve ı harflerini kullanmayın i ve ı da anlatmak istediğim buyük İ ve kucuk ı olmıyacak
Teleport Yapımı
Önce Resimleri Vereyim Resimlere Biraz Dikkat Edin!
Şimdi burda belirttiklerimiz neler açıklayayım;(Öbür topicde Sistemci abimiz açıklamıştı ama biz burda gene değinelim)
info_player_start : Ct nin doğacağı yer.Yani bunu Nere Koyarsanız Ct Ordan Doğar.Bunları birbirine ve yere duvarlara cok yakın koymayın sorunlar cıkabilior!
info_player_deathmach : T nin doğacağıyer.Yani bunu nere koyarsanız T orda Doğar.Gene yakınlık olayına dikakt edin!
trigger_teleport : Bu ise bizi ışınlıyacak olan nesnedir.
info_teleport_destination : Bu da ışınlandıkdan sonra nerde çıkacağımızı gösteren nesnedir.Yanı bunu nere koyarsak ışınlandıktan sonra burda çıkarız.
Şimdi Yuvarlak Hesap Anlatalım;
Bu araç ile player startları çizeriz.Ve bunu gibi bir çok özelliği çizebiliriz kısaca.Ama şimdilik bize burda player startları çizmek için gerekli.
Bu araç ilede nesne leri çizeriz.
Trigger_teleport Yapımı:
1-Önce bir nesne çizilir.
2-Bu Nesne aaatiger kaplaması ile kaplanır.(bu özel kaplamadır valve/halflife.wad dosyası içinde bulunur textureler arasına bununa eklemeyı unutmayın)
3-Çizilip aaatiger kaplaması ile kaplanan nesnemiz araç çubuğundan ok işareti(ilk sırada olan) ile seçilir ve sağ taraftakı bloktan entitye tıklanır.
4-son olarak menüden trigger_teleport secilir.target kısmına info_teleport_destination'a verecegimiz isim verilir(birbirine karışmayacak isimler vermeye özen gosterin)
İnfo_teleport_destination yapımı:
Bir çoğumuz valve hammer editör kullanıyor ama bunda bazı özellıkler eksık o yuzden biz kendımız yazıcaz onları şimdi anlarsınız
1- Seçin
2-info_player_start çizin.daha sonra ok işareti ile (araç çubugu en usttekı) seçin.
3-alt+enter yaparak özellıklere girin o ekranda info_player_start yazan yeri silin info_teleport_destination yazın enterleyın. simdi ordakı yazılar kaybolmstur. Ordan ekle deyin key kısmına targetname vaule değer kısmına "biraz önce trigger_teleportun target kısmına yazdıgımız ismi" yazın.
4-Zaten nesnemız kucuk pembe bişey olmuştur. gene bununda yere fln çok yakın olmamasına dikkat edin!
MAYIN YAPIMI
Adım1) yere istdeğiniz texture ve boyutlarda küçük şekiller çizin. ben sarı renkte çizdim rahat görülebilsin diye siz isterseniz mayınlarınızı gömebilirsiniz..
; text-decoration: none;">
adım2) daha sonra mayınlarınızın hepsini seçili hale getirin.(ctrl tuşuna basarak) farenin sağ tuşuna basın ve Tie to Entity sçeneğine basın. açılan pencerden func_breakable seçeneğini seçin..
; text-decoration: none;">
Name: kaboom
Render Mode: Texture
FX amount:0
Explode Magnitude:300
; text-decoration: none;">
adım3) şimdi geriye son bir şeyi yapmak kaldı. aaatrigger ile her mayının üstünü örtün. (aaatrigger sadece halflife.wad dosyasının içinde bulunmaktadır.) aaatrigger ların hepsinin ismini kaboom olarak değiştirin.
Kapı ile Menteşe Yapmak
hem kapıyı hem origini seçip sonra entitiye bağlayacaksın. önceden bende ayrı ayrı yapıp sadece açılmasını istediğime func_door_rotating veriyordum ve hata veriyordu ikisini birden seçmek içinde ctrl ye basılı tutacaksın sonra func_door_rotatinge bağlıyacaksın.
Diğer Araçları Convert Etme
Diğer haritaları convert edip araçları kopyaladım convert işlemi sırasında hiçbir zaman tam olarak çevrilemediği için araba modellerisürekli hata veriyordu. En sonunda kendim basitte olsa hareket eden bi araç modeli yapmaya karar verdim.Yabancı forumlarda araştırdım ve çözümü buldum.
Öncelikle araç modelini tasarlıyoruz (yerden biraz yüksek yapın).Sonra texture olarak origini seçiyoruz uzun ince bir çubuk yaparak ve modelin içine koyuyoruz. Hepsini bir seçerek Ctrl+T tuşuna basarak func_vehicle entitisine bağlıyoruz. Ayarlardan isim olarak araba , first stop target:fren 1
sound: vehicle 1 ,2 3 (istediğiniz) width ve length değerelerine aracın boyutlarını yazıyoruz. Speed: Hız (ben 1000 veriyorum) Damege on crush: Vurunca götürdüğü can miktarı (ben 20 verdim)
Daha sonra aaatrigger kaplamasını seçip bir diktörtgen pirizma veya kare yapıp(aracın kontrol mekanizması, 1 insan boyu kadar olmalı) bunu da ctrl+T ile func_vehicle_contol entitisine bağlıyoruz. Vehicle name araba yazıyoruz.
Daha sonra aracın önüne ve arkasına path_track entitisi koyuyoruz. Öndekine name bölümüne fren1 ,next stop yerine fren2 yazıyoruz. Arkadakine isim olarak fren2, next stop target olarak fren 1 yazıyoruz. Hepsini bir seçip grup yapıyoruz. Haritayı compile edip aracı kontrol ediyoruz.
Vis-W_Poly
Oyungrafik motoru, yapılan nesneleri üçgenlere(polygon) bölerek çizer. Software render yapabilen ekran kartları bir frame'de(poz) ençok 600 polygon çizebilir. OpenGL ve Direc3D teknolojisi kullabilen 3D ekran kartları için bu değer 3-4 katına kadar çıkabilir. Ancak w_poly değeri nekadar fazla olursa karta düşen iş o kadar artacaktır. Bu da fps'nin (frame per second) düşmesine ve oyunun yavaşlamasına neden olacaktır. Bundan dolayı Resmi Counter-Strike sitesi
ençok w_poly değerini 600 olarak kabul etmiştir.
Hint Brush:
Hint özel bir texturedir. Bu texture Zoner's Compile Tools ile birlikte gelen zhlt.wad içinde vardır. Hint ile yapılan bir nesne ile nesnelerin nereden polygonlara ayrılacağını belirtebiliriz. Ancak bu gene Zoner's in hlvis.exe'si ile faydalı olacaktır. Bunun için eğer yoksa Zoner's i mutlaka kurmanızı ve ayarlarınızı Zoners'e göre değiştirmenizi öneriyoruz.
Üstteki iki şekilde duvarlar buna benzer şekilde poligonlara bölünür. İlk resimde oyuncunun tam karşıda gördüğü poligon koridor sonundaki diğer başka bir leaf'a deydiğinden bu leaf'da mecburen çiziliyor. Ama oyuncu bu konumda bu leaf'i görmüyor. Bunun için bu leaf gereksizce grafik motoruna yük oluyor. İkinci resimde ise pembe renkle çizilen hint brushlar poligonları ufaltıp diğer leaf'e uzanmasını engelliyor. Hint brush'ın üstündeki skip texturesi hint texturesinin yaptığı işin tavan için yapılmamasını sağlıyor. Eğer skip yerine hint kalsaydı, bu sefer tavandaki brush gereksizce hint tarafından polygonlara bölünecekti.
Vis Blok:
Vis bloğu iki leaf'i birbirinden ayırmak için kullanılır. Vis bloğu normal bir textureden yapılan , normal bir nesnedir. Vis bloğunun yerini saptamak , bloğu yapmaktan daha zordur. Çünkü vis bloğunu koyacağınız yer haritanın en canalıcı yeri olabilir. Bunun için leaf olabilcek alanları vis işlemini düşünerek tasarlamanız faydalı olacaktır.
func_wall:
Oyuncu tarafından görülen yüzeylere temas eden başka nesneler, bu yüzeylerin patch sayısını artıracaktır. Rad işleminde nesnelerin ışık alan yüzeyleri patch denilen bölümlere ayrılır. Bir haritada maksimum patch değeri 65535 dir. Bunun için yüzeylere değen nesneleri , yüzeyden 1 pixel uzaklaştırmak bu soruna çare olur. Yere koyduğunuz bir kasanın 1 pixel havada durduğunu kimse farketmeyecektir. Ayrıca silindir gibi çokyüzlü nesnelerin temas ettiği durumlarda ise bu nesneleri func_wall yapmak patches değerinin artmamasına yarayabilir. Entity yapılan nesnelerin rad hesabına dahil olmadığını hatırlayınız.
floresan nesnesi, tavandan 1 pixel aşağıda olmalıdır.
tabana ve tavana değen silindirler func_wall yapılmalıdır
Yukarıdaki yöntemler vis işleminin uzamasını engelleyeceği gibi w_poly değerini düşük tutmaya yarayacaktır. Textureler , yaptığınız nesneler ne kadar güzel olursa olsun 10-20 fps ile oynanan bir oyun, bu güzellikleri silip atacaktır.