Ja que vc pediu vo explicar
Deixe os locais igual descrito nas fotos:
Lugar Do Carvalho
Cemitério dos premios
Sala De Premiação
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