Ir para conteúdo

Demon Oak Fix Darkne 0.4.0 (8.4) Rev 0.2


jvnm4321

Posts Recomendados

Ja que vc pediu vo explicar

Deixe os locais igual descrito nas fotos:

Lugar Do Carvalho

tutorial1j.th.jpg

 

Cemitério dos premios

tutorial2j.th.jpg

 

Sala De Premiação

tutorial3l.th.jpg

 

Agora vamos aos scripts

va no actions xml procure e delete as linhas:

 

<action itemid="8293" script="tools/Hallowed Axe.lua"/>
<action uniqueid="5908" script="quests/DOQgravestone.lua"/>
<action uniqueid="12901" script="quests/DOQChests.lua" />
<action uniqueid="12902" script="quests/DOQChests.lua" />
<action uniqueid="12903" script="quests/DOQChests.lua" />
<action uniqueid="12904" script="quests/DOQChests.lua" />

 

Depois de apagar (tem que apagar!) adicione as linhas

<action itemid="8293" script="Hallowed Axe.lua"/>
<action actionid="32194" script="demon oak.lua" />
<action uniqueid="2358" script="demon oak.lua" />
<action uniqueid="2359" script="demon oak.lua" />
<action uniqueid="2360" script="demon oak.lua" />
<action uniqueid="2361" script="demon oak.lua" />
<action actionid="5907" script="quests/DOQdeadtree.lua"/>

 

Então crie o arquivo Hallowed Axe na pasta script

e coloque isso:

function onUse(cid, item, frompos, item2, topos)

--Aqui vc escolhe os monstros bases que a arvore irá sumonar--
local monster1 = "Crypt Shambler"
local monster2 = "Lich"
local monster3 = "bone beast"
local monster4 = "banshee"
local monster5 = "giant spider"
local boss1 = "Blightwalker"
local boss2 = "Betrayed Wraith"
local boss3 = "diabolic imp"
local boss4 = "demon"

basepos = {x=141, y=253, z=7} --Aqui é a posição do "rosto" da arvore
local starting={x=145, y=243, z=7, stackpos=253} -- aqui é o mesma coisa da arena, pega a maior posição a noroeste
local ending={x=138, y=260, z=7, stackpos=253} -- aqui a posição mais sudeste
local trash= {x=161, y=49, z=13} --o Lixo pode ser o mesmo da arena ou da anihilator

local tree = 2717 -- id da arvore de entrada


--Monstros Alternativos------------------------------------------------------------------------------------------------------------------------------------------
local altmo = 1  --Escolhe se vai randomizar monstros ou não

local altmonst1 = "devil eye"
local altmonst2 = "frost dragon"
local altmonst3 = "giant spider"
local altmonst4 = "giant spider"
local altmonst5 = "nightmare"
local altboss1  = "plaguesmith"
local altboss2  = "demon"
local altboss3  = "hellhound"
local altboss4  = "behemoth"

----------------------------------------------------------------------------------------------------------------------------------

if altmo == 1 then
if math.random (1,5) == 1 or math.random (1,5) == 5 then
	monster1 = altmonst1
	monster2 = altmonst2
	monster5 = altmonst5
	boss1 = altboss1
	boss3 = altboss3
else
	monster3 = altmonst3
	monster4 = altmonst4
	boss2 = altboss2
	boss4 = altboss4
end
end

local fourposition1 = {x=basepos.x-4, y=basepos.y-4, z=7}
local fourposition2 = {x=basepos.x-4, y=basepos.y+1, z=7}
local fourposition3 = {x=basepos.x+3, y=basepos.y-4, z=7}
local fourposition4 = {x=basepos.x+3, y=basepos.y+1, z=7}

local threeposition1 = {x=basepos.x+3, y=basepos.y+4, z=7}
local threeposition2 = {x=basepos.x+5, y=basepos.y+4, z=7}
local threeposition3 = {x=basepos.x+3, y=basepos.y+5, z=7}

local modpos1 = {x=basepos.x-3, y=basepos.y-5, z=7}
local modpos2 = {x=basepos.x, y=basepos.y-4, z=7}
local modpos3 = {x=basepos.x+2, y=basepos.y-5, z=7}

local twopos ={x=basepos.x+5, y=basepos.y+1, z=7}
local twopos1 = {x=basepos.x+2, y=basepos.y+2, z=7}

local doublepos = {x=basepos.x-3, y=basepos.y-1, z=7}

local leftpos = {x=basepos.x-4, y=basepos.y-5, z=7}
local crepos = {x=basepos.x-3, y=basepos.y-9, z=7}
local gopos = {x=basepos.x-3, y=basepos.y-18, z=7}

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

local gtotal = getPlayerStorageValue(cid, 15005)
local gcorvo = getPlayerStorageValue(cid, 15001)
local gleft = getPlayerStorageValue(cid, 15002)
local gright = getPlayerStorageValue(cid, 15003)
local gface = getPlayerStorageValue(cid, 15004)
checking={x=starting.x, y=starting.y, z=starting.z, stackpos=starting.stackpos}


if item2.itemid == tree and item2.uid == 32193 and getPlayerLevel(cid) >= 120 and getPlayerStorageValue(cid, 15005)== 3 then
	players=0
	totalmonsters=0
	monster = {}
		repeat
		creature= getThingfromPos(checking)
			if creature.itemid > 0 then
				if getPlayerAccess(creature.uid) == 0 then
					players=players+1
				end
					if getPlayerAccess(creature.uid) ~= 0 and getPlayerAccess(creature.uid) ~= 3 then
						totalmonsters=totalmonsters+1
						monster[totalmonsters]=creature.uid
					end
			end
							checking.x=checking.x+1
							if checking.x>ending.x then
								checking.x=starting.x
								checking.y=checking.y+1
							end
		until checking.y>ending.y
								if players==0 then
									current=0
									repeat
										current=current+1
										doTeleportThing(monster[current],trash)
									until current>=totalmonsters
	doTeleportThing(cid, topos, 0)
	doTransformItem(item2.uid, 3669)
	setPlayerStorageValue(cid, 15001,1)
	setPlayerStorageValue(cid, 15002,1)
	setPlayerStorageValue(cid, 15003,1)
	setPlayerStorageValue(cid, 15004,1)
	doCreateTeleport(1387, gopos, crepos)
end


elseif item2.itemid == 8288 then
	if gcorvo <10 then
		effect (cid,15001,gcorvo,topos)
			if gcorvo == 3 then
				doSummonCreature(monster1, fourposition1)
				doSummonCreature(monster1, fourposition2)
				doSummonCreature(monster1, fourposition3)
				doSummonCreature(monster1, fourposition4)
			elseif gcorvo == 5 then
				doSummonCreature(monster2, threeposition1)
				doSummonCreature(monster2, threeposition2)
				doSummonCreature(monster2, threeposition3)
			elseif gcorvo == 7 then
				doSummonCreature(boss1, fourposition3)
			elseif gcorvo == 9 then
				gtotal = gtotal + 1
				setPlayerStorageValue(cid, 15005,gtotal)
			end
	else
		doSendMagicEffect(topos, 2)
	end

elseif item2.itemid == 8289 then
	if gleft <10 then
		effect (cid,15002,gleft,topos)
			if gleft == 3 then
				doSummonCreature(monster1, fourposition1)
				doSummonCreature(monster1, fourposition2)
				doSummonCreature(monster1, fourposition3)
				doSummonCreature(monster1, fourposition4)
			elseif gleft == 4 then
				doSummonCreature(monster3, modpos1)
				doSummonCreature(monster3, modpos2)
				doSummonCreature(monster3, modpos3)
				doSummonCreature(monster3, fourposition2)
			elseif gleft == 7 then
				doSummonCreature(monster1, fourposition1)
				doSummonCreature(monster1, fourposition2)
				doSummonCreature(monster1, fourposition3)
				doSummonCreature(monster1, fourposition4)
			elseif gleft == 9 then
				doSummonCreature(boss2, leftpos)
				gtotal = gtotal + 1
				setPlayerStorageValue(cid, 15005,gtotal)
			end
	else
		doSendMagicEffect(topos, 2)
	end

elseif item2.itemid == 8290 then
	if gright <10 then
		effect (cid,15003,gright,topos)
			if gright == 2 then
				doSummonCreature(monster4, twopos)
				doSummonCreature(monster4, twopos1)
			elseif gright == 4 then
				doSummonCreature(monster1, fourposition1)
				doSummonCreature(monster1, fourposition2)
				doSummonCreature(monster1, fourposition3)
				doSummonCreature(monster1, fourposition4)
			elseif gright == 7 then
				doSummonCreature(monster1, fourposition1)
				doSummonCreature(monster1, fourposition2)
				doSummonCreature(monster1, fourposition3)
				doSummonCreature(monster1, fourposition4)
			elseif gright == 9 then
				doSummonCreature(boss3,leftpos)
				gtotal = gtotal + 1
				setPlayerStorageValue(cid, 15005,gtotal)
			end
	else
		doSendMagicEffect(topos, 2)
	end

elseif item2.itemid == 8291 then
	if gface <10 then
		effect (cid,15004,gface,topos)
			if gface == 1 then
				doSummonCreature(monster2, doublepos)
				doSummonCreature(monster5, fourposition2)
			elseif gface == 4 then
				doSummonCreature(monster1, fourposition1)
				doSummonCreature(monster1, fourposition2)
				doSummonCreature(monster1, fourposition3)
				doSummonCreature(monster1, fourposition4)
			elseif gface == 6 then
				doSummonCreature(boss4, leftpos)
			elseif gface == 9 then
				gtotal = gtotal + 1
				setPlayerStorageValue(cid, 15005,gtotal)
			end
	else
		doSendMagicEffect(topos, 2)
	end
end
return 0
end


function effect (cid,storage,valor,topos)
valor = getPlayerStorageValue(cid, storage)
doTargetCombatHealth(0, cid, COMBAT_EARTHDAMAGE, -500, -700, CONST_ME_BIGPLANTS)
valor = valor + 1
setPlayerStorageValue(cid, storage,valor)
doSendMagicEffect(topos, 0)
end

 

Agoa crie o arquivo Demon Oak.lua e coloque o seguinte

function onUse(cid, item, fromPosition, itemEx, toPosition)

newnPosition  = {x=109, y=254, z=8} -- Aqui a posição da sala de recompensa

if item.actionid == 32194 and getPlayerStorageValue(cid,15005) == 8 then
	doTeleportThing(cid,newnPosition)
	doSendMagicEffect(newnPosition,10)

elseif item.uid == 2358 then
 queststatus = getPlayerStorageValue(cid,2358)
 if queststatus == -1 and getPlayerStorageValue(cid,15005) == 8  then
if getPlayerFreeCap(cid) >= 54.00 then
doPlayerSendTextMessage(cid,24,"You have found demon legs.")
doPlayerAddItem(cid,2495,1)
 setPlayerStorageValue(cid,2358,1)
setPlayerStorageValue(cid,15005,9)
  else
 doPlayerSendTextMessage(cid,24,"You have found a demon legs. Weighing 54.00 oz it is too heavy.")
  end
 else
  doPlayerSendTextMessage(cid,24,"The chest is empty.")
 end

elseif item.uid == 2359 then
 queststatus = getPlayerStorageValue(cid,2358)
 if queststatus == -1 and getPlayerStorageValue(cid,15005) == 8  then
if getPlayerFreeCap(cid) >= 69.00 then
doPlayerSendTextMessage(cid,24,"You have found rainbow shield.")
doPlayerAddItem(cid,8905,1)
 setPlayerStorageValue(cid,2358,1)
setPlayerStorageValue(cid,15005,9)
  else
 doPlayerSendTextMessage(cid,24,"You have found a rainbow shield. Weighing 69.00 oz it is too heavy.")
  end
 else
  doPlayerSendTextMessage(cid,24,"The chest is empty.")
 end

elseif item.uid == 2360 then
 queststatus = getPlayerStorageValue(cid,2358)
 if queststatus == -1 and getPlayerStorageValue(cid,15005) == 8  then
if getPlayerFreeCap(cid) >= 12.00 then
doPlayerSendTextMessage(cid,24,"You have found royal crossbow.")
doPlayerAddItem(cid,8851,1)
 setPlayerStorageValue(cid,2358,1)
setPlayerStorageValue(cid,15005,9)
  else
 doPlayerSendTextMessage(cid,24,"You have found a royal crossbow. Weighing 12.00 oz it is too heavy.")
  end
 else
  doPlayerSendTextMessage(cid,24,"The chest is empty.")
 end

elseif item.uid == 2361 then
 queststatus = getPlayerStorageValue(cid,2358)
 if queststatus == -1 and getPlayerStorageValue(cid,15005) == 8  then
if getPlayerFreeCap(cid) >= 28.50 then
doPlayerSendTextMessage(cid,24,"You have found a spellbook of dark mysteries.")
doPlayerAddItem(cid,8918,1)
setPlayerStorageValue(cid,2358,1)
setPlayerStorageValue(cid,15005,9)
  else
 doPlayerSendTextMessage(cid,24,"You have found spellbook of dark mysteries. Weighing 28.50 oz it is too heavy.")
  end
 else
  doPlayerSendTextMessage(cid,24,"The chest is empty.")
 end

end

end

 

Agora Vamos para o movements.xml e delete as seguintes linhas:

	<movevent event="StepOut" uniqueid="32193" script="quests/demon oak.lua" />
<movevent event="StepIn" uniqueid="32195" script="quests/demon oak.lua" />
<movevent event="StepIn" actionid="15000" script="quests/demon oak.lua" />
<movevent event="StepIn" actionid="15001" script="quests/demon oak.lua" />
<movevent event="StepIn" actionid="15002" script="quests/demon oak.lua" />
<movevent event="StepIn" actionid="15003" script="quests/demon oak.lua" />
<movevent event="StepIn" actionid="15004" script="quests/demon oak.lua" />
<movevent event="StepIn" actionid="15005" script="quests/demon oak.lua" />
<movevent event="StepIn" actionid="15006" script="quests/demon oak.lua" />

 

Depois que deletar (Tem que deletar sim!) adicione as seguintes linhas:

<movevent event="StepOut" uniqueid="32193" script="demon oak.lua" />
<movevent event="StepIn" uniqueid="32195" script="demon oak.lua" />
<movevent event="StepIn" actionid="15001" script="demon oak.lua" />
<movevent event="StepIn" actionid="15002" script="demon oak.lua" />
<movevent event="StepIn" actionid="15003" script="demon oak.lua" />
<movevent event="StepIn" actionid="15004" script="demon oak.lua" />
<movevent event="StepIn" actionid="15005" script="demon oak.lua" />
<movevent event="StepIn" actionid="15006" script="demon oak.lua" />

va na pasta scripts e crie o arquivo Demon Oak.lua e coloque:

function onStepOut(cid, item, position, fromPosition)

if item.uid == 32193 and item.itemid == 3669 then
	doTransformItem(item.uid,2717)
end
end

function onStepIn(cid, item, position, fromPosition)

local yell = getPlayerStorageValue(cid, 15006)
local pos1= {x=1866, y =973, z=7} --Aqui a posição do lado da arvore, de onde sairá o grito dela.

if item.uid == 32195 and item.itemid == 1387 then
	if getPlayerStorageValue(cid, 15005) == 7 then
		doPlayerSendTextMessage(cid,21,"Tell Oldrak about your great victory against the demon oak.")
	else
		doPlayerSendTextMessage(cid,21,"You have escaped of Demon Oak.")
		setPlayerStorageValue(cid, 15001,1)
		setPlayerStorageValue(cid, 15002,1)
		setPlayerStorageValue(cid, 15003,1)
		setPlayerStorageValue(cid, 15004,1)
		setPlayerStorageValue(cid, 15005,3)
	end
end


	if getPlayerStorageValue(cid, 15006) < 5 then
		yell = yell + 1			
				if item.actionid == 15002 and getPlayerStorageValue(cid, 15006) == -1 then
					setPlayerStorageValue(cid, 15006,yell)
					doCreatureSayWithDistance(cid, pos1, "Find a way in here and release me! Pleeeease hurry!",TALKTYPE_ORANGE_1 )
				elseif item.actionid == 15003 and getPlayerStorageValue(cid, 15006) == 0 then
					setPlayerStorageValue(cid, 15006,yell)
					doCreatureSayWithDistance(cid, pos1, "I can bring your beloved back from the dead,just release me!",TALKTYPE_ORANGE_1 )
				elseif item.actionid == 15004 and getPlayerStorageValue(cid, 15006) == 1 then
					setPlayerStorageValue(cid, 15006,yell)
					doCreatureSayWithDistance(cid, pos1, "What is this? Demon legs lying here? Someone might have lost them.",TALKTYPE_ORANGE_1 )
				elseif item.actionid == 15005 and getPlayerStorageValue(cid, 15006) == 2 then
					setPlayerStorageValue(cid, 15006,yell)
					doCreatureSayWithDistance(cid, pos1, "I'm trapped come here and free me, fast!!!",TALKTYPE_ORANGE_1 )
				elseif item.actionid == 15006 and getPlayerStorageValue(cid, 15006) == 3 then
					setPlayerStorageValue(cid, 15006,yell)
					doCreatureSayWithDistance(cid, pos1, "I'm trapped come here and free me, fast!!!",TALKTYPE_ORANGE_1 )
				end




elseif item.actionid == 15001 then
		if math.random(1,4) == 1 then
			doTargetCombatHealth(0, cid, COMBAT_EARTHDAMAGE, -1200, -800, CONST_ME_BIGPLANTS)
		end
	end
end

 

Agora é só fazer a quest e pegar demon legs :party:

Link para o comentário
Compartilhar em outros sites

Fechado.

Quando você decidir por os créditos e ter a autorização do dono para postar, eu abro o tópico de novo.

Quando isso acontecer só me notificar via MP

 

P.S: Criado por Tibiaa4e.

 

Billgato alertado em 10% por Ripping.

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

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...