15
dúvida

Bug Na Demon Oak

Por 1579091, 17 de jul. de 2012 em Scripts

script
7
1.3k
15790911
17 de julho de 2012 às 14:35

Lol, em meu ot to com um bug na demon oak.... o player vai certinho, mata os bixo talz da arvore, aí quando ele acaba ele é teleportado pra fora, e daí quando ele vai clicar no tumulo pra ser teleportado, não acontece nada... porque??

 

O script do Gravestone (que é a action do tumulo), ta assim:

 

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

local newPosition = {x=32713, y=32394, z=8}

if(item.itemid == 8059 and getPlayerStorageValue(cid, 35700) > 0) then

doTeleportThing(cid, newPosition, TRUE)

doSendMagicEffect(newPosition, CONST_ME_TELEPORT)

doSendMagicEffect(fromPosition, CONST_ME_POFF)

setPlayerStorageValue(cid, 35700, -1)

end

return TRUE

end

EskyloE
17 de julho de 2012 às 14:55

tenta assim

function onUse(cid, item, fromPosition, itemEx, toPosition)
local newPosition = {x=32713, y=32394, z=8}
if getPlayerStorageValue(cid, 35700) > 0 then
doTeleportThing(cid, newPosition, TRUE)
doSendMagicEffect(newPosition, CONST_ME_TELEPORT)
doSendMagicEffect(fromPosition, CONST_ME_POFF)
setPlayerStorageValue(cid, 35700, -1)
end
return TRUE
end

e olha se no otro script (q o player vai cortando a oak) algo tipo

setPlayerStorageValue(cid, 35700, 1)

 

tem q ter isso pro tumulo saber q o player acabou lá

 

se n der posta o otro script tb

15790911
17 de julho de 2012 às 15:04

O da Demon Oak ta assim:

 

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

 

local onePerQuest = "yes"

local level = 120

local positions =

{

kick = { x = 32713, y = 32339, z = 7 },

summon =

{

{x=32713, y=32348, z=7},

{x=32720, y=32349, z=7},

{x=32720, y=32354, z=7},

{x=32711, y=32353, z=7}

}

}

 

local summons =

{

[1] = {"Demon", "Grim Reaper", "Elder Beholder", "Demon Skeleton"},

[2] = {"Dark Torturer", "Banshee", "Betrayed Wraith", "Blightwalker"},

[3] = {"Bonebeast", "Braindeath", "Diabolic Imp", "Giant Spider"},

[4] = {"Hand of Cursed Fate", "Lich", "Undead Dragon", "Vampire"},

[5] = {"braindeath", "Demon", "Bonebeast", "Diabolic Imp"},

[6] = {"Demon Skeleton", "Banshee", "Elder Beholder", "Bonebeast"},

[7] = {"Dark Torturer", "Undead Dragon", "Demon", "Demon"},

[8] = {"Elder Beholder", "Betrayed Wraith", "Demon Skeleton", "Giant Spider"},

[9] = {"Demon", "Banshee", "Blightwalker", "Demon Skeleton"},

[10] = {"Grim Reaper", "Demon", "Diabolic Imp", "Braindeath"},

[11] = {"Banshee", "Grim Reaper", "Hand of Cursed fate", "Demon"}

}

 

local areaPosition =

{

{x=32709, y=32345, z=7, stackpos = 255},

{x=32725, y=32355, z=7, stackpos = 255}

}

 

local demonOak = {8288, 8289, 8290, 8291}

 

local storages =

{

done = 35700,

cutTree = 36901

}

 

local blockingTree =

{

[2709] = {32193, 3669}

}

 

if blockingTree[itemEx.itemid] and itemEx.uid == blockingTree[itemEx.itemid][1] then

 

if getPlayerLevel(cid) < level then

doPlayerSendCancel(cid, "You need level " .. level .. " or more to enter this quest.")

return TRUE

end

 

if getPlayerStorageValue(cid, storages.done) > 0 then

doPlayerSendCancel(cid, "You already done this quest.")

return TRUE

end

 

if getPlayerStorageValue(cid, storages.cutTree) > 0 then

return FALSE

end

 

if onePerQuest == "yes" then

local players = getPlayersOnline()

for _, pid in ipairs(players) do

if isInRange(getCreaturePosition(pid), areaPosition[1], areaPosition[2]) then

doPlayerSendCancel(cid, "Wait until " .. getCreatureName(pid) .. " finish the quest.")

return TRUE

end

end

end

 

doTransformItem(itemEx.uid, blockingTree[itemEx.itemid][2])

doSendMagicEffect(toPosition, CONST_ME_POFF)

doMoveCreature(cid, SOUTH)

doPlayerSetStorageValue(cid, storages.cutTree, 1)

return TRUE

 

elseif isInArray(demonOak, itemEx.itemid) then

 

local get = getPlayerStorageValue(cid, itemEx.itemid)

if get == -1 then

get = 1

end

 

if(getPlayerStorageValue(cid, 8288) == 12 and getPlayerStorageValue(cid, 8289) == 12 and getPlayerStorageValue(cid, 8290) == 12 and getPlayerStorageValue(cid, 8291) == 12) then

doTeleportThing(cid, positions.kick)

doPlayerSetStorageValue(cid, storages.done, 1)

return TRUE

end

 

if getPlayerStorageValue(cid, itemEx.itemid) > 11 then

doSendMagicEffect(toPosition, CONST_ME_POFF)

return TRUE

end

 

if(math.random(100) <= 10) then

doPlayerSetStorageValue(cid, itemEx.uid, 12)

return TRUE

end

 

 

if summons[get] then

for i = 1, #summons[get] do

doCreateMonster(summons[get], positions.summon)

end

doSendMagicEffect(toPosition, CONST_ME_DRAWBLOOD)

doPlayerSetStorageValue(cid, itemEx.itemid, get + 1)

if math.random(100) >= 50 then

doTargetCombatHealth(0, cid, COMBAT_EARTHDAMAGE, -270, -310, CONST_ME_BIGPLANTS)

end

end

return FALSE

end

end

EskyloE
17 de julho de 2012 às 16:17

se o script da demon oak funciona sem erro, tenta usar o script q postei em vez de usar oq vc posto la em cima

15790911
17 de julho de 2012 às 18:13

vc n sabe onde vai, pra quando na hora q ele da a ultima batida no tronco e é teleportado pra fora da quest, ele ja ser teleportado pra sala do fim da quest?

mais tipo, se souber fala certinho onde ta, em qual .lua...

EskyloE
17 de julho de 2012 às 19:26

no segundo arquivo q vc postou troca essas 2 linhas

 

 

doTeleportThing(cid, positions.kick)

doPlayerSetStorageValue(cid, storages.done, 1)

 

 

por essa

 

doTeleportThing(cid, {x=32713, y=32394, z=8})

15790911
18 de julho de 2012 às 20:26

Aí vai meu REP... Resolvido, se puder reportar :)