Ir para conteúdo

Featured Replies

Postado
  • Este é um post popular.

Fala galera do TK, um cara tinha pedido no suporte pra eu fazer essa spell aqui http://youtu.be/ZWrsRvVYgys?t=1m54s e eu fiz rapidinho e ficou uma bosta, então eu decidi melhorar ela e postar aqui pra vocês. 

O vídeo é bem explicativo então eu acho que não preciso ficar prologando isso daqui, se vc não quiser ver o vídeo tente entender pelas fotos:

1498995_1447663748818438_254339735944906


 

10293659_1447663758818437_32178653386897




Bom, antes de tudo vá em spells.xml e coloque isso daqui:

<instant name="Tibia King" words="Hirashin ni no dan" lvl="50" mana="100" prem="1" range="6" needtarget="1" blockwalls="1" exhaustion="1000" needlearn="0" event="script" value="especiais/playerport.lua">
<vocation id="5"/>
<vocation id="6"/>
<vocation id="7"/>
<vocation id="8"/>
</instant>

aqui vc configura nome da magia, palavras pra usar ela, level pra usar, mana que custa, se precisa ser premio, o alcance máximo dela, se precisa de um target (nessa magia em específico eu vou pedir pra que vc não mexa nisso), se ela é bloqueada pelas paredes (1 quer dizer que sim), a exaustão entre um uso e outro (nesse caso vc usa a magia e precisa esperar 1 segundo (1000 milisegundos) pra usá-la novamente) se ela precisa ser aprendida (0 significa que vc já vem com ela) e em value você tem o diretório em que ela vai ficar (no caso dentro da pasta spells\scripts vai ter uma pasta chamada especiais e dentro dessa pasta vai ter um arquivo chamado playerport.lua

Feito isso crie o arquivo playerport.lua que deverá conter o seguinte:

local config = {
storage = 49708,
tempo = 1.5,
effect = 65
}

local exception = {"Trainer", "Training Monk", "GOD"}

function onCastSpell(cid, var)
local name = getCreatureName(getCreatureTarget(cid))
if not isInArray(exception, name) then
	if getPlayerStorageValue(cid, config.storage) <= 0 then
		doPlayerSetStorageValue(cid, config.storage, 1)
		doSendMagicEffect(getThingPos(cid), config.effect)
		doSendMagicEffect(getThingPos(variantToNumber(var)), config.effect)
		addEvent(function()
		doPlayerSetStorageValue(cid, config.storage, 0)
			if isCreature(cid) and isCreature(variantToNumber(var)) then
				if isWalkable(getCreaturePosition(variantToNumber(var)), false, true, true) then
					doTeleportThing(cid, getThingPos(variantToNumber(var)), true)
					arr = {3}
					doAreaCombatHealth(cid, 1, getThingPos(variantToNumber(var)), arr, -getPlayerLevel(cid), -2*(getPlayerLevel(cid)), 0)
				elseif isCreature(cid) and not isWalkable(getCreaturePosition(variantToNumber(var)), false, true, true) then
					doPlayerSendCancel(cid, "You can't reach your target")
				end
			end
		end, 1000*config.tempo)
	elseif getPlayerStorageValue (cid, config.storage) > 0 then
		doSendMagicEffect(getThingPos(cid), 2)
		doPlayerSendCancel(cid, "You've already set your target.")
	end
	else
	doPlayerSendCancel (cid, "You can't use this spell in this creature.")
	return false
	end
return true
end

Ali no começo é possível configurar algumas coisas do script:

o script em si é bem fácil de se configurar.

Agora pra evitar possíveis bugs você deve ir em creaturescripts\scripts\login.lua e adicionar essas linhas antes do ultimo return true:

---------- PlayerPort---------------
if getPlayerStorageValue(cid, 49708) ~= 0 then
        setPlayerStorageValue(cid, 49708, 0) 
end

Lembrando que o storage no login.lua tem que ser igual ao storage no script!!

OBS: a fórmula pode ser mudada nessa linha aqui:

doAreaCombatHealth(cid, 1, getThingPos(variantToNumber(var)), arr, -getPlayerLevel(cid), -2*(getPlayerLevel(cid)), config.effectdamage)  

aqui é a fórmula:

 -getPlayerLevel(cid), -2*(getPlayerLevel(cid))

sendo min, max respectivamente. Em outras palavras, o mínimo que a magia tira é o level do player e o máximo que ela tira é 2x o level;

Espero que vcs tenham gostado :]

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

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

  • Respostas 54
  • Visualizações 7k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • vcs tem que entender que eu não jogo otserv e eu não gosto de naruto.. se vc quiser que eu faça algo, me explica ao máximo oque é e oque faz e eu vou fazer idêntico ao que vc quer... mas saiba que eu

  • não entendi nada, escreve com vírgulas e explica oque faz.. não me importa se é o jutsu de teleporte do minato, apenas me fala oque faz, aqui tem um exemplo: É uma spell que quando você usa, ela col

  • editei lá galera, só pegar ;]

Postado
  • Autor

agora ele funciona em monstros sem dar erro e ainda tira dano :DDD

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Postado

ei cara faz um mais que quando usa invoca kunai e onde ele clica com a kunai vai


ei me passa o selamento da morte pfpf e aquele otro jutsu que apareseu a cabea da kyuubi

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