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

Remove Close Theard!

Printer

if Printer then print("LUA") end
Senator
Premium User
Joined
Dec 27, 2009
Messages
5,780
Solutions
31
Reaction score
2,299
Location
Sweden?
Remove Close Theard!
 
Last edited:
try this one
LUA:
local setup = {
    --[[
    [0] = { <- vocation ID number
        level = 20, --required minimum level to obtain promotion
        outfit = {lookType=123,lookHead=0,lookAddons=0,lookLegs=0,lookBody=0,lookFeet=0},
        oldWeapon = 2392, --required weapon to obtain promotion
        newWeapon = 2400, --weapon you get after promotion
        newVocation = 2, --new vocation's ID that the player is promoted to
    },]]
    [1] = { --ninja
        level = 20,
        outfit = {lookType=123,lookHead=0,lookAddons=0,lookLegs=0,lookBody=0,lookFeet=0},
        oldWeapon = 2392,
        newWeapon = 2400,
        newVocation = 7,
        newPromo = 1
    },
    [7] = { --super ninja
        level = 40, 
        outfit = {lookType=123,lookHead=0,lookAddons=0,lookLegs=0,lookBody=0,lookFeet=0},
        oldWeapon = 2392, 
        newWeapon = 2400,
        newVocation = 8,
        newPromo = 2
    },
    [2] = { --Assassin
        level = 20, 
        outfit = {lookType=123,lookHead=0,lookAddons=0,lookLegs=0,lookBody=0,lookFeet=0},
        oldWeapon = 2392,
        newWeapon = 2400,
        newVocation = 9,
        newPromo = 1
    },
    [9] = { --Super Assassin
        level = 40, 
        outfit = {lookType=123,lookHead=0,lookAddons=0,lookLegs=0,lookBody=0,lookFeet=0},
        oldWeapon = 2392, 
        newWeapon = 2400,
        newVocation = 10,
        newPromo = 2
    },
}
 
function onUse(cid, item, fromPosition, itemEx, toPosition)
    local scroll = setup[getPlayerVocation(cid)]
 
    if not scroll then
        doPlayerSendCancel(cid, 'You do not have the required vocation.')
        return true
    end
 
    if getPlayerLevel(cid) < scroll.level then
        doPlayerSendCancel(cid, 'You need to be at least level '..scroll.level..' in order to be promoted.')
        return true
    end
 
    if getPlayerItemCount(cid, scroll.oldWeapon) == 1 then
        doTransformItem(getPlayerItemById(cid, true, scroll.oldWeapon).uid, scroll.newWeapon)
    else
        doPlayerSendCancel(cid, 'You need only 1 '.. getItemNameById(scroll.oldWeapon)..' in order to be promoted.')
        return true
    end
 
    if scroll.outfit then
        doCreatureChangeOutfit(cid, scroll.outfit)
    end
 
    doRemoveItem(item.uid, 1)
    doPlayerSetPromotionLevel(cid, scroll.newPromo)
    doPlayerSetVocation(cid, scroll.newVocation)
    doSendMagicEffect(fromPosition, CONST_ME_FIREWORK_YELLOW)
    doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, 'You have just been promoted to '..getPlayerVocationName(cid)..'!!')
    doPlayerSave(cid, true)
    return true
end

or this one
LUA:
local setup = {
    --[[
    [0] = { <- vocation ID number
        level = 20, --required minimum level to obtain promotion
        outfit = {lookType=123,lookHead=0,lookAddons=0,lookLegs=0,lookBody=0,lookFeet=0},
        oldWeapon = 2392, --required weapon to obtain promotion
        newWeapon = 2400, --weapon you get after promotion
        newVocation = 2, --new vocation's ID that the player is promoted to
    },]]
    [1] = { --ninja
        level = 20,
        outfit = {lookType=123,lookHead=0,lookAddons=0,lookLegs=0,lookBody=0,lookFeet=0},
        oldWeapon = 2392,
        newWeapon = 2400,
        newPromo = 1
    },
    [7] = { --super ninja
        level = 40, 
        outfit = {lookType=123,lookHead=0,lookAddons=0,lookLegs=0,lookBody=0,lookFeet=0},
        oldWeapon = 2392, 
        newWeapon = 2400,
        newPromo = 2
    },
    [2] = { --Assassin
        level = 20, 
        outfit = {lookType=123,lookHead=0,lookAddons=0,lookLegs=0,lookBody=0,lookFeet=0},
        oldWeapon = 2392,
        newWeapon = 2400,
        newPromo = 1
    },
    [9] = { --Super Assassin
        level = 40, 
        outfit = {lookType=123,lookHead=0,lookAddons=0,lookLegs=0,lookBody=0,lookFeet=0},
        oldWeapon = 2392, 
        newWeapon = 2400,
        newPromo = 2
    },
}
 
function onUse(cid, item, fromPosition, itemEx, toPosition)
    local scroll = setup[getPlayerVocation(cid)]
 
    if not scroll then
        doPlayerSendCancel(cid, 'You do not have the required vocation.')
        return true
    end
 
    if getPlayerLevel(cid) < scroll.level then
        doPlayerSendCancel(cid, 'You need to be at least level '..scroll.level..' in order to be promoted.')
        return true
    end
 
    if getPlayerItemCount(cid, scroll.oldWeapon) == 1 then
        doTransformItem(getPlayerItemById(cid, true, scroll.oldWeapon).uid, scroll.newWeapon)
    else
        doPlayerSendCancel(cid, 'You need only 1 '.. getItemNameById(scroll.oldWeapon)..' in order to be promoted.')
        return true
    end
 
    if scroll.outfit then
        doCreatureChangeOutfit(cid, scroll.outfit)
    end
 
    doRemoveItem(item.uid, 1)
    doPlayerSetPromotionLevel(cid, scroll.newPromo)
    doSendMagicEffect(fromPosition, CONST_ME_FIREWORK_YELLOW)
    doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, 'You have just been promoted to '..getPlayerVocationName(cid)..'!!')
    doPlayerSave(cid, true)
    return true
end

along with the edited vocations.xml I posted
 
Back
Top