Re: how to find entity (entities) on map
Posted: Fri Oct 24, 2014 8:11 pm
still doesnt workSnowyOwl47 wrote:Hmm @Jouki Delete the spaces around the i ok
holy... ok, it's working I should go through this code and learn as much as I can from that.JohnWordsworth wrote:When building an entity name from variables and then retrieving that entity, you will want to do some string concatenation and use the "findEntity" function. The following first defines a flexible function that can turn on a whole bunch of lights that all start with the same ID in the editor and then defines a specific "utility function" that you can call from a pressure plate that turns on all lights in your dungeon that have the name "top_floor_lights_i" (where i starts at 1 and goes up to the last light it finds using this pattern).
Hope this helps!Code: Select all
-- A generic function that will turn on the light and particle component -- for all entities in the dungeon that have the id "prefix_i" where -- "prefix" is the parameter given to this method and "i" counts up from 1. function turnOnLights(prefix) local i = 1; local entity = findEntity(prefix .. "_" .. i); while entity ~= nil do if entity.light ~= nil then entity.light:enable(); end if entity.particle ~= nil then entity.particle:enable(); end i = i + 1; entity = findEntity(prefix .. "_" .. i); end end -- -- This function is one you can hook into a pressure plate and it will -- turn on all lights in your dungeon with the name "top_floor_lights_i" -- ie. top_floor_lights_1, top_floor_lights_2, ... function turnOnTopFloorLights() turnOnLights("top_floor_lights"); end
Btw. is there (I'm almost sure it is) something like 'sleep(2000)' (ms) I can handle cool effect "a slowly starting all-light effect" I mean turning them on one by one or any other way.
There's a view how it looks