![]() |
#1 (permalink) |
![]() Registriert seit: 22.12.2006
Beiträge: 42
|
![]()
Moin moin - der b3ck5 mal wieder
![]() In Evo wurde ja die Problematik, dass man einen Radiotower nur duch c4 sprengen und damit zerstören kann, so gelöst, dass man eine c4only.sqf hatte die folgendes beinhaltet: Code:
_radio = _this select 0; for [{_loop=0}, {_loop<1}, {_loop=_loop}] do { sleep 1.0; //_bomb = (nearestObject [_radio, "PipeBomb"]); _bomb = (_radio nearObjects ["PipeBomb",10]) select 0; //hint format["%1 %2",nearestObjects [_radio, ["PipeBomb"], 20],_list] if(not isNull _bomb) then { //latk = (_bomb nearObjects ["Man",10]) select 0; latk = nearestObject [_bomb, "Man"]; //hint format["%1 %2",_bomb,latk]; WaitUntil {not alive latk or isNull _bomb}; if(isNull _bomb) then { _radio removealleventhandlers "hit"; sop = latk; sot = _radio; sor = 10; publicVariable "sop"; publicVariable "sot"; publicVariable "sor"; _loop=1; }; if((not alive latk) and (not isNull _bomb)) then {deletevehicle _bomb;latk = objNull}; }; }; Wie binde ich das Script am besten ein, sodass die von mir aufgestellten Tower auch alle nur von c4 zerstört werden können ? Mfg - der b3ck5
__________________
![]() [On my way to hell - fighting with the best] |
![]() |
![]() |
![]() |
#2 (permalink) |
![]() ![]() Registriert seit: 03.01.2008
Alter: 85
Beiträge: 6.552
|
![]()
Am sinnvollsten wäre es wohl, dass Script nur auf dem Server laufen zu lassen (z.B. dem Tower einen Varnamen geben und dann z.B. in der init.sqf/sqs zu starten).
Beispiel Tower mit Varnamen "customtower", Code in einer init.sqf: Code:
if (isServer) then { [customtower] execVM "c4only.sqf"; }; Xeno
__________________
In arma everything is made of refined explodium, armored with wet paper towels. Geändert von Xeno (15.04.2008 um 23:12 Uhr). |
![]() |
![]() |
![]() |
#6 (permalink) |
![]() Registriert seit: 19.12.2006
Beiträge: 26
|
![]()
Das Problem ist das dir in deinem Code wohl ein Teil fehlt...
Hinweis darauf gibt mir: _radio removealleventhandlers "hit"; demnach musst du dem Tower vorher natürlich auch einen hit eventhandler verpassen der ihn unverwundbar macht... zb durch folgenden Code Code:
[customtower] addEventHandler ["Hit", {_this execVM "tower_invul.sqf";}] Code:
_this select 0 setDamage 0; Anmerkung: ich hab jetzt seit fast 2 Jahren in ArmA nich mehr gescriptet und das hier aus meinen versteckten Erinnerungen rausgekramt, also wenn das auf Anhieb nicht funzt nicht enttäuscht sein, einfach Fehlermeldung posten |
![]() |
![]() |
![]() |
#16 (permalink) |
![]() Registriert seit: 19.12.2006
Beiträge: 26
|
![]()
sorry dumme frage, aber das c4only script führst du trotzdem aus oder ?
passe mal folgende codezeilen an: Code:
if(isNull _bomb) then { _radio removealleventhandlers "hit"; sop = latk; sot = _radio; sor = 10; publicVariable "sop"; publicVariable "sot"; publicVariable "sor"; _loop=1; }; Code:
if(isNull _bomb) then { _radio removealleventhandlers "hit"; _radio setdamage 1; sop = latk; sot = _radio; sor = 10; publicVariable "sop"; publicVariable "sot"; publicVariable "sor"; _loop=1; }; Geändert von Zenshin (06.04.2009 um 16:31 Uhr). |
![]() |
![]() |
![]() |
#17 (permalink) |
![]() ![]() ![]() Registriert seit: 11.03.2005
Ort: HH
Alter: 53
Beiträge: 1.930
|
![]()
Folgender Vorschlag:
Dem Turm einen Namen verpassen und in die Init-Zeile des Turms: Code:
this addEventHandler ["hit", {if (local (_this select 0)) then {(_this select 0) setDamage 0}}];this addEventHandler ["damage", {if (local (_this select 0)) then {(_this select 0) setDamage 0}}]; Und sobald Du Dich dem Turm näherst (weil du ne Satchel ablegen willst) entfernst Du die EventHandler wieder durch einen Auslöser, den Du um den Turm legst. Halt ausgelöst durch die Seite, die den Turm zerstören soll und ich denke 10-15m Radius. In die Aktivierungszeile: Code:
DeinTurmName removeAllEventHandlers "hit"; DeinTurmName removeAllEventHandlers "damage"; ![]() |
![]() |
![]() |
![]() |
#19 (permalink) |
![]() Registriert seit: 19.12.2006
Beiträge: 26
|
![]() ich hab dir doch in meinem letzten post einen codeschnipsel gegeben den du mal ausprobieren sollst, damit sollte es mit 1 gehen weil der turm dann einfach per script zerstört wird. |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
Ansicht | |
|
|
![]() |
||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Skript für Sperrfeuer ? | Nocverus Nectath | Editing | 4 | 28.12.2006 21:16 |
Airstrike Skript | =[LB]= Meazza | Offizielle Missionen & Kampagnen | 6 | 09.12.2006 23:04 |
Skript suche | FireFighter14 | Editing | 2 | 19.09.2005 20:08 |
Schnee Skript | 1337Jin | Editing | 8 | 12.09.2004 15:32 |
Schlaf Skript | Rudi | Mod und Addon Ecke | 42 | 08.08.2004 13:49 |