• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!
  • 2026 staff recruitment is open! Check it out and consider applying!

Problem z questami

Martin93

~WebDesign
Joined
Nov 11, 2008
Messages
194
Reaction score
0
Location
Poland
Mam taki problem w TFS 0.3.6. Mam mapę, i questy. Problem w tym, ze wykonam quest, dochodze do skrzynki, a ona sie otwiera jak normalny chest. W mapedytorze jest wszystko dobrze porobione, wtf?
 
Co masz w map edytorze?W 0.3.6 jest bodajze w unique id itemu i nic wiecej.
 
Mam zwykł chest i ustawione uniqe id i w nim id itemu.
@edit
Ale ustać na tej skrzynce już się nie da.
 
Bo walkback sprawdza uid dlatego nie mozesz ustac, a dales AID 2000? ;x
 
a sprobuj TYLKO w unique wpisac id itema, bez ustawiania go w czarnej ramce.
 
wypierdalaj jak nie umiesz na tnet

<action itemid="1740" script="quests/quests.lua" />
<action itemid="1747" script="quests/quests.lua" />
<action itemid="1748" script="quests/quests.lua" />
<action itemid="1749" script="quests/quests.lua" />
<action itemid="1770" script="quests/quests.lua" />

local annihilatorReward = {1990, 2400, 2431, 2494}
function onUse(cid, item, fromPosition, itemEx, toPosition)
if item.uid > 1000 and item.uid < 10000 then
local itemWeight = getItemWeightById(item.uid, 1)
local playerCap = getPlayerFreeCap(cid)
if isInArray(annihilatorReward, item.uid) == TRUE then
if getPlayerStorageValue(cid, 30015) == -1 then
if playerCap >= itemWeight then
if item.uid == 1990 then
local container = doPlayerAddItem(cid, 1990, 1)
doAddContainerItem(container[1], 2326, 1)
else
doPlayerAddItem(cid, item.uid, 1)
end
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'Zdobyles ' .. getItemNameById(item.uid) .. '.')
setPlayerStorageValue(cid, 30015, 1)
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, ' Zdobyles ' .. getItemNameById(item.uid) .. ' weighing ' .. itemWeight .. ' oz it\'s too heavy.')
end
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Pusto")
end
elseif getPlayerStorageValue(cid, item.uid) == -1 then
if playerCap >= itemWeight then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, ' Zdobyles ' .. getItemNameById(item.uid) .. '.')
doPlayerAddItem(cid, item.uid ,1)
setPlayerStorageValue(cid, item.uid, 1)
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'You have found a ' .. getItemNameById(item.uid) .. ' weighing ' .. itemWeight .. ' oz it\'s too heavy.')
end
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Pusto")
end
else
return FALSE
end
return TRUE
end

w movements zrobisz żeby nie można było przesuwać skrzynek
 
Wiec co mam zrobic? :<
Mam w chuj questów. W każdej skrzynce mam id itemu w unique, a mimo to chesty otwieraja się jak pudła.
 
Wiec co mam zrobic? :<
Mam w chuj questów. W każdej skrzynce mam id itemu w unique, a mimo to chesty otwieraja się jak pudła.

Code:
function copyItem(item)
    if (isContainer(item.uid) == TRUE) then
        uid = copyContainer(item.uid, item.itemid)
        if item.actionid > 0 then
            doSetItemActionId(uid, item.actionid)
        end
        return uid
    else
        return doCreateItemEx(item.itemid, item.type)
    end
end
function copyContainer(uid, itemid)
    local container = doCreateItemEx(itemid, 1)
    local iterator = getContainerSize(uid)
    while iterator > 0  do
        iterator = iterator - 1
        doAddContainerItemEx(container, copyItem(getContainerItem(uid, iterator)))
    end
    return container
end
function onUse(cid, item, fromPosition, itemEx, toPosition)
    if getPlayerStorageValue(cid, item.uid) ~= 1 then
        local items = {}
        local item_in = {}
        local item_slot = 0
        local item_to_give = 0
        local item_desc = ''
        while(true) do
            item_in = getContainerItem(item.uid, item_slot)
            if item_in.itemid > 0 then
                table.insert(items, item_in)
            else
                break
            end
            item_slot = item_slot+1
        end
        if #items == 0 then
            item_to_give = doCreateItemEx(item.uid)
            item_desc = getItemNameById(item.uid)
        elseif #items == 1 then
            item_to_give = doCreateItemEx(items[1].itemid, items[1].type)
            if items[1].actionid > 0 then
                doSetItemActionId(item_to_give, items[1].actionid)
            end
            item_desc = getItemNameById(items[1].itemid)
        else
            if #items <= 8 then
                item_to_give = doCreateItemEx(1987, 1)
            else
                item_to_give = doCreateItemEx(1988, 1)
            end
            local n = 0
            local uid = 0
            for i=1, #items do
                n = #items - i + 1
                uid = doAddContainerItemEx(item_to_give, copyItem(items[n]))
                if items[n].actionid > 0 then
                    doSetItemActionId(uid, items[n].actionid)
                end
                item_desc = getItemNameById(items[n].itemid) .. item_desc
                if i ~= #items then
                    item_desc = ", " .. item_desc
                end
            end
        end
        if doPlayerAddItemEx(cid, item_to_give, 0) == RETURNVALUE_NOERROR then
            doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, 'You have found a ' .. item_desc .. '.')
            setPlayerStorageValue(cid, item.uid, 1)
            if item.uid < 2000 then
                setPlayerStorageValue(cid, 1000, getPlayerStorageValue(cid,1000)+1)
            end
        else
            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'You don\'t have enought capacity or free place in backpack for a ' .. item_desc .. '.')
        end
    else
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "It is empty.")
    end
    return TRUE
end

Code:
	<!-- Quests -->
	<action itemid="1740" event="script" value="quests/system.lua"/>
	<action itemid="1747" event="script" value="quests/system.lua"/>
	<action itemid="1748" event="script" value="quests/system.lua"/>
	<action itemid="1749" event="script" value="quests/system.lua"/>
 
action -> scripts -> quest -> scripted

elseif item.uid == 60102 then
if getPlayerStorageValue(cid,60102) == -1 then
doPlayerSendTextMessage(cid,25,"Znalazles Impaler - Gratulacje. ")
doPlayerAddItem(cid,7435,1)
setPlayerStorageValue(cid,60102,1)
else
doPlayerSendTextMessage(cid,25,"empty.")
end

60102 - uni skrzynki (wpis)
7435 - action (item)



Uploaded with Piotr F. @ server
 
Back
Top