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

Enchanted weapons action!

Sir MoX

New Member
Joined
Jan 14, 2009
Messages
285
Reaction score
1
hi, I need a working enchanting weapons script because all the ones that I have try in this forum isnt working properly, I need one for tfs 0.2.11 that you have the enchanted gem in your backback and you use it with the weapons and the gem disappear and the weapong get the real amount of charges. Please some1
Obviously I give Rep++
 
data/actions/scripts create file .lua name enchant.lua
Lua:
function onUse(cid, item, fromPosition, itemEx, toPosition) 

--CONFIG 
local config = { 
mana = 300,     --- edit mana use 
soul = 2,       --- edit soul use
messNotEnoughSoul = "You don't have enough soul points.", 
messNotEnoughMana = "You don't have enough mana points.", 
effect = 39 --you can test effects with !z command (ex. !z 23) 
} 
--/CONFIG 

local array = { [7759] = 8907, [7760] = 8906, [7761] = 8909, [7762] = 8908 } 
local altars = {{7516, 7517, 7518, 7519}, {7504, 7505, 7506, 7507}, {7512, 7513, 7514, 7515}, {7508, 7509, 7510, 7511}} 
local gems = {2149, 2147, 2150, 2146} 
local enchantedGems = {7761, 7760, 7762, 7759} 
local weapons = { 
          -- {earth, fire, energy, ice} 
    [2430] = {7860, 7750, 7875, 7769}, 
    [2423] = {7864, 7754, 7879, 7773}, 
    [7406] = {7857, 7747, 7872, 7766}, 
    [7383] = {7855, 7745, 7870, 7764}, 
    [7384] = {7856, 7746, 7871, 7765}, 
    [7415] = {7866, 7756, 7881, 7775}, 
    [7380] = {7862, 7752, 7877, 7771}, 
    [7402] = {7858, 7784, 7873, 7767}, 
    [2391] = {7868, 7758, 7883, 7777}, 
    [7389] = {7861, 7751, 7876, 7770}, 
    [2383] = {7854, 7744, 7869, 7763}, 
    [7392] = {7867, 7757, 7882, 7776}, 
    [2429] = {7859, 7749, 7874, 7768}, 
    [2445] = {7865, 7755, 7880, 7774}, 
    [2454] = {7863, 7753, 7878, 7772} 
} 
     
         
        if itemEx.itemid == 8905 and isInArray(enchantedGems, item.itemid) then 
            for k, v in pairs(array) do 
                if item.itemid == k then 
                    doTransformItem(itemEx.uid, v) 
                    doRemoveItem(item.uid, 1) 
                    doSendMagicEffect(fromPosition, config.effect) 
                    return TRUE 
                end 
            end 
        elseif isInArray(gems, item.itemid) == TRUE then 
            for i=1, #gems do 
                if isInArray(altars[i], itemEx.itemid) == TRUE and item.itemid == gems[i] then 
                    if getPlayerMana(cid) >= config.mana then 
                        if getPlayerSoul(cid) >= config.soul then
                            doRemoveItem(item.uid, 1) 
                            doPlayerAddItem(cid, enchantedGems[i], 1) 
                            doPlayerAddSoul(cid,-config.soul) 
                            doPlayerAddMana(cid,-config.mana) 
                        else 
                            doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, config.messNotEnoughSoul) 
                            doSendMagicEffect(fromPosition, 2) 
                            return FALSE 
                        end 
                    else 
                        doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, config.messNotEnoughMana) 
                        doSendMagicEffect(fromPosition, 2) 
                        return FALSE 
                    end 
                    doSendMagicEffect(toPosition, config.effect) 
                    return TRUE 
                end 
            end 
                 
        else 
            for k, v in pairs(weapons) do 
                if itemEx.itemid == k then 
                    for i=1, #enchantedGems do 
                        if item.itemid == enchantedGems[i] then 
                            doTransformItem(itemEx.uid, v[i], 1000) 
                            doRemoveItem(item.uid, 1) 
                            doSendMagicEffect(fromPosition, config.effect) 
                            return TRUE 
                        end 
                    end 
                end 
            end     
        end 
    return TRUE 
end

data/actions open actions.xml
paste
Lua:
<action itemid="7759" script="enchant.lua"/>
<action itemid="7760" script="enchant.lua"/>
<action itemid="7761" script="enchant.lua"/>
<action itemid="7762" script="enchant.lua"/>
<action itemid="2150" script="enchant.lua"/>
<action itemid="2149" script="enchant.lua"/>
<action itemid="2146" script="enchant.lua"/>
<action itemid="2147" script="enchant.lua"/>
 
hmm try this
you edit in gems ,egems ,altars ,weapons and eweapons IDS..
Lua:
function onUse(cid, item, fromPosition, item2, toPosition)
local gems = {2146, 2147, 2149, 2150}
local egems = {7759, 7760, 7761, 7762}
local altars = {{7508, 7509, 7510, 7511}, {7504, 7505, 7506, 7507}, {7516, 7517, 7518, 7519}, {7512, 7513, 7514, 7515}}
local weapons = {2383, 7384, 7389, 7406, 7402, 2429, 2430, 2435, 7380, 2454, 2423, 2445, 7415, 7392, 2391, 2544, 8905, 2342}
local eweapons = {{7763, 7744, 7854, 7869}, {7765, 7746, 7856, 7871}, {7770, 7751, 7861, 7876}, {7766, 7747, 7857, 7872}, {7767, 7748, 7858, 7873}, {7768, 7749, 7859, 7874}, {7769, 7750, 7860, 7875}, {7770, 7751, 7861, 7876}, {7771, 7752, 7862, 7877}, {7772, 7753, 7863, 7878}, {7773, 7754, 7864, 7879}, {7774, 7755, 7865, 7880}, {7775, 7756, 7866, 7881}, {7776, 7757, 7867, 7882}, {7777, 7758, 7868, 7883}, {7839, 7840, 7838, 7850}, {8907, 8906, 8909, 8908}, {2343, 2343, 2343, 2343}}
local type = item.type
if type == 0 then
type = 1
end
local mana = -300 * type
local soul = -2 * type
if isInArray(gems, item.itemid)== TRUE then
for aa=1, #gems do
if item.itemid == gems[aa] then
a=aa
end
end
if isInArray(altars[a], item2.itemid)== TRUE then
if getPlayerMana(cid) >= mana and getPlayerSoul(cid) >= soul then
doTransformItem(item.uid,egems[a])
doPlayerAddMana(cid,mana)
doPlayerAddSoul(cid,soul)
doSendMagicEffect(fromPosition,39)
else
doPlayerSendCancel(cid,"You dont have mana or soul points.")
end
else
return 2
end
elseif isInArray(egems, item.itemid)== TRUE then
for bb=1, #egems do
if item.itemid == egems[bb] then
b=bb
end
end
if isInArray(weapons, item2.itemid)== TRUE then
for cc=1, #weapons do
if item2.itemid == weapons[cc] then
c=cc
end
end
doTransformItem(item2.uid,eweapons[c][b],1000)
doDecayItem(item.uid)
doSendMagicEffect(fromPosition,39)
doRemoveItem(item.uid,1)
else
doPlayerSendCancel(cid,"You can't enchanted this.")
end
else
return 0
end
return 1
end


Do you have decayTo for them in items.xml?
Lua:
		<attribute key="decayTo" value="2383" />
 
Back
Top Bottom