Ir para conteúdo

sens

Campones
  • Total de itens

    31
  • Registro em

  • Última visita

Posts postados por sens

  1. É simples você da use em um determinado item e ganha acesso a uma area (vip no caso), realmente e bem simples para queles servidores que tem varias vip, Exemplo:

    Você faz a quest e pega o item 2233 (apenas para exemplo) e da use ganhando storage 12345 ai você pode entrar.

     

    1ª parte:

     

     

    vai em data/actions/scripts e cria 1 arquivo chamado vip.lua e coloca isso:

     

    function onUse(cid, item, fromPos, itemEx, toPos)

    doRemoveItem(item.uid, 1)

    setPlayerStorageValue(cid,XXX,1)

    doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MORTAREA)

    doCreatureSay(cid, "Voce ganhou vip!", TALKTYPE_ORANGE_1)

    end

    Vermelho: Storage que vai adicionar ao usar item.

    Azul: Mensagem que ele fala ao usar item.

     

    Depois vai em data/actions em actions xml adiciona:

     

    <action itemid="X" script="vip.lua"/>

    Vermelho: id do item que ira dar a vip

     

     

     

    2ª parte

     

     

    Agora vai em data/movements/script e cria 1 arquivo chamaod vip_1.lua e coloca:

     

    local pos1 = {x=X, y=X, z=X}

    local pos2 = {x=X, y=X, z=X}

    local storage = XXX

     

    function onStepIn(cid, item, pos)

    if getPlayerStorageValue(cid, storage) == 1 then

    doTeleportThing(cid, pos1)

    doPlayerSendTextMessage(cid, 27, "Bem vindo area vip .")

    else

    doTeleportThing(cid, pos2)

    doPlayerSendTextMessage(cid, 27, "Voce nao e vip ainda.")

    return true

    end

    end

     

    Azul: posição que vai mandar se ele tiver a storage

    vermelho: Posição se ele nao tiver a storage

    Verde: Storage que precisa ter.

    Roxo: Mensagem se o player tiver storage

    Marron: Mensagem se o player nao tiver storage

     

    depois vai em data/movements em movements.xml adiciona:

     

    <movevent type="StepIn" actionid="XXX" event="script" value="vip_1.lua"/>

     

    Vermelho: actionid que voce coloca no tile.

    Então você vai no mapa editor e colocar esse actionid nos tiles que ficam na entrada da vip.

     

     

    @Editado:

    creditos:

    85% Xtibia- Quase todo conteudo esta disponivel em diversos topicos do xtibia, não tenho nome de todos os criadores entao esto deixando isso para nao dizerem que estou ripando.

    10% Sens - pesquisa correção e junção de scripts

    3% Delalana - Correção da 1ª parte.

    2% servidor OT Eribaiak v2.0 - algumas funções e alterações.

     

    Observações: crie este tutorial, para ajudar como podem ver e um junção de scripts simples

    (sou pessimo em portugues)

  2. Bom acho que é isso:

    vai em data/actions/scripts e cria 1 arquivo chamado vip9.lua e coloca isso:

     

    function onUse(cid, item, fromPos, itemEx, toPos)

    doRemoveItem(item.uid, 1)

    setPlayerStorageValue(cid,575757,1)

    doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MORTAREA)

    doCreatureSay(cid, "Voce ganhou vip 9!", TALKTYPE_ORANGE_1)

    end

    Vermelho: Storage que vai adicionar ao usar item.

    Azul: Mensagem que ele fala ao usar item.

     

    Depois vai em data/actions em actions xml adiciona:

     

    <action itemid="5785" script="vip9.lua"/>

    Vermelho: id do item que ira dar a vip

     

     

    Agora vai em data/movements/script e cria 1 arquivo chamaod vip_9.lua e coloca:

     

    local pos1 = {x=X, y=X, z=X}

    local pos2 = {x=X, y=X, z=X}

    local storage = 575757

     

    function onStepIn(cid, item, pos)

    if getPlayerStorageValue(cid, storage) == 1 then

    doTeleportThing(cid, pos1)

    doPlayerSendTextMessage(cid, 27, "Bem vindo area vip 9.")

    else

    doTeleportThing(cid, pos2)

    doPlayerSendTextMessage(cid, 27, "Voce nao e vip 9 ainda.")

    return true

    end

    end

     

    Azul: posição que vai mandar se ele tiver a storage

    vermelho: Posição se ele nao tiver a storage

    Verde: Storage que precisa ter.

     

    depois vai em data/movements em movements.xml adiciona:

     

    <movevent type="StepIn" actionid="60060" event="script" value="vip_9.lua"/>

     

    Vermelho: actionid que voce coloca no tile.

    Então você vai no mapa editor e colocar esse actionid nos tiles que ficam na entrada da vip.

     

    @Editado:

    Corrigido 1ª parte.

    creditos:

    85% Xtibia- Quase todo conteudo esta disponivel em diversos topicos do xtibia, não tenho nome de todos os criadores entao esto deixando isso para nao dizerem que estou ripando.

    10% Sens - pesquisa correção e junção de scripts

    3% Delalana - Correção da 1ª parte.

    2% servidor OT Eribaiak v2.0 - algumas funções e alterações.

  3. testa ai:

    data/spells/scripts, e cria 1 arquivo e coloca nome de MEG.lua e adicione dentro:

     

    local combat = createCombatObject()

    setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

    setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, TRUE)

    setCombatParam(combat, COMBAT_PARAM_EFFECT, 53)

    setCombatParam(combat, COMBAT_PARAM_USECHARGES, TRUE)

    setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1.4, 0, 1.0, 0)

     

    local area = createCombatArea

    {

    {0, 0, 1, 0, 0},

    {0, 1, 1, 1, 0},

    {1, 1, 3, 1, 1},

    {0, 1, 1, 1, 0},

    {0, 0, 1, 0, 0},

    }

    setCombatArea(combat, area)

     

    function onCastSpell(cid, var)

    return doCombat(cid, combat, var)

    end

     

     

    ou

     

    local combat = createCombatObject()

    setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

    setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, TRUE)

    setCombatParam(combat, COMBAT_PARAM_EFFECT, 53)

    setCombatParam(combat, COMBAT_PARAM_USECHARGES, TRUE)

    function onGetFormulaValues(cid, level, skill, attack, factor)

    local skillTotal, levelTotal = skill + attack, level / 5

    return -(skillTotal * 0.5 + levelTotal), -(skillTotal * 1.5 + levelTotal)

    end

     

    local area = createCombatArea

    {

    {0, 0, 1, 0, 0},

    {0, 1, 1, 1, 0},

    {1, 1, 3, 1, 1},

    {0, 1, 1, 1, 0},

    {0, 0, 1, 0, 0},

    }

    setCombatArea(combat, area)

     

    function onCastSpell(cid, var)

    return doCombat(cid, combat, var)

    end

     

     

     

    ai em spells.xml adiciona

     

     

    </instant>

    <instant name="master exori gran" words="master exori gran" lvl="100" mana="150" prem="0" needweapon="1" exhaustion="2000" needlearn="0" event="script" value="MEG.lua">

    <vocation id="4"/>

    <vocation id="8"/>

    </instant>

     

     

    @edited

    esqueci de adicionar a tag.

  4. Testa ae: No meu server funciona perfeitamente
    Creditos : -- Script by LuckOake com ajuda de Vodkart
    vai em data/creaturescripts/script cria 1 arquivo chamado ManaDrain.lua e coloca isso

    -- Script by LuckOake com ajuda de Vodkart


    local weaponsID = {7765; 2413} -- IDs das armas
    local mana = 80 -- Mana Obtida

    function onStatsChange(cid, attacker, type, combat, value)

    if not isCreature(cid) or not isCreature(attacker) or getCreatureHealth(cid) <= 0 then
    return true
    end

    if isPlayer(attacker) and type == STATSCHANGE_HEALTHLOSS and combat == COMBAT_PHYSICALDAMAGE and
    (isInArray(weaponsID, getPlayerSlotItem(attacker, CONST_SLOT_LEFT).itemid) or
    isInArray(weaponsID, getPlayerSlotItem(attacker, CONST_SLOT_RIGHT).itemid)) then
    doPlayerAddMana(attacker, mana)
    doSendAnimatedText(getCreaturePos(attacker), "+"..mana.."", TEXTCOLOR_LIGHTBLUE)
    if isPlayer(cid) then
    doPlayerAddMana(cid, -mana)
    doSendAnimatedText(getCreaturePos(cid), "-"..mana.."", TEXTCOLOR_PURPLE)
    elseif isMonster(cid) then
    doSendAnimatedText(getCreaturePos(cid), "-"..mana.."", TEXTCOLOR_PURPLE)
    end
    end

    return true
    end





    depois vai em login.lua e adiciona isso:

    registerCreatureEvent(cid, "ManaDrain")



    depois vai em data/creaturescripts em creaturescripts.xml coloca:

    <event type="statschange" name="ManaDrain" event="script" value="manadrain.lua"/>





    Esse script nao é meu como eu disse é do

    -- Script by LuckOake com ajuda de Vodkart

  5. tentai:

     

    local combat1 = createCombatObject()

    setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

    setCombatParam(combat1, COMBAT_PARAM_EFFECT, 134)

    setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -59.2, 2, -64.2, 3)

     

     

    arr1 = {

    {0, 0, 0, 1, 0, 0, 0},

    {0, 0, 0, 1, 0, 0, 0},

    {0, 0, 0, 1, 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},

    }

     

    local area1 = createCombatArea(arr1)

    setCombatArea(combat1, area1)

     

    local function onCastSpell1(parameters)

    doCombat(parameters.cid, parameters.combat1, parameters.var)

    end

     

    local condition = createConditionObject(CONDITION_HASTE)

    setConditionParam(condition, CONDITION_PARAM_TICKS, 1000)

    setConditionFormula(condition, -9.5, -0, -9.5, -0)

    setCombatCondition(combat1, condition)

     

    function onCastSpell(cid, var)

     

     

    local p = getCreaturePosition(cid)

    local x = {

    [0] = {x=p.x, y=p.y-1, z=p.z},

    [1] = {x=p.x+4, y=p.y, z=p.z},

    [2] = {x=p.x, y=p.y+4, z=p.z},

    [3] = {x=p.x, y=p.y, z=p.z}

    }

    local y = {

    [0] = 162,

    [1] = 164,

    [2] = 165,

    [3] = 163

    }

    pos = x[getCreatureLookDirection(cid)]

    eff = y[getCreatureLookDirection(cid)]

    doSendMagicEffect(pos, eff)

    time = 5

    doCreatureSetNoMove(target,TRUE)

    local parameters = { cid = cid, var = var, combat1 = combat1}

    addEvent(onCastSpell1, 100, parameters)

    addEvent(doCreatureSetNoMove,time*1000,target,false)

    return true

    end

     

  6. testa aew:

     

    local combat = createCombatObject()

    setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)

    setCombatParam(combat, COMBAT_PARAM_EFFECT, 205)

    setAttackFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 7, 14)

     

    local area = {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},

    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},

    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},

    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},

    {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},

    {0, 0, 0, 1, 1, 3, 1, 1, 0, 0, 0}

     

    setCombatArea(combat, area)

     

    function onCastSpell(cid, var)

    return doCombat(cid, combat, var)

    end

     

  7. Tenta aew

     

     

     

    local condition = createConditionObject(CONDITION_HASTE)

    setConditionParam(condition, CONDITION_PARAM_TICKS, 1000)

    setConditionFormula(condition, -9.5, -0, -9.5, -0)

    setCombatCondition(combat2, condition)

     

    time = 5

    target = getCreatureTarget(cid)

    doCreatureSetNoMove(target,TRUE)

    function onCastSpell(cid, var)

    return doCombat(cid, combat, var)

    end

     

     

  8. Nota: estou respondendo agora por motivos pessoais fiquei sem acesso a internet por muito tempo, por isso estou respondendo agora o topico.

     

    mas assim, eu baixei tudo certinho ate o dev prontinho e sempre da o mesmo erro, nao teria 1 video aula de como fazer isso e talz seria muito pratico ainda mais no tempos de hj em dia que o youtube faz parte das ferramentas de informação.

  9. Bom eu ja vi varios tutorias ( varios mesmo 1 semana vendo todo tipo de tutorial) de como compilar um distrito, porem toda vez que eu compilo o Tfs 0.3.6 ele da erro ja baixei INUMERAS sources de varios sites e tutorias,e nunca da certo, eu uso o DEV-C++ 4.9.9.2 estou tentando compilar o distrito 0.3.6pl1.r101 - 8.54, ate para testar eu apenas baixei e compilei e não da certo. Eu não sou experiente nem sei mexer muito bem mas gostaria de 1 ajuda,

     

    ERRO:

     

     

  10. Tipo do script: Spell

    Protocolo (versão do Tibia): 8.54

    Servidor utilizado: Tfs 0.3.6

    Nível de experiência: baixo

     

     

     

    Pedido - spell de criar 1 parede trap.

     

    explicação de como a magia deve funcionar:

     

    O player X usa a magia "parede" então surge 1 parede em redor dele que dura 10 segundos e some sem ter que editar os ids no items.xml, eu procurei bastante e nao achei a que eu queria, o m o formato e os ids:

    1 primeira parede:

     

    local arr = {

    {0, 0, 0, 0, 0, 0, 0, 0},

    {0, 1, 0, 0, 0, 0, 0, 0},

    {0, 0, 0, 0, 0, 0, 0, 0},

    {0, 0, 0, 2, 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}

    }

    id da parede = 6139

     

     

    2 Parede:

     

    local arr = {

    {0, 0, 0, 0, 0, 0, 0, 0},

    {0, 0, 1, 1, 1, 1, 0, 0},

    {0, 0, 0, 0, 0, 0, 0, 0},

    {0, 0, 0, 2, 0, 0, 0, 0},

    {0, 0, 0, 0, 0, 0, 0, 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}

    }

    id da parede = 6140

     

     

    3 parede:

     

    local arr = {

    {0, 0, 0, 0, 0, 0, 0, 0},

    {0, 0, 0, 0, 0, 0, 0, 0},

    {0, 1, 0, 0, 0, 1, 0, 0},

    {0, 1, 0, 2, 0, 1, 0, 0},

    {0, 1, 0, 0, 0, 1, 0, 0},

    {0, 1, 0, 0, 0, 0, 0, 0},

    {0, 0, 0, 0, 0, 0, 0, 0},

    {0, 0, 0, 0, 0, 0, 0, 0}

    }

    id da parede = 6142

     

     

    4 parede:

     

    local arr = {

    {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, 2, 0, 0, 0, 0},

    {0, 0, 0, 0, 0, 0, 0, 0},

    {0, 0, 0, 0, 0, 1, 0, 0},

    {0, 0, 0, 0, 0, 0, 0, 0},

    {0, 0, 0, 0, 0, 0, 0, 0}

    }

    id da parede = 6141

     

     

     

    Verde = Posição do player que uso a magia

    vermelhão = Posição que a parede deve aparecer

    Azul = id das paredes

     

    Eu gostaria que a paredes sumissem apos 10 segundos, mas sem ter que editar no items.xml que fosse diretamente no script, pois esses ids sao usados em outros lugares do mapa.

     

    Já agradeço a todos que responderem esse pedido.

  11. postar um script que já existia exatamente igual ? o que você pensou ?

    NAO ENTENDI VC FALOU ISSO NO TOPICO "

    Como Por Comando !aol, !sd Entre Outros

    DO "Tibiarx" E ACABOU DE POSTAR UM COISA IDENTICA SO MUDOU O SCRIPT PQ E A FUNÇAO E A MESMA.

    NAO TENTENDI :worriedsmiley:

  12. eu tbm to atras dessa magia tipo a area dela e assim

     

    {0, 0, 0, 0, 0, 0, 0,

    0, 0, 0, 1, 0, 0, 0,

    0, 0, 0, 0, 0, 0, 0,

    0, 1, 0, 3, 0, 1, 0,

    0, 0, 0, 0, 0, 0, 0,

    0, 0, 0, 1, 0, 0, 0,}

     

    porem ele deve ser de summon tipo

    local creature = doSummonCreature("headcaptor",getCreaturePosition(cid))

    aonde sao sumonados 4 deles eles dao 1 hit ao mesmo tempo de 300

    e somem a açao dura mais ou menos 1,5 2 segundos

    basicamente a magia e essa "'-'"

  13. O poder de 1 homem, vem de entender 1 palavra , o dia que vcs soberem oque e isso poderao mudar o mundo , atela fikem com o seus "NAO GOSTEI" "FEXA ESSE TOPICO" "A Q MAGIA LIXO" vcs so falao isso pq nao sabem o que incrementar na magia ;) se soube-sem falavao , mais fazer o que mentes pequenas pensamento pekenos ,

    E viva a Liberdade de Expressao!!

    Fiquem com tudoooooooo!

     

    ps: nao estou brigando so nao acho lega apenas reclamarem ao inves de darem dicas

    ps2: nao sou script e entao nao tem no que eu dar dicas

    ps3: WhysoSerious?

  14. nossa, Parabens kra realmente esse negocio de quanto que vai hitar eu nao sabia como configurar, eu sempre testava almentando e diminuindo ate chegar no valor esperado mais sempre era as cegas

     

     

    arrumando uns erros D;
  15. Oi, eu tenho um otserv 8.6: tweetibia.servegame.com, e não estou conseguindo fazer a magia "Utevo res" de sumonar monstros funcionar.

    Ao usar essa magia os players recebem uma mensagem assim: you cannot summon more creatures.

    me falem oque eu faço pra eles conseguirem sumonarem pelo menos 2 monstros? por favor.

     

    Obrigado desde já.

    nao tenho certeza mais va no conf.lua e procure por maxsummons = 2 ( se tiver 0 bote e dois e test) sei q faz tempo ja que o poste ta aki mais ninguem repondeu ele =)(se for isso avisa)

  16. Esse e um script bom para a colocar em 1 ot que esta sem inovações, gostei ^^ :XTibia_smile:

    eu sou burro e apaguei o codico da color depois errei no emoticon e por final na escrita eusoumuitoburro editei 4 a 5 vezes e nao arrumei o erro so agora :whistle:

  • Quem Está Navegando   0 membros estão online

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