Ir para conteúdo

Featured Replies

Postado
ERRO AO EXECUTA  COMANDO DO SCRIPT;
 
data/spells/scripts/spells/paladin.lua:7: attempt to call global 'getPositionsByDirection' (a nil  value)
stack traceback:
 data/spells/scripts/spells/paladin.lua:7: in function <data/spells/scripts/spells/paladin.lua:1>
  • Respostas 28
  • Visualizações 4.6k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Essa spell foi pensada pra ser um dobrador de agua removendo agua da grama e fazendo ela morrer... não sei se combinaria.

  • Só coloca needtarget = "1" no xml e troca o script:

  • 5 years later...
Postado
Em 17/11/2014 em 11:47, xWhiteWolf disse:

Fala pessoal do TK, hoje vim trazer uma spell bem bonita que veio na minha cabeça.
em 14:06 desse vídeo dá pra ver oque eu tentei criar
http://tvuol.uol.com.br/video/avatar--livro-3-fogo--ep-48--a-manipuladora-de-fantoches-04028C98306ED8A90326/
mas por conta dos efeitos precários que o Tibia possui não ficou tão legal qnt eu imaginei mas em todo caso eu decidi compartilhar o código com vocês.

O resultado final foi esse daqui:

 

Conteúdo Oculto



Se vocês se interessaram é só criar um arquivo em spells/scripts e colocar isso daqui dentro dele:


function onCastSpell(cid, var)
local config = {
spins = 1,
delay = 120
}


local k = checkGroundInArray(getPositionsByDirection(cid), grass)
	if #k < 1 then
	doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)
	doPlayerSendCancel(cid, "You need to be around grass to cast this spell.")
	return false
	end
		
	for i = 1, #k do
	addEvent(function()
				if isPlayer(cid) then
				local pos = k[i]
						local grama = getThingFromPos(pos)						
						doTransformItem(grama.uid, driedgrass[math.random(1, #driedgrass)])
						a = (i < 9) and doSendMagicEffect(pos, 1) or doSendMagicEffect(pos, 53)
						doSendDistanceShoot(pos, getThingPos(cid), 36)
				end
			end, (config.delay/2) * i)	
	end	
	range = #k > 4 and 7 or 5
	
	addEvent(function()
		if isPlayer(cid) then
			local pos = k[i]
			local lastPos = false
			for i = 1, range do
				local position = getPositionByDirection(getCreaturePosition(cid), getCreatureLookDirection(cid), i)					
				if isWalkable(position, false, true, true) then
					local creature = getTopCreature(position)
					if (creature.uid > 0) then
						doSendDistanceShoot(getCreaturePosition(cid), getCreaturePosition(creature.uid), 36)
						doTargetCombatHealth(cid, creature.uid, COMBAT_PHYSICALDAMAGE, -142 * (#k - 1), -150 * (#k - 1), CONST_ME_NONE)
					break
					end
					lastPos = position
				end
				
				if lastPos then
					doSendDistanceShoot(getCreaturePosition(cid), lastPos, 36)
				end
			end
		end
	end, (config.delay + (4 * config.delay * config.spins)) )		
			
	addEvent(function()
		for j = 1, #k do			
			addEvent(function()
				local pos = k[j]
				local grama = getThingFromPos(pos)	
				if isInArray(driedgrass, grama.itemid) then
					doTransformItem(grama.uid, grass[math.random(1, #grass)])
				end	
			end, (config.delay/2) * j)									
		end
	end, config.delay * 100)			
	spinRotate(cid, config.spins, config.delay)
return true
end

e em spells.xml vc adiciona:


<instant name="TK" words="kataras sense" lvl="8" mana="35" prem="0" casterTargetOrDirection="1" exhaustion="1500" needlearn="0" event="script" value="nomedoarquivo.lua">
</instant>

OBS: Note que esse script usa funções da new library. Você pode conseguir essas funções aqui: http://www.tibiaking.com/forum/topic/46015-new-library-v-10/

Espero que tenham curtido, esse é só o começo! Testada em TFS 0.3.6 Tibia 8.54.

Coisa linda Wolf! Teria como fazer a mesma coisa, só que ao inves do chao usar corpos? Ia ser muito massa nos meu OT RPG. Destroi o corpo e faz uma bola de morte.

Postado
  • Autor
On 9/9/2020 at 12:53 PM, Vorkhon said:

Coisa linda Wolf! Teria como fazer a mesma coisa, só que ao inves do chao usar corpos? Ia ser muito massa nos meu OT RPG. Destroi o corpo e faz uma bola de morte.

se vc olhar no script da new lib:

eu declaro duas tabelas no comecinho (grass e driedgrass), o que vc tem que fazer é substituir essas tabelas localmente (declara no script lá local grass = {todos os ids de corpse q quer usar} e local driedgrass = {todos os ids de esqueleto que quer gerar aleatoriamente}

pra fazer ele bater certinho o esqueleto com o corpse (caso vc queira usar mais de um tipo de corpse) você teria que fazer outras adaptações, mas a ideia é essa ai

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.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo