• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

doInArea

Dominik ms

Member
Joined
Jan 20, 2010
Messages
424
Reaction score
6
How to use function??
doInArea(pos,radius,luaString,var)


this not work:
PHP:
function onUse(cid, item, fromPosition, itemEx, toPosition)
AREA_WAVE4 = {
	{1, 1, 1, 1, 1},
	{0, 1, 1, 1, 0},
	{0, 1, 1, 1, 0},
	{0, 0, 3, 0, 0}
}

doInArea(AREA_WAVE4, 1, doSendMagicEffect(), var)
	return true
end


-------------------
second
How to make function getCreaturesFromArea
PHP:
area = {
	{1, 1, 1, 1, 1},
	{0, 1, 1, 1, 0},
	{0, 1, 1, 1, 0},
	{0, 0, 3, 0, 0}
}
creatures = getCreaturesFromArea(area, fromPosition)

		for i, v in ipairs(creatures) do
			if isPlayer(v) then
				doCreatureSay(v, "i am player")
			else
				doCreatureSay(v, "i am not player")
			end
		end
 
Last edited:
Area is central position I guess and radius is sqms to left/right/up/down.
LuaString hmm, function?
Var hmm, parameters? :P
 
Code:
local creatures = getCreaturesFromArea({x = 100, y = 100, z = 7}, {x = 200, y = 200, z = 7}) -- from / to
for _, creature in ipairs(creatures) do
	doCreatureSay(creature, isPlayer(creature) and "I'm player" or "I'm not player", TALKTYPE_SAY)
end

What about this one? And again, I'm guessing parameters. ;p
 
doInArea its sux.
doInArea(pos,radius,luaString,var)-- by Mock
Better use:
executeInArea(pos, area,cmd,...)

LUA:
--executeInArea(pos, area,cmd,...)
function onUse(cid, item, fromPosition, itemEx, toPosition)
AREA_WAVE4 = {
    {1, 1, 1, 1, 1},
    {0, 1, 1, 1, 0},
    {0, 1, 1, 1, 0},
    {0, 0, 3, 0, 0}
}

    doInArea(toPosition,AREA_WAVE4,function(pos,var) doSendMagicEffect(pos,var) end, 1)
    return true
end
 
I wrote a function + example.
Rep++
Code:
function getAreaCreatures(from, to, check)
	local creatures = {}
	for x = from.x, to.x do
		for y = from.y, to.y do
			for z = from.z, to.z do
				local p = getThingFromPos({x=x,y=y,z=z, stackpos=STACKPOS_TOP_CREATURE})
				if check(p.uid) then table.insert(creatures,p.uid) end
			end
		end
	end
	return creatures
end

local m = getAreaCreatures({x=1,y=1,z=7}, {x= 50,y=50,z=7}, isMonster)
for _, uid do
  -- do something with uid of monsters..
end

getAreaCreatures(fromposition_in_table, toposition_in_table, function_to_check)
function_to_check can be:
isCreature, isMonster, isNpc, isPlayer
 
Back
Top