Ir para conteúdo

Rise Of Devovorga (Alguns Scripts)


mapperneto

Posts Recomendados

Olááá Galerinha Do XTibia, a alguns meses atras eu copiei o mapa da Rise Of Devovorga e creio eu que eu seja o primeiro mapper brasileiro a fazer tal coisa. Pois só me avisaram de 1 mapper europeu que tinha feito isso, mas o assunto hoje não é o mapa e sim os scripts por tras de tal evento.



Para quem conhece a Rise Of Devovorga é um evento que ocorre no tibia (global) que foi implantado na versão 8.60 e aberto pela primeira vez na versão 9.10, algumas semanas depois do evento sairam os videos daonde eu olhei e copiei o mapa por isso creio eu ser o primeiro brasileiro mapper a copiar o mapa. Mas Chega de delongas finalmente vamos aos scripts.

Bom primeiramente o Teleport que da acesso a Devovorga Lair.

Abra a pasta SEUOT\data\movements\scripts

Copie e cole qualquer arquivo .LUA renomeie para tp delete o que tem dentre e cola isso.

 

Script By: MapperNeto and Fireelement.

-- Script By: MapperNeto & Fireelement -- 
function onStepIn(cid, item, position, fromposition)
   local tp = {x = XXX, y = XXX, z = X} -- pra onde o jogador vai ser teleportado

   if isPlayer(cid) then
      doTeleportThing(cid, tp)
      doSendMagicEffect(getCreaturePosition(cid), 50) -- Efeito que aparecerá após Teleportado
      doPlayerSendTextMessage(cid, 22, "You're entering the lair of Devovorga.") -- Msg que aparecerá após Teleportado
   end
   return true
end



Após feito isso volte a pasta movements abra o movements.XML e cole está tag

 

<movevent type="StepIn" uniqueid="1597" event="script" value="tp.lua"/>



OBS: É preciso colocar o uniqueID no piso onde o player será teleportado.

Agora Vamos Aos Baus Dos Premios

Abra a pasta actions/scripts copie e cole qualquer arquivo .LUA renomeie para Rise Of Devovorga delete tudo que tem dentro e cole.

OBS: Esse script não vai dar todos os itens em um só bau é um script para 3 uniquesID's diferentes 1 para cada bau.

OBS²: Esses são somente os premios que dão as demons backpacks faltam 2 baus que são os primeiros que dão os itens (statue of Devovorga e stone of windom).

 

100% By: MapperNeto

 

-- 100% BY: MapperNeto -- 
function onUse(cid, item, frompos, item2, topos)

if item.uid == 32001 then
	if getPlayerStorageValue(cid,32001) == -1 then
		doPlayerSendTextMessage(cid,22,"You have found a demon backpack.")
local bag =	doPlayerAddItem(cid,10518,1)
		doAddContainerItem(bag, 2156, 1)
		doAddContainerItem(bag, 7439, 1)
		doAddContainerItem(bag, 7440, 1)
		doAddContainerItem(bag, 7443, 1)
       	doAddContainerItem(bag, 12583, 2) 
       	setPlayerStorageValue(cid,32001,1)   
	else
		doPlayerSendTextMessage(cid,22,"The is empty.")
end

elseif item.uid == 32002 then
	if getPlayerStorageValue(cid,32002) == -1 then
		doPlayerSendTextMessage(cid,22,"You have found a demon backpack.")
		local bag = doPlayerAddItem(cid,10518,1)
		doAddContainerItem(bag, 5944, 1)
		doAddContainerItem(bag, 2149, 6)
		doAddContainerItem(bag, 11256, 1)
       	doAddContainerItem(bag, 12583, 4) 
		setPlayerStorageValue(cid,32002,1)
	else
		doPlayerSendTextMessage(cid,22,"It is empty.")
	end

		elseif item.uid == 32003 then
	if getPlayerStorageValue(cid,32003) == -1 then
		doPlayerSendTextMessage(cid,22,"You have found a demon backpack.")
		local bag = doPlayerAddItem(cid,10518,1)
		doAddContainerItem(bag, 7632, 1)
		doAddContainerItem(bag, 9971, 5)
       	doAddContainerItem(bag, 12583, 5) 
		setPlayerStorageValue(cid,32003,1)
	else
		doPlayerSendTextMessage(cid,22,"It is empty.")
	end
end
return TRUE
end



 

Depois de feito isto vá a pasta actions abra o arquivo actions.XML e cole as seguintes tags.

 

    <action uniqueid="32001" event="script" value="quests/Rise Of Devovorga.lua"/>
   <action uniqueid="32002" event="script" value="quests/Rise Of Devovorga.lua"/>
   <action uniqueid="32003" event="script" value="quests/Rise Of Devovorga.lua"/> 

Editado por MapperNeto
Link para o comentário
Compartilhar em outros sites

-- Script By: MapperNeto & Fireelement -- 
function onStepIn(cid, item, position, fromposition)
local tp = {x = XXX, y = XXX, z = X} -- pra onde o jogador vai ser teleportado

if isPlayer(cid) then
  doTeleportThing(cid,tp)
  doSendMagicEffect(getCreaturePosition(cid), 50) -- Efeito que aparecerá após Teleportado
  doPlayerSendTextMessage(cid, 22, "You're entering the lair of Devovorga.") -- Msg que aparecerá após Teleportado
else
  doPlayerSendTextMessage(cid, 22, "You're entering the lair of Devovorga.")
end
  return true
end

 

Isso ta errado ... vai dar erro toda vez que um monstro/npc pisar encima.

 

-- Script By: MapperNeto & Fireelement -- 
function onStepIn(cid, item, position, fromposition)
local tp = {x = XXX, y = XXX, z = X} -- pra onde o jogador vai ser teleportado

if isPlayer(cid) then
  doTeleportThing(cid,tp)
  doSendMagicEffect(getCreaturePosition(cid), 50) -- Efeito que aparecerá após Teleportado
  doPlayerSendTextMessage(cid, 22, "You're entering the lair of Devovorga.") -- Msg que aparecerá após Teleportado
return true
end

Link para o comentário
Compartilhar em outros sites

É achei que sem o else não funcionaria mas dps vi que pega normal.

 

esqueceu do end by~

 

-- Script By: MapperNeto & Fireelement -- 
function onStepIn(cid, item, position, fromposition)
   local tp = {x = XXX, y = XXX, z = X} -- pra onde o jogador vai ser teleportado

   if isPlayer(cid) then
      doTeleportThing(cid, tp)
      doSendMagicEffect(getCreaturePosition(cid), 50) -- Efeito que aparecerá após Teleportado
      doPlayerSendTextMessage(cid, 22, "You're entering the lair of Devovorga.") -- Msg que aparecerá após Teleportado
   end
   return true
end

Link para o comentário
Compartilhar em outros sites

O segundo script, eu tentei resumir um pouco:

function onUse(cid, item, frompos, item2, topos)
config = {
useInfoText = true, -- se voce quer que apareça na mensagem oque tem na bag.
sendEffect = true, -- mandar efeito ao abrir
prizes = {[32001] = {{id=2156,count=1},{id=7439,count=1},{id=7440,count=1},{id=7443,count=1},{id=12583,count=2}},
         [32002] = {{id=5944,count=1},{id=2149,count=6},{id=11256,count=1},{id=12583,count=4}},
         [32003] = {{id=7632,count=1},{id=9971,count=5},{id=12583,count=5}}}
}
       local text = 'You have found a demon backpack'
       if getPlayerStorageValue(cid, item.uid) == -1 then
       local p = config.prizes[item.uid]
       local name = getItemNameById
       local bag = doPlayerAddItem(cid,10518,1)
       if config.useInfoText then text = text..' containing' end
       for i,v in ipairs(p) do
       if config.useInfoText then
local a = v.count == 1 and getItemArticleById(v.id) or v.count
if i ~= (table.maxn(p)-1) then
       text = text..' '..a..' '..name(v.id)..''
else
       text = text..' '..a..' '..name(v.id)..' and'
end
if i ~= table.maxn(p) then
       text = text..','
end
       end
       doAddContainerItem(bag, v.id, v.count)
       end
       text = text..'.'
if config.sendEffect then doSendMagicEffect(frompos, 13) end
       setPlayerStorageValue(cid, item.uid, 1)
       else
       text = 'It is empty.'
       end

       doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,text)

return TRUE
end

 

Testei e esta funcionando.

 

Se a mensagem vir assim:

01:49 You have found a demon backpack containing , 5 gold ingot, 5 ,.

 

Eh porque os items nao tem article/nome nos items.xml

Editado por Byerne
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...