W tym, że ten warunek nie jest potrzebny w skrypcie. Za uruchomienie skryptu w chwili trafienia w beczkę będzie odpowiadał eventhandler
Wysłany 30 Maj 2005, 13:13:
Zmodyfikowany skrypt uwzględniający sugestie podane na GG (dotyczy stojącej beczki w przypadku leżącej nie jestem w stanie dobrać odpowiednich wartości bez modelu w edytorze. W każdym razie za umiejscowienie strugi odpowiada macierz [0,-0.5,0.2]. Dla leżącej ostatnia wartość powinna być ujemna ).
- Kod: Zaznacz cały
_barrel = _this select 0
_i=1000
#Loop
drop ["cl_basic", "", "Billboard", _i/1000, _i/1000, [0,-0.5,0.2], [0,0.005*_i,0], 0, 1, 1, 1, [_i/10000,_i/500],[[0.5,1,0,0.5],[0.5,1,0,0]],[0],0,0,"","",_barrel]
drop ["cl_basic", "", "Billboard", _i/500, _i/500,[random(6)-3,random(6)-3,random(6)-3], [0,0,0], 0, 1.25, 1, 1, [_i/300,_i/500],[[0.5,1,0,0.1],[0.5,1,0,0]],[0],0,0,"","",_barrel]
drop ["cl_basic", "", "Billboard", _i/500, _i/500,[random(6)-3,random(6)-3,random(6)-3], [0,0,0], 0, 1.25, 1, 1, [_i/300,_i/500],[[0.5,1,0,0.1],[0.5,1,0,0]],[0],0,0,"","",_barrel]
drop ["cl_basic", "", "Billboard", _i/500, _i/500,[random(6)-3,random(6)-3,random(6)-3], [0,0,0], 0, 1.25, 1, 1, [_i/300,_i/500],[[0.5,1,0,0.1],[0.5,1,0,0]],[0],0,0,"","",_barrel]
drop ["cl_basic", "", "Billboard", _i/500, _i/500,[random(6)-3,random(6)-3,random(6)-3], [0,0,0], 0, 1.25, 1, 1, [_i/300,_i/500],[[0.5,1,0,0.1],[0.5,1,0,0]],[0],0,0,"","",_barrel]
~0.1
_i=_i-1
?(_i>0): goto "Loop"
exit
Można się przekonać jak działa dodając jakiejś beczce
this addEventHandler["Hit",{_this exec "smoke.sqs"}]
Co do tego że skrypt uruchamia się przy każdym trafieniu to widzę tylko jedno wyjście - dopisać jako drugą linijkę skryptu
_barrel setDammage 1, a w configu tych beczek FMLu dopisać
destrType=DestructNo;. Dzięki temu skrypt uruchomi się tylko raz, a to że beczki nie będą się gięły jak papier to chyba nie jest duży problem.