Ir para conteúdo

(Resolvido)[PEDIDO] Spells Hiraishin Ni No Dan Seal e Hiraishin Ni No Dan

Featured Replies

Postado
  • Autor
2 horas atrás, marcot disse:

Bom, eu tentei fazer o bruto, se faltar alguma coisa me dá o toque. Eu preferi fazer por talkaction pra deixar mais fácil o codigo, porque daria muito trampo negócio de guardar o nome do jogador que o player marcou fora do script.

 

Vá em data/talkactions/talkactions.xml e adicione as tags:


<talkaction words="hiraishin ni no dan seal" script="hiraishin no jutsu.lua" />
<talkaction words="hiraishin ni no dan" script="teleport hiraishin.lua" />

Agora em data/talkactions/scripts/ crie os arquivos hiraishin no jutsu.lua e teleport hiraishin.lua.

 

hiraishin no jutsu.lua


local config = {
	storage = 49608,
	time = 6
}

local errorMsg = {
	pz = "Voce so pode usar este jutsu fora do PZ.",
	playerOnly = "Voce so pode usar este jutsu em players.",
	alreadyMarked = "Voce ja marcou um jogador."
}

function onSay(cid, words, param)
	caster = cid
	target = getPlayerByName (param)
	
	if getTilePzInfo(getPlayerPosition(caster)) == FALSE and getTilePzInfo(getPlayerPosition(target)) == FALSE then
		if isPlayer (target) == TRUE then
			if getPlayerStorageValue (cid, config.storage) <= 0 then
				setPlayerStorageValue(cid, config.storage, 1)
				doPlayerSendTextMessage(cid,22, "Voce marcou o player ".. getPlayerName(target))
				local struct = {
					left = config.time, 
					player = cid,
					target = target
				}
				addEvent(teleportIsTrue, 1000, struct)
			elseif getPlayerStorageValue (cid, config.storage) > 0 then
				doSendMagicEffect(getPlayerPosition(cid), 2) 
				doPlayerSendCancel (cid, errorMsg.alreadyMarked)
			end
		else
			doPlayerSendCancel (cid, errorMsg.playerOnly)
		end
	else
		doPlayerSendCancel (cid, errorMsg.pz)
	end
end

function teleportIsTrue (struct)
	if struct.left ~= 0 then
		if getPlayerStorageValue (struct.player, config.storage) == 2 then
			doTeleportThing(struct.player, getThingPos(struct.target))
			setPlayerStorageValue(struct.player, config.storage, 0)
			doPlayerSendTextMessage(struct.player,22, "Voce perdeu sua marcacao.")
			return TRUE
		end
		doPlayerSendTextMessage(struct.player,22, struct.left .. " segundos restantes.")
		struct.left = struct.left - 1
		addEvent (teleportIsTrue, 1000, struct)
	elseif struct.left == 0 then
		doPlayerSendTextMessage(struct.player,22, "Voce perdeu sua marcacao.")
		setPlayerStorageValue(struct.player, config.storage, 0)
	else
		return FALSE
	end
end

 

hiraishin teleport.lua


local config = { 
	storage = 49608
}

function onSay (cid, words, param)
	if getPlayerStorageValue (cid, config.storage) == 1 then
		setPlayerStorageValue(cid, config.storage, 2)
	else
		doPlayerSendTextMessage(cid,22, "Voce nao marcou nenhum jogador.")
	end
end

Testei em Aries Server to Tibia 8.1 - Version 4.0 based on OTServ SVN Version 0.6.0 e funcionou normalmente, caso dê algum erro me envie o que houve no console.

Espero ter ajudado!

@marcot  mano não esta funcionando e não esta apresentando nenhum erro no console, é como se simplesmente ele não estivesse adicionada no servidor

OBS: não teria como fazer elas como spells ?? porque eu queria colocar em uma vocation especifica

 

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

Top Posters In This Topic

Most Popular Posts

  • @hallanehallex Consegui fazer seguindo as dicas do Wolf. Hiraishin no Jutsu 2.0:   Em data/spells/spells.xml cole: <instant name="Hiraishin No Jutsu" words="hiraishin ni

  • Ficou muito bom, meus parabéns amigo :D Só tem 1 coisinha: as funções de param de spells só funcionam em players então essa mensagem de playerOnly = "Voce so pode usar este jutsu em players.",

  • Script sem o bug de tirar o target e sem damage: local config = { storageID = 49609, mark_time = 10 * 60, effectWhenTeleport = 339, -- Efeito ao teleportar effectWhenUsed = 152, } local error

Postado
  • Autor
13 minutos atrás, marcot disse:

Em qual versão de TFS você está testando?

P.S.: Dá pra colocar por vocation com talkaction também

 

Usou as aspas? exemplo: 


hiraishin ni no dan seal "JogadorX

 

@marcot  eu uso TFS Source 0.3.6 Crying Damon

 

P.S.: Se eu não usar as " Aspas " Fica Livre para todos os player poder usar ??

Postado

Na versão que testei só funcionava quando abria as aspas. Eu so vou terminar um script aqui e ja olho esse em uma versão mais recente de tibia

0cc47e0d7fcb80abc89fba8f887baa1c.gif

hiraishin "Teste3

teleport

/\ foram as hotkeys usadas pra teleportar, mas por conta das tags que usei diferentes pra deixar mais rápido

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

Postado
  • Autor
23 minutos atrás, marcot disse:

Na versão que testei só funcionava quando abria as aspas. Eu so vou terminar um script aqui e ja olho esse em uma versão mais recente de tibia

0cc47e0d7fcb80abc89fba8f887baa1c.gif

hiraishin "Teste3

teleport

/\ foram as hotkeys usadas pra teleportar, mas por conta das tags que usei diferentes pra deixar mais rápido

 

ao invez de colocar o nome da pessoa como vc deu o exemplo hiraishin "Teste3  tem como colocar a vocation por exemplo hiraishin"230-246 para X vocation pode usar essa spell/talkaction ??

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