Visa ämne
Anrop » ArmA 3 » Editing
 Skriv ut ämne
HKP 16 Hydrofon :)
Med tanke på senaste aktiviteten i skärgården så har jag skapat en enkel hydrofon att använda Smile Scriptet finns nedanför, skulle dock behöva få lite hjälp att definiera exempelvis _uboat = "O_SDV_01_F"; eller liknande så man slipper ha namn på ubåten, detsamma gäller helikoptern.

Sitter för närvarande och försöker ordna så att hydrofonen bara hittar utbåten om den är igång samt rör på sig.

helikopterns namn: bajs
helikopterns ini: this addAction ["Activate hydrophone","hydro.sqf",[1],0,false,true,""," driver _target == _this"];

ubåtens namn: shit

scriptet:

_uboat = shit;
_heli = bajs;
_Pil = driver _heli;
_rope = "BuoySmall" createVehicle position _heli;
_rope attachTo[_heli,[0,0,-4.8]];
_hydrophone = "Land_WaterBarrel_F" createVehicle position _rope;
_hydrophone attachTo[_rope,[0,0,-3.5]];
_prefferedheight = -1;
_range = 350;
_hydroheight = getposASL _hydrophone select 2;

if (_hydroheight > _prefferedheight) then {if (player == _Pil) then {hint "The hydrophone is not active in the air!";sleep 2;
deleteVehicle _rope;
deleteVehicle _hydrophone;}} else
{if (_hydrophone distance _uboat > _range) then {if (player == _Pil) then {hint "Searching"};sleep 8;if (player == _Pil) then {hint "No Signals!"};}
else {if (player == _Pil) then {hint "Searching!"};sleep 8;if (player == _Pil) then {hint "The hydrophone detects activity in the water!"};};};

sleep 5;
deleteVehicle _rope;
deleteVehicle _hydrophone;



Playing Diablo 3 is for losers! Boting Diablo 3 is for winners!
nice Smile detta vill vi ju ha in i SFP.

För norrköping har vi gjort..
_unitsOnRadar = (getpos _radar) nearEntities [["Ship","Air"],8000];

Skulle väl räcka för dig med kanske:
_unitsOnRadar = (getpos _hydrophone) nearEntities [["Ship],2000];

if (count _unitsOnRadar > 0) then {hint "The hydrophone detects activity in the water!"};
Lite sonar-ljud på det där så blir det riktigt fräsigt Grin
Lägg till detta! nu behöver vi bara en ubåt att jaga Pfft
matheez is never late nor is he early he arrives precisely when he means to

Citera

matheez skrev:

Lägg till detta! nu behöver vi bara en ubåt att jaga Pfft


Har ett op färdigt Smile Ska bara fixa lite scripts sen kommer ett op Smile
Playing Diablo 3 is for losers! Boting Diablo 3 is for winners!
Visst borde detta gås att få att funka med slings på helikoptrarna? Så att den svänger lite snyggt, osv Smile
Finns nya kommandon i 1.34 för att skapa rep och knuta ihop säcken, https://community.bistudio.com/wiki/C...rsion_1.34

Citera

ZiP skrev:

Finns nya kommandon i 1.34 för att skapa rep och knuta ihop säcken, https://community.bistudio.com/wiki/C...rsion_1.34


SATAN vad coolt! Tror jag skall koda resten av arbetsdagen Smile
Playing Diablo 3 is for losers! Boting Diablo 3 is for winners!
Version 2 är klart! Repet och hydrofonen har fått egen physx. Hydrophonen väger bly och påverkar verkligen helikopterns egenskaper.

För nedladdning

http://Royalcloud...95d16b1836


Playing Diablo 3 is for losers! Boting Diablo 3 is for winners!
snyggt jobbat!
matheez is never late nor is he early he arrives precisely when he means to

Citera

Megadeth skrev:

Version 2 är klart! Repet och hydrofonen har fått egen physx. Hydrophonen väger bly och påverkar verkligen helikopterns egenskaper.

För nedladdning

http://Royalcloud...95d16b1836


Snyggt värre! Grin
Hej!

Jag har uppgraderat hydrofonscriptet lite men får inte riktigt till scriptet då jag försöker definiera helikoptern. Just denna rad förstör lite granna om man har flera helikoptrar nära varandra.

_heli = getPos player nearestObject "B_Heli_Transport_01_F";

Går det på någotsätt att definiera detta utan getpost player?


Helicopters ini: null = [this] execVM "hydrophone.sqf";

_heli = getPos player nearestObject "B_Heli_Transport_01_F"; // Sets the carrier of the hydrophone
_Pil = driver _heli;
_ropelength = 15; // sets the length of the rope
_sonar = "Land_WaterBarrel_F" createVehicle position _heli;
_rope = ropeCreate [_heli, [0,2,-1], _sonar, [0,0,0], _ropelength];
_heli addAction["Search", "search.sqf"];
Playing Diablo 3 is for losers! Boting Diablo 3 is for winners!
Helicopters init: null = this execVM "hydrophone.sqf";

Kod Källa  

_heli = _this;   // Sets the carrier of the hydrophone
_Pil = driver _heli;
_ropelength = 15; // sets the length of the rope
_sonar = "Land_WaterBarrel_F" createVehicle position _heli;
_rope = ropeCreate [_heli, [0,2,-1], _sonar, [0,0,0], _ropelength];
_heli addAction["Search", "search.sqf"];


_heli = _this;
Detta gör kopplingen du vill ha.

Du skrev: [this] execVM "hydrophone.sqf";
Det går också bra, men då måste du skriva _heli = _this select 0;, eftersom [] betyder att du skickar in en array in i skriptet.

null = this execVM "hydrophone.sqf";
Kan någon annan uttala sig om detta är "okej"? null kan vara en fördefinierad global variabel i Arma 3 som kan ge error om du försöker ändra den. Jag brukar använda _script, för det vet jag inte används av Arma 3. Om inte annat, så skriv _null så blir den lokal istället.
Redigerat av Chris_Acrobat den 2014-11-21 12:39
CAUTION: I'm a screamer and I'm using Voice-Activated!
Om jag skriver _Heli = _this måste jag inte definiera _this = "B_Heli_Transport_01_F" eller?

Räcker det bara med _this

null = this execVM "hydrophone.sqf";
Kan någon annan uttala sig om detta är "okej"? null kan vara en fördefinierad global variabel i Arma 3 som kan ge error om du försöker ändra den. Jag brukar använda _script, för det vet jag inte används av Arma 3. Om inte annat, så skriv _null så blir den lokal istället.[/quote]

Den här biten fungerar iaf Smile
Redigerat av Megadeth den 2014-11-21 14:37
Playing Diablo 3 is for losers! Boting Diablo 3 is for winners!

Citera

Megadeth skrev:
Om jag skriver _Heli = _this måste jag inte definiera _this = "B_Heli_Transport_01_F" eller?

Räcker det bara med _this
Exakt! _this är objektet som du skickade med när du startade scriptet. I det här fallet helikoptern. Skulle du skriva t.ex. null = player execVM "hydrophone.sqf"; så skulle du göra dig själv till få en sonar under dig (plus alla andra som spelar på servern, beroende på hur du kallar på skriptet. så gör inte det. ^^).
I ditt skript, när du skriver "B_Heli_Transport_01_F", så funkar scriptet endast för "B_Heli_Transport_01_F"-helikoptrar. Om du vill lägga till stöd för fler så måste du ändra på skriptet. Men när du skriver _Heli = _this; så kan du skriva null = red_heli1 execVM "hydrophone.sqf";, null = flygande_stridsfordon56 execVM "hydrophone.sqf"; och null = snurrande_ubatar execVM "hydrophone.sqf"; och skriptet behöver inte skrivas om ett dugg oavsett vad det råkar vara!
Förutsatt att du har fordon (objekt) som du döpt till red_heli1, flygande_stridsfordon56 och snurrande_ubatar förstås.

Citera

Megadeth skrev:
null = this execVM "hydrophone.sqf";
Kan någon annan uttala sig om detta är "okej"? null kan vara en fördefinierad global variabel i Arma 3 som kan ge error om du försöker ändra den. Jag brukar använda _script, för det vet jag inte används av Arma 3. Om inte annat, så skriv _null så blir den lokal istället.

Den här biten fungerar iaf Smile
Bra, då behöver du inte byta. Smile
Redigerat av Chris_Acrobat den 2014-11-21 14:57
CAUTION: I'm a screamer and I'm using Voice-Activated!
[quote]Megadeth skrev:

Om jag skriver _Heli = _this måste jag inte definiera _this = "B_Heli_Transport_01_F" eller?

Räcker det bara med _this

Bara en liten parentes att tänka på _heli blir lokal i scriptet du skickar ifrån, är odefinerad i scriptet du skickar till.
null är inget i någon av arma versionerna, nil är det.
istället för null kan du använda i stort sett vad som passar ditt sinne så länge det inte är någon av de fördefinerade variablerna i A3, använder ofta X själv, undvik att använda lokala variabler när du kallar på script, speciellt om du ska ha det i MP miljö.
slöben och lite kod knackare Cool

Citera

metal skrev:
undvik att använda lokala variabler när du kallar på script, speciellt om du ska ha det i MP miljö.

Hur menar du nu?
CAUTION: I'm a screamer and I'm using Voice-Activated!
Mega, jag har uppdaterat lower.sqf.

Ändringarna gör att den själv kollar upp positioner för var "slingloading" sitter, gör den mer pålitlig att den hamnar rätt oavsett vilken helikopter som används. La även in din hydronfon istället för tunnan..

Kod Källa  

_heli = _this select 0;         // set the hydrophone carrier.
_heliType = typeOf _heli;      // What kind of vehicle is this
_slingPos = getText (configFile >> "CfgVehicles" >> _heliType >> "slingLoadMemoryPoint");      // Finds if the helicopter has a defined memory point for the rope, if not assume a default.
hydroSpawn = _heli modelToWorld (_heli selectionPosition _slingPos);

_Pil = driver _heli;         // sets what vehicle position can use this script. must be the same as in "Activate.sqf", "Lower,sqf", "Raise,sqf".

_ropelength = 1.5;                                              // sets the spawn length of the rope
_hydrophone = "sfp_hydrophone204" createVehicle [getpos _heli select 0, getpos _heli select 1, 10];   // 3d model must be the same as in "Activate.sqf", "Lower,sqf", "Raise,sqf".

_rope = ropeCreate [_heli, _slingPos, _hydrophone, [0,0,0], _ropelength];

_hydroheight = getposASL _hydrophone select 2;
_prefferedheight = -5;                                       // sets the hydrophone activation depth, it should not "work" above the sea. See "WaitUntil command further down the page"

removeAllActions _heli;

ropeUnwind [ ropes _heli select 0, 1.5, 15];

_raisethehydrophoneaction = _heli addAction ["Raise the hydrophone", "hydrophone\raise.sqf",[_hydrophone, _heli],6];


while {(player == _pil) and ( 14 > (ropeLength (ropes _heli select 0))) AND (alive _heli)} do
{
sleep 0.3;
hint "Lowering the hydrophone.";
sleep 0.3;
hint "Lowering the hydrophone..";
sleep 0.3;
hint "Lowering the hydrophone...";


};

hint "";

//waitUntil { _hydroheight < _prefferedheight }; //I never got this part to work :(

_heli addAction ["Activate the hydrophone","hydrophone\activate.sqf",[_hydrophone, _heli],6,true,true,"","speed _this < 10 AND speed _this > -10"];
Sweet! Hur ser det ut med lods och texturer, han du göra även det? Snart ska vi spela op och jag är riktigt taggad!
Playing Diablo 3 is for losers! Boting Diablo 3 is for winners!
Ah du såg inte..

http://steamcommu...=347651717
http://steamcommu...=347639479

Flög runt en hel del igår, var trevligt.. finns dock ett par grejer

1) Lägga in så den känner av ifall sonaren lossnat, krävs lite våld men kan hända.
2) Ser knas ut om man försöker transportera annat samtidigt, vet inte om det går att fixa så den blockeras.
3) Göra en modul till SFP tycker jag, så man kan enkelt koppla på genom dra en linje.
4) Fixa så man får en riktning istället för avstånd till målet i hydroskriptet, jag skall ha sånt där liggandes någonstans.. är lite cos/sin..
Redigerat av Granquist den 2014-11-28 08:37