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

Automatic equipment

leetz

New Member
Joined
May 5, 2014
Messages
13
Reaction score
0
How can you automatically set a specific equipment when a new character is created? I'm using OTX03/ZnoteAAC.
 
there is a file called firstitems.lua in data/creaturescripts/scripts/firstitems.lua you can change it to whatever you want
Hello! There's no firstitems.lua here... /home/realotxserver772/otx_server/data/creaturescripts/scripts

advancesave.lua
extendedopcode.lua
guild.lua
houseprotect.lua
idle.lua
login.lua
mail.lua
obsidianknife.lua
partyAndGuildProtection.lua
recordIp.lua
reportbug.lua
skullcheck.lua
 
Source: [Mod & Lua] Advanced First Items (useRunes, useSlot, slotType, useMessage, inContainer)
Lua:
local commonItems = {
        {itemid=8707, count=1, useMessage=true}, -- a book (or whatever) with a message
        {itemid=2789, count=10, inContainer = true}, -- 10 brown mushrooms
        {itemid=2152, count=10, inContainer = true}, -- 10 platinum coins
        {itemid=2200, count=100, useSlot=true, slotType=CONST_SLOT_NECKLACE}, -- protection amulet
        {itemid=2643} -- leather boots
}
 
local firstItems = {
        { -- Sorcerer
                {itemid=1988}, -- backpack
                {itemid=2175}, -- spellbook
                {itemid=2190}, -- wand of vortex
                {itemid=8819}, -- magician's robe
                {itemid=8820}, -- mage hat
                {itemid=2468}, -- studded legs
                {itemid=7620, count=3, inContainer=true}, -- mana potion
                {useRunes=true, container=1988, runeId=2268, charges=3}
        },
        { -- Druid
                {itemid=1988}, -- backpack
                {itemid=2175}, -- spellbook
                {itemid=2182}, -- snakebite rod
                {itemid=8819}, -- magician's robe
                {itemid=8820}, -- mage hat
                {itemid=2468}, -- studded legs
                {itemid=7620, count=3, inContainer=true}, -- mana potion
                {useRunes=true, container=1988, runeId=2268, charges=3}
        },
        { -- Paladin
                {itemid=1988}, -- backpack
                {itemid=2456, count=1, useSlot=true, slotType=CONST_SLOT_LEFT}, -- bow
                {itemid=2544, count=100, useSlot=true, slotType=CONST_SLOT_LAST}, -- 100 arrow's
                {itemid=2660}, -- ranger's cloak
                {itemid=2481}, -- soldier helmet
                {itemid=8923}, -- ranger legs
                {itemid=7618, count=1, inContainer=true}, -- health potion
                {itemid=7620, count=2, inContainer=true}, -- mana potion
                {useRunes=false, container=1988, runeId=2268, charges=3}
        },
        { -- Knight
                {itemid=1988}, -- backpack
                {itemid=2509}, -- steel shield
                {itemid=8602}, -- jagged sword
                {itemid=8601, inContainer=true}, -- steel axe
                {itemid=2439, inContainer=true}, -- daramanian mace
                {itemid=2465}, -- brass armor
                {itemid=2481}, -- soldier helmet
                {itemid=2478}, -- brass legs
                {itemid=7618, count=3, inContainer=true}, -- health potion
                {useRunes=false, container=1988, runeId=2268, charges=3}
        }
}
 
function onLogin(cid)
        for _, items in ipairs(firstItems) do
                for _, item in ipairs(commonItems) do
                        table.insert(items, item)
                end
        end
      
        if(getPlayerAccess(cid) < 3 and (getPlayerLastLoginSaved(cid) < 1) and firstItems[getPlayerVocation(cid)]) then
                for _, v in ipairs(firstItems[getPlayerVocation(cid)]) do
                        if isItemContainer(v.itemid) then
                                backpack = doPlayerAddItem(cid, v.itemid, 1, false)
                        elseif v.inContainer then
                                doAddContainerItem(backpack, v.itemid, v.count or 1)
                        elseif v.useSlot then
                                local id = doCreateItemEx(v.itemid, v.count or 1)
                                doPlayerAddItemEx(cid, id, false, v.slotType)
                        elseif v.useMessage then
                                local t, k = {
                                        writer = "Server Staff", date = os.time(),
                                        text = "Welcome to " .. getConfigValue('serverName') .. ", " .. getCreatureName(cid) .. ".\n\nIf you need help with anything, please refer to the help channel and our staff will gladly assist you. Please remember to report any errors, bugs, or abuse to the Gamemasters."
                                }, doPlayerAddItem(cid, v.itemid, v.count or 1, false)
                                doSetItemText(k, t.text, t.writer, t.date)
                        elseif v.useRunes then
                                local weight = getItemWeightById(v.runeId, tonumber(getItemInfo(v.container).maxItems)) + getItemWeightById(v.container, 1)
                                if(getPlayerFreeCap(cid) >= weight) then
                                        local bp = doCreateItemEx(cid, v.container, 1)
                                        if(doPlayerAddItemEx(cid, bp) ~= RETURNVALUE_NOERROR) then
                                                return false
                                        else
                                                for i = 1, tonumber(getItemInfo(v.container).maxItems) do
                                                        doAddContainerItem(bp, v.runeId, v.charges or 1)
                                                end
                                        end
                                end
                        else
                                doPlayerAddItem(cid, v.itemid, v.count or 1)
                        end
                end
        end
        return true
end
 
Back
Top