Armed-Assault.de Twitter


Editing The world is a Script - write it!

Antwort
 
Themen-Optionen Ansicht
Alt 15.07.2008, 23:14   #1 (permalink)
Newbie
 
Benutzerbild von feldhase
 
Registriert seit: 07.02.2005
Beiträge: 43
Standard Patrone mit Cam im Bullet Mode verfolgen

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?
feldhase ist offline   Mit Zitat antworten
Alt 16.07.2008, 02:05   #2 (permalink)
50 Beiträge100 Beiträge
 
Benutzerbild von S4mmy
 
Registriert seit: 11.01.2008
Ort: NRW
Alter: 32
Beiträge: 140
Standard

das würde mich auch mal interessieren klingt cool so für ne sniper mission
S4mmy ist offline   Mit Zitat antworten
Alt 16.07.2008, 07:29   #3 (permalink)
10 Jahre hx3
5000 Beiträge10.000 Beiträge15.000 Beiträge
 
Registriert seit: 01.12.2004
Beiträge: 17.667
Standard

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!)

Zitat:

Red4_Squad06_Sergeant01 Fire "SVD";
WaitUntil {Red4_Squad06_Sergeant01 Ammo "SVD" < _Variable02};
_Variable03 = NearestObject [Red4_Squad06_Sergeant01, "B_762x54_noTracer"];

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.

Zitat:

_ZuerfassendeKugel = NearestObject [Schuetze, "Kugel"]

Im Falle eines M24 würde das bspw so aussehen:

Zitat:

_Kugel = NearestObject [Sniper01, "B_762x51_Ball"]

Anschließend kannst du in gewohnter Manier via Kameraloop die Kamera an der Kugel festmachen.
__________________
...
MarcusErgalla ist offline   Mit Zitat antworten
Alt 16.07.2008, 07:58   #4 (permalink)
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

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
Vienna ist offline   Mit Zitat antworten
Alt 16.07.2008, 09:43   #5 (permalink)
Newbie
 
Benutzerbild von feldhase
 
Registriert seit: 07.02.2005
Beiträge: 43
Standard

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
feldhase ist offline   Mit Zitat antworten
Alt 16.07.2008, 19:11   #6 (permalink)
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

Hier eine Beispielmission für den "Fired" EventHandler.
Angehängte Dateien
Dateityp: zip EventHandler_Fired.zip (2,3 KB, 110x aufgerufen)
Vienna ist offline   Mit Zitat antworten
Alt 16.07.2008, 20:42   #7 (permalink)
Newbie
 
Benutzerbild von feldhase
 
Registriert seit: 07.02.2005
Beiträge: 43
Standard

Oh Vienna da danke ich Dir,so wollte ich es sehen
feldhase ist offline   Mit Zitat antworten
Alt 05.08.2008, 01:00   #8 (permalink)
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Cyborg11
 
Registriert seit: 26.03.2008
Beiträge: 2.822
Standard

Zitat von Vienna Beitrag anzeigen

Hier eine Beispielmission für den "Fired" EventHandler.

Ich hab das jetzt mal getestet und ich finde es sehr gut Wollte aber das Skript bzw. die Missi so bearbeiten, dass man per Actionmenü bei Snipergewehren wählen kann, ob man die Bulletcam aktivieren oder deaktivieren will.

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
bcam.sqs
Code:
player removeaction bcam;
player addEventHandler ["Fired", {_this execVM "GeschossCam.sqf"}];
bcam2 = player addaction ["Bulletcam deaktivieren", "bcam2.sqs"];
bcam2.sqs
Code:
player removeeventhandler fired
player removeaction bcam2
Nur leider funktioniert das so nicht
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 01:03 Uhr).
Cyborg11 ist offline   Mit Zitat antworten
Alt 05.08.2008, 19:26   #9 (permalink)
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

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.
Angehängte Dateien
Dateityp: zip EventHandler_Fired_Sniper.zip (2,5 KB, 77x aufgerufen)
Vienna ist offline   Mit Zitat antworten
Alt 05.08.2008, 19:43   #10 (permalink)
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Cyborg11
 
Registriert seit: 26.03.2008
Beiträge: 2.822
Standard

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
Sind die Waffen irgendwo noch im Skript mit verankert?
Cyborg11 ist offline   Mit Zitat antworten
Alt 05.08.2008, 20:29   #11 (permalink)
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

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
Vienna ist offline   Mit Zitat antworten
Alt 05.08.2008, 20:31   #12 (permalink)
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Cyborg11
 
Registriert seit: 26.03.2008
Beiträge: 2.822
Standard

Ach die Waffen werden klein geschrieben. Danke!


Aber wenn man sich eine der beiden Waffen hinzufügen will (player addweapon "M107"), dann ist es ja egal, ob man es dort groß oder klein schreibt. Wieso ist es dort egal?
Cyborg11 ist offline   Mit Zitat antworten
Alt 05.08.2008, 20:45   #13 (permalink)
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

In Programmen wird intern oft alles in Groß- oder Kleinschreibung umgewandelt. Das könnte man auch bei der Abfrage durchführen, aber ich weiß nicht, ob es in ArmA extern eine solche "Umwandlungsfunktion" gibt.
Vienna ist offline   Mit Zitat antworten
Alt 05.08.2008, 21:10   #14 (permalink)
500 Beiträge1000 Beiträge
 
Registriert seit: 12.06.2006
Beiträge: 1.252
Standard

Kronzky's Code Snippets

Zitat:

Adds several string manipulation functions.

Functions include:

* toArray: Converts string into an array of characters
* Length: Returns length of string
* Left: Returns leftmost characters of string
* Right: Returns rightmost characters of string
* Mid: Returns substring
* InStr: Tests for presence of search string
* Index: Returns the position of a search string
* Replace: Replaces every sub-string occurrence
* Upper: Converts string to uppercase
* Lower: Converts string to lowercase
* findFlag: Finds a specific string in a mixed array
* getArg: Returns an argument value from a mixed array
* getArgRev: Returns a qualifyer from a mixed array
* Compare: Compares two strings
* ArraySort: Sorts multi-dimensional arrays

.kju ist offline   Mit Zitat antworten
Alt 05.08.2008, 22:20   #15 (permalink)
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

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.
Vienna ist offline   Mit Zitat antworten
Alt 06.08.2008, 12:05   #16 (permalink)
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Cyborg11
 
Registriert seit: 26.03.2008
Beiträge: 2.822
Standard

Ok, danke

Also so funktioniert es und es ist egal ob man es groß oder klein schreibt
Cyborg11 ist offline   Mit Zitat antworten
Alt 06.08.2008, 19:35   #17 (permalink)
Newbie
 
Benutzerbild von RUS_ALFA
 
Registriert seit: 11.05.2008
Beiträge: 16
Standard

wo kann man denn im skript die zeitlupe ändern?? also dass das ganze langsamer abläuft.
Danke
RUS_ALFA ist offline   Mit Zitat antworten
Alt 06.08.2008, 21:05   #18 (permalink)
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

Das geht nur in Echtzeit!
Vienna ist offline   Mit Zitat antworten
Alt 06.08.2008, 21:10   #19 (permalink)
Newbie
 
Benutzerbild von RUS_ALFA
 
Registriert seit: 11.05.2008
Beiträge: 16
Standard

hmm. ok trotzdem danke.
RUS_ALFA ist offline   Mit Zitat antworten
Alt 13.08.2008, 00:40   #20 (permalink)
50 Beiträge
 
Registriert seit: 08.08.2004
Ort: Mainz
Beiträge: 68
Standard

gibt es ne möglichkeit das diese kamera auch mit waffen von fahrzeugen funktioniert
__________________

stolzes member der Freaky Fraggers
Hannibal ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
muzzle / mode abfragen? SmartGun Editing 2 27.06.2008 18:10


Kontakt - HX3.de - Archiv - Nach oben

Angetrieben durch vBulletin, Entwicklung von Philipp Dörner & Tobias



SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119