Jump to content

MTA: San Andreas için her türlü script geliştirme/ mantık geliştirme konusunda yardımcı olabilirim.


Recommended Posts

Selam millet!

Herkese iyi forumlar, kendimi kısaca tanıtayım. ismim Enes piyasada enesbayrktar kullanıcı adı ile tanınıyorum. Github profilimYoutube kanalım ve Discord üzerinden benimle iletişim kurabilir, neler yaptım diye bir göz gezdirebilirsiniz. Normalde boş vakitlerimde Youtube kanalıma videolar oluşturmaktayım ancak şu sıralar özellikle yoğun olduğum için daha çok Discord üzerinden destek veriyorum, Foruma yeni başladım. Bu konunun altında da scripting sorularınızı elimden geldiğince yanıtlayabilirim. Böylelikle scripting'e yeni başlayan insanlara da destek vermiş oluruz. Bu konu altında cevaplar biriktikce birikir ve burası minik bir kütüphane halini alır.

Bunun dışında ücretli olarak da sistem kodlamaktayım, aslen mesleğim Junior-backend Developer olarak geçiyor, Javascript (vue, express, nest, electron), PHP (laravel) ve C# (dotnet3, dotnet5) asıl uzmanlık alanlarım. MTA: San Andreas benim için daha çok hobi gibi sevdiğim bir ortam. Eğer benimle ücretli çalışmak isterseniz de Forum üzerinden özel mesaj yolu ile iletişime geçebilirsiniz.

İyi Forumlar!

  • Like 2
Link to post
  • 3 weeks later...

Bu konuyu aktif olarak tutmak için her script geliştirme dersi için konu oluşturmaktansa, buraya yorum olarak ekleyeceğim. Bundan dolayı dersleri kaçırmamak için konuyu takibe alabilirsiniz.

Bugün sizlerle ilk MTA scriptimizi yazacağız, biraz sıkıcı olucak ondan dolayı çay ve kahvenizi alıp makaleyi okumaya devam edebilirsiniz.

Öncelikle her işte olduğu gibi bir klasör oluşturmamız gerekiyor, peki nereye? Öncelikle lokal sunucumuzu oluşturabilmek için resim 1a üzerindeki gibi MTA San Andreas 1.5'e sağ tık -> Özellikler ardından da Dosya Konumunu Aça tıklıyoruz.

GRhPHxn.png

(resim 1a)

1. Aşama: Benim için MTA'nın orijinal dosya konumu bu şekilde, sizde  daha da farklı olabilir. C:\Program Files (x86)\MTA San Andreas 1.5 dosya konumunu açtıktan sonra "server" isimli klasöre giriyoruz ardından karşımızda resim 2a gibi bir dizin çıkması gerek öncelikle MTA Server.exe'yi çalıştırıp 20-30 saniye sonra kapatıyoruz. Bu aşama ilk kurulum için gerekli. Ardından mods -> deathmatch dosya yoluna ilerliyoruz. Burada bizim için önemli olan üç şey var; Resources, mtaserver.conf ve acl.xml. Kısaca üçünden de bahsetmem gerekirse:

  1. "Resources" yazıcağımız sistemlerin/ scriptlerin bulunduğu konum.
  2. "mtaserver.conf" bizim sunucumuzun ayar dosyası gibi düşünebilirsiniz içinde şahane özellikler var, sunucu adı değiştirmeden otomatik sistem başlatmaya kadar. Tonla zımbırtı mevcut.
  3. "acl.xml" sunucu yetkilerinin bulunduğu xml dosyası, eğer xml hakkında herhangi bir bilginiz yoksa buraya tıklayarak daha fazla bilgi alabilirsiniz.

wgFcTSO.png

(resim 2a)

2. Aşama: Az önce klasör oluşturmaktan bahsetmiştik evet şimdi sorumuzun cevabını alabiliriz, mods -> deathmatch -> resources dosya yolunu takip edip içerisine bir klasör oluşturabiliriz. benim klasörümün adı "helloworld" olucak. Bu aşamada her şeyin resim 2b de gösterildiği gibi olması gerekiyor.

fNLF4OT.png

(resim 2b)

3. Aşama: Şimdi yapıcağımız sistemin kaynak dosyalarını oluşturmamız gerekiyor. MTA: San Andreas üzerinde scriptler üç ana dosyadan oluşur. Bunlar:

  1. "meta.xml" bu dosyada yukarıda bahsettiğim xml formatı kullanılmakta. Özelliği ise içerisine yapıcağımız scriptin dosyalarını tanımlamamız eğer biz buraya script dosyalarını tanımlamazsak maalesef scriptimiz/ sunucumuz o dosyayı görmeyecektir. Orada olsa bile yok olduğunu var sayacaktır. Bkz: ben burada yoğum yoğum.
  2. "client.lua" bu dosya oyuncu taraflı işlemleri yapmamızı sağlayacak olan script dosyasıdır. Lua dilini kullanır daha fazla bilgi için bu konuyu takip edebilir ya da benim biraz ingilizcem var diyorsanız buraya tıklayarak devam edebilirsiniz.
  3. "server.lua" sunucu taraflı işlemleri barındaracağımız script dosyası.

Client ve Server ile alakalı ileride bir çok şeyden bahsedeceğimiz için burada özel geçiyorum. Bu dosyaları oluşturduktan sonra meta.xml dosyasının içine şunun gibi bir şeyler karalamalıyız.

<meta>
  <info author="kendiadınız" version="1.0.0" name="Sistem isminiz" type="script" />

  <script type="client" src="client.lua" />
  <script type="server" src="server.lua" />
</meta>

Eh, e-h herhalde bunun içerisini de açıklamama gerek yoktur diye düşünüyorum. Bilmeniz gereken yerleri TÜRKÇE olarak yazdım.

4v14NCt.png

(resim 2c)

Şimdi yukarıda gözüktüğü gibi olan script klasörümüzün içinde neler yapacağız onlara bakalım. Eee geleneği bozmak olmaz bir "hello world" yazdırmamız gerek. Şimdi sunucu taraflı bir "hello world" yazdırmak istiyorsak eğer "server.lua" dosyasını açıp print('hello world') yazıp kapatıyoruz. Az önce 20 saniyeliğine açtığımız MTA Server.exe dosyasını tekrardan çalıştırıp açılan konsola start helloworld  yazıyoruz. Bu işlemden sonra alttaki ekran gibi bir görünüm olmalı konsolda.

IIDEI0m.png

(resim 3a)

Eğer her şey bu zamana kadar iyi gittiyse client-side dediğimiz oyuncu tarafında da bir şeyler yapalım. Şuanda sunucu ekranına bir şeyler yazdırabildik. Oyuncu ekranına bir şeyler yazdırabilmek için ise ben chati (konuşma penceresini) tercih edeceğim.

Aşama 1: client.lua adlı dosyayı açalım

Aşama 2: outputChatBox('bu ders sıktı bea') kodunu girelim

Aşama 3: kaydedip kapatalım ve kendi MTA'mız ile oyuna bağlanalım

Aşama 4: sunucu penceresine gelip restart helloworld yazalım

Sonuç: Oyun içi konuşma penceresinde de orada yazdığımız mesajı göreceksiniz. MTA: San Andreas üzerinde scripting yapmak ile alakalı daha fazla bilgi için buraya tıkla!

Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...