Skocz do zawartości

Zablokowane Kompilacja wszystkich pluginów


Rekomendowane odpowiedzi

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 sp.
2. Tworzymy nowy plik o rozszerzeniu .bat z formatowaniem tekstu OEM 852 i wklejamy do niego taką zawartość 

@echo off 
title Kompilacja plików .sp

cls

rem Parametry
set notpause=0
if "%~1"=="-np" (
set notpause=1
shift
)

rem Ścieżka do kompilatora
set compiler=D:\Programy\Source Mod\1.6.4\addons\sourcemod\scripting\spcomp.exe

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

rem Ścieżka do plików .inc
set include=D:\Programy\Source Mod\1.6.4\addons\sourcemod\scripting\include

rem Ścieżka do własnych plików .inc
set my_include=E:\Documents\pluginy\sm\include

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

rem Miejsce gdzie zostaną wrzucone pliki .smx
rem Zostaw tak jak jest jeśli pliki .smx mają być w tym samym folderze co pliki .sp
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 .smx
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 .sp

rem Przeszukanie całego aktualnego folderu (skąd został uruchomiony skrypt) oraz kompilacja
for %%f in (*.sp) do (
echo *********** Plik: %%f *********** >> logi.log
"%compiler%" -i"%include%" -i"include" -i"%my_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" -i"%my_include%" -o"%plik:~0,-2%smx" "%plik%" >> logi.log

:KOMPILACJA_END

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

:WYJSCIE

echo.
if %notpause% == 0 pause 

3. Edytujemy kod na potrzeby własne, czyli zmieniamy ścieżki, itp.
4. Tam gdzie znajdują się pliki sp 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 sp, to nie uruchamiamy pliku .bat, a po prostu przeciągamy na niego wybrany plik sp. 


Teraz za pomocą takiego skryptu, możemy masowo kompilować pluginy z wybranego folderu do miejsca gdzie sobie ustawimy. 

Zródło:amxx.pl

Odnośnik do komentarza
Udostępnij na innych stronach

  • 4 tygodnie później...
  • 2 tygodnie później...

Wiadomość wygenerowana automatycznie

 

temat_zamkniety.png
Powód: zamek

 

Jeżeli się z tym nie zgadzasz raportuj ten post a moderator lub administrator rozpatrzy go ponownie.
Z pozdrowieniami.
Administracja CSowicze.pl

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie