- Lothus Online™ - Project RPG
-
-
-
Equipe para novo sistema alternativo de OTs
Olá sou programador, tenho conhecimento em C++/Lua
-
-
-
oldKorelin - Avatar
Olá estou desenvolvendo um projeto para relembrar um dos primeiros otserver em que se pode falar de inovação. (isso se não for o primeiro) Pra quem não sabe Korelin é um servidor baseado no anime Avatar a lenda de Aang no protocolo 8.00, onde é possivel escolher entre os 4 Elementos e poder usar suas dobras (spells). TERRA - AGUA - FOGO - AR E com isso cada elemento tem suas vantagens. Alem dos 4 elementos atualmente existem 3 vocações secundarias sendo elas: Knight - Paladin - Berserker. As vocações secundarias são perfeitas para aqueles que gostam de treinar skills e também te ajuda em combate com spells exclusivas com a utilização de armas Nosso mapa está o mais parecido possivel com o do verdadeiro KoreliN. Já fizemos todos os sistemas como Castle War Forja Water Pouch e Water Ambient (Dobradores de agua precisam de uma bolsa de agua ou estar perto de mar ou rio para utilizar suas dobras) Sistema Avatar (O player que conseguir destravar a alavanca vira o novo avatar por 24horas sendo assim podendo usar os 4 elementos) Bosses e Quest Acompanhe nossa pagina no facebook para mais informações, postamos videos diariamente mostrando o desenvolvimento deem uma conferida. Facebook Show off
-
Globalevent timer
Boa noite galera, existe algum metodo de definir um global event apartir dos dias, tipo segunda, terça etc.. meu intuito é colocar 1 evento automatico que funcione só de teça e sabado.
-
getPosFromArea wall bug
Galera, estou criando algumas spells usando getPosfromArea(cid, area).. porem quando crio as spells assim, elas atravessam a parede e causam dano através da parede tmb, já uma magia do tibia mesmo normal, usando os parametros do combat, não acontece isso,alguem sabe alguma maneira de corrigir esse problema? já tentei usar isWalkable, mas não deu muito certo, ele não cancela toda as posiçoes a partir da primeira que encontrou, ele só pula o sqm pro proximo. Esse é o codigo local area = { [5] = { {0, 0, 0, 1, 1, 1, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 3, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, }, [4] = { {0, 0, 0, 1, 1, 1, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 3, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, }, [3] = { {0, 0, 0, 1, 1, 1, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 3, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0}, }, [2] = { {0, 1, 0}, {0, 0, 0}, {0, 3, 0}, {0, 0, 0}, }, [1] = { {0, 1, 0}, {0, 3, 0}, }, } function onCastSpell(player, var) if not player then return false end local minDmg = math.floor((player:getLevel() + 3) * 1.6) local maxDmg = math.floor((player:getLevel() + 5) * 1.9) local cid = player:getId() for i = 1, 5 do local firewave_area = getPosfromArea(cid, area[i]) for _,v in pairs(firewave_area) do addEvent(valid(doAreaCombatHealth), 120 * i, cid, 1, v, 0, -minDmg, -maxDmg, 7) end end return true end
-
getItemAttack(uid) (value nil)
Ei amigo ai está falando que não tem a função getItemAttack, na realidade não me lembro se tem essa função em algum tfs, ou otx você teria que criar uma função que retorne o que você quer
-
Npc Reborn
o primeiro ali ele ta setando a storage 30023 para 1 e o segundo é uma função com seus parametros, agora você tem que saber aonde tem essa função pois ta faltando no seu servidor, que seria a função doReborn
-
[8.0] TFS rev 0.2.8 Dead Buh
Não sei se essa é a area certa mas, alguem teria a source da TFS 0.2.8 dead bug para me passar? to precisando muito
-
-
Spells de transformação e... Modificar magia exori
pedrizito é porque eu coloquei pra durar 300 segundos, durante os 300 segundos não pode usar de novo, e coloque no seu login.lua pra setar a storage pra 0 assim, qnd o player logar não dara problema
-
-
Problemas ao usar a Pokedex
@GabrielTxu errado, tem um problema na função checkDex não que esteja faltando
-
[Error - Action Interface] quando desloga (POKETIBIA)
Coloque o script goback.lua pra eu ajeitar
-
Desloga e volta a vocação anterior.
Coloque assim <?xml version="1.0" encoding="UTF-8"?> <vocations> <vocation id="0" name="None" description="none" needpremium="0" gaincap="5" gainhp="5" gainmana="5" gainhpticks="6" gainhpamount="1" gainmanaticks="6" gainmanaamount="1" manamultiplier="4.0" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="0" attackable="no"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" armor="1.0"/> <skill id="0" multiplier="1.5"/> <skill id="1" multiplier="2.0"/> <skill id="2" multiplier="2.0"/> <skill id="3" multiplier="2.0"/> <skill id="4" multiplier="2.0"/> <skill id="5" multiplier="1.5"/> <skill id="6" multiplier="1.1"/> </vocation> <vocation id="1" name="tsufur" description="a tsufur" needpremium="0" gaincap="50" gainhp="250" gainmana="280" gainhpticks="1" gainhpamount="50" gainmanaticks="1" gainmanaamount="50" manamultiplier="1.1" attackspeed="400" soulmax="100" gainsoulticks="120" fromvoc="1"> <formula meleeDamage="35" distDamage="4" wandDamage="4" magDamage="7" magHealingDamage="5" defense="1.0" armor="1.0"/> <skill id="0" multiplier="1.5"/> <skill id="1" multiplier="1.4"/> <skill id="2" multiplier="1.4"/> <skill id="3" multiplier="1.4"/> <skill id="4" multiplier="1.4"/> <skill id="5" multiplier="1.5"/> <skill id="6" multiplier="1.1"/> </vocation> <vocation id="2" name="tsufur1" description="a tsufur" needpremium="0" gaincap="50" gainhp="250" gainmana="280" gainhpticks="1" gainhpamount="50" gainmanaticks="1" gainmanaamount="50" manamultiplier="1.1" attackspeed="400" soulmax="100" gainsoulticks="120" fromvoc="2"> <formula meleeDamage="55" distDamage="5" wandDamage="5" magDamage="9" magHealingDamage="5" defense="1.0" armor="1.0"/> <skill id="0" multiplier="1.5"/> <skill id="1" multiplier="1.4"/> <skill id="2" multiplier="1.4"/> <skill id="3" multiplier="1.4"/> <skill id="4" multiplier="1.4"/> <skill id="5" multiplier="1.5"/> <skill id="6" multiplier="1.1"/> </vocation> <vocation id="3" name="tsufur2" description="a tsufur" needpremium="0" gaincap="50" gainhp="250" gainmana="280" gainhpticks="1" gainhpamount="50" gainmanaticks="1" gainmanaamount="50" manamultiplier="1.1" attackspeed="400" soulmax="100" gainsoulticks="120" fromvoc="3"> <formula meleeDamage="75" distDamage="5" wandDamage="5" magDamage="11" magHealingDamage="5" defense="1.0" armor="1.0"/> <skill id="0" multiplier="1.5"/> <skill id="1" multiplier="1.4"/> <skill id="2" multiplier="1.4"/> <skill id="3" multiplier="1.4"/> <skill id="4" multiplier="1.4"/> <skill id="5" multiplier="1.5"/> <skill id="6" multiplier="1.1"/> </vocation> <vocation id="4" name="tsufur3" description="a tsufur" needpremium="0" gaincap="50" gainhp="250" gainmana="280" gainhpticks="1" gainhpamount="50" gainmanaticks="1" gainmanaamount="50" manamultiplier="1.1" attackspeed="400" soulmax="100" gainsoulticks="120" fromvoc="4"> <formula meleeDamage="85" distDamage="5" wandDamage="5" magDamage="13" magHealingDamage="5" defense="1.0" armor="1.0"/> <skill id="0" multiplier="1.5"/> <skill id="1" multiplier="1.4"/> <skill id="2" multiplier="1.4"/> <skill id="3" multiplier="1.4"/> <skill id="4" multiplier="1.4"/> <skill id="5" multiplier="1.5"/> <skill id="6" multiplier="1.1"/> </vocation> <vocation id="5" name="tsufur4" description="a tsufur" needpremium="0" gaincap="50" gainhp="250" gainmana="280" gainhpticks="1" gainhpamount="50" gainmanaticks="1" gainmanaamount="50" manamultiplier="1.1" attackspeed="400" soulmax="100" gainsoulticks="120" fromvoc="5"> <formula meleeDamage="94" distDamage="6" wandDamage="5" magDamage="16" magHealingDamage="5" defense="1.0" armor="1.0"/> <skill id="0" multiplier="1.5"/> <skill id="1" multiplier="1.4"/> <skill id="2" multiplier="1.4"/> <skill id="3" multiplier="1.4"/> <skill id="4" multiplier="1.4"/> <skill id="5" multiplier="1.5"/> <skill id="6" multiplier="1.1"/> </vocation> <vocation id="6" name="tsufurr0" description="a tsufur reborn" needpremium="0" gaincap="50" gainhp="250" gainmana="280" gainhpticks="1" gainhpamount="50" gainmanaticks="1" gainmanaamount="50" manamultiplier="1.1" attackspeed="200" soulmax="100" gainsoulticks="120" fromvoc="6"> <formula meleeDamage="60" distDamage="5" wandDamage="4" magDamage="8" magHealingDamage="5" defense="1.0" armor="1.0"/> <skill id="0" multiplier="1.5"/> <skill id="1" multiplier="1.4"/> <skill id="2" multiplier="1.4"/> <skill id="3" multiplier="1.4"/> <skill id="4" multiplier="1.4"/> <skill id="5" multiplier="1.5"/> <skill id="6" multiplier="1.1"/> </vocation> <vocation id="7" name="tsufurr1" description="a tsufur reborn" needpremium="0" gaincap="50" gainhp="250" gainmana="280" gainhpticks="1" gainhpamount="50" gainmanaticks="1" gainmanaamount="50" manamultiplier="1.1" attackspeed="200" soulmax="100" gainsoulticks="120" fromvoc="7"> <formula meleeDamage="82" distDamage="5" wandDamage="5" magDamage="30" magHealingDamage="5" defense="1.0" armor="1.0"/> <skill id="0" multiplier="1.5"/> <skill id="1" multiplier="1.4"/> <skill id="2" multiplier="1.4"/> <skill id="3" multiplier="1.4"/> <skill id="4" multiplier="1.4"/> <skill id="5" multiplier="1.5"/> <skill id="6" multiplier="1.1"/> </vocation> <vocation id="8" name="tsufurr2" description="a tsufur reborn" needpremium="0" gaincap="50" gainhp="250" gainmana="280" gainhpticks="1" gainhpamount="50" gainmanaticks="1" gainmanaamount="50" manamultiplier="1.1" attackspeed="200" soulmax="100" gainsoulticks="120" fromvoc="8"> <formula meleeDamage="99" distDamage="5" wandDamage="5" magDamage="36" magHealingDamage="5" defense="1.0" armor="1.0"/> <skill id="0" multiplier="1.5"/> <skill id="1" multiplier="1.4"/> <skill id="2" multiplier="1.4"/> <skill id="3" multiplier="1.4"/> <skill id="4" multiplier="1.4"/> <skill id="5" multiplier="1.5"/> <skill id="6" multiplier="1.1"/> </vocation> <vocation id="9" name="tsufurr3" description="a tsufur reborn" needpremium="0" gaincap="50" gainhp="250" gainmana="280" gainhpticks="1" gainhpamount="50" gainmanaticks="1" gainmanaamount="50" manamultiplier="1.1" attackspeed="200" soulmax="100" gainsoulticks="120" fromvoc="9"> <formula meleeDamage="102" distDamage="5" wandDamage="5" magDamage="41" magHealingDamage="5" defense="1.0" armor="1.0"/> <skill id="0" multiplier="1.5"/> <skill id="1" multiplier="1.4"/> <skill id="2" multiplier="1.4"/> <skill id="3" multiplier="1.4"/> <skill id="4" multiplier="1.4"/> <skill id="5" multiplier="1.5"/> <skill id="6" multiplier="1.1"/> </vocation> <vocation id="10" name="tsufurr4" description="a tsufur reborn" needpremium="0" gaincap="50" gainhp="250" gainmana="280" gainhpticks="1" gainhpamount="50" gainmanaticks="1" gainmanaamount="50" manamultiplier="1.1" attackspeed="200" soulmax="100" gainsoulticks="120" fromvoc="10"> <formula meleeDamage="140" distDamage="6" wandDamage="5" magDamage="50" magHealingDamage="5" defense="1.0" armor="1.0"/> <skill id="0" multiplier="1.5"/> <skill id="1" multiplier="1.4"/> <skill id="2" multiplier="1.4"/> <skill id="3" multiplier="1.4"/> <skill id="4" multiplier="1.4"/> <skill id="5" multiplier="1.5"/> <skill id="6" multiplier="1.1"/> </vocation> <vocation id="11" name="tsufurr5" description="a tsufur reborn" needpremium="0" gaincap="50" gainhp="250" gainmana="280" gainhpticks="1" gainhpamount="50" gainmanaticks="1" gainmanaamount="50" manamultiplier="1.1" attackspeed="200" soulmax="100" gainsoulticks="120" fromvoc="11"> <formula meleeDamage="140" distDamage="6" wandDamage="5" magDamage="50" magHealingDamage="5" defense="1.0" armor="1.0"/> <skill id="0" multiplier="1.5"/> <skill id="1" multiplier="1.4"/> <skill id="2" multiplier="1.4"/> <skill id="3" multiplier="1.4"/> <skill id="4" multiplier="1.4"/> <skill id="5" multiplier="1.5"/> <skill id="6" multiplier="1.1"/> </vocation>
-
Spells de transformação e... Modificar magia exori
1* local outfit = 126 -- numero da outfit local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, 300000) setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, 20) local function healthTime(cid, time, percent, count, i, storage) if not isPlayer(cid) then return true end if getPlayerStorageValue(cid, storage) > os.time() then if count <= i then if isPlayer(cid) then doCreatureAddHealth(cid, percent) doSendMagicEffect(getThingPos(cid), 14) print(percent) end end else doRemoveCondition(cid, CONDITION_OUTFIT) return true end addEvent(healthTime, time*1000, cid, time, percent, count + 1, i, storage) end function onCastSpell(cid, var) if not isPlayer(cid) then return true end local config = { count = 1, i = 300, time = 5, percent = 60, storage = 2020, } if(getPlayerStorageValue(cid, config.storage) > os.time() and getPlayerStorageValue(cid, config.storage) < 400+os.time()) then return doPlayerSendTextMessage(cid, 24, "You are buffed.") end doSetCreatureOutfit(cid, {lookType = outfit}, -1) doAddCondition(cid, condition) setPlayerStorageValue(cid, config.storage, os.time() + config.i) healthTime(cid, config.time, config.percent, config.count, config.i, config.storage) return true end 2* local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA) setCombatParam(combat, COMBAT_PARAM_USECHARGES, true) local area = createCombatArea(AREA_SQUARE1X1) setCombatArea(combat, area) function onGetFormulaValues(cid, level, skill, attack, element, factor) local levelTotal, formula = level / 5, 0.0496 local normal, elemental = -(skill * attack * formula + levelTotal), math.ceil((skill * element * formula + levelTotal)) return normal/2, normal, -math.random(elemental/2, elemental) end setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") function onCastSpell(cid, var) local config = { storage = 2020, } if getPlayerStorageValue(cid, config.storage) > os.time() then doCombat(cid, combat, var) else doPlayerSendCancel(cid, "You need activated buff.") end return true end
-
Desloga e volta a vocação anterior.
poste o vocations.xml
-
storage não salva
tenta isso function onKill(cid, target, lastHit) if isPlayer(target) then trofeutatus1 = getPlayerStorageValue(cid,10129) if getPlayerFrags(cid) == 500 and trofeutatus1 == -1 then local quest = doPlayerAddItem(cid,10129,1) doItemSetAttribute(quest,"description","Esse item foi obtido por "..getPlayerName(cid)..".") setPlayerStorageValue(cid,10129,1) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_HOLYAREA) trofeutatus2 = getPlayerStorageValue(cid,10128) elseif getPlayerFrags(cid) == 1000 and trofeutatus2 == -1 then local quest = doPlayerAddItem(cid,10128,1) doItemSetAttribute(quest,"description","Esse item foi obtido por "..getPlayerName(cid)..".") setPlayerStorageValue(cid,10128,1) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_HOLYAREA) trofeutatus3 = getPlayerStorageValue(cid,10127) elseif getPlayerFrags(cid) == 2000 and trofeutatus3 == -1 then local quest = doPlayerAddItem(cid,10127,1) doItemSetAttribute(quest,"description","Esse item foi obtido por "..getPlayerName(cid)..".") setPlayerStorageValue(cid,10127,1) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_HOLYAREA) end end return true end