sampctl tutorijal | package manager

Započeo fajnydzieciak, Januar 27, 2022, 21:45:07 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 4 gostiju pregledaju ovu temu.




Uvod


Pre svega, šta je sampctl?
sampctl predstavlja command-line development tool za PAWN jezik pomoću kojeg možete build-ovati vaš package (library/gamemode), pokrenuti isti itd.


Kako koristiti sampctl?


Prvo napravite neki folder recimo gta-world (moj mod hehe).
Unutar tog foldera otvorite command prompt (ili git bash, powershell, sta god imate).
Unesite sledecu komandu:
sampctl p init
Dalje samo popunjavate šta i kako vama odgovara, tipa kako se zove projekat, da li želite da objavljujete na github i slično. Prvo i prvo birate da li želite da bude library ili gamemode.
Kada završite sve to, ime entry file-a (.pwn) koje ste uneli kreirajte u root folderu. Znači ako ste uneli test.pwn (default), u root folderu kreirate test.pwn file.
Unutar tog fajla dodajte sledeće:
[pawn]
#include <a_samp>

main()
{
    print("sampctl package pokrenut.");
}
[/pawn]
Sačuvajte fajl i unesite sledeće komande u cmd-prompt ili sta već koristite (moja preporuka git bash):
sampctl p ensure && sampctl p build

Trebali biste dobiti na kraju poruku: INFO: Build default successful with 0 problems
Nakon toga mozete pokrenuti vaš package komandom: sampctl p run


Kako dodati library/include?


Sve što vam je potrebno jeste github link od tog lib-a/include-a, uzećemo za primer YSI-Includes (https://github.com/pawn-lang/YSI-Includes).
Vama je potreban deo: https://github.com/pawn-lang/YSI-Includes
Unesite sledeću komandu: sampctl p install pawn-lang/YSI-Includes. Pustite da sampctl odradi svoj deo i nakon toga samo pozovite include koji ste instalirali.
[pawn]
#include <a_samp>
#include <YSI_Coding\y_timers> // primer

main()
{
    print("sampctl package pokrenut.");
    print("sampctl instaliran ysi includes");
}
[/pawn]
Nakon toga ne morate ponovo sampctl p ensure, ali build morate i pokrenite komandom sampctl p run (ili ako je gamemode samo samp-server.exe)


pawn.json?


U pawn.json fajlu se nalazi sva konfiguracija vezana za vaš projekat.
Evo primer kako izgleda za jedan gamemode:


Tu možete promeniti path vašeg entry/output file-a, ukoliko želite da bude u gamemodes samo dodajte ./gamemodes/test.pwn i za .amx tako.
Možete menjati hostname, rcon password i ostalo.


Kako instalirati sampctl mod?


Potreban vam je git bash (https://git-scm.com/downloads) i takodje link moda na git-u.
Uzećemo za pirmer moj gamemode koji sam poslednji objavio na git (https://github.com/emmett-white/samp-blackland-roleplay).
Na desktopu otvorite git bash i unesite sledeću komandu:

git clone https://github.com/emmett-white/samp-blackland-roleplay
cd samp-blackland-roleplay

Zatim čuvene tri komande:

sampctl p ensure
sampctl p build
sampctl p run



Kraj?


A ne znam života mi više šta da napišem... Šta vas zanima, tu sam..

Citat: srbski southclaws poslato Januar 27, 2022, 21:45:07 POSLE PODNE



Uvod


Pre svega, šta je sampctl?
sampctl predstavlja command-line development tool za PAWN jezik pomoću kojeg možete build-ovati vaš package (library/gamemode), pokrenuti isti itd.


Kako koristiti sampctl?


Prvo napravite neki folder recimo gta-world (moj mod hehe).
Unutar tog foldera otvorite command prompt (ili git bash, powershell, sta god imate).
Unesite sledecu komandu:
sampctl p init
Dalje samo popunjavate šta i kako vama odgovara, tipa kako se zove projekat, da li želite da objavljujete na github i slično. Prvo i prvo birate da li želite da bude library ili gamemode.
Kada završite sve to, ime entry file-a (.pwn) koje ste uneli kreirajte u root folderu. Znači ako ste uneli test.pwn (default), u root folderu kreirate test.pwn file.
Unutar tog fajla dodajte sledeće:
[pawn]
#include <a_samp>

main()
{
    print("sampctl package pokrenut.");
}
[/pawn]
Sačuvajte fajl i unesite sledeće komande u cmd-prompt ili sta već koristite (moja preporuka git bash):
sampctl p ensure && sampctl p build

Trebali biste dobiti na kraju poruku: INFO: Build default successful with 0 problems
Nakon toga mozete pokrenuti vaš package komandom: sampctl p run


Kako dodati library/include?


Sve što vam je potrebno jeste github link od tog lib-a/include-a, uzećemo za primer YSI-Includes (https://github.com/pawn-lang/YSI-Includes).
Vama je potreban deo: https://github.com/pawn-lang/YSI-Includes
Unesite sledeću komandu: sampctl p install pawn-lang/YSI-Includes. Pustite da sampctl odradi svoj deo i nakon toga samo pozovite include koji ste instalirali.
[pawn]
#include <a_samp>
#include <YSI_Coding\y_timers> // primer

main()
{
    print("sampctl package pokrenut.");
    print("sampctl instaliran ysi includes");
}
[/pawn]
Nakon toga ne morate ponovo sampctl p ensure, ali build morate i pokrenite komandom sampctl p run (ili ako je gamemode samo samp-server.exe)


pawn.json?


U pawn.json fajlu se nalazi sva konfiguracija vezana za vaš projekat.
Evo primer kako izgleda za jedan gamemode:


Tu možete promeniti path vašeg entry/output file-a, ukoliko želite da bude u gamemodes samo dodajte ./gamemodes/test.pwn i za .amx tako.
Možete menjati hostname, rcon password i ostalo.


Kako instalirati sampctl mod?


Potreban vam je git bash (https://git-scm.com/downloads) i takodje link moda na git-u.
Uzećemo za pirmer moj gamemode koji sam poslednji objavio na git (https://github.com/emmett-white/samp-blackland-roleplay).
Na desktopu otvorite git bash i unesite sledeću komandu:

git clone https://github.com/emmett-white/samp-blackland-roleplay
cd samp-blackland-roleplay

Zatim čuvene tri komande:

sampctl p ensure
sampctl p build
sampctl p run



Kraj?


A ne znam života mi više šta da napišem... Šta vas zanima, tu sam..

Lepo objasnjeno

Jako korisna stvar, doduse, omasio si forum, ovi ovde ne znaju osnovne stvari..

Citat: V01D poslato Januar 28, 2022, 14:29:26 POSLE PODNE
Jako korisna stvar, doduse, omasio si forum, ovi ovde ne znaju osnovne stvari..
Ahhhh, a sta cu ja, mislio sam da ce znaciti nesto ko nije upoznat sa sampctlom ali izgleda da sve boli kurac ono da krenu sa tim.



Sviđa mi se zamisao sampctla, međutim, nisam nikako bio u mogućnosti da ga praktikujem, jer nisam želio i navikao sam na ovaj flow rada, svakako, budući da i na poslu koristim terminal, svakako mi je dosta familijarno koristiti te "zajednicke" komande za svaki command line tool, pa između ostalog i sampctl.

U slucaju da bih se odlucio nesto novo praviti od 0, odabrao bih sampctl for sure.

Tutorial: Lijepo napisano i objasnjeno, hvala za kontribuciju na forumu :D

Citat: Slade poslato Januar 28, 2022, 21:19:00 POSLE PODNE
Sviđa mi se zamisao sampctla, međutim, nisam nikako bio u mogućnosti da ga praktikujem, jer nisam želio i navikao sam na ovaj flow rada, svakako, budući da i na poslu koristim terminal, svakako mi je dosta familijarno koristiti te "zajednicke" komande za svaki command line tool, pa između ostalog i sampctl.

U slucaju da bih se odlucio nesto novo praviti od 0, odabrao bih sampctl for sure.

Tutorial: Lijepo napisano i objasnjeno, hvala za kontribuciju na forumu :D
Da uvek bukvalno kad pravim od 0 nesto samo sampctl.
Hvala, hvala, znaci mi :)



Citat: srbski y_less poslato Februar 01, 2022, 18:32:44 POSLE PODNE
Je l pocinjao ko sta a?
Verovatno ne, a 99% foruma nije ni procitalo.
Otvorili thread jer su mislili da je sampctl jos neki underpoint mod pa zatvorili kad vide sta je zapravo.

Ovo za print nema potrebe jer svakako ispise ako nije lepo includovan neki libraby... ispravi me ako gresim, ali zar nije beskorisno da printas kada se mod pokrene da je ysi include instaliran, kada buildas izadje error da li ima include ili ne...
Za plugin i da razumem mada i to nema potrebe ali za include...

Citat: Fr0z3n poslato Februar 01, 2022, 22:00:36 POSLE PODNE
Ovo za print nema potrebe jer svakako ispise ako nije lepo includovan neki libraby... ispravi me ako gresim, ali zar nije beskorisno da printas kada se mod pokrene da je ysi include instaliran, kada buildas izadje error da li ima include ili ne...
Za plugin i da razumem mada i to nema potrebe ali za include...
Naravno da nema potrebe to sam stavio onako.. To vise dodje kao komentar, razumes me valjda.