• 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!

jak robic questy ??

arczieku

New Member
Joined
Feb 17, 2010
Messages
57
Reaction score
0
Mam tfs 0.3.6

Jak robić questy ??
Action ID
Uniqe ID

Co za co odpowiada i jak zrobić quest ??
Kiedyś to robiłe male już zapomniałem (

Pomocy bo mam rpoblem na swoim ots z questami..

Kiedyś się wpisywało w usatwieniach skrzynek nr id itemu i palayer dostawal po nacisnieciu na skrzynke a teraz jakies skrypty ??
 
Lua:
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

Wpiszesz w UID ID itemu i będzie działało z tym systemem =)
 
PPM, properites, dodaj item, wpisz action id 2000 uid dowolne(najlepiej id itemu) i po sprawie.
 
Dla ciekawszych rozwiązań daj AID 2000, UID dowolne, takie które będzie pełniło rolę StorageID dla questa. Następnie itemy które mają być w skrzyni ustaw w containerze w mapeditorze. Jeżeli ustawisz 2-8 itemów, skrypt zapakuje to w backpack, jak więcej no to leci w backpack.

Jak stworzysz ileśtam skrzyni, i dla każdej dasz to samo UID, zadziała to jak skrzynki na anni, tzn. będziesz mógł odebrać tylko jedną nagrodę.
 
Back
Top