Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Kompilacja wszystkich pluginów do wybranego miejsca


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
Brak odpowiedzi do tego tematu

#1 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 07.07.2014 00:36

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.
sebul (07.07.2014 00:37):
Tak wiem, że ten temat jest praktycznie taki sam jak w dziale amxx, ale w końcu może ktoś nie ogarnął, że w sm można zrobić tak samo ;]
sebul (25.03.2015 23:19):
Poprawienie literówek i lekka modyfikacja.

  • +
  • -
  • 0

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo





Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych