Armed-Assault.de Twitter
 
 
Themen-Optionen Ansicht
Alt 21.03.2017, 12:49   #1 (permalink)
Newbie
 
Registriert seit: 29.04.2016
Beiträge: 15
Standard Objekte über Classname unzerstörbar machen?

Hallo,
ich wollte einige bestimmte Häuser und Strukturen auf der Map generell unzerstörbar machen.
Mein Lösungsansatz sieht etwa so aus:

Code:
_list = ["Classname_1","Classname_2","Classname_3"];
{_x allowdamage false} forEach _list;
So funktioniert es aber leider nicht. Gibt es sonst eine Möglichkeit, ausgewählte Klassenobjekte über ihren Classname direkt unzerstörbar zu machen?

Grüße Matze
Matze_76 ist offline  
Alt 21.03.2017, 13:18   #2 (permalink)
10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Buliwyf
 
Registriert seit: 11.03.2005
Ort: HH
Alter: 52
Beiträge: 1.930
Standard

enableSimulationGlobal

__________________
Buliwyf ist offline  
Alt 21.03.2017, 14:12   #3 (permalink)
Newbie
 
Registriert seit: 29.04.2016
Beiträge: 15
Standard

damit komm ich leider auch nicht so weiter.... aber ich glaube ich hab mein Problem gefunden.
Geb ich ein Classname an, ist es ein String aber ich brauche ein Array.
Ich hab etwas gesucht, wie ich es umwandeln kann und hab auch schon etwas gefunden:
https://community.bistudio.com/wiki/entities

Aber das verwirrt mich nur noch etwas mehr
Matze_76 ist offline  
Alt 22.03.2017, 19:38   #4 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Pfandgiraffe
 
Registriert seit: 16.09.2008
Ort: Berlin
Alter: 38
Beiträge: 1.737
Pfandgiraffe eine Nachricht über ICQ schicken Pfandgiraffe eine Nachricht über Skype™ schicken
Standard

Du hast schon ein Array. Bisher ist es mit Strings (den Classnames) gefüllt. Du brauchst jedoch das Objekt damit enableSimulation oder allowDamage funktioniert.

["class1", "", ...]

[obj1, obj2, ...]


Entities hilft dir da schon weiter.
Code:
_allcars = entities "Car";
{_x allowdamage false} forEach _allcars;
Das würde z.B. alle Fahrzeuge die unter die Klasse "cars" fallen unverwundbar machen. "Cars" ist hier kein Classname sondern ein TypeName. (übergeordnete Kategorie) Ich glaube du kannst dort aber genauso gut classnames zum filtern eintragen:

Code:
_list = entities ["Classname_1","Classname_2","Classname_3"];
{_x allowdamage false} forEach _list;
Falls das nicht funktioniert, finde den TypeName deiner Objekte mit isKindOf heraus und trage diesen statt der classnames ein.

...verwende aber lieber nearEntities um die ganze Nummer auf einen Bereich eingerenzen zu können, da das sonst sehr zu lasten der Performance geht.



Grüße

p.s.: Ich vermute du willst statische Objekte auf der Map unverwundbar machen. Also Gebäude die sowieso immer schon da stehen? Wenn dem so ist, wird das so leider nicht funktionieren.
__________________
Niemand hat die Absicht eine Tüte zu bauen!
​​​​​​​
___<<<A3 Wounding System>>>___

Geändert von Pfandgiraffe (22.03.2017 um 19:41 Uhr).
Pfandgiraffe ist offline  
Alt 22.03.2017, 21:52   #5 (permalink)
Newbie
 
Registriert seit: 29.04.2016
Beiträge: 15
Standard

Hi,
danke für deine Antwort, jetzt verstehe ich auch das ganze mit den Entities. Ich ging das komplizierter an als es ist :-D

Zitat:

p.s.: Ich vermute du willst statische Objekte auf der Map unverwundbar machen. Also Gebäude die sowieso immer schon da stehen? Wenn dem so ist, wird das so leider nicht funktionieren.

Ja genau das habe ich vor.
Ich dachte eben, jede Art von z.B. Haus hat seinen Classname, ich ging davon aus, dass ich sie so schützen kann.

Was wäre denn der richtige Weg um Map Objekte "unkaputtbar" zu machen?

LG
Matze_76 ist offline  
Alt 23.03.2017, 22:28   #6 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Pfandgiraffe
 
Registriert seit: 16.09.2008
Ort: Berlin
Alter: 38
Beiträge: 1.737
Pfandgiraffe eine Nachricht über ICQ schicken Pfandgiraffe eine Nachricht über Skype™ schicken
Standard

Sie haben ja auch ihren Classname. Aber du musst halt das Objekt als solches abfragen.

Das machst du über nearestBuilding.
Das schwierige daran ist, wie du jetzt an genau deine Objekte kommst. Der einfachste Weg für dich wird es wohl sein wenn du über die ObjektID gehst. Das ist eine einzigartige Nummer welches jedes feste statische Objekt auf der Map besitzt. Diese Nummer bekommst du aus dem Editor. (muss man da irgendwo aktivieren --> https://forums.bistudio.com/forums/t...ow-object-ids/)

Wie du das anwenden kannst siehst du in einigen Youtube Videos.


Was auch funktionieren könnte wäre dieser Kommentar von KillzoneKid: (als Denkanstoß)
Zitat:

Return all trees in 100m radius around player:
trees = [];
{
if (str _x find ": t_" > -1) then {
trees pushBack _x;
};
} forEach nearestObjects [player, [], 100];

https://community.bistudio.com/wiki/nearestObjects



Grüße
__________________
Niemand hat die Absicht eine Tüte zu bauen!
​​​​​​​
___<<<A3 Wounding System>>>___
Pfandgiraffe ist offline  
Alt 27.03.2017, 09:35   #7 (permalink)
Newbie
 
Registriert seit: 29.04.2016
Beiträge: 15
Standard

Danke für deine Antwort.
Das Prinzip mit den ID's ist mir bekannt, ich dachte lediglich, man könnte pauschal mit dem Classname arbeiten damit es schneller geht oder dass es einen anderen Weg dazu gibt :-)
Matze_76 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
Objekte werden zu NULL manatarms Editing & Scripting 0 05.05.2014 15:40
Performanceprobleme (Lösung: Objekte nur bei Bedarf erscheinen lassen) sandmanGER Editing & Scripting 6 31.12.2012 09:53
Arma 2 Editor laggt und löscht Objekte nicht Acheron Editing & Scripting 1 17.10.2012 00:14
Objekte ausrichten hypercop Editing 5 17.02.2011 00:29
Classnames WEST OpA Muecke Editing & Scripting 9 29.06.2010 14:37


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