Guten Tag,
Vermutlich bin ich einfach zu dumm :D
Deshalb möchte ich mal nach Hilfe betteln.
Ich habe sourcemod instaliert und kriege auch alle plugins zum laufen <- das ist ja auch der einfache part
Nun denn, jetzt will ich ein plugin integrieren welches kompiliert werden muss.
Die datein pfade ist auch kein ding.
Aber wie kann ich denn, wenn ich mich mit dem Server via FTP verbunden habe die datein kompilieren.
Ich verstehe weder, wo ich chmod u+x spcomp
eintragen soll, noch wie ich die spcompile zunutze machen kann - ich kann diese doch lediglich runterladen???
Und meine compile.sh sieht auch etwas anders aus:
#!/bin/bash
cd "$(dirname "$0")"
test -e compiled || mkdir compiled
if [[ $# -ne 0 ]]; then
for i in "$@";
do
smxfile="`echo $i | sed -e 's/\.sp$/\.smx/'`";
echo -e "Compiling $i...";
./spcomp $i -ocompiled/$smxfile
RETVAL=$?
if [ $RETVAL -ne 0 ]; then
exit 1;
fi
done
else
for sourcefile in *.sp
do
smxfile="`echo $sourcefile | sed -e 's/\.sp$/\.smx/'`"
echo -e "Compiling $sourcefile ..."
./spcomp $sourcefile -ocompiled/$smxfile
RETVAL=$?
if [ $RETVAL -ne 0 ]; then
exit 1;
fi
done
fi
Schonmal danke, für das Tuturial auch wenn ich trotzdem noch zu blöd bin
[LINUX]
Leider liegt bei der Linuxversion kein Hilfsprogramm bei, welches automatisch alle im Verzeichnis scripting enthaltenen Plugins kompiliert. Das lässt sich aber durch ein kleines Script automatisieren. Der Compiler spcomp befindet sich wie bei der Windowsversion im gleichen Verzeichnis addons\sourcemod\scripting. Die Vorgehensweise ist gleich bis zum 3. Punkt (
.tar.gz-Version herunterladen). Per 'chmod u+x spcomp' muss der Kompiler als Ausführbar für den Besitzer gesetzt werden. Einzelne Plugins können mit './spcomp Dateiname' kompiliert werden. Um alle im Verzeichnis enthaltene Plugins zu übersetzen, kann ein Script verwendet werden.
compile.sh
|
Source code
|
1
2
3
4
5
6
|
if [ ! -f spcomp ]; then echo "Missing compiler spcomp. Wrong directory?"; exit; fi
if [ ! -x spcomp ]; then chmod u+x spcomp; fi
if [ -d compiled ]; then rm -R compiled; fi
find . -maxdepth 1 -name '*.sp' -exec ./spcomp '{}' \;
if [ ! -d compiled ]; then mkdir compiled; fi
mv *.smx compiled/
|
Bei jedem Aufruf werden alle im Verzeichnis scripting enthaltenen Plugins neu kompiliert und in das Verzeichnis compiled verschoben. Das Verzeichnis compiled wird vor der kompilierung gelöscht.
Amerkung: Falls Plugins sogenannte Extensions (Erweiterungen) benötigen, müssen die ".inc"-Dateien der Extensions auch mit in das include Verzeichnis. Verschiedene Plugins haben Abhängigkeiten und benötigen auch ".inc"-Dateien diverser anderer Plugins. Das ads-Plugin benötigt z.B. die Include-Dateien das IRC-Plugins. Oftmals steht auch nicht in der Beschreibung drin, welche Extension zum kompilieren benötigt wird. Es gibt auch Extensions, die nicht als Binärdatei auf dem Server benötigt werden.