GTAMulti.com - Türkiye'nin Türkçe GTA Sitesi

SAMPCTL yardımıyla Visual Studio Code ile pawn kodlarınızı compile edin.

Başlatan Goddew, 12 Aralık 2020, 14:58:55

« önceki - sonraki »

0 Üye ve 2 Ziyaretçi konuyu incelemekte.

Goddew


SAMPCTL nedir?

Sampctl, visual studio code ile pawn kodlarınızı compile etmenize yarayan bir tür package manager gibi bir programdır kısacası artık pawn kodlarınızı pawno ile compile etmenize gerek kalmayan direkt visual studio ile gözünüzü yormayan ve daha profesyonel yazabileceğiniz bir programdır, lütfen görsellerde göz gezdirin ve kod yazma veriminizi yükseltin, çünkü bu program örnek vereyim: ( SendClient yazdınız diyelim direkt size onla eşlecek tüm komutları veriyor örnek alt alta diğer tüm seçenekler çıkıyor örnek "SendClientMessage" direkt size çıkıyor ve tıklayıp doldurabiliyorsunuz yani kısacası otomatik doldurma sistemide içinde, bu sizin kod yazma veriminizi ve yanlış kod yazma olasılığınızı düşürecektir. )

Peki ben bunu nasıl kurarım zor mu?
Birazdan size, Türkçe kaynak olarak bir ilk olan SAMPCTL'nin basit kurulumunu göstereceğim görsellerden destek alarak iki dakika içerisinde bunu kurup profesyonelce modlarınızı geliştirebilirsiniz.

1. ADIM
https://code.visualstudio.com/ bu linke giderek Visual Studio Code'yi direkt kuralım kurulumunu bilmiyorsanız internetten yararlanabilirsiniz zaten çok basit (Maksimum 2 dakika)


2. ADIM
Şimdi SAMPCTL'yi kuracağız bunun için SAMPCTL'nin visual studio code'daki uzantısı olan pawn toolsu bu linkten kuralım. https://marketplace.visualstudio.com/items?itemName=southclaws.vscode-pawn bu linke tıklayıp Pawn Tools'u kurun ancak önemli bir detay var bunu kurarken Visual Stuido Code'yi kurmuş olmalısınız otomatik olarak zaten program başlayacak ve uzantı progr***** kurulacaktır.

3. Adım Uzantıyı kurdum ve artık Visual Studio'dayım ne yapmalıyım?

Sırasıyla ilk başta soldaki uzantılar sekmesine tıklayın ekran görüntüsünde görüldüğü gibi ardından kurduğumuz "Pawn Tools" uzantısına tıklayın ve aktif olduğunu şimdiki ekran görüntüsüne bakarak teyit edin.
eğer eklentiye girdiğinizde bu şekildeyse başarılı şekilde kurulmuştur eğer bu şekilde değilse indirdikten sonra visual studio codeyi kapatıp açın tekrar kontrol edin düzelmiş olması gerekir.

4. Adım haydi artık bu işi bitirelim ve compile edelim!
İlk olarak modumuzun olduğu klasörü Visual Studio Code'da açalım, adım adım ekran görüntülerini takip edin, ilk başta en üstte "File" kutusuna basalım.
Ardından, şu ekran görüntüsündeki gibi bir ekran gelecek, ordan modunuzun klasörünü seçin, benim modumun klasörünün ismi "Vista Roleplay"

Ardından, klasöre çift tıklayıp içine girip ekran görüntüsündeki gösterilen yere tıklayın ve işleminizi bitirin.



5. Adım zurnanın zırt dediği yere geldik sayılır!
Evet, kayışlar burada kopuyor bundan sonrasını çok dikkatlice yaparak sizde compile edebileceksiniz, öncelikle yine ekran görüntülerinden yola çıkarak klasörünü seçtiğimiz yere bi bakınalım.

ekran görüntüsünde gösterilen yere tıklayarak oyun klasörümüzün içine programdan ulaşabiliriz bu önemli dikkat edin.
Ardından sol taraftaki siyahlıkta boş bir yere sağ tıklayıp "New Folder" diyelim.

Ardından klasörün ismini ".vscode" yapalım (Tırnak işaretlerini koymayacaksınız sadece ayırt edebilin diye tırnak işareti koydum.) ardından açtığınız klasöre sağ tıklayın ve "New File" seçeneğine tıklayın.
Ardından dosyanın ismini tırnaksız bir şekilde "tasks.json" yapın ve içine girin, aynen ekran görüntüsündeki gibi bir görüntü yakalamalısınız.

Ardından şimdiki vereceğim kodu dosyasının içine yapıştırın.
KOD IÇIN TIKLA




Ardından bu ekran görüntüsündeki "Command" satırını kendi modumuzun içindeki pawn dosyasının hedefine çekeceğiz ve oradaki "PawnCC" uygulamasını çalıştırmasını sağlayacağız, ilk olarak modunuzdaki "Pawno" klasörüne gelin ve ekran görüntüsünde göründüğü gibi yapın ve o klasörün adresini alın.

Ekran görüntüsündeki gösterilen yere geldikten sonra işaretlenen yere tıklayın ve ekran görüntüsündeki gibi dosyanın adresini alın.


Ardından " " bu iki tırnak içinin arasındaki kodu silin "Command" satırındaki ve oraya adresini atın attığınızda bu tarz bi kırmızılıklarla karşı karşıya kalacaksınız.


Kırmızılıkların nedeni normal "/" slash olmasından dolayıdır o yüzden oradaki slaşları düz slaş yapmalıyız, örnek: Hatalı hali: C:\Users\Ender\Desktop\vistaroleplay\pawno
Hatasız hali: C:/Users/Ender/Desktop/vistaroleplay/pawno yani kısacası oradaki slaşların hepsini düz slaş yapın, eğer nasıl yapılacağını bilmiyorsanız shift+7 (/) tuşuna basarak düz slaşı elde edebilirsiniz ardından doğru bir şekilde yaptığınızda kırmızılıklar ortadan kalkmış olacaktır, kalktıktan sonra sonuna bir slaş daha ekleyip şunu yazın. "/pawncc.exe" aynen ekran görüntüsündeki gibi, ancak unutmayın pawno klasörünüzde pawncc olması lazım bunun çalışması için.


Eğer dediklerimi düzgün bir şekilde yaptıysanız kodun en son hali bu şekilde olacaktır.

Her şeyi tamamladıktan sonra CTRL+S tuş kombinasyonuyla "tasks.json" dosyanızı kaydedin ve visual studio'dan çıkıp tekrar girin, bunu yaptıktan sonra ekran görüntüsündeki gibi, soldaki sekmeden "Gamemodes" kısmınıza gelerek pwn dosyanızı seçin ve editleyin, editledikten sonra şimdi pawn compile etmeyi göstereceğim.



Şimdi "pwn" dosyama bir tane değişken tanımladım "new Test;" adı altında bu değişkeni hiç kullanmadığımız için compile ettiğimizde "Never used" hatasını vermesi gerekecek, bakalım compile düzgün çalışıyor mu? Şimdi ki adımları yine dikkatli izleyin.

CTRL+SHIFT+P yaparak şu bölmeyi açalım.

Ardından tek sefere mahsus Run Task yazıp "Run Task" yazana tıklayalım.

Ardından böyle bir yer gelecek, buraya "build-normal" yazalım ve olanları izleyelim.

Evet, hatamızı verdi peki onu nasıl görüntüleyeceğiz çok basit ekran görüntüsündeki işaretli yere bir kere tıklayın ve hata panelinizi açın

Evet, gördüğünüz gibi hiç kullanmadın hatasıyla yani "Never Used" ile karşı karşıya kaldık, peki tekrar compile etmek için ne yapmalıyız? CTRL+SHIFT+B tuş kombinasyonuyla tekrardan compile edebilirsiniz, unutmayın build-normal sizin compile etmenize yarayan bir koddu bu kodu bir kere yazdıktan sonra artık her zaman CTRL+SHIFT+B şeklinde istediğiniz gibi modunuzu derleyebilirsiniz, derledikten sonra (compile ettikten sonra) amx dosyanız pawno.exe'de compile ettiğiniz gibi yine gelmiş olacak yani modunuz derlenmiş olacak.



Eğer hatalarım olduysa kusura bakmayın, bunu araştırıp kurmayı öğrendim, bir çok özelliği mevcut sizde github sayfasından detaylı bilgileri yine ingilizce şeklinde öğrenebilirsiniz, compile etme kısmı bu şekildeydi fakat daha başka türlü özellikleride mevcut, aslında bu rehberi açma amacım bunun kurulumunun yardımını isteyip becerememem sonucu hırs yapıp kullanmayı başarmamdır, ayrıca türkçe kaynak hiç bulamadım bu yüzden sizlere az çok destek olabildiysem ne âla bana, şu anda SAMPCTL'nin ilk türkçe kaynağını okumuş bulunmaktasınız, tekrar ingilizce şekilde SAMPCTL'nin daha farklı özelliklerini görmek için github sayfasını bırakıyorum, sağlıcakla kalın.
Github-sampctl
Son düzenlenme: 13 Aralık 2020, 21:36:57 Goddew

Efsun


Amper

task.json kullanmanız için sampctl'e gerek yok. İçerisinde yazılan çok zaten default olarak indirilen pawncc.exe'yi çalıştırarak compile ediyor.



Yukarıdaki gifte nasıl yaratılıyorsa aynı şekilde bir proje oluşturabilir ve "sampctl package install" komutunu kullanarak includeleri indirebilirsiniz. Parametreleri Github Kullanıcı Adı/Repo Adı şeklinde işler. Sunucuyu çalıştıracağınız veya compile yapacağınız zaman "samp package init" yaptığınız sırada sizin tercihinize göre yaml veya json olarak oluşturulan pawn.(json, yaml) dosyası içerisinde ayarlamalar yapmanızı sağlar(compile ayarları veya sunucu bilgileri).


Bu JSON dosyasının definition referance kaynağı.
PAWN Kodu: Seç
{
  "user": "Southclaws", // your GitHub username
  "repo": "samp-afk-detect", // the GitHub project name
  "contributors": [
    "Southclaws", // if others helped with the project, list them here
    "Y_Less"
  ],
  "website": "https://forum.sa-mp.com/showthread.php?t=61241", // if you have a website or forum topic, add it here
  "entry": "test.pwn", // the script that compiles and runs your code
  "output": "test.amx", // the output AMX when the package is built
  "local": true, // run the package locally in the current directory
  "dependencies": [
    "sampctl/samp-stdlib" // other packages this package requires to build properly
  ],
  "dev_dependencies": [
    "pawn-lang/YSI-Includes", // same as above but only for development
    "ScavengeSurvive/test-boilerplate"
  ],
  "build": {
    // this is the compiler configuration section, this is where you can set flags such as -d3 and add new include directories
    "args": ["-d3", "-;+", "-(+", "-Z+"],
    "compiler": {
      "site": "github.com",
      "user": "sampctl",
      "repo": "compilers",
      "version": "3.10.10"
    }
  },
  "builds": [
    // you can also define multiple ways of compiling the code here
    // usage: sampctl package build <name>
    {
      "name": "main" // first build is always default
    },
    {
      "name": "unit-tests",
      "constants": {
        "RUN_TESTS": "1" // you can declare constant definitions here
      }
    }
  ],
  "runtime": {
    "mode": "y_testing" // runtime modes are useful for testing
  },
  "runtimes": [
    // you can also define multiple ways of running the package
    // usage: sampctl package run <name>
    {
      "name": "dev",
      "port": 8080
    },
    {
      "name": "prod",
      "port": 7777
    }
  ],
  "include_path": "pawno/include" // if your .inc files aren't in the repository root then declare the path here
}

Kısacası konu içerisinde anlatılan şeylerin SAMPCTL ile değil vscode-pawn ile alakası var. SAMPCTL dediğimiz şey daha büyük ölçekli bir şeydir ve kendi içerisinde zaten bir compiler barındırır.(veya ayarlanarak github üzerinden hazır pawn compilerları kullanılabilir)

Alıntı yapılan: Goddew
Sampctl, visual studio code ile pawn kodlarınızı compile etmenize yarayan bir tür package manager gibi bir programdır kısacası artık pawn kodlarınızı pawno ile compile etmenize gerek kalmayan direkt visual studio ile gözünüzü yormayan ve daha profesyonel yazabileceğiniz bir programdır, lütfen görsellerde göz gezdirin ve kod yazma veriminizi yükseltin, çünkü bu program örnek vereyim: ( SendClient yazdınız diyelim direkt size onla eşlecek tüm komutları veriyor örnek alt alta diğer tüm seçenekler çıkıyor örnek "SendClientMessage" direkt size çıkıyor ve tıklayıp doldurabiliyorsunuz yani kısacası otomatik doldurma sistemide içinde, bu sizin kod yazma veriminizi ve yanlış kod yazma olasılığınızı düşürecektir. )

Bu sözler içerisinde doğru olan tek şey sampctl'in bir package manager görevi görmesi fakat onun dışında hiçbir şeyi sampctl sağlamaz ve bu şekilde bir task kurulumunda sampctl'i kullanmanız size hiçbir şey kazandırmaz çünkü compileriniz sampctl tarafından yüklenmiş kütüphaneleri okumaz.
Son düzenlenme: 12 Aralık 2020, 18:04:00 Amper

eowen

çok iyi kaynak sağ ol ellerine sağlık tek kelime ile el mamasita


Goddew

Madem bu kadar iyi biliyordunuz açabilirdiniz bir tane rehber, teşekkürler bilgim dahilinde insanlara bir şeyler katması amacıyla açtım, isteyen kullanabilir bende zaten daha dün gece öğrendim nasıl kurulduğunu pek bir bilgim yok direkt paylaşmak istedim, madem bu kadar biliyordunuz keşke paylaşım yapsaydınız.

NOT: SAMPCTL'deki bi tek compile olayını biliyorum diğer tüm olaylarını githubdan inceleyebilirsiniz, sadece amacım insanlara bir şey katmak, belki bir yararı dokunur diye açtım.
Son düzenlenme: 13 Aralık 2020, 12:33:54 Goddew

TufanKeles


nikobernoo

Please (g)old days, come back.

chinohead

ücret karşılığında filterscript, gamemode yaptırmak için: chinohead@yahoo.com

Amper

Alıntı yapılan: Goddew - 12 Aralık 2020, 20:32:51
Madem bu kadar iyi biliyordunuz açabilirdiniz bir tane rehber, teşekkürler bilgim dahilinde insanlara bir şeyler katması amacıyla açtım, isteyen kullanabilir bende zaten daha dün gece öğrendim nasıl kurulduğunu pek bir bilgim yok direkt paylaşmak istedim, madem bu kadar biliyordunuz keşke paylaşım yapsaydınız.

NOT: SAMPCTL'deki bi tek compile olayını biliyorum diğer tüm olaylarını githubdan inceleyebilirsiniz, sadece amacım insanlara bir şey katmak, belki bir yararı dokunur diye açtım.

*madem bu kadar iyi biliyordunuz* :?:?

SAMPCTL ile tek bir kelime anlatmıyorsun dediğim gibi. Tek gecelik yanlış bilgilenme ile bu tarz konular açmaktan kaçının insanlara yarardan çok zararınız oluyor.


Goddew

Alıntı yapılan: Amper - 13 Aralık 2020, 19:56:06
Alıntı yapılan: Goddew - 12 Aralık 2020, 20:32:51
Madem bu kadar iyi biliyordunuz açabilirdiniz bir tane rehber, teşekkürler bilgim dahilinde insanlara bir şeyler katması amacıyla açtım, isteyen kullanabilir bende zaten daha dün gece öğrendim nasıl kurulduğunu pek bir bilgim yok direkt paylaşmak istedim, madem bu kadar biliyordunuz keşke paylaşım yapsaydınız.

NOT: SAMPCTL'deki bi tek compile olayını biliyorum diğer tüm olaylarını githubdan inceleyebilirsiniz, sadece amacım insanlara bir şey katmak, belki bir yararı dokunur diye açtım.

*madem bu kadar iyi biliyordunuz* :?:?

SAMPCTL ile tek bir kelime anlatmıyorsun dediğim gibi. Tek gecelik yanlış bilgilenme ile bu tarz konular açmaktan kaçının insanlara yarardan çok zararınız oluyor.
Konuyu baltalamayı bırakın daha iyisini yaptığınız zaman konuyu kaldırabilirim, SAMPCTL'nin zaten tek özelliği bu değil okumadan burada yorum yapmayın rica ediyorum zaten konudada belirttiğim gibi bir çok özelliği mevcut bakmak için github linkine yönlendirdim zaten tek amacınız baltalamak iyisini yaptığınız zaman buraya yazarsınız.
Son düzenlenme: 13 Aralık 2020, 20:13:53 Goddew

nikobernoo

Alıntı yapılan: Amper - 13 Aralık 2020, 19:56:06
Alıntı yapılan: Goddew - 12 Aralık 2020, 20:32:51
Madem bu kadar iyi biliyordunuz açabilirdiniz bir tane rehber, teşekkürler bilgim dahilinde insanlara bir şeyler katması amacıyla açtım, isteyen kullanabilir bende zaten daha dün gece öğrendim nasıl kurulduğunu pek bir bilgim yok direkt paylaşmak istedim, madem bu kadar biliyordunuz keşke paylaşım yapsaydınız.

NOT: SAMPCTL'deki bi tek compile olayını biliyorum diğer tüm olaylarını githubdan inceleyebilirsiniz, sadece amacım insanlara bir şey katmak, belki bir yararı dokunur diye açtım.

*madem bu kadar iyi biliyordunuz* :?:?

SAMPCTL ile tek bir kelime anlatmıyorsun dediğim gibi. Tek gecelik yanlış bilgilenme ile bu tarz konular açmaktan kaçının insanlara yarardan çok zararınız oluyor.

Ben yöntemleri denedim çalıştı, senin konunu bekliyoruz bakalım sen ne anlatacaksın.
Son düzenlenme: 13 Aralık 2020, 20:16:29 Provazano
Please (g)old days, come back.

Amper


Bu mesajımda yeteri kadar SAMPCTL'i anlatıyorum. Senin yaptığın şeyler sadece pawncc.exe'yi çalıştırmak için kullanılabilir ve sa-mp pawn syntaxını editöre yansıtmak için kullanılır. SAMPCTL ile ilgili tek bir şey kullanmıyorsun tekrar ve tekrar söylüyorum fakat anlamamaya devam ediyorsun. Konuyu baltalamıyorum fazlasıyla yanlış bildiği bir gerçeği sana söylüyorum. KONUN İÇERİSİNDE BULUNAN HİÇBİR BİLGİ SAMPCTL İLE İLGİLİ DEĞİL artık beynin almıştır diye düşünüyorum.


eowen

konunun içerisinde bulunan hiçbir bilgi sampctl ile ilgili değilk kanka  :anons:  :anons:  :anons:  :anons:  :anons:  :anons:  :anons:  :anons:  :anons:  :anons:  :anons:  :anons:  :anons:  :anons:  :anons:  :anons:  :anons:  :anons:

anladın?
Son düzenlenme: 13 Aralık 2020, 21:33:38 wvunder

Goddew

Amacıma ulaştığım için mutluyum konu kilit, samp kitlesi için yararlı bir rehber açtırtmak için böylesine bir konu açma gereği duydum aslında pawn compile ediyor doğru ancak tam anlamıyla SAMPCTL değildi, SAMPCTL hakkında konudan bağımsız neye yaradığını öğrenmek için en iyi türkçe kaynak olan: https://www.gtamulti.com/forum/anlatimlar/sampctl-the-swiss-army-knife/new/#new konusuna erişebilirsiniz, konu kilit.