• 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!
  • 2026 staff recruitment is open! Check it out and consider applying!

Some scripts ;)

imback1

Unknown member
Joined
Jul 11, 2013
Messages
785
Solutions
1
Reaction score
46
Hello

1-i wants some talk actions like (restart,deathlist of players)

2-and as i said before i need a script to make my assassin star attack depends on skills and need chance of hit is 100% and say to me which number that i need to upgrade/downgrade attack of it on .lua ,same thing with arrows

3-and ur script @Limos healing wand i need to pinning attack of it i mean i need it to hit for like 1000-1500 only cuz ur script attacks depends on magic

4-btw i need script of pushing ,i mean if i push anyone behind me its takes like 5 secs before he move and if i'm away 1 squ from him i can push him in 0.1 sec >.< i need to change it

thx

version 0.3.6//tibia 8.60//forogtten server//1.0 xml
 
this for assassin star
Code:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1)
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_GREENSTAR)
setCombatFormula(combat, COMBAT_FORMULA_SKILL, 0, 0, 1.0, 0)

local xCombat = createCombatObject()
setCombatParam(xCombat, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE)

local condition = createConditionObject(CONDITION_POISON)
setConditionParam(condition, CONDITION_PARAM_DELAYED, 1)
addDamageCondition(condition, 4, 2000, -2)
addDamageCondition(condition, 6, 2000, -1)
setCombatCondition(xCombat, condition)

function onUseWeapon(cid, var)
    local ret = doCombat(cid, combat, var)
    if(ret == false) then
        return false
    end

    local target = variantToNumber(var)
    if(target ~= 0) then
        -- chance to poison the enemy
        local chance = math.random(0, 100)
        if(chance > 99) then
            ret = doCombat(cid, xCombat, var)
        end
    end
    return ret
end

and its too for skills just edite diseffect use by ur gm /z number and see what effect u want
Code:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 40)
function onGetFormulaValues(cid, level, skill, attack, factor)
return -((1.6*skill + level) * 0.7 ), -((1.8*skill + level) * 0.9 )
end
setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")
function onUseWeapon(cid, var)
return doCombat(cid, combat, var)
end

deathlist
Code:
local config = {
    deathAssistCount = getConfigValue('deathAssistCount') + 1,
    maxDeathRecords = getConfigValue('maxDeathRecords'),
    limit = ""
}
if(config.deathAssistCount > 0) then
    config.limit = " LIMIT 0, " .. config.deathAssistCount
end

function onSay(cid, words, param, channel)
    local target = db.getResult("SELECT `name`, `id` FROM `players` WHERE `name` = " .. db.escapeString(param) .. ";")
    if(target:getID() == -1) then
        doPlayerSendCancel(cid, "A player with that name does not exist.")
        return true
    end

    local targetName, targetId = target:getDataString("name"), target:getDataInt("id")
    target:free()

    local str, deaths = "", db.getResult("SELECT `id`, `date`, `level` FROM `player_deaths` WHERE `player_id` = " .. targetId .." ORDER BY `date` DESC LIMIT 0, " .. config.maxDeathRecords)
    if(deaths:getID() ~= -1) then
        repeat
            local killers = db.getResult("SELECT environment_killers.name AS monster_name, players.name AS player_name FROM killers LEFT JOIN environment_killers ON killers.id = environment_killers.kill_id LEFT JOIN player_killers ON killers.id = player_killers.kill_id LEFT JOIN players ON players.id = player_killers.player_id WHERE killers.death_id = " .. deaths:getDataInt("id") .. " ORDER BY killers.final_hit DESC, killers.id ASC" .. config.limit)
            if(killers:getID() ~= -1) then
                if(str ~= "") then
                    str = str .. "\n" .. os.date("%d %B %Y %X ", deaths:getDataLong("date"))
                else
                    str = os.date("%d %B %Y %X ", deaths:getDataLong("date"))
                end

                local count, i = killers:getRows(false), 0
                repeat
                    local monster = killers:getDataString("monster_name")
                    if(i == 0 or i == (count - 1)) then
                        monster = string.gsub(monster:gsub("an ", ""), "a ", "")
                    end

                    if(killers:getDataString("player_name") ~= "") then
                        if(i == 0) then
                            str = str .. "Killed at level " .. deaths:getDataInt("level") .. " by:\n  "
                        elseif(i == count) then
                            str = str .. " and by "
                        elseif(i % 4 == 0) then
                            str = str .. ",\n  "
                        else
                            str = str .. ", "
                        end

                        if(monster ~= "") then
                            str = str .. monster .. " summoned by "
                        end

                        str = str .. killers:getDataString("player_name")
                    else
                        if(i == 0) then
                            str = str .. "Died at level " .. deaths:getDataInt("level") .. " by:\n  "
                        elseif(i == count) then
                            str = str .. " and by "
                        elseif(i % 4 == 0) then
                            str = str .. ",\n  "
                        else
                            str = str .. ", "
                        end

                        str = str .. monster
                    end

                    i = i + 1
                    if(i == count) then
                        str = str .. "."
                    end
                until not(killers:next())
                killers:free()
            end
        until not(deaths:next())
        deaths:free()
    else
        str = "No deaths recorded."
    end

    doPlayerPopupFYI(cid, "Deathlist for player: " .. targetName .. ".\n\n" .. str)
    return true
end
take it now and task and give me eror i will back soon
 
Last edited:
Back
Top