Ir para conteúdo

Flaah

Barão
  • Total de itens

    201
  • Registro em

  • Última visita

Posts postados por Flaah

  1. Ótimo projeto! Tbm estou em um parecido já faz 1 ano mais ou menos, (dei uma parada por causa do meu curso, mais já retornei ao projeto), mesmo assim isso não nos transforma em "rivais", caso vc queira uma parceria, tanto para ideias ou coisa parecida, só enviar skype, que podemos conversar. happy.png

     

    - "O importante é ajudar um ao outro a crescer, sem impedir o crescimento do próximo"

    Boa sorte e tmj hi.gif

  2. Poh! Dahora o projeto, tbm estou em um parecido, já faz 1 ano mais ou menos. Dei uma parada por causa do curso, mais agora estou voltando.

    Só que meu projeto tem um conceito vamos dizer, "diferente" kk'. Tanto em relação a versão do otserver, funções, script, história, etc kk'

    Caso vc queira uma ajuda, aqui um script que possa ajuda-lo: http://www.xtibia.com/forum/topic/234626-vantagem-e-desvantagem-system-spell-tibia-normal/

    Caso vc queira alguma parceria, só me enviar seu skype, podemos conversar, trocar ideias e ajudar um ao outro a revolucionar esse mundão 49_49.gif

    Abraços e boa sorte, tmj wink_smile.gif

  3. Brother, vc conseguiria fazer um sistema que consiste em:

    Se o player tiver level "X" em Skill de Sword, ele tera 10% de proteção referente ao level da skill em "X" Spell?

    Exemplo: Meu skill de Sword tem level 150.

    Calculo: 150 x 10 ÷ 100 = 15 de proteção de Dano a Spell (Bafo do Dragão)

    Suponho que a spell (Bafo de Dragão) bata 140 de Dano, então logo com esse level de skill (150), sera retirado do dano da spell (10% = 15 de dano).

    Dando assim no total 125, que é: (140 - 15 = 125).

    Bem.. é isso icon_rimkuk2.gif

    Obs: Esse 10% de proteção é referente a minha defesa contra a spell (Bafo do Dragão) do oponente, logo a spell só ira bater 125 de dano em mim em vez de 140 por causa do meu level 150 de skill Sword tongue.png

    Server: 8.54 (TFS: 0.3.6)

  4. Como faz pra um checar uma storage em tabela? exemplo:

     

    Fiz um item que ao usar ele checa a storage do player e se ele tiver X storage, ele ganha uma certa quantidade de HP.

     

    Só que da esse erro ao checar a storage pela tabela:

    [18/11/2015 23:50:00] data/actions/scripts/Classes/teste.lua:9: attempt to call global 'getPlayerStorage' (a nil value)

    local config = {
    
        [3001] = {HP = 900}, -- [Storage] = {HP = Quantidade}
        [3002] = {HP = 780},
    }
    
    function onUse(cid, item, frompos)
    
    local valor = config[getPlayerStorageValue(cid)]
    
    setCreatureMaxHealth(cid, getCreatureMaxHealth(cid) +valor.HP)
    doCreatureAddHealth(cid, getCreatureMaxHealth(cid))
    
    doSendMagicEffect(frompos, 10)
    doPlayerSendTextMessage(cid, 20, "Congratulations!")
    
    return true
    end
    

    Como faço pra não ocorrer esse erro e checar a storage? pliz confused.gif

     

     

  5. Huum.. conseguir adicionar valores em 3 skills diferentes com esse addEvent (Que foi uma ótima ideia) kk'

    Agora só não to conseguindo setar um valor negativo nessa função: doPlayerAddSkills(cid, IDdaSkill, -ValorAntigo)

     

    Pra tirar o level anterior da skill, pra assim colocar ao novo valor do level da skill: doPlayerAddSkills(cid, IDdaSkill, NovoValor)

     

    Alguma ideia? :p

  6. Ok, mais tem 2 problemas:

     

    1°: Eu tinha pedido que cada item daria um certo level determinado na skill correspondente ao item que for usado. Não um loop de 1 á 50.

     

    2°: Se vc disse que essa função esta errada na minha source, e possivelmente esse seria o motivo do lag, qual a logica de continuar usando ela? o.o'

  7. Pelo que eu fiquei sabendo é a função toda doPlayerAddSkill que altera o banco de dados do player, carregando assim um novo valor e gerando lag. Porque são 3 valores de leveis de skills que são alteradas ao mesmo tempo.

    Por isso cogitei a idéia de ser só um buff, como de uma spell. Porque assim n altera o banco de dados do player e n causando lag.

  8. Já já falo se funcionou, (y)

     

    #Edit

     

    @

     

    Bem.. mudou, só que trava o server pra kct, porq mudar 3 skills de uma só vez, da muuuito lag..

     

    Eu estava pensando em alguma forma que não mude a skill no banco de dados pra n ocorrer esse lag todo..

     

    Como se fosse um buff de spell? Sakas?

    Que aumente o level da skill, mais que não mude no banco de dados do player..

     

    Aguardando ajuda... sad.png

  9. Deu esse erro:

    [04/11/2015 16:04:36] [Error - LuaScriptInterface::loadFile] data/actions/scripts/Classe.lua:17: ')' expected near 'vocation'
    [04/11/2015 16:04:36] [Warning - Event::loadScript] Cannot load script (data/actions/scripts/Classe.lua)
    [04/11/2015 16:04:36] data/actions/scripts/Classe.lua:17: ')' expected near 'vocation'

    Uma pergunta: Quando for usar o item e trocar de vocation, ira tbm receber essas 3 skills (sword, axe e club)?

     

    @

    O item não é pra equipar, ele vai ficar na bag normalmente.
    Quando vc for clicar no item ele vai dar uma vocation, outfit, efeito e novos leveis nas skills.
    Cada item dará uma coisa diferente, tanto pra vocation, como skill.

     

     

     

  10. @

    A função doPlayerAddSkillTry(cid,id_da_skil, qnt), só adiciona uma certa quantidade de experiência na skill, queria algo que adicionasse o level diretamente na skill.

    @@Caronte

    O item é usável e n de equipar.
    Ambos os itens ficariam em uma bag.

    ---------------------------------------

    Eu estava pensando usar esse esquema:

    local condition = createConditionObject(CONDITION_ATTRIBUTES)

    setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, sword)
    setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, axe)
    setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, club)
    setConditionParam(condition, CONDITION_PARAM_TICKS, -1)

    doAddCondition(cid, condition)

    Só que não consegui configurar o quanto vai ganhar de level nas skills para cada item confused.gif

  11. Galera como faço pra cada item da um certo level de skill?

     

    Funções que já tentei usar:

     

    doPlayerAddSkills(cid, IDdaSkill,Quantidade): Com essa função da uma travada monstro quando mudo 3 leveis de skill's de uma só vez.

     

    doPlayerAddSkill(cid, IDdaSkill, Quantidade): E com essa função, mesmo colocando 50 de quantidade, só adiciona 1 level por 1.

     

    doPlayerSetSkill(cid, IDdaSkill, Quantidade): E com essa função criada pelo Vodkart que achei aqui no fórum, faz o player deslogar e não da pra trocar mais de uma skill ao mesmo tempo.

     

    Cada item daria um valor de sword, axe e club para cada item usado, (e claro lookType, vocation e effect).

     

    Script:

    local config = {
    
        [ItemID] = {Life = 900, sword = 31, axe = 36, club = 42, lookType = 1, vocation = 1, effect = 45, msg = "ClasseName"},
        [ItemID] = {Life = 900, sword = 54, axe = 92, club = 35, lookType = 1, vocation = 1, effect = 45, msg = "ClasseName"},
        [ItemID] = {Life = 780, sword = 46, axe = 53, club = 66, lookType = 5, vocation = 2, effect = 15, msg = "ClasseName"},
        [ItemID] = {Life = 500, sword = 84, axe = 74, club = 79, lookType = 7, vocation = 3, effect = 37, msg = "ClasseName"},
        [ItemID] = {Life = 800, sword = 50, axe = 85, club = 14, lookType = 9, vocation = 4, effect = 48, msg = "ClasseName"}
    }
    
    function onUse(cid, item, frompos)
    
    	local t = config[item.itemid]
    
    	if t then
    	if not isInArray(t.vocation, getPlayerVocation(cid)) then
    
            local outfit = getCreatureOutfit(cid)
            outfit.lookType = t.lookType
    
            doCreatureChangeOutfit(cid, outfit)
    	doPlayerSetVocation(cid, t.vocation)
    
    	setCreatureMaxHealth(cid, getCreatureMaxHealth(cid) +t.Life)
    	doCreatureAddHealth(cid, getCreatureMaxHealth(cid))
    
    	doSendMagicEffect(frompos, t.effect)
    	setPlayerStorageValue(cid, 14160, os.time() + cfg.time *60)
    	doPlayerSendTextMessage(cid, 20, "Congratulations! You become a "..t.msg.."!")
    
    	else
    	doPlayerSendCancel(cid, "You are now ready.") 
    
       return true
       end
    end
    

    Aguardando.. worriedsmiley.gif

  12. Alguém conseguiria fazer um sistema que consiste em:

    Se o player tiver level "X" em Skill de Sword, ele tera 10% de proteção referente ao level da skill em "X" Spell?

    Exemplo: Meu skill de Sword tem level 150.

    Calculo: 150 x 10 ÷ 100 = 15 de proteção de Dano a Spell (Bafo do Dragão)

    Suponho que a spell (Bafo de Dragão) bata 140 de Dano, então logo com esse level de skill (150), sera retirado do dano da spell (10% = 15 de dano).

    Dando assim no total 125, que é: (140 - 15 = 125).

    Bem.. é isso, rezo a Deus que alguém possa me ajudar :(

    Obs: Esse 10% de proteção é referente a minha defesa contra a spell (Bafo de Dragão) do oponente, logo a spell só ira bater 125 de dano em mim em vez de 140 por causa do meu level 150 de skill Sword :p

    Server: 8.54 (TFS: 0.3.6)

  13. A função dessa script é o seguinte: Dependendo do número da vocation a Damade em questão poderá dar 4x, 2x, 1x, 0.5x, 0.25x ou anular o hit em relação a vocation.

    Exemplo: A vocation 1 irá receber 2x do hit da damage (COMBAT_FIREDAMAGE).

     

    Obs: Cada palavra de hit terá sua cor relacionada a damage em questão, no caso do (COMBAT_FIREDAMAGE) será em (COLOR_PURPLE).

     

    O problema é:

     

    Quando algum monstro ou player me ataca, aparece o duas vezes a palavra do hit, mas eu queria que aparecesse só um vez em (COLOR_PURPLE), como relacionado na script:

     

    Obs: O dano NÃO DA DUAS VEZES, só a palavra contendo o hit que aparece duas vezes.

     

    tuytry.png

     

    Script:

    local config = {
        combatTable = {
    
    	[COMBAT_FIREDAMAGE] = {
    	  AQuatro = {"0"},
    	  BDobro = {"1"},
    	  CNormal = {"0"},
    	  DMetade = {"0"},
    	  EMeio = {"0"},
    	  FNulo = {"0"},
    	},
    
        },
    
        colors = {
    
            [COMBAT_FIREDAMAGE] = COLOR_PURPLE,
        },
    }
    
    function onStatsChange(cid, attacker, type, combat, value)
    
        local cTable = config.combatTable[combat]
        if cTable and type == STATSCHANGE_HEALTHLOSS then
    
            local a, b, c, d, e, f, check, newValue = cTable.AQuatro, cTable.BDobro, cTable.CNormal, cTable.DMetade, cTable.EMeio, cTable.FNulo, isPlayer(cid) and getPlayerVocation(cid) or getCreatureName(cid), 0
    
            if isInArray(a, check) then
                newValue = math.floor(value * 4)
    
            elseif isInArray(b, check) then
                newValue = math.floor(value * 2)
    
            elseif isInArray(c, check) then
                newValue = math.floor(value * 0)
    
            elseif isInArray(d, check) then
                newValue = math.floor(value / 2)
    
            elseif isInArray(e, check) then
                newValue = math.floor(value / 4)
    
            elseif isInArray(f, check) then
                newValue = math.floor(value - value)
    
            end
    
            if newValue ~= 0 then
                doCreatureAddHealth(cid, -newValue)
                doSendAnimatedText(getThingPos(cid), newValue, config.colors[combat] or 215)
                return false
            end
         end
        return true
    end
    
    function onLogin(cid)
        registerCreatureEvent(cid, "advantageSystem")
        return true
    end
    

    Bem é isso, obg laugh.png

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...