Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Nâo entendi, qual o problema que está acontecendo?

Você mata o boss e o teleport não aparece?

Link para o post
Compartilhar em outros sites

Não sei se deveria aparece mais não aparece... tipo vc mata o boss e volta pelo mesmo teleport dai vai passa pros proximos não vai.....

Editado por skumbruttuz (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Vamos la, você terá que pesquisar a respeito da inquisition, primeiro saiba como ela funciona para depois tentar implementa-la, essa é uma regra básica para que qualquer coisa dê certo.

De início, você tem q saber uma coisa, sempre que um boss é derrotado, um portal temporário é criado para os jogadores passarem por ele e seguirem em frente com a quest, você terá que pesquisar e saber pra onde cada portal vai levar, então deverá configurar o scrip da maneira correta, uma vez que já saiba como a quest funciona, vamos fazer os portais aparecerem:

 

Primeiro vá em creaturescripts.xml e adicione a seguinte tag:

<event type="kill" name="Inquisition" event ="script" value="inquisition.lua"/>

Retire a linha que usa no momento ou troque o nome do evento para "Inquisition" caso você saiba o que está fazendo.

 

Em creaturescripts/scripts/inquisition.lua:

local monsters = 
{
["Ushuriel"] = {teleportPos = {x = 10249, y = 10350, z = 12, stackpos = 1}, toPos = {x = 10173, y = 10560, z = 13}},
["Zugurosh"] = {teleportPos = {x = 10392, y = 10523, z = 13, stackpos = 1}, toPos = {x = 10313, y = 10472, z = 13}},
["Madareth"] = {teleportPos = {x = 10343, y = 10458, z = 13, stackpos = 1}, toPos = {x = 10288, y = 10364, z = 13}},
["Annihilon"] = {teleportPos = {x = 10637, y = 10465, z = 13, stackpos = 1}, toPos = {x = 10294, y = 10678, z = 13}},
["Hellgorak"] = {teleportPos = {x = 10334, y = 10577, z = 10, stackpos = 1}, toPos = {x = 10256, y = 10468, z = 13}}
}

local brothers = 
{
["Golgordan"] = {teleportPos = {x = 10510, y = 10344, z = 13}, toPos = {x = 10408, y = 10414, z = 13}, brother = "Latrivan"},
["Latrivan"] = {teleportPos = {x = 10510, y = 10344, z = 13}, toPos = {x = 10408, y = 10414, z = 13}, brother = "Golgordan"},

brothersArea =
{
fromPos = {x = 10498, y = 10340, z = 13},
toPos = {x = 10512, y = 10350, z = 13}
}
}
local time = 180 --seconds(3 minutes)

function onKill(cid, target, lastHit)

if(monsters[getCreatureName(target)]) then
local t = monsters[getCreatureName(target)]
doCreateTeleport(1387, t.toPos, t.teleportPos)
doSendMagicEffect(t.teleportPos, CONST_ME_POFF)
doCreatureSay(cid, "You now have 3 minutes to exit this room through the teleporter. It will bring you to the next room only during his time or the teleporter will disappear", TALKTYPE_MONSTER, getCreaturePosition(target))
addEvent(doRemoveTeleport, time * 1000, t.teleportPos)
elseif(brothers[getCreatureName(target)]) then
t = brothers[getCreatureName(target)]
local brother = getCreatureByName(t.brother)
if(isMonster(brother) == true) then
if(isInRange(getCreaturePosition(brother), brothers.brothersArea.fromPos, brothers.brothersArea.toPos) == true) then
return true
else
doCreateTeleport(1387, t.toPos, t.teleportPos)
doSendMagicEffect(t.teleportPos, CONST_ME_POFF)
doCreatureSay(cid, "You now have 3 minutes to exit this room through the teleporter. It will bring you to the next room only during his time or the teleporter will disappear", TALKTYPE_MONSTER, getCreaturePosition(target))
addEvent(doRemoveTeleport, time * 1000, t.teleportPos)
end
end
end
return true
end

function doRemoveTeleport(position)
if(getTileThingByPos(position).itemid > 0) then
doRemoveItem(getTileThingByPos(position).uid)
doSendMagicEffect(position, CONST_ME_POFF)
end
end

 

Você deve configurar o script da seguinte maneira:

["Ushuriel"] = {teleportPos = {x = 10249, y = 10350, z = 12, stackpos = 1}, toPos = {x = 10173, y = 10560, z = 13}}, -- O primeiro campo indica o nome do boss que deve ser morto para que o portal seja criado, onde está "teleportPos" é a localização onde o teleporte irá aparecer, onde está "toPos" é a localização para onde o teleport irá levar os jogadores. Não tem mistério, é bem simples. Basta saber as posições. --

Agora vá em creaturescripts/scripts/login.lua, adicione a seguinte tag:

registerCreatureEvent(cid, "Inquisition")

Agora você terá que ir em cada boss da Inquisition e inserir esta tag em baixo de "Flags":

<script>
    <event name="Inquisition"/>
</script>

Certifique-se de que nenhum outro script que você já utiliza não irá causar conflito com este, eu utilizo no meu servidor e funciona 100%, uso TFS 0.3.6, faça o teste e veja se funciona, posso ter esquecido algo, então se der erro poste aqui, espero que dê certo  :P

Link para o post
Compartilhar em outros sites
  • 1 year later...
  • 3 years later...
Em 11/03/2015 em 12:52, misternis disse:

Alguem ajuda funciono aqui nao esse script

 

olá, estava com o mesmo problema, no meu caso resolvi apenas colocando os scripts dentro dos monstros.

teste meu script no seu servidor e não esqueça de alterar se necessário as posições.

 

 

local config = {
        
timeToRemove = 180, 
message = "You now have 3 minutes to exit this room through the teleporter. It will bring you to the next room only during his time or the teleporter will disappear",
        
teleportId = 1387,
        
bosses = { 
["Ushuriel"] = {  pos={ x=33157, y=31725, z=11, stackpos=1 }, aid=1001 },
                
["Zugurosh"] = {  pos={ x=33123, y=31689, z=11, stackpos=1 }, aid=1002},
                
["Madareth"] = {  pos={ x=33194, y=31768, z=11, stackpos=1 }, aid=1003},
               
["Annihilon"] = {  pos={ x=33200, y=31704, z=11, stackpos=1 }, aid=1005},
                
["Hellgorak"] = {  pos={ x=33107, y=31735, z=11, stackpos=1 }, aid=1006}
 },
        
brothers ={
        
["Golgordan"] = {pos={ x=33235, y=31734, z=11, stackpos=1 },aid=1004, brother = "Latrivan"},
        
["Latrivan"] = {pos={ x=33235, y=31734, z=11, stackpos=1 },aid=1004, brother = "Golgordan"},
        
brothersArea ={
                
fromPos = {x = 33224, y = 31722, z = 11},
                
toPos = {x = 33240, y = 31734, z = 11}    }    }
}

local function removal(position)
    
doRemoveThing(getTileItemById(position, config.teleportId).uid, 1)
    
return TRUE

end

function onKill(cid, target, lastHit)
    
if(config.bosses[getCreatureName(target)]) then
        
local t = config.bosses[getCreatureName(target)]
        
local teleport = doCreateItem(config.teleportId, t.pos)
        
local position = t.pos
        
doItemSetAttribute(teleport, "aid", t.aid)
        
doCreatureSay(cid, config.message, TALKTYPE_ORANGE_1)
        
addEvent(removal, config.timeToRemove * 1000, position)
    
elseif(config.brothers[getCreatureName(target)]) then
        
local t = config.brothers[getCreatureName(target)]
        
local brother = getCreatureByName(t.brother)
        
if(isMonster(brother) == true) then
            
if(isInRange(getCreaturePosition(brother), config.brothers.brothersArea.fromPos, config.brothers.brothersArea.toPos) == true) then
                
return TRUE
            
end
        
else
            
local teleport = doCreateItem(config.teleportId, t.pos)
            
local position = t.pos
            
doItemSetAttribute(teleport, "aid", t.aid)
            
doCreatureSay(cid, config.message, TALKTYPE_ORANGE_1)
            
addEvent(removal, config.timeToRemove * 1000, position)
        
end
    
end
    
return TRUE

end
 

 

local config = {
bosses={---actionid, posicao para onde ira, valor que colocara, texto de entrada
        [1001] = {pos={x=33069, y=31783, z=13, stackpos=1}, value=1, text="Entering The Crystal Caves"},
        [1002] = {pos={x=33371, y=31613, z=14, stackpos=1}, value=2, text="Entering The Blood Halls"},
        [1003] = {pos={x=33153, y=31781, z=12, stackpos=1}, value=3, text="Entering The Vats"},
        [1004] = {pos={x=33038, y=31753, z=15, stackpos=1}, value=4, text="Entering The Arcanum"},
        [1005] = {pos={x=33199, y=31686, z=12, stackpos=1}, value=5, text="Entering The Hive"},
        [1006] = {pos={x=33111, y=31682, z=12, stackpos=1}, value=6, text="Entering The Shadow Nexus"}
        },
mainroom={---actionid, posicao que ira,menor valor de storage que poder entrar, texto de entrada
        [2001] = {pos={x=33069, y=31783, z=13, stackpos=1}, value=1, text="Entering The Crystal Caves"},
        [2002] = {pos={x=33371, y=31613, z=14, stackpos=1}, value=2, text="Entering The Blood Halls"},
        [2003] = {pos={x=33153, y=31781, z=12, stackpos=1}, value=3, text="Entering The Vats"},
        [2004] = {pos={x=33038, y=31753, z=15, stackpos=1}, value=4, text="Entering The Arcanum"},
        [2005] = {pos={x=33199, y=31686, z=12, stackpos=1}, value=5, text="Entering The Hive"}    },
portals={---actionid,texto de entrada
        [3000] = {pos={x=33163, y=31708, z=14}, text="Entering Inquisition Portals Room"},
        [3001] = {pos={x=33158, y=31728, z=11}, text="Entering The Ward of Ushuriel"},
        [3002] = {pos={x=33169, y=31755, z=13}, text="Entering The Undersea Kingdom"},
        [3003] = {pos={x=33124, y=31692, z=11}, text="Entering The Ward of Zugurosh"},
        [3004] = {pos={x=33356, y=31590, z=11}, text="Entering The Foundry"},
        [3005] = {pos={x=33197, y=31767, z=11}, text="Entering The Ward of Madareth"},
        [3006] = {pos={x=33250, y=31632, z=13}, text="Entering The Battlefield"},
        [3007] = {pos={x=33232, y=31733, z=11}, text="Entering The Ward of The Demon Twins"},
        [3008] = {pos={x=33094, y=31575, z=11}, text="Entering The Soul Wells"},
        [3009] = {pos={x=33197, y=31703, z=11}, text="Entering The Ward of Annihilon"},
        [3010] = {pos={x=33105, y=31734, z=11}, text="Entering The Ward of Hellgorak"}    },
storage=56123,---storage used in boss and mainroom portals
e={} }----dunno whats this but have to be like this to make doCreatureSayWithDelay working, DON'T TOUCH}
function onStepIn(cid, item, position, fromPosition)
if isPlayer(cid) == TRUE then
if(config.bosses[item.actionid]) then
local t= config.bosses[item.actionid]
if getPlayerStorageValue(cid, config.storage)< t.value then
setPlayerStorageValue(cid, config.storage, t.value)
end
doTeleportThing(cid, t.pos)
doSendMagicEffect(getCreaturePosition(cid),10)
doCreatureSay(cid,t.text,19,1, config.e)
elseif(config.mainroom[item.actionid]) then
local t= config.mainroom[item.actionid]
if getPlayerStorageValue(cid, config.storage)>=t.value then
doTeleportThing(cid, t.pos)
doSendMagicEffect(getCreaturePosition(cid),10)
doCreatureSay(cid,t.text,19,1,config.e)
else
doTeleportThing(cid, fromPosition)
doSendMagicEffect(getCreaturePosition(cid),10)
doCreatureSay(cid, 'You don\'t have enough energy to enter this portal', TALKTYPE_ORANGE_1)
end
elseif(config.portals[item.actionid]) then
local t= config.portals[item.actionid]
doTeleportThing(cid, t.pos)
doSendMagicEffect(getCreaturePosition(cid),10)
doCreatureSay(cid,t.text,19,1,config.e)
end
end
end

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo