22.04.2013, 01:14 | #1 (permalink) |
Registriert seit: 04.01.2008
Ort: Internet
Alter: 42
Beiträge: 253
|
Nur Schallgedämpfte waffen
Hallo Community
Mir ist da beim rumspielen versch. Ansätze für eine Mission bzw. Auftrag eine Idee gekommen. Der Spieler soll bzw. kann nur Schallgedämpfte Waffen für diesen Auftrag benutzen ansonsten würde der Alarm losgehen wenn er schießt. Ich habe versucht das mittels hasWeapon um zu setzen aber musste feststellen das damit leider kein zufriedenstellendes Ergebnis bei raus gekommen ist. Gibt es eine Möglichkeit mittels Skript oder Befehl abzufragen ob der Spieler eine Schallgedämpfte Waffe hat? Danke schon mal Gruß BF
__________________
Manche halten OFP und ArmA/2 für verbuggt, ich halte es für eine Herausforderung... Aktueller preview trailer: https://vid.me/lFy1 |
22.04.2013, 01:46 | #3 (permalink) |
Registriert seit: 04.01.2008
Ort: Internet
Alter: 42
Beiträge: 253
|
Danke Vienna, ist nen netter und simpler Ansatz aber, leider, so geht das nicht.
Ist für eine SP Mission gedacht und in dieser Mission bekommt man im laufe der Zeit Aufräge zugeteilt durch die man Geld verdient - D.h das der Spieler in seinem Lager sich alles was er sich so leisten kann, erkaufen kann (einige werden bestimmt den Vorgänger SOF kennen) Daher suche ich, bei diesem Auftrag, nach einer Lösung das der Spieler bei dem Auftrag nur SD Waffen benutzen kann ohne "entdeckt" zu werden. Es soll ja nicht einfach nur in der Missionsbeschreibung stehen "Du musst zwingend eine SD Waffe verwenden" und wenn dann der Spieler das nicht tut ist die Konsequenz = 0
__________________
Manche halten OFP und ArmA/2 für verbuggt, ich halte es für eine Herausforderung... Aktueller preview trailer: https://vid.me/lFy1 |
22.04.2013, 14:52 | #4 (permalink) |
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
Im Link ist beschrieben wie man mit einer eigenen Funktion feststellen kann ob jemand unerlaubte Ausrüstungsgegenstände im Inventar hat: Funktion WaffeVorhanden. In einer Array-Variablen wird die erlaubte Ausrüstung angeführt.
Mit einem "Fired"-EventHandler ist feststellbar welche Waffe und Munition verwendet wurde. Zum Testen der Rückgabe von "fired" folgenden Code über einen Auslöser starten (einfach reinkopieren): Code:
temp = vehicle player addEventHandler [ "Fired", { _this spawn { hint format [ "Fired-Array: _this select\n\n0 = %1\n1 = %2\n2 = %3\n3 = %4\n4 = %5\n5 = %6\n6 = %7", _this select 0, _this select 1, _this select 2, _this select 3, _this select 4, _this select 5, _this select 6 ] } } ]; |
22.04.2013, 18:49 | #5 (permalink) |
Registriert seit: 04.01.2008
Ort: Internet
Alter: 42
Beiträge: 253
|
Danke dir vienna, werde ich mir gleich mal anschauen, die 2 Beispiele.
In der Zwischenzeit habe ich in den Weiten des Netzes ein interessantes sowie recht brauchbares script gefunden welches nicht erlaubte Waffen dem Spieler einfach weg nimmt , nicht die feine art aber durchaus brauchbar sowie erweiterbar. Beim rumtesten mit dem skript habe ich es, soweit meine bescheidenen SQF Kenntnisse reichen, hinbekommen das wenn eine Bedingung (hier zum testen einfach Ready=true) erfüllt ist, die Waffenbeschränkung aufgehoben wird. Soweit so gut, doch gillt das alles nur für den Spieler selbst - Ich habe da Probleme das auf die Gruppe des Spielers zu erweitern. Vielleicht hat jemand nen Lösungsansatz den ich übersehen habe. Hier mal das Skript So und jetzt schau ich mir mal die Beispiele an
__________________
Manche halten OFP und ArmA/2 für verbuggt, ich halte es für eine Herausforderung... Aktueller preview trailer: https://vid.me/lFy1 |
23.04.2013, 19:22 | #6 (permalink) |
Registriert seit: 04.01.2008
Ort: Internet
Alter: 42
Beiträge: 253
|
Soo.
Vienna habe mir deine Skripte angeschaut, sehr nützlich aber weder das eine von dir noch das andere was ich gefunden habe führte zu dem ergebnis was ich wollte, leider. Nun habe ich mich noch etwas genauer mit "hasweapon" befasst und denke das es damit doch realisierbar ist. Genau genommen möchte ich das so machen das wenn der Spieler und/oder eines der KI mitglieder eine nicht SD waffe hat und die dann in einem bestimmten bereich abgefeuert werden ein alarm los geht. Problem hier wieder mit hasweapon ist das die teammitglieder keine namen haben und das ab zu fragen. Gibt's da irgendeine möglichkeithasweapon auf die ganze gruppe vom spieler an zu wenden? danke schon mal
__________________
Manche halten OFP und ArmA/2 für verbuggt, ich halte es für eine Herausforderung... Aktueller preview trailer: https://vid.me/lFy1 |
23.04.2013, 20:19 | #7 (permalink) |
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
Mein Beispiel mit dem Fired-EventHandler soll nur aufzeigen wie die abgefeuerte Waffe ermittelt werden kann. Es bedarf natürlich noch einer Routine abzufragen ob es erlaubte Waffe war.
Vielleicht hilft dir dieser Code weiter der diesen EventHandler verwendet: Code:
temp = vehicle player addEventHandler [ "Fired", { _this select 1 spawn { _erlaubteWaffen = ["NameWaffe 1","NameWaffe 2"]; if (_this in _erlaubteWaffen) then {hint "Korrekte Waffe!"} else {hint "Falsche Waffe!"} } } ]; Der EventHandler sollte auch für KI anwendbar sein. Anstelle von player dann den Namen der KI anführen. Statt des "spawn-Skripts" ist es dann wahrscheinlich besser ein SQF-Skript zu verwenden. Der Aufruf im EventHandler sieht dann so aus: Code:
temp = vehicle player addEventHandler [ "Fired", {_this select 1 execVM "ErlaubteWaffe.sqf"} ]; |
24.04.2013, 00:44 | #8 (permalink) |
Registriert seit: 04.01.2008
Ort: Internet
Alter: 42
Beiträge: 253
|
Dank dir nochmal.
Was ich villeicht nicht erwähnt habe ist, das es für die KI keine festen namen gibt, die können ebenfalls erworben/gekauft werden und werden dem spieler dann zugeteilt sprich "gespawnt". Das einzige was existiert ist ein gruppenname, den der spieler hat, doch nach ein wenig herumexperimentieren hab ich das soweit hinbekommen. Jedenfalls danke nochmal Habe das ganze mal mit nem alarm getestet doch wenn ich die waffen aus ner munikiste nehme die ich eingetragen habe wird die alarmbedingung trotzdem nachdem man schießt auf true gesetzt. So sieht das jetzt aus Code:
{_x addEventhandler [ "Fired", { _this select 1 spawn { _erlaubteWaffen=["M4A1_AIM_SD_CAMO","M4A1_HWS_GL_SD_CAMO","MP5SD"]; if (_this in _erlaubteWaffen) then {hint"Tarnung ok"} else {Alarm=true} } } ];} foreach units Gruppe1 Code:
{_x addEventhandler ["Fired",{_this select 1 execVM "ErlaubteWaffe.sqf"}]} foreach units Gruppe1 Danke schon mal
__________________
Manche halten OFP und ArmA/2 für verbuggt, ich halte es für eine Herausforderung... Aktueller preview trailer: https://vid.me/lFy1 Geändert von Big Fan (24.04.2013 um 02:04 Uhr). |
24.04.2013, 20:41 | #10 (permalink) |
Registriert seit: 04.01.2008
Ort: Internet
Alter: 42
Beiträge: 253
|
ok nochmals danke, das hat geholfen den fehler zu finden.
Eingentlich so simpel: hier im bsp musste das Camo klein geschrieben werden anstatt groß
__________________
Manche halten OFP und ArmA/2 für verbuggt, ich halte es für eine Herausforderung... Aktueller preview trailer: https://vid.me/lFy1 |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Alle waffen und Fahrzeuge. | Muffinknight | Multiplayer | 2 | 14.08.2012 17:25 |
Zwei primäre Waffen | Vienna | Editing & Scripting | 5 | 19.06.2012 23:22 |
Waffen verbieten - keine Ost waffen für West einheiten | Anemia | Editing & Scripting | 3 | 03.08.2010 20:19 |
Fahrzeuge mit Waffen ausrüsten | CptMike | Editing & Scripting | 8 | 18.07.2010 15:32 |
Waffen kaufen Waffen dem Menü hinzufügen von einem Mod | Mister Burke | Editing & Scripting | 1 | 05.06.2010 17:53 |