Teraz jest Pt 19 kwi, 2024 14:05


Spawn pojazdow

Dział poświęcony edytorowi ArmA II i Operation Arrowhead, czyli tworzeniu misji.
  • Autor
  • Wiadomość
Offline
Avatar użytkownika

Dan

Porucznik

Porucznik

  • Posty: 302
  • Dołączył(a): Pt 19 lut, 2010 00:12
  • Lokalizacja: Łódź

Spawn pojazdow

PostŚr 24 lut, 2010 18:30

Witam,

postanowilem dzisiaj zabic wam cfieka pytaniem jak i gdzie dodac komende:
"this addscore -10" - aby punkty zostaly odjete przy zakupie pojazdu
oraz
"[_this, 1200] call ACE_fnc_add2Clean;" - aby wyprodukowany pojazd zostal usuniety z mapy po 1200sek (~20min)

Próbowalem tak:

Kod: Zaznacz cały
this addAction ["ATV, Desert","spawner.sqf",["ACE_ATV_Honda_Desert","spawnVEHICLES"],[this, 1200]] call ACE_fnc_add2Clean;


niestety bez powodzenia.


Oto caly plik skryptu jakby ktos by zainteresowany.

spawner.sqf
Kod: Zaznacz cały
//In the flag init:
//this addAction ["Create LAV 25","spawner.sqf",["LAV25","SpawnMarker"]];
//where spawnaction is the name of a marker where you want the vehicle to spawn
//spawner.sqf:

_activated = _this select 0;
_activator = _this select 1;
_args = _this select 3;
_unitType = _args select 0;
_spawnMarker = _args select 1;
_unit = _unitType createVehicle (getMarkerPos _spawnMarker);

//Armors:

//this addAction ["LAV25","spawner.sqf",["LAV25","spawnheavy"]];
//this addAction ["M1127 Stryker RV, Slat armor","spawner.sqf",["ACE_Stryker_RV_SLAT","spawnheavy"]];
//this addAction ["M1126 Stryker ICV, M2/Slat armor","spawner.sqf",["ACE_Stryker_ICV_M2_SLAT","spawnheavy"]];
//this addAction ["M1126 Stryker ICV, Mk19/Slat armor","spawner.sqf",["ACE_Stryker_ICV_MK19_SLAT","spawnheavy"]];
//this addAction ["M1128 Stryker MGS, Slat armor","spawner.sqf",["ACE_Stryker_MGS_Slat","spawnheavy"]];
//this addAction ["M1134 Stryker, ATGM, Slat armor","spawner.sqf",["ACE_Stryker_TOW_Slat","spawnheavy"]];
//this addAction ["M1134 Stryker, ATGM/M240, Slat armor","spawner.sqf",["ACE_Stryker_TOW_MG_Slat ","spawnheavy"]];
//this addAction ["M2A2 Bradley, Desert","spawner.sqf",["ACE_M2A2_D","spawnheavy"]];
//this addAction ["M6 Linebacker, Desert","spawner.sqf",["ACE_M6A1_D","spawnheavy"]];
//this addAction ["AAV","spawner.sqf",["AAV","spawnheavy"]];
//this addAction ["MLRS","spawner.sqf",["MLRS","spawnheavy"]];
//this addAction ["M1A1 HC, Desert","spawner.sqf",["ACE_M1A1HC_DESERT","spawnheavy"]];
//this addAction ["M163 VADS","spawner.sqf",["ACE_Vulcan","spawnheavy"]];
//this addAction ["M113A3","spawner.sqf",["ACE_M113A3","spawnheavy"]];

//Choppers:

//this addAction ["AH-6 Little Bird","spawner.sqf",["ACE_AH6","spawnChopper"]];
//this addAction ["AH-6 Little Bird GAU-19","spawner.sqf",["ACE_AH6_GAU19","spawnChopper"]];
//this addAction ["AH-1W Super Cobra Desert","spawner.sqf",["ACE_AH1W_AGM_D","spawnChopper"]];
//this addAction ["AH-1Z Viper FFAR/AMG114 Desert","spawner.sqf",["ACE_AH1Z_AGM_D","spawnChopper"]];
//this addAction ["AH-1Z Viper AMG114 Desert","spawner.sqf",["ACE_AH1Z_AGM_D","spawnChopper"]];
//this addAction ["AH-1Z","spawner.sqf",["AH1Z","spawnChopper"]];
//this addAction ["AH64D","spawner.sqf",["AH64D","spawnChopper"]];
//this addAction ["AH64D SIDEWINDERS","spawner.sqf",["AH64D_Sidewinders","spawnChopper"]];

//Choppers Transport:

//this addAction ["MH-6 Little Bird","spawner.sqf",["ACE_MH6","spawnChopperTRANS"]];
//this addAction ["UH1Y","spawner.sqf",["UH1Y","spawnChopperTRANS"]];
//this addAction ["MH60S","spawner.sqf",["MH60S","spawnChopperTRANS"]];

//Airplanes:

//this addAction ["AV8B2","spawner.sqf",["AV8B2","spawnAIRCRAFT"]];
//this addAction ["AV8B","spawner.sqf",["AV8B","spawnAIRCRAFT"]];
//this addAction ["F35","spawner.sqf",["F35","spawnAIRCRAFT"]];
//this addAction ["A10","spawner.sqf",["A10","spawnAIRCRAFT"]];

//Cars:

//this addAction ["ATV, Desert","spawner.sqf",["ACE_ATV_Honda_Desert","spawnVEHICLES"]];
//this addAction ["GMV-S (M2)","spawner.sqf",["ACE_HMMWV_GMV","spawnVEHICLES"]];
//this addAction ["GMV-R (Mk19)","spawner.sqf",["ACE_HMMWV_GMV_MK19","spawnVEHICLES"]];
//this addAction ["HMMWV (M2)","spawner.sqf",["HMMWV_M2","spawnVEHICLES"]];
//this addAction ["HMMWV Armored (M240)","spawner.sqf",["HMMWV_Armored","spawnVEHICLES"]];
//this addAction ["HMMWV (Mk19)","spawner.sqf",["HMMWV_MK19","spawnVEHICLES"]];
//this addAction ["HMMWV TOW","spawner.sqf",["HMMWV_TOW","spawnVEHICLES"]];
//this addAction ["HMMWV Avenger","spawner.sqf",["HMMWV_Avenger","spawnVEHICLES"]];

//Cars Support:

//this addAction ["MTVR","spawner.sqf",["MTVR","spawnVEHICLES"]];
//this addAction ["MTVR ammo","spawner.sqf",["MtvrReammo","spawnVEHICLES"]];
//this addAction ["MTVR refuel","spawner.sqf",["MtvrRefuel","spawnVEHICLES"]];
//this addAction ["MTVR repair","spawner.sqf",["MtvrRepair","spawnVEHICLES"]];

Offline
Avatar użytkownika

Dodo

Szeregowy

Szeregowy

  • Posty: 32
  • Dołączył(a): So 31 paź, 2009 20:26
  • Lokalizacja: Piaseczno

PostŚr 24 lut, 2010 18:47

Spróbuj usunąć łamane przed komendami AddAction.
Offline
Avatar użytkownika

Dan

Porucznik

Porucznik

  • Posty: 302
  • Dołączył(a): Pt 19 lut, 2010 00:12
  • Lokalizacja: Łódź

PostŚr 24 lut, 2010 19:57

Nie nie, to jest w skrypcie wpisane w ten sposob zeby skrypt nie czytal tego. Wpisalem to tam tylko dla siebie zeby miec to w jednym miejscu (dlatego polecenia w skrypcie sa zakomentowane // ).

Taka komende wpisuje sie w edytorze w init budynku/obiektu gdzie mozna stworzyc pojazd

Kod: Zaznacz cały
this addAction ["LAV25","spawner.sqf",["LAV25","spawnheavy"]];


i wtedy podchodzac do jakiegos budynku (ktory ma w init wpisane to co wyzej) masz opcje do zrobienia LAV25.

Ale wracajac do tematu

jak i gdzie wsadzic:

to
Kod: Zaznacz cały
this addscore -10


i to
Kod: Zaznacz cały
[_this, 1200] call ACE_fnc_add2Clean;



zeby zadzialalo i bylo jednym z argumentow w komendzie ponizej

Kod: Zaznacz cały
this addAction ["ATV, Desert","spawner.sqf",["ACE_ATV_Honda_Desert","spawnVEHICLES"]]
Offline
Avatar użytkownika

Dodo

Szeregowy

Szeregowy

  • Posty: 32
  • Dołączył(a): So 31 paź, 2009 20:26
  • Lokalizacja: Piaseczno

PostŚr 24 lut, 2010 20:49

Sorry pomyliło mi się.
Wracając do tematu.

Aby komenda AddScore działała to musi być warunek który sprawdza czy ten LAV jest.
Gdzieś w jakimś skrypcie musi być warunek:

Kod: Zaznacz cały
@ (_unit Distance markerpos _spawnMarker) < 10


i potem:

Kod: Zaznacz cały
this addscore -10


Powiedz czy to działa, jak nie to pomyśle nad czymś innym.
Offline
Avatar użytkownika

Dan

Porucznik

Porucznik

  • Posty: 302
  • Dołączył(a): Pt 19 lut, 2010 00:12
  • Lokalizacja: Łódź

PostCz 25 lut, 2010 19:06

Nie, jakos nie moge doprowadzic do tego by to dzialalo i bylo w jednej komendzie (linijce).

Wiem ze warunek w komendzie musi byc jako ostatnia składowa komendy, mimo to cos nie chce dzialac.

Kod: Zaznacz cały
this addAction ["LAV25","spawner.sqf",["LAV25","spawnheavy"],[player addscore -10],[@ (_unit Distance markerpos _spawnMarker) < 10]];
Offline
Avatar użytkownika

Dodo

Szeregowy

Szeregowy

  • Posty: 32
  • Dołączył(a): So 31 paź, 2009 20:26
  • Lokalizacja: Piaseczno

PostCz 25 lut, 2010 19:26

To raczej nie może być tu, ale na końcu tego skryptu.
Offline
Avatar użytkownika

gremdek

Porucznik

Porucznik

  • Posty: 428
  • Dołączył(a): Pn 27 lut, 2006 15:02

PostPt 26 lut, 2010 21:28

patrząc na to:
Kod: Zaznacz cały
unitName addAction [title, filename, (arguments, priority, showWindow, hideOnUse, shortcut, condition)]


widzimy, że nie da się paru linijek kodu wykonywalnego dodać do akcji. musisz zmodyfikować spawner.sqf::

Kod: Zaznacz cały
//In the flag init:
//this addAction ["Create LAV 25","spawner.sqf",["LAV25","SpawnMarker"]];
//where spawnaction is the name of a marker where you want the vehicle to spawn
//spawner.sqf:

_activated = _this select 0;
_activator = _this select 1;
_args = _this select 3;
_unitType = _args select 0;
_spawnMarker = _args select 1;
_unit = _unitType createVehicle (getMarkerPos _spawnMarker);

_activator addscore -10; //_activator to jednostka ktora wcisnela przycisk
[_unit, 1200] call ACE_fnc_add2Clean; //_unit to utworzona jednostka, WAZNE -> sprawdz czy musi byc tak funkcja wywolana lokalnie czy globalnie, mysle ze lokalnie starczy, a tak dzialaja akcje w armie.


//reszta tych bzdur
/*
     taki komentarz tez dziala, a jest bardziej przejrzysty
*/
 



aha i na tym twoim budynku czy czyms tam: this addAction ["Create LAV 25","spawner.sqf",["LAV25","SpawnMarker"]];
:(
Offline
Avatar użytkownika

Dan

Porucznik

Porucznik

  • Posty: 302
  • Dołączył(a): Pt 19 lut, 2010 00:12
  • Lokalizacja: Łódź

PostSo 27 lut, 2010 14:06

Dzieki Gremdek, wyglada na to ze wszystko dziala jak nalezy.

Powrót do [ArmA II] Edytor

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 20 gości

cron