Ir para conteúdo

Demonbholder

Infante
  • Total de itens

    1551
  • Registro em

  • Última visita

  • Dias Ganhos

    24

Posts postados por Demonbholder

  1. cara eu colokei akela spell q vc me mando fiko perfeito, eu ate fis o test colok 1 secundo so pra testa se o tempo tava certo e fiko certin, +n ten nenhum geito de fika marcando os dias e tal?, pq hora q vc fais a spell aparece vc e vip e da pra anda normal na area vip so q como o cara vai sabe qt tempo ele ainda tem ou se ja acabo ou n. se alguem pode me responde ^^. agradeço a compreenção!

    Assim cara, presta bem atençao:

     

    Pra bota 1 dia de VIP tu tem q bota 86400 segundos, pra bota 1 semana de VIP tu tem q bota 604800 e pra bota 1 mes de VIP tu bota 2592000 segundos. E o cara vai sabe qnts dias ele tem de VIP contando tipo, se tu bota 1 semana de vip entao ele vai sabe q 1 semana dps vai acaba VIP.

     

    function onCastSpell(cid, var, pos)

     

    if doPlayerRemoveItem(cid, 6527, 100) == TRUE then

    queststatus = getPlayerStorageValue(cid, 13540)

    if queststatus == -1 then

    setPlayerStorageValue(cid, 13540, 1)

    doPlayerSendTextMessage(cid, 22, "Parabens, agora voce é VIP, voce tem 1 semana de VIP")

    params = {cid=cid,var=var,pos=pos}

    addEvent(k, 50000, params)

    else

    doPlayerSendCancel(cid, "Voca ja é VIP, compre mais quando acabar sua VIP")

    doPlayerAddItem(cid, 6527, 100)

    end

    else

    doPlayerSendCancel(cid, "Voce n tem o minimo de VIP coins para comprar VIP")

    end

    end

     

    function k(params)

    doPlayerSendTextMessage(params.cid, 22, "Acabo VIP")

    setPlayerStorageValue(params.cid, 13540, -1)

    end

     

    Olha como eu mudei a mensagem em negrito, ai tu faz a mesma coisa.Entendeu???Se n tive entendido me fla.

  2. Aff, aparece uma SD saindo mas n sai dano de sd mew.Nem testei, mas so de ve o script ja da pra sabe, pra q saia dano de SD troquem:

     

    setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

     

    Por:

     

    setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)

     

    Mas em tese, seu script ta bom.

  3. Olá pessoal do XTibia. A algum tempo atrás, eu estava com um problema clássico de segunda promoção; felizmente consegui arrumar, e posto agora para quem tinha duvidas.

     

    Este bug acontece quando o jogador tem sua vocação mudada para segunda (ou mais) promoção e então ao sair do jogo e entrar mais uma vez, ele fica sem vocação.

     

    Entao eu achei um jeito de resolver esse bug. Vou mostrar o jeito q eu fiz para trocar o vocação, eu fiz por talkaction mas voces podem fazer pelo que vcs quiserem:

     

    function onSay(cid,words,params)

     

    local vocstatus = getPlayerStorageValue(cid, 1593)

    if vocstatus == -1 then

    if doPlayerRemoveMoney(cid, 10000) == TRUE then

    if getPlayerVocation(cid) >= 5 and getPlayerVocation(cid) <= 8 then

    if getPlayerLevel(cid) >= 8 then

    doPlayerSetVocation(cid, getPlayerVocation(cid) + 4)

    setPlayerStorageValue(cid, 1593, 1)

    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Congratulations, now you are second promoted.")

    else

    return doPlayerSendCancel(cid,"You are not strong enought to become a second promoted.")

    end

    else

    return doPlayerSendCancel(cid,"Only first promoteds can become second promoteds.")

    end

    else

    return doPlayerSendCancel(cid,"You dont't have money to promote yourself.")

    end

    else

    return doPlayerSendCancel(cid,"You have already used this talkaction.")

    end

    end

     

    Agora va em data/creaturescripts/scripts, crie um arquivo lua, nomeie para loginvoc e cole isto nele:

     

    function onLogin(cid)

    local vocstatus = getPlayerStorageValue(cid, 1593)

     

    if vocstatus == 1 then

    doPlayerSetVocation(cid, getPlayerVocation(cid) + 4)

    return TRUE

    else

    return TRUE

    end

    end

     

    Azul: Selecione o Storage que você quiser (um que ainda não tenha sido usado).

    Vermelho: Selecione a quantidade de moedas necessárias.

    Laranja: Escolha o level mínimo para executar a talkaction.

    Rosa: Selecione a mensagem de sucesso.

    Verde: Escolha as mensagens de erro (siga a ordem que eu usei).

     

    Entao é isso, até a próxima.

     

    Edit: Reformulação do script, e melhoramento do mesmo. Script funcionando se os ids das vocações da segunda promoção forem 9,10,11,12.

  4. 1_Obvio q entendo, tu q n entende nda, aff, so tava zuando quando flei isso, n viu as risadas dps ¬¬

     

    2_Por mais q eu queira, n tenho tempo pra faze um Ot de Bleach, responder as duvidas daki no meu tempo livre e fazer

    esse tal "duelo de script" q eu admito n sei como funciona, nunca fiz, alem disso n tenho q prova nda a ninguem, minhas ajudas nos scripts flarao por min.Otra coisa aqui n é lugar pra ta discutindo isso, se quiser flar qualquer coisa sobre isso comigo, manda pm.

  5. pois e cara e um bom tuto +n funciona no meu pq ele presisa de uma pasta chamada >creaturescripts< q n tem no meu

    eu acho q e para sql esse sistema o meu e xml ainda :smile_positivo: bom +vlw a intenção se soube de um melhor me avisa. a versão do meu ot e 8.1 xml

    Ta, quanto a sua duvida do Hacker eu n sei, acho q vc poderia baxa um Ot igual, copia as acc e o resto q vc quiser la do Ot Hackeado.Acho q isso deve resolve.E quanto a sua duvida do negocinho q aparece tipo utamo vita e fire field, eu entendi, vo ve se consigo faze, mas....n prometo nda, se eu conseguir edito esse post e te do ja.E quanto ao contador de dias na spell, admito q n sei fazer, o jeito bota aqueles segundos q eu te mandei no ultimo post.

     

    --EDIT--

     

    N consegui fazer o negocio do utamo vita, fire field etc...malz aew,

  6. Use o exemplo do Slayer como base:

     

    local velocidade = 3000 -- 3 segundos

    local color = TEXTCOLOR_WHITE_EXP

    local function loop(valores)

     

    doSendAnimatedText({x=160, y=54, z=7},"BemVindo",TEXTCOLOR_ORANGE)

     

    doSendAnimatedText({x=152, y=49, z=7},"Teleports",TEXTCOLOR_LIGHTBLUE)

    doSendAnimatedText({x=434, y=108, z=7},"Trainers Vip",TEXTCOLOR_LIGHTGREEN)

     

    doSendAnimatedText({x=384, y=454, z=7},"TPs Vip",TEXTCOLOR_LIGHTGREEN)

    doSendAnimatedText({x=383, y=450, z=7},"Vip City",TEXTCOLOR_LIGHTGREEN)

    doSendAnimatedText({x=427, y=108, z=7},"Teleports",TEXTCOLOR_LIGHTGREEN)

    doSendAnimatedText({x=433, y=108, z=7},"NPCs",TEXTCOLOR_LIGHTGREEN)

     

    doSendAnimatedText({x=153, y=46, z=7},"Vip City",TEXTCOLOR_LIGHTGREEN)

    doSendMagicEffect({x=152, y=46, z=7}, CONST_ME_MIRRORVERTICAL)

     

    doSendAnimatedText({x=415, y=457, z=7},"Slayer",TEXTCOLOR_RED)

    doSendAnimatedText({x=416, y=457, z=7},"City",TEXTCOLOR_RED)

     

    doSendAnimatedText({x=411, y=455, z=7},"Non Pvp",TEXTCOLOR_ORANGE)

    doSendAnimatedText({x=411, y=456, z=7},"City",TEXTCOLOR_ORANGE)

    doSendMagicEffect({x=411, y=456, z=7}, CONST_ME_SOUND_PURPLE)

     

    doSendAnimatedText({x=407, y=455, z=7},"Fire",TEXTCOLOR_ORANGE)

    doSendAnimatedText({x=407, y=456, z=7},"Fortress",TEXTCOLOR_ORANGE)

    doSendMagicEffect({x=407, y=456, z=7}, CONST_ME_SOUND_PURPLE)

     

    doSendAnimatedText({x=401, y=455, z=7},"Frozen",TEXTCOLOR_ORANGE)

    doSendAnimatedText({x=401, y=456, z=7},"City",TEXTCOLOR_ORANGE)

    doSendMagicEffect({x=401, y=456, z=7}, CONST_ME_SOUND_PURPLE)

     

    doSendAnimatedText({x=397, y=455, z=7},"Jungle",TEXTCOLOR_ORANGE)

    doSendAnimatedText({x=397, y=456, z=7},"City",TEXTCOLOR_ORANGE)

    doSendMagicEffect({x=397, y=456, z=7}, CONST_ME_SOUND_PURPLE)

     

    doSendAnimatedText({x=409, y=465, z=7},"Sala",TEXTCOLOR_YELLOW)

    doSendAnimatedText({x=410, y=465, z=7},"dos",TEXTCOLOR_YELLOW)

    doSendAnimatedText({x=411, y=465, z=7},"Teleports",TEXTCOLOR_YELLOW)

     

    doSendMagicEffect({x=409, y=463, z=7}, CONST_ME_FIREWORK_RED)

    doSendMagicEffect({x=410, y=463, z=7}, CONST_ME_FIREWORK_RED)

    doSendMagicEffect({x=411, y=463, z=7}, CONST_ME_FIREWORK_RED)

    doSendMagicEffect({x=408, y=464, z=7}, CONST_ME_FIREWORK_RED)

    doSendMagicEffect({x=408, y=465, z=7}, CONST_ME_FIREWORK_RED)

    doSendMagicEffect({x=408, y=466, z=7}, CONST_ME_FIREWORK_RED)

    doSendMagicEffect({x=412, y=464, z=7}, CONST_ME_FIREWORK_RED)

    doSendMagicEffect({x=412, y=465, z=7}, CONST_ME_FIREWORK_RED)

    doSendMagicEffect({x=412, y=466, z=7}, CONST_ME_FIREWORK_RED)

    doSendMagicEffect({x=409, y=467, z=7}, CONST_ME_FIREWORK_RED)

    doSendMagicEffect({x=410, y=467, z=7}, CONST_ME_FIREWORK_RED)

    doSendMagicEffect({x=411, y=467, z=7}, CONST_ME_FIREWORK_RED)

     

    doSendAnimatedText({x=395, y=465, z=7},"Knight",TEXTCOLOR_ORANGE)

    doSendAnimatedText({x=395, y=469, z=7},"Paladin",TEXTCOLOR_ORANGE)

    doSendAnimatedText({x=398, y=469, z=7},"Druid",TEXTCOLOR_ORANGE)

    doSendAnimatedText({x=398, y=465, z=7},"Sorcerer",TEXTCOLOR_ORANGE)

     

    doSendAnimatedText({x=155, y=52, z=7},"Lixo Aqui",TEXTCOLOR_RED)

    doSendAnimatedText({x=165, y=52, z=7},"Lixo Aqui",TEXTCOLOR_RED)

    doSendAnimatedText({x=159, y=48, z=7},"Food Aqui",TEXTCOLOR_LIGHTBLUE)

     

    addEvent(loop, velocidade, valore) -- Não remova isso

    end

     

     

    function onUse(cid, item, frompos, item2, topos)

    doRemoveItem(item.uid,1)

    valore = {cid = cid, topos = topos}

    addEvent(loop, velocidade, valore)

    end

     

    Apenas troque os locais, as mensagens e as cores de acordo com a sua vontade.

     

    Entao é isso, espero ter ajudado.

  7. Na verdade, em quase todos os servidores, principalmente os ultimos, o comando é /n, mas como o Shadown07 disse, depende do servidor.Mas aqui é a seção certa pra isso?

  8. Eu tenho uma ideia, mas é meio loka.Voce pode fzer por spell, tipo exura, dai o cara compra por spell e nem vai sabe q compro por spell, ai tu faz spell com tempo, tipo exura.Se quiser fazer assim a aew o script:

     

    Vai na pasta data/spells/scripts, cria um arquivo lua, nomeia pra vip e cola isto nele:

     

    function onCastSpell(cid, var, pos)

     

    if doPlayerRemoveItem(cid, 6527, 100) == TRUE then

    queststatus = getPlayerStorageValue(cid, 13540)

    if queststatus == -1 then

    setPlayerStorageValue(cid, 13540, 1)

    doPlayerSendTextMessage(cid, 22, "Parabens, agora voce é VIP")

    params = {cid=cid,var=var,pos=pos}

    addEvent(k, 50000, params)

    else

    doPlayerSendCancel(cid, "Voca ja é VIP, compre mais quando acabar sua VIP")

    doPlayerAddItem(cid, 6527, 100)

    end

    else

    doPlayerSendCancel(cid, "Voce n tem o minimo de VIP coins para comprar VIP")

    end

    end

     

    function k(params)

    doPlayerSendTextMessage(params.cid, 22, "Acabo VIP")

    setPlayerStorageValue(params.cid, 13540, -1)

    end

     

    Agora va na pasta data/spells, abra o arquivo spells.xml e cole isto nele em instant spells:

     

    <instant name="Buy VIP" words="Buy Vip" lvl="8" mana="0" prem="1" aggressive="0" selftarget="1" exhaustion="1000" needlearn="0" script="vip.lua">

    <vocation name="Sorcerer" />

    <vocation name="Druid" />

    <vocation name="Paladin" />

    <vocation name="Knight" />

    <vocation name="Master Sorcerer" />

    <vocation name="Elder Druid" />

    <vocation name="Royal Paladin" />

    <vocation name="Elite Knight" />

    <vocation name="Slayer Sorcerer" />

    <vocation name="Slayer Druid" />

    <vocation name="Slayer Paladin" />

    <vocation name="Slayer Knight" />

    </instant>

     

    Entao é isso aew, espero ter ajudado, se n quiser bota por spell, dexa keto, mas espero ter ajudado e qualquer problema so fla aew.Vc pode edita o tempo la no addEvent, eu botei 50 seg no caso 50000, mas se tu quiser tu pode bota dias, um dia é mais ou menos 86400 segundos, uma semana é 604800 mais ou menos e um mes com 30 dias é 2592000.Hehe, eu sei q ta meio confuso, mas n encontrei otro jeito de fazer e vc tb pode faze uma spell q fle com o player tipo a primera spell manda uma msg assim:Para comprar Vip fle "o nome da otra spell" e dai o player fla e roda esse script, se tu quise eu posso faze o da primera spell tb, mas é claro so se tu quise usa esse sistema.Fla aew oq achou.

  9. Aff, olha quem flando, vai tu aprende mais de programaçao lua, eh o uid eh limitado no map editor, mas quero ve tu gasta todos, o inteligencia rara.Pensa um poco antes de escreve, alem do meu ter mais opçoes, é mto mais facil de configura, qualquer um que entende um poco de programaçao ve isso.Aff ainda to discutindo com uma criança.Ta bom mew, seu script eh o melhor, tu eh o bom, satisfeito??

  10. Aew cara, leo aki, toma aew o script como tu me pediu pro MSN, tu so qé o de ICE, ta aew:

     

    local combat = createCombatObject()

     

    arr = {

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

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

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

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

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

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

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

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

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

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

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

    }

     

    local area = createCombatArea(arr)

    setCombatArea(combat, area)

     

    function spellCallback(param)

    if param.count > 0 or math.random(0, 1) ==

     

    1 then

    doSendMagicEffect(param.pos,

    CONST_ME_ICEAREA)

     

     

    doAreaCombatHealth(param.cid,

     

    COMBAT_ICEDAMAGE, param.pos, 0, -50, -75,

     

    CONST_ME_GIANTICE)

    end

     

    if(param.count < 5) then

    param.count = param.count + 1

    addEvent(spellCallback,

     

    math.random(1000, 4000), param)

    end

    end

     

    function onTargetTile(cid, pos)

    local param = {}

    param.cid = cid

    param.pos = pos

    param.count = 0

    spellCallback(param)

    end

     

    setCombatCallback(combat,

     

    CALLBACK_PARAM_TARGETTILE, "onTargetTile")

     

    function onCastSpell(cid, var)

    return doCombat(cid, combat, var)

    end

     

    Espero ter ajudado,vlw.

  11. N entendi muito bem a sua duvida, mas vou te dar um exemplo de um script de uma quest e vou explica-lo:

     

    function onUse(cid, item)

     

    if item.uid == 15999 then

    queststatus = getPlayerStorageValue(cid, 1597)

    if queststatus == -1 then

    doPlayerSendTextMessage(cid, 22, "Voce ganhou 100 Assassin Stars")

    doPlayerAddItem(cid, 7368, 100)

    setPlayerStorageValue(cid, 1597, 1)

    else

    doPlayerSendCancel(cid, "Voce ja fez esta quest")

    end

    end

    end

     

    Bem esse script, é o script de uma quest simples, eu acabei de fazer aqui.Entao vou te explicar tudo ali em cima pra q vc possa fazer igual em outros scripts.Pra que esse script funcionasse voce teria que ir no mapa e adicionar no bau o UID 15999, nomear este script para "new", colocalo dentro da pasta data/actions/scripts do seu ot e adicionar isto no actions.xml:

     

    <action uniqueid="15999" script="new.lua"/>

     

    if item.uid == 15999 ----Aqui ele ira checar se o UID é 15999, ou seja, quando vc bota um bau no mapa, voce vai botar um UID no bau, entao ele ira checar se o UID for 15999 entao ele rodara esse script.

    queststatus = getPlayerStorageValue(cid, 1597) -----Aqui ele ira checar o storage 1597 do player(vc entendera melhor daki a poko)

    if queststatus == -1 -----Aqui ele ira checar se o Storage 1597 -que a funçao a cima verificou- esta liberado, entao o -1 significa q ele esta liberado.Se estiver, o script rodara normalmente.

    doPlayerSendTextMessage(cid, 22, "Voce ganhou 100 Assassin Stars") -----Aqui ele ira mandar uma mensagem pro player quando ele abrir o bau.

    doPlayerAddItem(cid, 7368, 100) -------Aqui ele ira adicionar 100 do item 7368 (o item 7368 é assassin star).So use o "100" no final se o item for contavel, como assassin star ou enchanted spear, mas nunca use se o item for uma thunder hammer ou um blessed shield.

    setPlayerStorageValue(cid, 1597, 1) ------Aqui ele ira fazer com que o storage 1597 fique "1", pra q o player n possa fazer duas vezes a mesma quest.

    else ----Nao tire o else, embora n seja necessario explica-lo.

    doPlayerSendCancel(cid, "Voce ja fez esta quest") -----Aqui ele ira mandar uma mensagem pro player dizendo q ele n pode fazer a quest duas vezes.

    end ------Note que a tres ends no final, isso por que cada "if" precisa de um end e cada "function" precisa de um end tb, entao n tire nenhum end.

     

    Bom acho q é so isso mesmo, espero que voce tenha aprendido e espero ter ajudado, se n era uma explicaçao q voce tava procurando e sim o script me de os detalhes do script q eu faço pra vc.

  12. Bom, seu pedido é bem simples, entao se vc for reparar, o script é igual ao do exori vis, porem ao inves de aparecer uma bola de energia na hora que a spell ta indo pro cara vai aparece uma enchanted spear, como vc pediu.

     

    Va na pasta data/spells/scripts do seu ot, crie um arquivo lua, nomeie para super energy e cole isto nele:

     

    local combat = createCombatObject()

    setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)

    setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYAREA)

    setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENCHANTEDSPEAR)

     

    function onGetFormulaValues(cid, level, maglevel)

    min = -level/5 - maglevel*1.4-10

    max = -level/5 - maglevel*2.1-20

     

    return min, max

    end

    setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

     

     

    local distanceCombat = createCombatObject()

    setCombatParam(distanceCombat, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)

    setCombatParam(distanceCombat, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYAREA)

    setCombatParam(distanceCombat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENCHANTEDSPEAR)

     

    function onGetFormulaValues(cid, level, maglevel)

    min = -level/5 - maglevel*1.4-10

    max = -level/5 - maglevel*2.1-20

     

    return min, max

    end

    setCombatCallback(distanceCombat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

     

     

    function onCastSpell(cid, var)

    if(variantToNumber(var) ~= 0) then

    return doCombat(cid, distanceCombat, var)

    end

    return doCombat(cid, combat, var)

    end

     

    Feito isso va em data/spells e abra o arquivo spells.xml, ache a categoria "Attack Spells" e cole isto la:

     

    <instant name="Mega Energy Strike" words="exori gran vis" lvl="12" mana="20" prem="1" casterTargetOrDirection="1" blockwalls="1" exhaustion="1000" needlearn="0" script="super energy.lua">

    <vocation name="Sorcerer" />

    <vocation name="Druid" />

    <vocation name="Master Sorcerer" />

    <vocation name="Elder Druid" />

    <vocation name="Slayer Sorcerer" />

    <vocation name="Slayer Druid" />

    </instant>

     

    Entao é isso aew, qualquer erro da um toque, mas acho q n vai da nenhum erro pq eu testei.Espero ter ajudado.

  13. Uppp.Ele escolhe qual ele quer usar e se vc n quiser ter trabalho em um ot, pare de fazer pq ot n é para preguisosos. Alem do mais, como quem teve o trabalho de faze o script fui eu, entao pra ele fica mais facil apenas botar um UID no piso.Aff, agr q eu terminei de le oq vc mando percebi, cara ta muito mais dificel o teu script q o mew.Problema resolvido? Por favor reporte o topico como duvida sanada.

  14. Bom cara, vamos la:

     

    Va no seu map editor e bote o UID 15999 no chao onde vai fica o teleport(bote o UID no chao, nao no teleport), apos isso bote um teleport em cima, mas n bote posiçao nem nda no teleport, apenas bote o teleport em cima.Depois va na pasta data/movements/scripts do seu ot, crie um arquivo lua, nomeie para poitp e cole isto nele:

     

    function onStepIn(cid, item, pos)

    new = {x=160, y=54, z=7}

     

    if item.uid == 15999 then

    doTeleportThing(cid, new)

    doPlayerSendTextMessage(cid, 22, "Voce foi teleportado para POI")

    end

    end

     

    Feito isso, va na pasta data/movements do seu ot, abra o arquivo movements.xml, ache a categoria "Telec" e cole isto la:

     

    <movevent event="StepIn" uniqueid="15999" script="poitp.lua" />

     

    Bom, é so isso, se o UID 15999 ja estiver ocupado, apenas troque no script a parte "if item.uid == 15999", troque a parte "uniqueid="15999" no movements.xml e por fim troque o UID no chao do mapa.So troque de UID se o UID 15999 ja estiver sendo usado, se o UID 15999 n estiver sendo usado, n troque, a menos q vc queira, é claro.Espero ter ajudado.

  15. Bom cara, n entendi esse teu "sentar", mas creio que seja ficar em cima da cadeira.Entao vamos ao script:

     

    Va no seu map editor e bote um UID na cadeira, por exemplo 15999.Se o seu mapa for yourots e nao estiver editado, o UID 15999 ainda nao vai ter sido usado.Entao apos ter botado o UID na cadeira, va em data/movements/scripts, crie um arquivo lua, nomeie para godchar e cole isto nele:

     

    function onStepIn(cid, item, pos)

    pos = getCreaturePosition(cid)

    new = {x=!!!, y=!!!, z=!}

     

    if item.uid == 15999 then

    if getPlayerAccess(cid) >= 3 then

    doPlayerSendTextMessage(cid, 22, "Voce pode sentar na cadeira")

    elseif getPlayerAccess(cid) <= 2 then

    doTeleportThing(cid, new)

    doPlayerSendCancel(cid, "Desculpe, mas voce nao pode sentar nesta cadeira")

    end

    end

    end

     

    No lugar dos pontos de exclamaçao bote a posiçao q tem antes da cadeira.Por exemplo, se a cadeira estiver na posiçao: x=160, y=54, z=7, entao bote no lugar dos pontos a posiçao: x=160, y=55, z=7.Isso fara com que quem estiver indo sentar na cadeira e n for um god, cm, ou gm, volte a posiçao onde estava antes de tentar sentar na cadeira.Se a cadeita estiver de lado e a posiçao for por exemplo: x=160, y=54, z=7, entao bote no lugar dos pontos a posiçao: x=161, y=54, z=7.Tem varios lugares onde a cadeira pode estar, por exemplo, ela pode estar de lado, de frente ou de costas, mas como eu ja te dei dois exemplos, eu espero que voce tenha entendido.Se n tiver entendido e a cadeira tiver em uma posiçao que eu n dei o exemplo, entao me fle como a cadeira vai estar que eu mudo pra vc.

     

    Feito isso, va em data/movements e abra o arquivo movements.xml.Entao ache a categoria "Telec" e cole isto:

     

    <movevent event="StepIn" uniqueid="15999" script="godchar.lua" />

     

    Bom, o script é esse e se o UID 15999 ja estiver sendo usado, apenas troque no script a parte "if item.uid == 15999 e troque no movements.xml, ao inves de "uniqueid="15999" bote o UID desejado.E bote outro UID na char no mapa tb né.Entao acho q é so isso, eu testei o script, mas qualquer erro so me fla que eu ajeito.Espero ter ajudado.

  16. Ta, demoro mas consegui o script da bolt.

     

    Abra a pasta data/weapons/scripts do seu ot, crie um arquivo lua, nomeie para paralyze bolt e cole isto:

     

    local combat = createCombatObject()

    setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

    setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1)

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

    setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_INFERNALBOLT)

     

    local condition = createConditionObject(CONDITION_PARALYZE)

    setConditionParam(condition, CONDITION_PARAM_TICKS, 20000)

    --setConditionParam(condition, CONDITION_PARAM_SPEED, -250)

    setConditionFormula(condition, -0.9, 0, -0.9, 0)

    setCombatCondition(combat, condition)

     

    local condition = createConditionObject(CONDITION_FIRE)

    setConditionParam(condition, CONDITION_PARAM_DELAYED, 1)

    addDamageCondition(condition, 5, 3000, -25)

    addDamageCondition(condition, 1, 5000, -666)

    setCombatCondition(combat, condition)

     

    function onUseWeapon(cid, var)

    return doCombat(cid, combat, var)

    end

     

    Olha cara, eu nao consegui faze por holy, eu fiquei um tempao pesquisando e n achei nenhum script em que o player fique perdendo vida por holy a cada segundo.Pelo tempo que eu fiquei pesquisando e pelo fato de eu n ter achado nda, eu acho q n tem como o cara fica perdendo holy, ate porque agr n me vem em mente nenhum monstro que use um ataque em que o player fique perdendo vida por holy a cada segundo.Se vc lembra de um monstro me avisa que eu mudo.Como eu n consegui faze por holy, fiz por fire.Agr vamos continuar:

     

    Feito isso, va na pasta data/weapons e abra o arquivos weapons.xml, ache "Ammunition" e cole isto la:

     

    <distance id="ID DA BOLT" level="70" script="paralyze bolt.lua"/>

     

    Bom, eu botei a imagem de uma infernal bolt saindo na hora do atake, entao se nao for infernal bolt a muniçao que voce quer que seja assim, entao me fle que eu troco.Espero ter ajudado.

  17. Cara seção errada, voce deve postar pedidos no forum pedidos de scripts.Mas acho que o script q vc esta procurando é esse:

     

    Crie um arquivo lua na pasta data/spells/scripts do seu ot, nomeie para summon e cole isto:

     

    function onCastSpell(cid, var, pos)

    pos = getCreaturePosition(cid)

     

    local creature = doSummonCreature('skeleton', pos)

    doConvinceCreature(cid, creature)

    end

     

    Agora va na pasta data/spells e abra o arquivo spells.xml, ache "Summon Spells" e cole isto:

     

    <instant name="Master Summon Creature" words="utevo gran res" lvl="25" mana="30" prem="0" exhaustion="2000" needlearn="0" script="summon.lua">

    <vocation name="Sorcerer"/>

    <vocation name="Druid"/>

    <vocation name="Master Sorcerer"/>

    <vocation name="Elder Druid"/>

    <vocation name="Slayer Sorcerer" />

    <vocation name="Slayer Druid" />

    </instant>

     

    Espero ter ajudado e mais atençao na proxima vez.

  • Quem Está Navegando   0 membros estão online

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