Marcin_BM:
widzę, że temat się rozrasta.

Widzę też, że jeszcze do Pascala nie doszliście w szkole.
Więc: Takie oto rzeczy:
- Kod: Zaznacz cały
#INIT
To znaczniki (zakładki, bookmarks - nazywaj jak chcesz). To czy wstawiasz #init nie ma znaczenia - nie jest on potrzebny, skoro nie musisz się do niego odwoływać.
Skrypty w OFP działają jak taki np. dla Pascala: czyli są wykonywane w ścisłej kolejności linia po lini. W momencie kiedy pada polecenie
- Kod: Zaznacz cały
Goto "init"
program nie wykonuje już dalszych poloeceń, tylko "przeskakuje" do linii tą zakładką wskazanej.
Dlatego "#INIT", "#AMMO" I "#END" nie są ci potrzebne.
Linie z zakładkami (bookmarks, tags) są i tak wykonywane, zgodnie z przebiegiem programu, dlatego test:
- Kod: Zaznacz cały
? ( _soldier hasweapon "M16" ) : goto "AMMO"
#AMMO
piszesz bez potrzeby. Bo popatrz: jeżeli zwrócona wartość to TRUE, to program przejdzie do #AMMO, czyli do następnej linii, natomiast jeżeli FALSE wtedy komenda GoTo "ammo" zostanie zignorowana, a tym samym zostanie wykonane następne polecenie, czyli zgodnie z naturalnym biegiem programu - następna linia. Efekt jest więc ten sam.
Podobnie ma się sprawa z
- Kod: Zaznacz cały
goto "END";
#END
~1
Jeżeli usunąć wszystko co nie wywiera żadnego efektu, to w skrypcie pozostanie:
- Kod: Zaznacz cały
_soldier = _this select 0
#BEGIN
? ( _soldier hasweapon "M16" ) : _soldier setObjectTexture [0,""]
~1
goto "BEGIN"
Przy czym pętla jest także zbędna, chyba że stwożyłeś drógi skrypt odmieniający teksturę z powrotem dla odwrotnego warunku. (Miłym zwyczjem na forum byłoby pisanie, co dany skrypt miał robić, a tak to się musimy domyślać...).
Jeżeli chcesz, aby skrypt zmieniał teksturę na "a" gdy Zołnierz weźmie M16, a potem na "b" gdy ją odłoży, to rób tak (chyba już wszystko rozumiesz, jak nie to pomyśl jeszcze):
- Kod: Zaznacz cały
_soldier = _this select 0
#loop
@( _soldier hasweapon "M16" )
_soldier setObjectTexture [0,"a"]
@!( _soldier hasweapon "M16" )
_soldier setObjectTexture [0,"b"]
goto "loop"
Jeśli nie o to chodziło, to pisz - chętnie pomogę.