02.05.2013, 18:26 | #1 (permalink) |
Feststellen ob Sprengladung gelegt wurde
Hallo an alle
Ich habe hier ne Problem. Und zwar würde ich gerne für eine PVP Liga Map es möglich machen das man Sprengladungen an ein Fahrzeug packen kann. Also so das ich wenn ich die Sprengladung gelegt habe einen Actioneintrag habe um die Ladung ans Fahrzeug zu packen. Ich habe da nun das Problem das ich noch keine Idee habe wie ich fest stellen kann das die Sprengladung gelegt gelegt wurde.Ich müste irgendwie an den Namen der gelegten Sprengladung kommen können um ihn dann mit attachTo an das Fahrzeug zu packen. Hat da einer ne Idee oder so was ähnliches noch mal gemacht ?
__________________
--> -> Rechtschreibfehler sind Gratis <- <-- --> Wer welche findet kann sie behalten <-- German Nato Corps |
|
02.05.2013, 18:31 | #2 (permalink) |
Registriert seit: 13.04.2003
Ort: Monerica
Alter: 41
Beiträge: 32.968
|
Der FDF Mod hatte doch ne Funktion Satchels an Fahrzeuge zu pappen, weiss jetzt allerdings nicht ob OFP, ArmA1 oder ArmA2. Das wurde da auch gelöst ohne sie vorher gelegt zu haben, denke das ist der bessere (weil direktere) Weg.
|
02.05.2013, 19:24 | #3 (permalink) |
Registriert seit: 11.03.2005
Ort: HH
Alter: 52
Beiträge: 1.930
|
Schau mal in dieses Addon. Ist zwar ArmA2, aber scripttechnisch sollte ein Grundlage vorhanden sein: >> click <<
|
02.05.2013, 19:53 | #4 (permalink) |
Ja vielen Danke Leute
Ich habe es inzwschen hin bekommen,ich hatte mich erinnert das ich das schon irgend mal wo gesehen hatte. Und nun geht nach dem Fälschen namen gesucht nicht nach dem Magazin sondern nach den Ammo muste ich suchen. Dieses Script einfach per Addaction anhängen und fertig. PHP-Code:
__________________
--> -> Rechtschreibfehler sind Gratis <- <-- --> Wer welche findet kann sie behalten <-- German Nato Corps |
|
03.05.2013, 13:28 | #5 (permalink) |
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
Das geht auch recht einfach mit einem "Fired" EventHandler. Da kann es keine Probleme geben wenn man mehrere Bomben anheften will.
Code:
temp = player addEventHandler [ "Fired", { if (_this select 4 == "PipeBomb") then { if (count nearestObjects[player,["car","truck","tank"],10] > 0) then { _this select 6 attachTo[(nearestObjects[player,["car","truck","tank"],10])select 0,[0,0,-1.2]]; player groupChat "Bombe an Fahrzeug angebracht!" } } } ]; |
03.05.2013, 14:58 | #6 (permalink) |
und der Eventhandler löst aus wenn man die Sprengladung legt ?
Der würde ja dann immer auslösen auch wenn ich garn die Absicht habe die Bombe an ein Fahrzeug anzuheften
__________________
--> -> Rechtschreibfehler sind Gratis <- <-- --> Wer welche findet kann sie behalten <-- German Nato Corps |
|
03.05.2013, 19:07 | #7 (permalink) |
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
Beim Legen der Bombe (nicht beim Zünden) löst der EventHandler aus.
Er wird dazu verwendet die ID der Bombe zu erfahren (_this select 6). Das ist treffsicherer als mit nearestObject. Diese Zeile bindet die abgelegte Bombe an das Fahrzeug: _this select 6 attachTo[(nearestObjects[player,["car","truck","tank"],10])select 0,[0,0,-1.2]]; Das geschieht nur, wenn ein Fahrzeug 10m im Umkreis der gelegten Bombe ist. Ist das nicht dauerhaft gewünscht, dann kann man den EventHandler bei Bedarf über eine Aktion starten und nach dem Legen einer Bombe wieder entfernen bzw. mit einer globalen Variablen das Anheften ein- und ausschalten. |
03.05.2013, 22:24 | #8 (permalink) |
jo das ist klar,frage ist nur ob ich dann jeder mal wenn der Addaction ausgeführt wurde wieder entfernen muss,weil sonst der Spieler nach 10 mal 10 "fire" Evendhandler ausgelöst hat.
__________________
--> -> Rechtschreibfehler sind Gratis <- <-- --> Wer welche findet kann sie behalten <-- German Nato Corps |
|
04.05.2013, 13:13 | #9 (permalink) |
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
Wenn du befürchtest, dass die Abfrage des EventHandlers das System zu sehr ausbremst, dann eben mit einer Aktion. Es sollte aber gesorgt werden, dass nur die unmittelbar beim Spieler liegende Bombe angesprochen wird und der Spieler über die Wirkung der Aktion informiert ist.
Skript: bombe_anheften.sqf Code:
//Lokal für Player. Gelegte Bombe an Fahrzeug über Aktionsmenüpunkt befestigen. // //Aktion: player addAction["Bombe anheften","bombe_anheften.sqf",[],-1,false,true]; private ["_tb","_tv","_b","_v"]; _tb = "PipeBomb"; //Name der Bombe _tv = ["car","truck","tank"]; //Namen der Objekte an die angeheftet werden darf _b = nearestObject [player, _tb]; //Bombe in 1 Meter Umkreis vorhanden? if (isNull _b or player distance _b > 1) exitWith {player groupChat "Keine Bombe in Reichweite!"}; _v = nearestObjects [player, _tv, 10]; //Anheft-Objekte in 10 Meter Umkreis vorhanden? if (count _v == 0) exitWith {player groupChat "Kein Fahrzeug in Reichweite!"}; _b attachTo [_v select 0,[0,0,-1.2]]; //Bombe an Objekt anheften player groupChat "Bombe an Fahrzeug angebracht!" |
04.05.2013, 16:06 | #10 (permalink) |
jo das ist besser,als der Eventhandler
__________________
--> -> Rechtschreibfehler sind Gratis <- <-- --> Wer welche findet kann sie behalten <-- German Nato Corps |
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Sprengladung in ACE2 | Kowa | Mods & Addons | 1 | 08.05.2011 16:17 |