![]() |
#1 (permalink) |
![]() Registriert seit: 07.02.2005
Beiträge: 43
|
![]()
Ich könnte Eure Hilfe bei folgendem Problem gebrauchen: In meiner Mission muss unter anderem ein Sniper böse Buben ausknipsen was ja vorkommen soll
![]() Nun wollte ich einen Effekt einbauen der mir aus OFP Zeiten im AddOn ~Planet of War~ begegnet ist---der Schuss fällt---Patrone wird gezeigt----Patrone bewegt sich im Bullet Mode auf das Ziel und wird dabei ständig von der Cam begleitet,bis ca. 3 sek. nach auftreffen der Patrone auf das Ziel. Kann ich das in ARMA realisieren oder ist es nicht möglich? |
![]() |
![]() |
![]() |
#3 (permalink) |
![]() ![]() ![]() ![]() Registriert seit: 01.12.2004
Beiträge: 17.671
|
![]()
Natürlich ist das möglich, nur das die Kugel ziemlich mistig aussieht, da es dann nur ein Kugel ist, also ein gelber Strich, da die Patronen kein eigenes Model haben. In meiner Kampagne hab ich etwas derartiges verbaut, allerdings sitzt die Kamera dort nicht hinter der Kugel, sondern vor ihr, wodurch das ganze etwas besser aussieht, als wenn der gelbe oder rote Tracerstrich zu sehen ist.
Um die abgefeuerte Kugel per Skript zu erfassen, benötigst du folgende Abfrage: (Wichtig, ist alles in SQF geschrieben, da ich ausschließlich in SQF-Editiere, für SQS müstest du eben entsprechend unterschiedliche Befehle ändern!) Der Schütze wird angewiesen zu feuern, dann wird gewartet bis er dies getan hat und mit der dritten Zeile wird die abgefeuerte Kugel erfasst. Im Falle eines M24 würde das bspw so aussehen: Anschließend kannst du in gewohnter Manier via Kameraloop die Kamera an der Kugel festmachen.
__________________
... |
![]() |
![]() |
![]() |
#4 (permalink) |
![]() ![]() ![]() ![]() Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
![]()
Soweit ich mich erinnern kann, wird mit addEventHandler unter "Fired" die abgefeuerte Munition genannt. Damit kann man die Funktion starten, wenn ein Abschuß erfolgt und auch die Bezeichnung des Geschoßes für die Funktion ermitteln.
Fired Triggered when the unit fires a weapon. This EH will not trigger if a unit fires out of a vehicle. For those cases an EH has to be attached to that particular vehicle. Passed array: [unit, weapon, muzzle, mode, ammo] unit: Object - Object the event handler is assigned to weapon: String - Fired weapon muzzle: String - Muzzle which was used mode: String - Current mode of the fired weapon ammo: String - Ammo used |
![]() |
![]() |
![]() |
#5 (permalink) |
![]() Registriert seit: 07.02.2005
Beiträge: 43
|
![]()
danke für die schnelle Antwort,ich habe jetzt die besagte Missi von POW nochmal rausgekramt und hier das Skript dazu (BulletCam)
_sniper = _this select 0 _acctime = 0.3 _i = 180 ;setacctime _acctime #loop _near= nearestobject [_sniper,"BulletSniperW"] ? (alive _near && _near distance _sniper > 4):setacctime _acctime;goto "CreateCam" ;_near2= nearestobject [_sniper,"Bullet7_6E"] ;?_near2 distance player <10: setacctime _acctime; _near2 exec "delete.sqs" ?getdammage player>=.9:goto "tot" ~0.0000001 ;?getdammage player>=.9:goto "tot" goto "loop" #CreateCam _camera= "camera" camCreate [0,0,0] _camera cameraEffect ["internal","back"] #camloop _x=(getpos _near select 0) + ((sin (getdir _near+_i))*0.1) _y=(getpos _near select 1) + ((cos (getdir _near+_i))*0.1) _z=getpos _near select 2 ?(not alive _near or (_near distance player) > 600):goto "end" _camera camSetTarget _near ;_camera camSetBank 40 _camera camSetPos [_x,_y,_z] _camera camSetFOV 1.500 _camera camCommit 0 ?getdammage player>=.9:goto "tot" @camCommitted _camera ~.000000000001 ?(not alive _near or (_near distance player) > 600):goto "end" ?(not isnull (nearestobject [_near,"SoldierEMG"])):_a= nearestobject [_near,"SoldierEMG"] _z = _a distance _near goto "camloop" #end ?_a==player:goto "p" ~.01 ;player sidechat format ["dammage %1, z %2", getdammage _a,_z] ?(getdammage _a)<0.1 or (_z>2.5):goto "w" _x=(getpos _a select 0) - ((sin (getdir player))*1) _y=(getpos _a select 1) - ((cos (getdir player))*1) _z=(getpos _a select 2) +1 _camera camSetTarget _a ;_camera camSetPos [_x,_y,_z] _camera camSetFOV .300 _camera camCommit 0 ;player sidechat "Got one !" ~0.5 #w ~.1 setacctime 1 _camera cameraEffect ["terminate","back"] camDestroy _camera goto "loop" exit #tot _x=(getpos player select 0) + ((sin (getdir player+180))*3) _y=(getpos player select 1) + ((cos (getdir player+180))*3) _z=getpos player select 2 _camera= "camera" camCreate [0,0,0] _camera cameraEffect ["internal","back"] _camera camSetTarget player _camera camSetPos [_x,_y,_z] _camera camSetFOV 0.50 _camera camCommit 0 ~1 setacctime 1 _camera cameraEffect ["terminate","back"] camDestroy _camera Ehrlich gesagt hab ich nicht die große Ahnung vom Skripten,bin schon froh wenn ich das mit der cam und dem Bulettmode gerafft habe ,aber in so einer komplexen Verbindung ![]() |
![]() |
![]() |
![]() |
#8 (permalink) |
![]() ![]() ![]() Registriert seit: 26.03.2008
Beiträge: 2.822
|
![]() Ich hab das jetzt mal getestet und ich finde es sehr gut ![]() Ich hab erstmal ein Auslöser erstellt: Code:
Bedingung: (animationState player == "AMOVPERCMSTPSRASWRFLDNON" OR animationState player == "AMOVPKNLMSTPSRASWRFLDNON" OR animationState player == "AMOVPPNEMSTPSRASWRFLDNON") AND (player hasweapon "M107" OR player hasweapon "MK12SPR" OR player hasweapon "M24" OR player hasweapon "SVD" OR player hasweapon "KSVK") Aktivierung: bcam = player addaction ["Bulletcam aktivieren", "bcam.sqs"] Deaktivierung: player removeaction bcam Code:
player removeaction bcam; player addEventHandler ["Fired", {_this execVM "GeschossCam.sqf"}]; bcam2 = player addaction ["Bulletcam deaktivieren", "bcam2.sqs"]; Code:
player removeeventhandler fired player removeaction bcam2 ![]() Es gibt 2 Probleme: 1. Wenn ich dann Bulletcam deaktivieren wähle, dann passiert nichts. Also ich behalte einfach die Bulletcam :o 2. Irgendwie bekomme ich überhaupt keine Action, wenn ich mit meiner MK12SPR ausgerüstet bin, obwohl das ja auch eine Bedingung ist. Könntest du mir da weiterhelfen Vienna? Wäre nett, danke schonmal im Voraus ![]() Geändert von Cyborg11 (05.08.2008 um 02:03 Uhr). |
![]() |
![]() |
![]() |
#9 (permalink) |
![]() ![]() ![]() ![]() Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
![]()
Ich habe dir das in eine Beispielmission gepackt.
Das Kameraskript muß in eine Variable abgelegt werden, da es sonst vorkommt dass das Skript nicht schnell genug von der Festplatte geladen und der Schuss nicht angezeigt wird. Auch war für das Ein- und Ausschalten der Kamerasicht ein Skript erforderlich. Es funktioniert mit der West- und Ostsniperwaffe, egal welcher Seite der Spieler angehört. |
![]() |
![]() |
![]() |
#10 (permalink) |
![]() ![]() ![]() Registriert seit: 26.03.2008
Beiträge: 2.822
|
![]()
Ok danke
![]() Nun noch eine letzte Frage: Wie kann ich jetzt neue Waffen hinzufügen? Ich hab die M107 und die KSVK mit in die Bedingung geschrieben, nur wird die Aktion bei den beiden Waffen einfahc nicht angezeigt! :o So schaut die Bedingung bei mir jetzt aus: Code:
primaryWeapon player IN ["M24","SVD","KSVK","M107"] AND alive player |
![]() |
![]() |
![]() |
#11 (permalink) |
![]() ![]() ![]() ![]() Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
![]()
Nein, nur im Auslöser. Du dort jede Waffe reinschreiben.
Du mußt dir -wie ich es dir gezeigt habe- immer die korrekten Waffennamen anzeigen lassen und auf die Groß- und Kleinschreibung achten! primaryWeapon player IN ["M24","SVD","kskv","m107"] AND alive player |
![]() |
![]() |
![]() |
#14 (permalink) |
![]() ![]() Registriert seit: 12.06.2006
Beiträge: 1.252
|
![]()
Kronzky's Code Snippets
|
![]() |
![]() |
![]() |
#15 (permalink) |
![]() ![]() ![]() ![]() Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
![]()
Gute Funktionen. Als ich sie mir ansah stellte ich fest, dass es seit der V1.09 schon die Umwandlungsbefehle gibt (toUpper, toLower).
Cyborg11, wenn du das so abfragst und für die Waffenbezeichnungen nur Großbuchstaben nimmst, dann brauchst du dich um die Groß- und Kleinschreibung nicht mehr kümmern. toUpper(primaryWeapon player) IN ["M24","SVD","KSVK","M107"] AND alive player Probier das gleich einmal aus. |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
Ansicht | |
|
|
![]() |
||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
muzzle / mode abfragen? | SmartGun | Editing | 2 | 27.06.2008 19:10 |