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

Transform system problem (TFS 1.2)

Lopaskurwa

Well-Known Member
Joined
Oct 6, 2017
Messages
914
Solutions
2
Reaction score
50
Hi so this is system is made by "Itutorial" all credits for him. But this system have one big problem so. When you transform and revert, then quickly log out and log in again, you are the transformed version but with reduced health and mana, so you can't transform, you can only revert but since you already have reduced health reverting again will kill you.

Systems
global
LUA:
exhaust_transform = {}

transform = {
[1] = {voc = 1, newVoc = 5, from_looktype = 2, looktype = 3, level = 50, rage = 3, mana = 10, addHealth = 200, addMana = 150, effect = 79, aura = nil, constant = false}
}
transform.lua
LUA:
function onSay(player, words, param)
    local kurwa_gdzie_jest_efekt = Position(player:getPosition().x + 1, player:getPosition().y, player:getPosition().z)
    local pid = player:getId()

    local TRANS = transform[player:getVocation():getId()]

    if not TRANS then
        player:sendCancelMessage("You cannot transform.")
        return false
    end
    if player:getLevel() < TRANS.level then
        player:sendCancelMessage("You must reach level "..TRANS.level.." to transform.")
        return false
    end
    if player:getSoul() < TRANS.rage then
        player:sendCancelMessage("You need "..TRANS.rage.." to transform.")
        return false
    end
    if player:getMana() < TRANS.mana then
        player:sendCancelMessage("You need "..TRANS.mana.." to transform.")
        return false
    end

    local outfit = player:getOutfit()
    outfit.lookType = TRANS.looktype

    if TRANS.constant then
        player:setOutfit(outfit)
    else
        player:setOutfit(outfit, false)
    end

    player:addSoul(-TRANS.rage)
    player:setMaxHealth(player:getMaxHealth() + TRANS.addHealth)
    player:setMaxMana(player:getMaxMana() + TRANS.addMana)
    kurwa_gdzie_jest_efekt:sendMagicEffect(TRANS.effect)
    player:setVocation(TRANS.newVoc)
    player:save()
    return false
end
revert.lua
LUA:
function onSay(player, words, param, channel)
    local pid = player:getId()

    if exhaust_transform[pid] ~= nil then
        return false
    end

    local TRANS = transform[player:getVocation():getId() - 4]

    if not TRANS then
    player:sendCancelMessage("You cannot revert.")
    return false
    end

    local outfit = player:getOutfit()
    outfit.lookType = TRANS.from_looktype

    if TRANS.constant then
        player:setOutfit(outfit)
    else
        player:setOutfit(outfit, false)
    end

    exhaust_transform[pid] = 1
    player:setMaxHealth(player:getMaxHealth() - TRANS.addHealth)
    player:setMaxMana(player:getMaxMana() - TRANS.addMana)
    player:setVocation(TRANS.voc)
    player:save()
    addEvent(removeExhaust, 5 * 1000, pid)
return false
end
function removeExhaust(pid)
    exhaust_transform[pid] = nil
end
effect lua
LUA:
function onThink(interval)
    local players = Game.getPlayers()
    for i, v in ipairs(players) do
        player = Player(v)
        if player then
            TRANS = transform[player:getVocation():getId()]
            if TRANS then
                if TRANS.aura ~= nil then
                    player:getPosition():sendMagicEffect(TRANS.aura)
                end
            end
        end
    end
return true
end
 
Last edited by a moderator:
Systems
global
LUA:
exhaust_transform = {}

transform = {
[1] = {voc = 1, newVoc = 5, from_looktype = 2, looktype = 3, level = 50, rage = 3, mana = 10, addHealth = 200, addMana = 150, effect = 79, aura = nil, constant = false}
}


Hi, someone can help me... where to put this code?
Systems global idk where is this : P
TFS 1.3 , 8.6
 
Last edited:
data/global.lua
You are amazing, you know this ? thanks for really fast reply :D
Post automatically merged:

I still have problem... when i paste this code to global.lua tfs print me some errors:

global.lua:
LUA:
math.randomseed(os.time())
dofile('data/lib/lib.lua')

exhaust_transform = {}

transform = {
[1] = {voc = 8, newVoc = 10, from_looktype = 88, looktype = 90, level = 40, rage = 0, mana = 0, addHealth = 200, addMana = 150, effect = 119, aura = nil, constant = true}
[2] = {voc = 10, newVoc = 11, from_looktype = 90, looktype = 93, level = 80, rage = 0, mana = 0, addHealth = 200, addMana = 150, effect = 119, aura = nil, constant = true}
[3] = {voc = 11, newVoc = 12, from_looktype = 93, looktype = 95, level = 120, rage = 0, mana = 0, addHealth = 200, addMana = 150, effect = 119, aura = nil, constant = true}
[4] = {voc = 12, newVoc =13, from_looktype = 95, looktype = 96, level = 160, rage = 0, mana = 0, addHealth = 200, addMana = 150, effect = 119, aura = nil, constant = true}
[5] = {voc = 13, newVoc = 14, from_looktype = 96, looktype = 97, level = 210, rage = 0, mana = 0, addHealth = 200, addMana = 150, effect = 119, aura = nil, constant = true}
[6] = {voc = 14, newVoc = 15, from_looktype = 97, looktype = 98, level = 270, rage = 0, mana = 0, addHealth = 200, addMana = 150, effect = 119, aura = nil, constant = true}
[7] = {voc = 15, newVoc = 16, from_looktype = 98, looktype = 94, level = 350, rage = 0, mana = 0, addHealth = 200, addMana = 150, effect = 119, aura = nil, constant = true}
[8] = {voc = 16, newVoc = 17, from_looktype = 94, looktype = 99, level = 400, rage = 0, mana = 0, addHealth = 200, addMana = 150, effect = 119, aura = nil, constant = true}
[9] = {voc = 17, newVoc = 18, from_looktype = 99, looktype = 100, level = 500, rage = 0, mana = 0, addHealth = 200, addMana = 150, effect = 119, aura = nil, constant = true}
[10] = {voc = 18, newVoc = 19, from_looktype = 100, looktype = 101, level = 600, rage = 0, mana = 0, addHealth = 200, addMana = 150, effect = 119, aura = nil, constant = true}
}

STORAGEVALUE_PROMOTION = 30018
STORAGEVALUE_DELAY_LARGE_SEASHELL = 30019

ropeSpots = {384, 418, 8278, 8592, 13189, 14435, 14436, 15635, 19518, 24621, 24622, 24623, 24624}

doors = {[1209] = 1211, [1210] = 1211, [1212] = 1214, [1213] = 1214, [1219] = 1220, [1221] = 1222, [1231] = 1233, [1232] = 1233, [1234] = 1236, [1235] = 1236, [1237] = 1238, [1239] = 1240, [1249] = 1251, [1250] = 1251, [1252] = 1254, [1253] = 1254, [1539] = 1540, [1541] = 1542, [3535] = 3537, [3536] = 3537, [3538] = 3539, [3544] = 3546, [3545] = 3546, [3547] = 3548, [4913] = 4915, [4914] = 4915, [4916] = 4918, [4917] = 4918, [5082] = 5083, [5084] = 5085, [5098] = 5100, [5099] = 5100, [5101] = 5102, [5107] = 5109, [5108] = 5109, [5110] = 5111, [5116] = 5118, [5117] = 5118, [5119] = 5120, [5125] = 5127, [5126] = 5127, [5128] = 5129, [5134] = 5136, [5135] = 5136, [5137] = 5139, [5138] = 5139, [5140] = 5142, [5141] = 5142, [5143] = 5145, [5144] = 5145, [5278] = 5280, [5279] = 5280, [5281] = 5283, [5282] = 5283, [5284] = 5285, [5286] = 5287, [5515] = 5516, [5517] = 5518, [5732] = 5734, [5733] = 5734, [5735] = 5737, [5736] = 5737, [6192] = 6194, [6193] = 6194, [6195] = 6197, [6196] = 6197, [6198] = 6199, [6200] = 6201, [6249] = 6251, [6250] = 6251, [6252] = 6254, [6253] = 6254, [6255] = 6256, [6257] = 6258, [6795] = 6796, [6797] = 6798, [6799] = 6800, [6801] = 6802, [6891] = 6893, [6892] = 6893, [6894] = 6895, [6900] = 6902, [6901] = 6902, [6903] = 6904, [7033] = 7035, [7034] = 7035, [7036] = 7037, [7042] = 7044, [7043] = 7044, [7045] = 7046, [7054] = 7055, [7056] = 7057, [8541] = 8543, [8542] = 8543, [8544] = 8546, [8545] = 8546, [8547] = 8548, [8549] = 8550, [9165] = 9167, [9166] = 9167, [9168] = 9170, [9169] = 9170, [9171] = 9172, [9173] = 9174, [9267] = 9269, [9268] = 9269, [9270] = 9272, [9271] = 9272, [9273] = 9274, [9275] = 9276, [10276] = 10277, [10274] = 10275, [10268] = 10270, [10269] = 10270, [10271] = 10273, [10272] = 10273, [10471] = 10472, [10480] = 10481, [10477] = 10479, [10478] = 10479, [10468] = 10470, [10469] = 10470, [10775] = 10777, [10776] = 10777, [12092] = 12094, [12093] = 12094, [12188] = 12190, [12189] = 12190, [19840] = 19842, [19841] = 19842, [19843] = 19844, [19980] = 19982, [19981] = 19982, [19983] = 19984, [20273] = 20275, [20274] = 20275, [20276] = 20277, [17235] = 17236, [18208] = 18209, [13022] = 13023, [10784] = 10786, [10785] = 10786, [12099] = 12101, [12100] = 12101, [12197] = 12199, [12198] = 12199, [19849] = 19851, [19850] = 19851, [19852] = 19853, [19989] = 19991, [19990] = 19991, [19992] = 19993, [20282] = 20284, [20283] = 20284, [20285] = 20286, [17237] = 17238, [13020] = 13021, [10780] = 10781, [12095] = 12096, [12195] = 12196, [19845] = 19846, [19985] = 19986, [20278] = 20279, [10789] = 10790, [12102] = 12103, [12204] = 12205, [19854] = 19855, [19994] = 19995, [20287] = 20288, [10782] = 10783, [12097] = 12098, [12193] = 12194, [19847] = 19848, [19987] = 19988, [20280] = 20281, [10791] = 10792, [12104] = 12105, [12202] = 12203, [19856] = 19857, [19996] = 19997, [20289] = 20290}
verticalOpenDoors = {1211, 1220, 1224, 1228, 1233, 1238, 1242, 1246, 1251, 1256, 1260, 1540, 3546, 3548, 3550, 3552, 4915, 5083, 5109, 5111, 5113, 5115, 5127, 5129, 5131, 5133, 5142, 5145, 5283, 5285, 5289, 5293, 5516, 5737, 5749, 6194, 6199, 6203, 6207, 6251, 6256, 6260, 6264, 6798, 6802, 6902, 6904, 6906, 6908, 7044, 7046, 7048, 7050, 7055, 8543, 8548, 8552, 8556, 9167, 9172, 9269, 9274, 9274, 9269, 9278, 9282, 10270, 10275, 10279, 10283, 10479, 10481, 10485, 10483, 10786, 12101, 12199, 19851, 19853, 19991, 19993, 20284, 20286, 17238, 13021, 10790, 12103, 12205, 19855, 19995, 20288, 10792, 12105, 12203, 19857, 19997, 20290}
horizontalOpenDoors = {1214, 1222, 1226, 1230, 1236, 1240, 1244, 1248, 1254, 1258, 1262, 1542, 3537, 3539, 3541, 3543, 4918, 5085, 5100, 5102, 5104, 5106, 5118, 5120, 5122, 5124, 5136, 5139, 5280, 5287, 5291, 5295, 5518, 5734, 5746, 6197, 6201, 6205, 6209, 6254, 6258, 6262, 6266, 6796, 6800, 6893, 6895, 6897, 6899, 7035, 7037, 7039, 7041, 7057, 8546, 8550, 8554, 8558, 9170, 9174, 9272, 9276, 9280, 9284, 10273, 10277, 10281, 10285, 10470, 10472, 10476, 10474, 10777, 12094, 12190, 19842, 19844, 19982, 19984, 20275, 20277, 17236, 18209, 13023, 10781, 12096, 12196, 19846, 19986, 20279, 10783, 12098, 12194, 19848, 19988, 20281}
openSpecialDoors = {1224, 1226, 1228, 1230, 1242, 1244, 1246, 1248, 1256, 1258, 1260, 1262, 3541, 3543, 3550, 3552, 5104, 5106, 5113, 5115, 5122, 5124, 5131, 5133, 5289, 5291, 5293, 5295, 6203, 6205, 6207, 6209, 6260, 6262, 6264, 6266, 6897, 6899, 6906, 6908, 7039, 7041, 7048, 7050, 8552, 8554, 8556, 8558, 9176, 9178, 9180, 9182, 9278, 9280, 9282, 9284, 10279, 10281, 10283, 10285, 10474, 10476, 10483, 10485, 10781, 12096, 12196, 19846, 19986, 20279, 10783, 12098, 12194, 19848, 19988, 20281, 10790, 12103, 12205, 19855, 19995, 20288, 10792, 12105, 12203, 19857, 19997, 20290}
questDoors = {1223, 1225, 1241, 1243, 1255, 1257, 3542, 3551, 5105, 5114, 5123, 5132, 5288, 5290, 5745, 5748, 6202, 6204, 6259, 6261, 6898, 6907, 7040, 7049, 8551, 8553, 9175, 9177, 9277, 9279, 10278, 10280, 10475, 10484, 10782, 10791, 12097, 12104, 12193, 12202, 19847, 19856, 19987, 19996, 20280, 20289}
levelDoors = {1227, 1229, 1245, 1247, 1259, 1261, 3540, 3549, 5103, 5112, 5121, 5130, 5292, 5294, 6206, 6208, 6263, 6265, 6896, 6905, 7038, 7047, 8555, 8557, 9179, 9181, 9281, 9283, 10282, 10284, 10473, 10482, 10780, 10789, 10780, 12095, 12102, 12204, 12195, 19845, 19854, 19985, 19994, 20278, 20287}
keys = {2086, 2087, 2088, 2089, 2090, 2091, 2092, 10032}

function getDistanceBetween(firstPosition, secondPosition)
    local xDif = math.abs(firstPosition.x - secondPosition.x)
    local yDif = math.abs(firstPosition.y - secondPosition.y)
    local posDif = math.max(xDif, yDif)
    if firstPosition.z ~= secondPosition.z then
        posDif = posDif + 15
    end
    return posDif
end

function getFormattedWorldTime()
    local worldTime = getWorldTime()
    local hours = math.floor(worldTime / 60)

    local minutes = worldTime % 60
    if minutes < 10 then
        minutes = '0' .. minutes
    end
    return hours .. ':' .. minutes
end

function getLootRandom()
    return math.random(0, MAX_LOOTCHANCE) / configManager.getNumber(configKeys.RATE_LOOT)
end

table.contains = function(array, value)
    for _, targetColumn in pairs(array) do
        if targetColumn == value then
            return true
        end
    end
    return false
end

string.split = function(str, sep)
    local res = {}
    for v in str:gmatch("([^" .. sep .. "]+)") do
        res[#res + 1] = v
    end
    return res
end

string.splitTrimmed = function(str, sep)
    local res = {}
    for v in str:gmatch("([^" .. sep .. "]+)") do
        res[#res + 1] = v:trim()
    end
    return res
end

string.trim = function(str)
    return str:match'^()%s*$' and '' or str:match'^%s*(.*%S)'
end

if not nextUseStaminaTime then
    nextUseStaminaTime = {}
end

Engine:
Bash:
>> Loading script systems
[Warning - ScriptingManager::loadScriptSystems] Can not load data/global.lua
>> Loading lua libs

Lua Script Error: [Scripts Interface]
/home/ots/data/scripts/lib/create_functions.lua
/home/ots/data/scripts/lib/create_functions.lua:1: attempt to call global 'creat                                                          eFunctions' (a nil value)
stack traceback:
        [C]: in function 'createFunctions'
        /home/ots/data/scripts/lib/create_functions.lua:1: in main chunk
> create_functions.lua [error]
^
> defaults_move_event.lua [loaded]
> register_monster_type.lua [loaded]
[Warning - Event::checkScript] Event onCastSpell not found. scripts/pozostale/tr                                                          ansform.lua
[Warning - Event::checkScript] Event onCastSpell not found. scripts/pozostale/re                                                          vert.lua

Lua Script Error: [Test Interface]
data/actions/scripts/special_foods/rotworm_stew.lua
data/actions/scripts/special_foods/rotworm_stew.lua:2: attempt to call global 'g                                                          etConfigInfo' (a nil value)
stack traceback:
        [C]: in function 'getConfigInfo'
        data/actions/scripts/special_foods/rotworm_stew.lua:2: in main chunk
[Warning - Event::checkScript] Can not load script: scripts/special_foods/rotwor                                                          m_stew.lua


Lua Script Error: [Test Interface]
data/actions/scripts/special_foods/hydra_tongue_salad.lua
data/actions/scripts/special_foods/hydra_tongue_salad.lua:8: attempt to call glo                                                          bal 'getConfigInfo' (a nil value)
stack traceback:
        [C]: in function 'getConfigInfo'
        data/actions/scripts/special_foods/hydra_tongue_salad.lua:8: in main chu                                                          nk
[Warning - Event::checkScript] Can not load script: scripts/special_foods/hydra_                                                          tongue_salad.lua


Lua Script Error: [Test Interface]
data/actions/scripts/special_foods/roasted_dragon_wings.lua
data/actions/scripts/special_foods/roasted_dragon_wings.lua:6: attempt to call g                                                          lobal 'getConfigInfo' (a nil value)
stack traceback:
        [C]: in function 'getConfigInfo'
        data/actions/scripts/special_foods/roasted_dragon_wings.lua:6: in main c                                                          hunk
[Warning - Event::checkScript] Can not load script: scripts/special_foods/roaste                                                          d_dragon_wings.lua


Lua Script Error: [Test Interface]
data/actions/scripts/special_foods/fried_tropical_terrorbird.lua
...ions/scripts/special_foods/fried_tropical_terrorbird.lua:6: attempt to call g                                                          lobal 'getConfigInfo' (a nil value)
stack traceback:
        [C]: in function 'getConfigInfo'
        ...ions/scripts/special_foods/fried_tropical_terrorbird.lua:6: in main c                                                          hunk
[Warning - Event::checkScript] Can not load script: scripts/special_foods/fried_                                                          tropical_terrorbird.lua


Lua Script Error: [Test Interface]
data/actions/scripts/special_foods/veggie_casserole.lua
data/actions/scripts/special_foods/veggie_casserole.lua:6: attempt to call globa                                                          l 'getConfigInfo' (a nil value)
stack traceback:
        [C]: in function 'getConfigInfo'
        data/actions/scripts/special_foods/veggie_casserole.lua:6: in main chunk
[Warning - Event::checkScript] Can not load script: scripts/special_foods/veggie                                                          _casserole.lua


Lua Script Error: [Test Interface]
data/actions/scripts/special_foods/filled_jalapeno_peppers.lua
...ctions/scripts/special_foods/filled_jalapeno_peppers.lua:6: attempt to call g                                                          lobal 'getConfigInfo' (a nil value)
stack traceback:
        [C]: in function 'getConfigInfo'
        ...ctions/scripts/special_foods/filled_jalapeno_peppers.lua:6: in main c                                                          hunk
[Warning - Event::checkScript] Can not load script: scripts/special_foods/filled                                                          _jalapeno_peppers.lua


Lua Script Error: [Test Interface]
data/actions/scripts/special_foods/blessed_steak.lua
data/actions/scripts/special_foods/blessed_steak.lua:2: attempt to call global '                                                          getConfigInfo' (a nil value)
stack traceback:
        [C]: in function 'getConfigInfo'
        data/actions/scripts/special_foods/blessed_steak.lua:2: in main chunk
[Warning - Event::checkScript] Can not load script: scripts/special_foods/blesse                                                          d_steak.lua


Lua Script Error: [Test Interface]
data/actions/scripts/special_foods/carrot_cake.lua
data/actions/scripts/special_foods/carrot_cake.lua:6: attempt to call global 'ge                                                          tConfigInfo' (a nil value)
stack traceback:
        [C]: in function 'getConfigInfo'
        data/actions/scripts/special_foods/carrot_cake.lua:6: in main chunk
[Warning - Event::checkScript] Can not load script: scripts/special_foods/carrot                                                          _cake.lua


Lua Script Error: [Test Interface]
data/actions/scripts/special_foods/northern_fishburger.lua
data/actions/scripts/special_foods/northern_fishburger.lua:6: attempt to call gl                                                          obal 'getConfigInfo' (a nil value)
stack traceback:
        [C]: in function 'getConfigInfo'
        data/actions/scripts/special_foods/northern_fishburger.lua:6: in main ch                                                          unk
[Warning - Event::checkScript] Can not load script: scripts/special_foods/northe                                                          rn_fishburger.lua

>> Loading lua scripts
> #example.lua [disabled]
> #example.lua [disabled]
>> ["actions"]

Lua Script Error: [Scripts Interface]
/home/ots/data/scripts/actions/spellbook.lua
/home/ots/data/scripts/actions/spellbook.lua:3: attempt to index local 'spellboo                                                          k' (a userdata value)
stack traceback:
        [C]: in function '__newindex'
        /home/ots/data/scripts/actions/spellbook.lua:3: in main chunk
> spellbook.lua [error]
^
>> ["talkactions"]

Lua Script Error: [Scripts Interface]
/home/ots/data/scripts/talkactions/position.lua
/home/ots/data/scripts/talkactions/position.lua:3: attempt to index local 'talk'                                                           (a userdata value)
stack traceback:
        [C]: in function '__newindex'
        /home/ots/data/scripts/talkactions/position.lua:3: in main chunk
> position.lua [error]
 
Last edited:

Similar threads

Back
Top