utilfunctions:entities_aus_der_map_in_funktion
Entities aus der Map holen
Old McDonald hat uns ja das wunderbare Programm EntityOut.Exe geschrieben, mit dem man alle Entities aus der Map auslesen kann.
Nun habe ich flott dazu ein Programm geschrieben, mit dem man aus diesen Angaben einen Bereich (Rechteck) auswählen kann.
Die in diesem Rechteck vorhandenen Entities werden dann in eine Funktion geschrieben, die die IDs der Entities zurück gibt.
Bedienung ist einfach.
- Map Laden ( ist direkt im extra2\shr\user\maps Verzeichnis )
- Daten des gewünschten Rechtecks eingeben.
- Button unten drücken.
Dann ist die Funktion in Form von:
function HoleEntities() local entitiesImRechteck = {}; local AddEntity = function( _x, _y) table.insert(entitiesImRechteck, assert(Logic.GetEntityAtPosition(_x , _y),"Entity ist nicht mehr da")); end AddEntity(3004.98, 3286.27); AddEntity(3220.22, 3284.31); AddEntity(2464.06, 3500); AddEntity(2788.76, 3277.68); AddEntity(2464, 3100.641); AddEntity(2576.8, 3273.62); AddEntity(3436.22, 3289.79); AddEntity(3858.5, 3299.14); AddEntity(3870, 4030); AddEntity(2910.1, 4026.609); AddEntity(3770, 2570); AddEntity(2810.1, 2573.39); AddEntity(3230, 4030); AddEntity(3530, 4030); AddEntity(2613.35, 4030); AddEntity(2513.35, 2570); AddEntity(3130, 2570); AddEntity(3430, 2570); AddEntity(3770, 2116.12); AddEntity(2494.58, 2116.12); AddEntity(3111.22, 2116.12); AddEntity(3470, 2119.86); AddEntity(2821.96, 2098.42); AddEntity(3956.859, 3503.109); AddEntity(3952.289, 3098.75); AddEntity(3653.74, 3300.32); AddEntity(2420, 2017.21); AddEntity(2714.01, 2000.55); AddEntity(3080, 2000.1); AddEntity(3420, 2020); AddEntity(3789.359, 2016.26); AddEntity(1940, 2342.86); AddEntity(2622.33, 3844.699); AddEntity(3684.09, 3854.16); AddEntity(3307.051, 3891.869); AddEntity(2754.94, 2531.62); AddEntity(3626.051, 2435.76); AddEntity(2344.15, 2070.92); AddEntity(2180, 3980); AddEntity(2133.88, 3880); AddEntity(3374.09, 2218.04); AddEntity(3411.66, 1956.1); AddEntity(1906.54, 3796.18); AddEntity(2615.39, 3970.32); AddEntity(3674.689, 2597.1); AddEntity(3087.66, 1997.35); AddEntity(3685.189, 1966.87); AddEntity(2488.71, 2127.63); AddEntity(2062.36, 2620.8); AddEntity(2020.99, 2138.13); AddEntity(2066.05, 1721.66); AddEntity(2452.47, 1582.25); AddEntity(2923.28, 1597.59); AddEntity(2102.28, 1942.14); AddEntity(2117.58, 2439.06); AddEntity(3672.891, 1607.73); AddEntity(3813.119, 1691.97); AddEntity(3237.27, 1748.14); AddEntity(2399.97, 1723.57); AddEntity(2689.07, 1583.38); AddEntity(3177.47, 1590.85); AddEntity(2598.06, 2450.53); AddEntity(2897.83, 1777.96); AddEntity(3396.971, 1626.99); AddEntity(4065.41, 1808.75); AddEntity(4123.01, 2361.53); AddEntity(4186.26, 2147.08); AddEntity(3551.801, 1635.2); AddEntity(3978.051, 1672.52); AddEntity(2055.64, 1971.3); AddEntity(2278.73, 1698.35); AddEntity(4069.99, 3295.77); AddEntity(2372.29, 3276.53); AddEntity(4142.359, 2602.89); AddEntity(4043.779, 1945.14); AddEntity(2226.58, 2160.93); AddEntity(3164.56, 4141.471); AddEntity(2414.76, 4016.34); AddEntity(4022.67, 3935.539); AddEntity(3346.811, 3958.4); AddEntity(2962.4, 4065.17); AddEntity(2425.01, 4144.9); AddEntity(2354, 2755.45); AddEntity(2538.2, 2476.6); AddEntity(2885.1, 2493.39); AddEntity(3512.83, 2653.49); AddEntity(3950.891, 2469.72); AddEntity(2982.2, 2721.17); AddEntity(3793.9, 2230.2); AddEntity(3698.24, 1942.15); AddEntity(3252.38, 2049.96); AddEntity(2835.38, 1987.44); AddEntity(2982.67, 2195.5); AddEntity(2366.01, 1873.63); AddEntity(2570.27, 2125.81); AddEntity(2415.59, 2146.27); AddEntity(2783.5, 4100.711); AddEntity(3086.92, 3986.27); AddEntity(3709.4, 4037.561); AddEntity(2784.08, 4029.551); AddEntity(3099.55, 2518.21); AddEntity(2694.96, 2661.24); AddEntity(2334.3, 2519.62); AddEntity(3917.789, 2729.11); AddEntity(3515.891, 2210.02); AddEntity(3373.98, 2054.85); AddEntity(2936.25, 2012.01); AddEntity(2809.24, 2090.62); AddEntity(2471.52, 2048.95); AddEntity(3230.24, 2591.63); AddEntity(3406.27, 2476.02); AddEntity(3307.93, 2521.88); AddEntity(2467.33, 4146.039); AddEntity(3615.211, 2489.38); AddEntity(3079.82, 2174.18); AddEntity(2295.5, 3535.15); AddEntity(2295, 3056.01); AddEntity(3220.2, 3284.301); AddEntity(1286.84, 3488.641); AddEntity(1575.01, 3189.81); return entitiesImRechteck; end
in der Zwischenablage. =⇒ Rechte Maustaste ins Script und einfügen.
Einfache Anwendung:
myEntities = HoleEntities() for i = 1, table.getn(myEntities ) do DestroyEntity(myEntities [i]) end
Und alles ist futsch.
Wie gesagt braucht man die EntityOut.Exe
utilfunctions/entities_aus_der_map_in_funktion.txt · Zuletzt geändert: 2021/09/18 19:16 von 127.0.0.1