Jump to content

enesbayrktar

Members
  • Posts

    9
  • Joined

  • Last visited

1 Follower

About enesbayrktar

  • Birthday September 25

Details

  • Gang
    Vagos
  • Location
    Turkey
  • Occupation
    San Fierro Terminal
  • Interests
    Lua, Javascript, C#

Recent Profile Visitors

772 profile views

enesbayrktar's Achievements

Newbie

Newbie (4/54)

6

Reputation

  1. 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. (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: "Resources" yazıcağımız sistemlerin/ scriptlerin bulunduğu konum. "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. "acl.xml" sunucu yetkilerinin bulunduğu xml dosyası, eğer xml hakkında herhangi bir bilginiz yoksa buraya tıklayarak daha fazla bilgi alabilirsiniz. (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. (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: "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. "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. "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. (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. (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!
  2. Working on SA: Turkish, San Andreas: Turkish Fun Server!

  3. İ tested and its worked, but i dont know its true usage or not of multiple args for this reason i wanna a example code from you. Thanks @IIYAMA
  4. Selam millet! Herkese iyi forumlar, kendimi kısaca tanıtayım. ismim Enes piyasada enesbayrktar kullanıcı adı ile tanınıyorum. Github profilim, Youtube 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!
  5. İts amazingly usefull! I use this on my script but i have one question about multiple argument sending to server-side. Can you give a example for this? callServer('isAccountRegistered', username, function(state) if state then guiSetText(usernameEdt, '') return notifications:error(string.format('%s zaten kullanımda. Lütfen farklı bir ad seç.', username)) end end ) -- i wanna use multiple args when sending, for example. callServer('isAccountRegistered', username, password, caseVariable, function(state) -- TO DO end )
  6. İ have one question about that script usage. For example i have one .map file, how can i execute .map file with this resource? can you give a example? exports["map_loader"]:loadMapForTarget(root, "sth-jackson") -- sth-jackson is .map file name or script name? @IIYAMA
  7. outputDebugString'Hello World'

  8. @MysticEmpire Yeah , i edited DriftParadise UI system for my scripts , the legacy version for developers on github (https://github.com/StrixG/driftparadise-legacy) not same @IIYAMA i try this wait for reply thanks
  9. i dont know , (screen resolution 1920x1080)
  10. Hi guys , i am new in the lua i wanna create 3d panel for lua but i have a some problems , thanks you too much help "Sorry for my bad english :(" Problem (Look at images) My Panel : Other 3D Panel (Drift Paradise) : Source Code : local UI = exports.justUI local isVisible = false local isLogged = false local screenWidth, screenHeight = UI:getScreenSize() local selectWidth = 300 local selectHeight = 100 local selectScreenTarget = dxCreateRenderTarget(selectWidth,selectHeight,true) local selectX , selectY, selectZ = 1692.44592, 1440.91260, 10.76481 function show() if isVisible == false then setElementData(localPlayer,"player:logged",0) showChat(false) addEventHandler("onClientRender",getRootElement(),render3D) end end function render3D() -- Select Screen dxSetRenderTarget(selectScreenTarget, true ) dxDrawRectangle(0,0,selectWidth,selectHeight,tocolor(255,255,255,255),false) dxDrawRectangle(0,0,selectWidth,50,tocolor(0,255,0,255),false) dxSetRenderTarget() dxDrawMaterialLine3D (selectX,selectY,selectZ + 1,selectX,selectY,selectZ,selectScreenTarget,3, tocolor(255,255,255,255),1,1,1) end addEventHandler("onClientResourceStart", resourceRoot, function () if isLogged == false then show() end end)
×
×
  • Create New...