Ir para conteúdo
  • 0

Erro No System Quest


lelesho

Pergunta

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

Link para o comentário
Compartilhar em outros sites

13 respostass a esta questão

Posts Recomendados

  • 0

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 por lelesho
Link para o comentário
Compartilhar em outros sites

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