LE
dúvida

Erro No System Quest

Por lelesho, 04 de out. de 2012 em Scripts

erro
thebug
bug
quest
14
1.5k
leleshoL
04 de outubro de 2012 às 14:46

Quando eu faço qualquer quest ao clica no bau da DEBUG

 

porque?

 

meu servidor é.

The Forgotten Server 0.2.14:

Pode ser E erro na action de 2000? ou system.lua? seila me ajudem

Yan OliveiraY
04 de outubro de 2012 às 17:06

Passa o script pra mim ver como ta.

leleshoL
04 de outubro de 2012 às 23:21

está ai.

 

System

local specialQuests = {

[2001] = 30015 --Annihilator

}

 

local questsExperience = {

[30015] = 10000

}

 

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

 

local storage = specialQuests[item.actionid]

if(not storage) then

storage = item.uid

if(storage > 65535) then

return false

end

end

 

if(getPlayerStorageValue(cid, storage) > 0) then

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "It is empty.")

return true

end

 

local items = {}

local reward = 0

 

local size = isContainer(item.uid) and getContainerSize(item.uid) or 0

if(size == 0) then

reward = doCopyItem(item, false)

else

for i = 0, size do

local tmp = getContainerItem(item.uid, i)

if(tmp.itemid > 0) then

table.insert(items, tmp)

end

end

end

 

size = table.maxn(items)

if(size == 1) then

reward = doCopyItem(items[1], true)

end

 

local result = ""

if(reward ~= 0) then

local ret = getItemDescriptions(reward.uid)

if(reward.type > 0 and isItemRune(reward.itemid)) then

result = reward.type .. " charges " .. ret.name

elseif(reward.type > 0 and isItemStackable(reward.itemid)) then

result = reward.type .. " " .. ret.plural

else

result = ret.article .. " " .. ret.name

end

else

if(size > 20) then

reward = doCopyItem(item, false)

elseif(size > 8) then

reward = getThing(doCreateItemEx(1988, 1))

else

reward = getThing(doCreateItemEx(1987, 1))

end

 

for i = 1, size do

local tmp = doCopyItem(items, true)

if(doAddContainerItemEx(reward.uid, tmp.uid) ~= RETURNVALUE_NOERROR) then

print("[Warning] QuestSystem:", "Could not add quest reward")

else

local ret = ", "

if(i == 2) then

ret = " and "

elseif(i == 1) then

ret = ""

end

 

result = result .. ret

ret = getItemDescriptions(tmp.uid)

if(tmp.type > 0 and isItemRune(tmp.itemid)) then

result = result .. tmp.type .. " charges " .. ret.name

elseif(tmp.type > 0 and isItemStackable(tmp.itemid)) then

result = result .. tmp.type .. " " .. ret.plural

else

result = result .. ret.article .. " " .. ret.name

end

end

end

end

 

if(doPlayerAddItemEx(cid, reward.uid, false) ~= RETURNVALUE_NOERROR) then

result = "You have found a reward weighing " .. getItemWeight(reward.uid) .. " oz. It is too heavy or you have not enough space."

else

result = "You have found " .. result .. "."

setPlayerStorageValue(cid, storage, 1)

if(questsExperience[storage] ~= nil) then

doPlayerAddExp(cid, questsExperience[storage])

doSendAnimatedText(getCreaturePosition(cid), questsExperience[storage], TEXTCOLOR_WHITE)

end

end

 

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, result)

return true

end

 

 

e quests

 

-- simple quests based on uniqueId

-- to make quest create chest on map and set its uniqueId to id of quest item

 

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

prize = item.uid

count = item.actionid

 

if prize > 0 and prize < 9000 then

queststatus = getPlayerStorageValue(cid,prize)

 

if queststatus == -1 then

if count > 1 then

doPlayerSendTextMessage(cid,22,'You have found '.. count ..' of ' .. getItemName(prize) .. '.')

doPlayerAddItem(cid,prize,count)

setPlayerStorageValue(cid,prize,1)

else

doPlayerSendTextMessage(cid,22,'You have found a ' .. getItemName(prize) .. '.')

doPlayerAddItem(cid,prize,1)

setPlayerStorageValue(cid,prize,1)

end

else

doPlayerSendTextMessage(cid,22,"It is empty.")

end

 

return 1

else

return 0

end

end

 

Editado Outubro 5 por lelesho

Yan OliveiraY
06 de outubro de 2012 às 16:03

Mostre o error q da quando vc abre o bau pra facilita pra te ajudar.

leleshoL
06 de outubro de 2012 às 16:09

Então, quando clica no BAU, simplismente da debug

Yan OliveiraY
06 de outubro de 2012 às 16:14

@Lelesho

 

As x pode ser error do mapa e n da quest quando dar debug procure o id do piso q deu debug q la fala.

leleshoL
06 de outubro de 2012 às 17:18

Como assim não entendi ):

Yan OliveiraY
06 de outubro de 2012 às 17:43

Pode ser algum piso q esteja bugado verifique.

leleshoL
06 de outubro de 2012 às 18:16

è o piso principal pra cave terra.

Yan OliveiraY
06 de outubro de 2012 às 18:18

Conseguiu arrumar, é so isso ou ta dano erro ainda?

leleshoL
06 de outubro de 2012 às 18:29

ainda da erro

Yan OliveiraY
06 de outubro de 2012 às 18:33

Mostra o error.

leleshoL
06 de outubro de 2012 às 18:43

Não aparece nenhum erro, apenas eu clico no bau tomo Thebug depois logo o iten na ta BP não é so comigo outros players tbm

LuckOakeL
06 de outubro de 2012 às 18:44

Rapaz, ao tomar debug, quando você abre o client novamente dá uma mensagem de erro. Posta ela aqui.