←  Artykuły i Instrukcje

AMXX.pl: Support AMX Mod X i SourceMod

»

Kompilacja wszystkich pluginów do wybraneg...

  • +
  • -
sebul - zdjęcie sebul 17.03.2013

W tym temacie pokażę jak łatwo można skompilować wszystkie pluginy znajdujące się w danym folderze do wybranego miejsca. Wszystko polega na tym, aby napisać sobie mały skrypcik batch.

1. Najpierw otwieramy folder tam gdzie mamy pliki sma.
2. Tworzymy nowy plik o rozszerzeniu .bat z formatowaniem tekstu OEM 852 i wklejamy do niego taką zawartość
@echo off

title Kompilacja plików .sma

cls

rem Ścieżka do kompilatora
set compiler=D:\Programy\AMX Mod X\1.8.2\files\base\scripting\amxxpc.exe

if not exist "%compiler%" ( echo Kompilator %compiler% nie istnieje & goto WYJSCIE )

rem Ścieżka do plików .inc
set include=D:\Programy\AMX Mod X\1.8.2\files\base\scripting\include

if not exist "%include%" ( echo Folder %include% nie istnieje & goto WYJSCIE )

rem Miejsce gdzie zostaną wrzucone pliki .amxx
rem Zostaw tak jak jest jeśli pliki .amxx mają być w tym samym folderze co pliki .sma
rem UWAGA! Na końcu ścieżki zawsze musi być dodany znak \
rem . oznacza aktualny folder gdzie został uruchomiony skrypt
set output=.\

rem Usuwanie starych logów oraz tworzenie folderu gdzie mają być wrzucone pliki .amxx
if exist logi.log del logi.log
if "%output%" == ".\" (
	goto KOMPILACJA
) else (
	if not exist "%output%" (
		( mkdir "%output%" && echo Folder %output% został utworzony ) || ( echo Nie udało się utworzyć folderu %output% & goto WYJSCIE )
	)
)

:KOMPILACJA

if %1X==X (
	goto KOMPILACJA_ALL
) else (
	goto KOMPILACJA_1
)

:KOMPILACJA_ALL

echo Rozpoczynam kompilację plików .sma

rem Przeszukanie całego aktualnego folderu (skąd został uruchomiony skrypt) oraz kompilacja
for %%f in (*.sma) do (
echo *********** Plik: %%f *********** >> logi.log
"%compiler%" -i"%include%" -i"include" -o"%output%%%f" "%%f" >> logi.log
echo ******************************************** >> logi.log
echo Plik %%f skompilowany )

goto KOMPILACJA_END

:KOMPILACJA_1

set plik=%1
for /f "useback tokens=*" %%a in ('%plik%') do set plik=%%~a

echo Kompilacja pliku %plik%
echo ****** Plik: %plik% ****** >> logi.log
"%compiler%" -i"%include%" -i"include" -o"%plik:~0,-3%amxx" "%plik%" >> logi.log

:KOMPILACJA_END

echo Kompilacja zakończona.
echo Komunikaty z kompilacji znajdują się w pliku logi.log

:WYJSCIE

echo.
pause
3. Edytujemy kod na potrzeby własne, czyli zmieniamy ścieżki, itp.
4. Tam gdzie znajdują się pliki sma można także wrzucić folder include z plikami inc, ta ścieżka jest zawsze dodawana przy kompilacji.
5. Uruchamiamy plik .bat i czekamy aż zakończy się kompilacja wszystkich plików lub jeśli chcemy skompilować tylko jeden plik sma, to nie uruchamiamy pliku .bat, a po prostu przeciągamy na niego wybrany plik sma.

Teraz za pomocą takiego skryptu, możemy masowo kompilować pluginy z wybranego folderu do miejsca gdzie sobie ustawimy.
sebul (17.03.2013 02:01):
Tochę poprawiłem kod, bo jeszcze było coś nie tak.
Odpowiedz

  • +
  • -
sebul - zdjęcie sebul 07.07.2014

Dodałem także możliwość kompilowania jednego pluginu za pomocą tego skryptu, a wystarczy po prostu przeciągnąć plik.
Odpowiedz