Armed-Assault.de Twitter
 
 
Themen-Optionen Ansicht
Alt 07.12.2013, 21:43   #1 (permalink)
Newbie
 
Registriert seit: 24.11.2011
Ort: Wien
Alter: 51
Beiträge: 30
Icon5 Item side "EMPTY" und destructable

Folgendes habe ich in Arbeit:

Zur Laufzeit werden Plastikkanister (Land_CanisterPlastic_F) an verschiedenen Orten erstellt. Diese sollen als IED-Sprengsätze fungieren. Dazu erstelle ich Eventhandler mit

Code:
...
TRied%1 setTriggerActivation["WEST","PRESENT",false];
...
die dann eben eine Explosion auslösen. Klappt im Prinzip wunderbar, solange das IED nur bei Einheiten mit side "WEST", "EAST" oder "GUER" auslösen soll.
Nun sollen aber Zivilisten auch das IED auslösen. Gibt man statt "WEST" dann aber "CIV" ein, so löst der Eventhandler sofort aus. Mittlerweile ist mir klar, dass es deshalb passiert, weil der Kanister selbst der side "CIV" zugeordnet ist (Danke Bohemia für diesen Schwachsinn ). Die Bedingung ist somit erfüllt und der Trigger löst aus *BUMM*.
Da man die side zwar in der mission.sqf ändern kann, offensichtlich aber nicht zur Laufzeit, stehe ich jetzt an!

Wie erstellt man ein IED, das auch bei "CIV" auslöst, ohne durch sich selbst ausgelöst zu werden?


Das andere Problem ist folgendes:
Beinahe alle items, inklusive des Kanisters) aus der Kategorie "Objekte (klein)" sind nicht zerstörbar. Der Wert damage bleibt immer auf 0, es sei denn, man ändert ihn scriptseitig. Somit löst auch ein "hit" Eventhandler in diesem Fall nicht aus (Hab ich mich bei Bohemia schon bedankt? ). Ein
Code:
_objekt allowDamage true;
funzt hier leider nicht.
Ich hätte gerne, dass das IED auch auslöst, wenn es zuviel Schaden genommen hat, oder von einer Kugel getroffen wird, gesprengt wird und ähnliches.

Gibt es eine Alternative zum Eventhandler "hit"?

Wäre für Vorschläge/Lösungsansätze sehr dankbar!
Troublemaker ist offline  
Alt 08.12.2013, 02:23   #2 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Drunken Officer
 
Registriert seit: 15.05.2011
Beiträge: 1.109
Standard

USBV OHNE Auslöser

woppi = [this, 5] execVM "dof_sprengsatz.sqf";
Code:
//********************************
//einfaches USBV Script ohne Seitenabfrage
//die Zahl steht für die Auslösedistanz
//********************************

private ["_usbv","_boom"];
_usbv = _this select 0;
_boom = _this select 1;
while {alive _usbv} do
{
_no = nearestObjects [_usbv, ["man","car","tank","motorcycle"], _boom];
_no1 = _no select 0;
     if (!isNull _no1) then 
    {
     _granate = createVehicle ["r_80mm_he",[getPos _usbv select 0, getPos _usbv select 1,0],[], 0, 'FLY'];
deleteVehicle _usbv;
 
};
     sleep 1;
    };
Ich habe es noch nicht mit einer WaitUntil Funktion versucht. Probiere ich mal, wenn ich zu Hause am Rechner bin.
Zum Schaden einfach eine Schadensabfrage des _usbv machen und in die if Schleife eine OR Bedingung einbauen
http://community.bistudio.com/wiki/getDammage
http://community.bistudio.com/wiki/or

Geändert von Drunken Officer (08.12.2013 um 02:33 Uhr).
Drunken Officer ist offline  
Alt 08.12.2013, 03:23   #3 (permalink)
Newbie
 
Registriert seit: 24.11.2011
Ort: Wien
Alter: 51
Beiträge: 30
Icon14

Danke für's Script. Werde mir das zu Gemüte führen und (hoffentlich Erfolg) vermelden!
Troublemaker ist offline  
Alt 09.12.2013, 20:47   #4 (permalink)
Newbie
 
Registriert seit: 24.11.2011
Ort: Wien
Alter: 51
Beiträge: 30
Standard

So, bin jetzt dazu gekommen mir das anzuschauen.
Das Script funktioniert zwar, wirft aber eine Fehlermeldung aus. Die Variable _no1 verweist nämlich auf ein nicht existierendes Objekt (zumindest, solange sich kein Objekt in der Nähe des _usbv befindet).
Aber der Ansatz war genau, was ich gesucht habe!


Habe das Script umgeschrieben, so dass es auch ohne Fehlermeldung funzt:
Code:
_usbv = _this select 0;
_boom = _this select 1;
while {alive _usbv} do {
    scopename "loop";
    _no = nearestObjects [_usbv, ["man","car","tank","motorcycle"], _boom];
    if((count _no) > 0) then { breakOut "loop"; };
    sleep 1;
};
hint "BOOM!";
Allerdings löst das mein Problem mit der hit-Abfrage nicht. Man kann zwar die damage von _usbv abfragen, die bleibt aber immer 0!
_usbv zeigt auf das Objekt und das Objekt nimmt nun mal keinen Schaden, selbst wenn man mit einem MLRS darauf feuert.
Troublemaker ist offline  
Alt 09.12.2013, 21:44   #5 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Drunken Officer
 
Registriert seit: 15.05.2011
Beiträge: 1.109
Standard

Weil manche Objekte einfach keine Schaden nehmen können.
Wenn in der Config steht destrType = "DestructNo";
dann kannst du machen was du willst.

Du müsstet dem Teil einen "Hit" Eventhandler anheften. Vorher die variabel Schaden = 0 setzen. Mit dem "Hit" Eventhandler ..., {schaden = schaden + 0.001}

Das wäre aber ziemliche sinnlos, weil du egal mit welcher Waffe immer nur 0.001 drauflegst. Oder du mußt richtig scriptintensiv das Projektil auslesen und und und
Drunken Officer ist offline  
Alt 09.12.2013, 22:03   #6 (permalink)
Newbie
 
Registriert seit: 24.11.2011
Ort: Wien
Alter: 51
Beiträge: 30
Standard

Hit-Eventhandler funzt nicht!

Der reagiert nur, wenn ein Objekt Schaden nimmt und sogar auch dann nur, wenn es WIRKLICH Schaden nimmt. Laut BI reagiert der Eventhandler z.B. auch nicht, wenn man mit einer Pistole auf einen Panzer schießt.
Boah... ich habe schon vermutet, dass nur ein eigenes Objekt als Addon die Lösung sein wird.
Naja... soviel zum Thema destructible environment. Nicht mal einen Kanister kann man kaputtschießen...

Nun, dann lasse ich mir eben was anderes einfallen...

Es gibt doch irgendwie eine Möglichkeit, dass man feststellt, ob eine Kugel in unmittelbarer Nähe einer Einheit vorbeifliegt. Wird ja verwendet bei den ganzen KI-suppresive fire Sachen.
Kann mich da jemand in die richtige Richtung stupsen, wie man das feststellt?

EDIT:
Ach, apropos scriptintensiv - das Ganze ist Teil eines Scriptes, dass die KI auf der ganzen Map rumfahren und IEDs neben den Straßen legen lässt. Wenn sie dabei von Zivilisten beobachtet werden, dann melden die das beim nächsten Posten und machen Angaben, wie viele und mit welchem Fahrzeug die da waren und in welche Richtung sie dann gefahren sind.
Scriptintensiv hat also schon lange seinen Schrecken verloren...

Geändert von Troublemaker (09.12.2013 um 22:18 Uhr).
Troublemaker ist offline  
 


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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
Minecraft burns Sonstige Genres & Themen 264 15.09.2014 15:19
Beta-Patch für OpA erschienen det99 Community 1429 18.07.2014 17:51
BWMod - Neuigkeiten, Bilder, ... TeRp Mods & Addons 939 25.02.2014 21:57
Hilfe bei config.cpp verändern ST6_Predator Editing & Scripting 6 31.12.2010 00:14
Multiplayer PROBLEM!!! Panzagrenadier Multiplayer 15 18.06.2010 15:12


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