oshrigames
Active Member
hello,
ive been stuck at this one issue for the past 2-3 months..
i want to make 4 sets of weapon quests at levels 30, 60, 80 and 120.
have the chest quests just like anni where you can choose and pick only one reward of the entire lot.
i used to do it mainly by the Reme map editor with Action ID: 2000, and uniqueID: same number in all chests..
put the item in the chest (black squares).
problem with TLS 1.2 is that is that the code is seems to be different and it's get error of duplicate ID and only one chest will work.
i did add Action - Advanced quest chests 1.x (https://otland.net/threads/advanced-quest-chests-1-x.249678/) but i manage to make only mounts work for me..
i also tried [How-to] Quests (https://otland.net/threads/how-to-quests.148708/)
but and adjust the few lines of code to fit to tfs 1.2 still not working :C.
i use this script for my system.lua:
so if i try Action ID: 2215 (from system.lua), and uniqueID: same number in all cheasts non of the chests with the uniqueID working.
i'm more of a mapper myself than a scripter :c
i use theforgottenserver-v1.2-win64
protocol 10.98
if you need any more info please ask ill provide all i can..
PS: normal quests work witohut any issue.
ive been stuck at this one issue for the past 2-3 months..
i want to make 4 sets of weapon quests at levels 30, 60, 80 and 120.
have the chest quests just like anni where you can choose and pick only one reward of the entire lot.
i used to do it mainly by the Reme map editor with Action ID: 2000, and uniqueID: same number in all chests..
put the item in the chest (black squares).
problem with TLS 1.2 is that is that the code is seems to be different and it's get error of duplicate ID and only one chest will work.
i did add Action - Advanced quest chests 1.x (https://otland.net/threads/advanced-quest-chests-1-x.249678/) but i manage to make only mounts work for me..
i also tried [How-to] Quests (https://otland.net/threads/how-to-quests.148708/)
but and adjust the few lines of code to fit to tfs 1.2 still not working :C.
i use this script for my system.lua:
Lua:
local specialQuests = {
[2215] = NoSpecialQuests,
}
local questsExperience = {
[2217] = 1 -- dummy values
}
function onUse(player, item, fromPosition, target, toPosition, isHotkey)
local storage = specialQuests[item.actionid]
if not storage then
storage = item.uid
if storage > 65535 then
return false
end
end
if player:getStorageValue(storage) > 0 then
player:sendTextMessage(MESSAGE_EVENT_ADVANCE, 'The ' .. ItemType(item.itemid):getName() .. ' is empty.')
return true
end
local items, reward = {}
local size = item:isContainer() and item:getSize() or 0
if size == 0 then
reward = item:clone()
else
local container = Container(item.uid)
for i = 0, container:getSize() - 1 do
items[#items + 1] = container:getItem(i):clone()
end
end
size = #items
if size == 1 then
reward = items[1]:clone()
end
local result = ''
if reward then
local ret = ItemType(reward.itemid)
if ret:isRune() then
result = ret:getArticle() .. ' ' .. ret:getName() .. ' (' .. reward.type .. ' charges)'
elseif ret:isStackable() and reward:getCount() > 1 then
result = reward:getCount() .. ' ' .. ret:getPluralName()
elseif ret:getArticle() ~= '' then
result = ret:getArticle() .. ' ' .. ret:getName()
else
result = ret:getName()
end
else
if size > 20 then
reward = Game.createItem(item.itemid, 1)
elseif size > 8 then
reward = Game.createItem(1988, 1)
else
reward = Game.createItem(1987, 1)
end
for i = 1, size do
local tmp = items[i]
if reward:addItemEx(tmp) ~= RETURNVALUE_NOERROR then
print('[Warning] QuestSystem:', 'Could not add quest reward to container')
end
end
local ret = ItemType(reward.itemid)
result = ret:getArticle() .. ' ' .. ret:getName()
end
if player:addItemEx(reward) ~= RETURNVALUE_NOERROR then
local weight = reward:getWeight()
if player:getFreeCapacity() < weight then
player:sendCancelMessage(string.format('You have found %s weighing %.2f oz. You have no capacity.', result, (weight / 100)))
else
player:sendCancelMessage('You have found ' .. result .. ', but you have no room to take it.')
end
return true
end
if questsExperience[storage] then
player:addExperience(questsExperience[storage], true)
end
player:sendTextMessage(MESSAGE_EVENT_ADVANCE, 'You have found ' .. result .. '.')
player:setStorageValue(storage, 1)
return true
end
so if i try Action ID: 2215 (from system.lua), and uniqueID: same number in all cheasts non of the chests with the uniqueID working.
i'm more of a mapper myself than a scripter :c
i use theforgottenserver-v1.2-win64
protocol 10.98
if you need any more info please ask ill provide all i can..
PS: normal quests work witohut any issue.