Ir para conteúdo

Featured Replies

  • Respostas 11
  • Visualizações 1.1k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Vê se te serve assim, fiz aqui rapidinho, não tive como testar:   Item que guarda o monstro   Em actions/scripts, crie um arquivo.lua:     Em actions.xml, adicione

  • Danyel Varejao
    Danyel Varejao

    Já tinha feito o script porém esqueci de postar aqui, mas tá aqui caso queira usar. Action do Item que vai usar no monstro local Configs = { Min_Level = 8, -- Minimo de level pra usar o item

  • @xMateuss Não tinha colocado, porque você não disse pra colocar. Apenas falou sobre remover o papel kk    

Postado
  • Autor
9 horas atrás, rogaforyn2 disse:

Qual TFS

8.60 (versão)

6 horas atrás, Danyel Varejao disse:

Invocar o monstro que você fala é torna-lo seu? como um utevo res?

Ao invocar o monstro, o monstro atacará você...

é como se fosse o jogador dando /m Monstro e ele atacar você, é apenas para "guardar" e mata-lo em outro lugar,

Postado

Vê se te serve assim, fiz aqui rapidinho, não tive como testar:

 

Item que guarda o monstro

 

Em actions/scripts, crie um arquivo.lua:

 

Spoiler

local ignored = {"Trainer", "Dwarf", "Dwarf Soldier", "Dwarf Guard"}
local paper_id = 1111 --- id do papel

function onUse(cid, item, fromPosition, itemEx, toPosition)
if not isCreature(itemEx.uid) or isSummon(itemEx.uid) or isPlayer(itemEx.uid) or isInArray(ignored, getCreatureName(itemEx.uid)) then
doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)
return true
end
doCreatureSay(itemEx.uid, "I WILL BACK!", TALKTYPE_ORANGE_1)
doSendMagicEffect(toPosition, CONST_ME_POFF)
local m = tostring(getCreatureName(itemEx.uid))
local sealed_paper = doPlayerAddItem(cid, paper_id, 1)
doItemSetAttribute(sealed_paper, "description", "There is "..getArticle(m).." ".. m .." sealed in this paper.")
doRemoveCreature(itemEx.uid)
return true
end

 

 

Em actions.xml, adicione a tag: <action itemid="ID_DO_ITEM" script="NOMEDOSEUARQUIVO.lua" />

 

Item que invoca o monstro (papel)

 

Em actions/scripts, crie um arquivo.lua:

 

Spoiler

function onUse(cid, item, fromPosition, itemEx, toPosition)
if getTilePzInfo(getPlayerPosition(cid)) then 
doPlayerSendCancel(cid, "You can not do this action inside protection zone.") return true
end
local desc = getDescription(item)
local art = desc:find("an ") and "an " or desc:find("a ") and "a " or nil
if not art then 
doPlayerSendCancel(cid, "There is no monster sealed in this paper.") return true 
end
local m = desc:match("There is (.-) sealed"):gsub(art, "")
local p = getClosestFreeTile(cid, getPlayerPosition(cid))
local monster = doCreateMonster(m,p)
doSendMagicEffect(getThingPos(monster), CONST_ME_TELEPORT)
doCreatureSay(monster, "I TOLD YOU I WOULD GO BACK! HAHAHA!", TALKTYPE_ORANGE_1)
doRemoveItem(item.uid)
return true
end

function getDescription(item) 
for i,x in pairs(getItemDescriptions(item.uid)) do 
if i == "special" then 
return x
end 
end
end

 

 

Em actions.xml, adicione a tag: <action itemid="ID_DO_ITEM" script="NOMEDOSEUARQUIVO.lua" />

Contato:

 

Postado

Já tinha feito o script porém esqueci de postar aqui, mas tá aqui caso queira usar.

Action do Item que vai usar no monstro

local Configs = {
	Min_Level = 8, -- Minimo de level pra usar o item.
	Remove_Monster = true, -- Remover o monstro ao selar? true = sim, false = não.
	No_Sealable_Monsters = {"Trainer"}, -- Lista de monstros que nao pode.
	ItemID_Seal = 1954, -- ID do papel que irá usar pra sumonar o monstro depois.
}

function onUse(cid, item, fromPosition, itemEx, toPosition)
	if getPlayerLevel(cid) < Configs.Min_Level then
		doPlayerSendCancel(cid, "Sorry, you need level ".. Configs.Min_Level .." more.")
		return true
	end
	if isCreature(itemEx.uid) then
		if isMonster(itemEx.uid) and not isSummon(itemEx.uid) then
			local Seal_Monster = getCreatureName(itemEx.uid)
			if not isInArray(Configs.No_Sealable_Monsters, Seal_Monster) then
				local Seal_Paper = doCreateItemEx(Configs.ItemID_Seal)
				doItemSetAttribute(Seal_Paper, "monster", Seal_Monster)
				doItemSetAttribute(Seal_Paper, "description", "Have ".. string.lower(Seal_Monster) .." sealed in this paper.")
				if doPlayerAddItemEx(cid, Seal_Paper) then
        				doRemoveItem(item.uid)
					if Configs.Remove_Monster then
						doRemoveCreature(itemEx.uid)
						doSendMagicEffect(toPosition, CONST_ME_POFF)
					end
				end
			else
				doPlayerSendCancel(cid, "Sorry, not possible seal this monster.")
			end
		end
	end
	return true
end

Action do Papel que vai sumonar o monstro, que no caso usei como exemplo o papel 1954.

function onUse(cid, item, fromPosition, itemEx, toPosition)
	if getTilePzInfo(getThingPos(cid)) then
		doPlayerSendCancel(cid, "Sorry, not summon creature in protect zone.")
		return true
	end
	doCreateMonster(getItemAttribute(item.uid, "monster"), getThingPos(cid), false, true)
	doRemoveItem(item.uid, 1)
	return true
end

 

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

Postado
  • Autor
15 horas atrás, Dwarfer disse:

Vê se te serve assim, fiz aqui rapidinho, não tive como testar:

 

Item que guarda o monstro

 

Em actions/scripts, crie um arquivo.lua:

 

  Ocultar conteúdo


local ignored = {"Trainer", "Dwarf", "Dwarf Soldier", "Dwarf Guard"}
local paper_id = 1111 --- id do papel

function onUse(cid, item, fromPosition, itemEx, toPosition)
if not isCreature(itemEx.uid) or isSummon(itemEx.uid) or isPlayer(itemEx.uid) or isInArray(ignored, getCreatureName(itemEx.uid)) then
doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)
return true
end
doCreatureSay(itemEx.uid, "I WILL BACK!", TALKTYPE_ORANGE_1)
doSendMagicEffect(toPosition, CONST_ME_POFF)
local m = tostring(getCreatureName(itemEx.uid))
local sealed_paper = doPlayerAddItem(cid, paper_id, 1)
doItemSetAttribute(sealed_paper, "description", "There is "..getArticle(m).." ".. m .." sealed in this paper.")
doRemoveCreature(itemEx.uid)
return true
end

 

 

Em actions.xml, adicione a tag: <action itemid="ID_DO_ITEM" script="NOMEDOSEUARQUIVO.lua" />

 

Item que invoca o monstro (papel)

 

Em actions/scripts, crie um arquivo.lua:

 

  Ocultar conteúdo


function onUse(cid, item, fromPosition, itemEx, toPosition)
if getTilePzInfo(getPlayerPosition(cid)) then 
doPlayerSendCancel(cid, "You can not do this action inside protection zone.") return true
end
local desc = getDescription(item)
local art = desc:find("an ") and "an " or desc:find("a ") and "a " or nil
if not art then 
doPlayerSendCancel(cid, "There is no monster sealed in this paper.") return true 
end
local m = desc:match("There is (.-) sealed"):gsub(art, "")
local p = getClosestFreeTile(cid, getPlayerPosition(cid))
local monster = doCreateMonster(m,p)
doSendMagicEffect(getThingPos(monster), CONST_ME_TELEPORT)
doCreatureSay(monster, "I TOLD YOU I WOULD GO BACK! HAHAHA!", TALKTYPE_ORANGE_1)
doRemoveItem(item.uid)
return true
end

function getDescription(item) 
for i,x in pairs(getItemDescriptions(item.uid)) do 
if i == "special" then 
return x
end 
end
end

 

 

Em actions.xml, adicione a tag: <action itemid="ID_DO_ITEM" script="NOMEDOSEUARQUIVO.lua" />

Obrigado! mas pode colocar a tag de quando SELAR remover o item? pois fica infinito

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.6k

Informação Importante

Confirmação de Termo