Ir para conteúdo

Featured Replies

Postado
function onStepIn(cid, item, position, fromPosition)	
	local config = {
		[18901] = {dir = WEST, sqm = 6}, -- esquerda
		[18902] = {dir = EAST, sqm = 5}
	}
	function irParaPos(cid, dir)
		doCreatureSetLookDirection(cid, dir)
		return doMoveCreature(cid, dir) 
	end
	if not isPlayer(cid) then return true end
	local ret = config[item.actionid]
	if ret then
		doCreatureSetNoMove(cid, true)
		for i = 1, ret.sqm do
			addEvent(irParaPos, i*200, cid, ret.dir)
			addEvent(doCreatureSetNoMove, ret.sqm*200, cid, false)
		end
	end
return true
end

 

 

Neste caso ele vai "andar" sqm por sqm e não vai poder se mexer, e vai olhar em direção a direção correta...

06942151c1d94cbbe2a1587ad40fd50b.gif

Editado por Vodkart (veja o histórico de edições)

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

  • Respostas 31
  • Visualizações 1.8k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Tabela_infos = { Sqm = 6 } Direction = { [407] = {number = 3, direction = 0}, -- ## [IDTILE], quantos sqm ele vai andar [103] = {number = 1, direction = 3} } function onStepIn(cid, item, position,

  • function onStepIn(cid, item, position, fromPosition) local config = { [18901] = {dir = WEST, sqm = 6}, -- esquerda [18902] = {dir = EAST, sqm = 5} } function irParaPos(cid, dir) doCreatureSe

  • Tabela_infos = { Sqm = 6 } Direction = { [0] = 0, [1] = 1, [2] = 2, [3] = 3, [4] = 4, [5] = 5, [6] = 6, [7] = 7 } function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition

Posted Images

Postado
Em 05/03/2021 em 16:16, Vodkart disse:

function onStepIn(cid, item, position, fromPosition)	
	local config = {
		[18901] = {dir = WEST, sqm = 6}, -- esquerda
		[18902] = {dir = EAST, sqm = 5}
	}
	function irParaPos(cid, dir)
		doCreatureSetLookDirection(cid, dir)
		return doMoveCreature(cid, dir) 
	end
	if not isPlayer(cid) then return true end
	local ret = config[item.actionid]
	if ret then
		doCreatureSetNoMove(cid, true)
		for i = 1, ret.sqm do
			addEvent(irParaPos, i*200, cid, ret.dir)
			addEvent(doCreatureSetNoMove, ret.sqm*200, cid, false)
		end
	end
return true
end

 

 

Neste caso ele vai "andar" sqm por sqm e não vai poder se mexer, e vai olhar em direção a direção correta...

06942151c1d94cbbe2a1587ad40fd50b.gif

Existe uma maneira de fazer com que pisar no chão o levará um degrau acima? em vez de usar teletransporte ..

 

em esse scripts? algo semelhante a uma escada que quando você clica leva você para cima sem usar um teletransporte, em movements.

 

 

algo assim, mas eu quero passar para movements.

local UP_FLOORS = {1386, 3678, 5543, 8599, 10035, 13010}
local FIELDS = {1497, 1499, 11095, 11096}
local DRAW_WELL = 1369

function onUse(cid, item, fromPosition, itemEx, toPosition)
	if(item.itemid == DRAW_WELL and item.actionid ~= 100) then
		return false
	end

	local check = false
	fromPosition.stackpos = STACKPOS_GROUND
	if(isInArray(UP_FLOORS, item.itemid)) then
		fromPosition.z = fromPosition.z - 1
		fromPosition.y = fromPosition.y + 1
		if(doTileQueryAdd(cid, fromPosition, 38) ~= RETURNVALUE_NOERROR) then
			local field = getTileItemByType(fromPosition, ITEM_TYPE_MAGICFIELD)
			if(field.uid == 0 or not isInArray(FIELDS, field.itemid)) then
				fromPosition.y = fromPosition.y - 2
			else
				check = true
			end
		end
	else
		fromPosition.z = fromPosition.z + 1
	end

	if(not check and doTileQueryAdd(cid, fromPosition, 38) ~= RETURNVALUE_NOERROR) then
		local field = getTileItemByType(fromPosition, ITEM_TYPE_MAGICFIELD)
		if(field.uid == 0 or not isInArray(FIELDS, field.itemid)) then
			return false
		end
	end

	local pos, dir = getCreaturePosition(cid), SOUTH
	if(pos.x < fromPosition.x) then
		dir = EAST
	elseif(pos.x == fromPosition.x) then
		if(pos.y == fromPosition.y) then
			dir = getCreatureLookDirection(cid)
		elseif(pos.y > fromPosition.y) then
			dir = NORTH
		end
	elseif(pos.x > fromPosition.x) then
		dir = WEST
	end

	doTeleportThing(cid, fromPosition, false)
	doCreatureSetLookDirection(cid, dir)
	return true
end

 

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo