Ir para conteúdo

Skyforever

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Obrigado
    Skyforever recebeu reputação de Rogex Joyz em Script de mensagem ao logar   
    Vá em data/creaturescripts/scripts/login.lua antes do último return true só adicionar isso.




    if getPlayerStorageValue(cid, 39722) < 1 then doPlayerPopupFYI(cid, "Seja Bem vindo ao xxx\n\nAqui vou postar algumas dicas para você iniciante.\n1- Se for sua primeira vez em nosso server você acaba de adquirir 3 dias Vips, relogue para atualizar.\n2- Nossa ViP consiste em dar a você 50% de experiência a mais.\n3- Ate o level 50 você não perde nada ao morrer!\n4- Não treine antes do level 20, sua promotion faz você atacar mais rapido.\n\nLista de principais comandos do server.\n!spells, !rank, !uptime, !vipdays, !aol, !bless confira todos em nosso server ou digite /commands\n\nNão gosto de alguma coisa?...Entre no nosso site e poste no fórum, sua opinião é muito importante para nós!\n\nBom Jogo a Todos!") setPlayerStorageValue(cid, 39722, 1) end
  2. Curtir
    Skyforever recebeu reputação de Deathstroke em [Resolvido] [Pedido] Piso com tempo   
    Tapora erro meu euheuheehehhu



    local events ={} local tempo = 30 -- tempo em segundos local pos = {x = 1, y = 1, z = 1} function onStepIn(cid, item, pos) doPlayerSendTextMessage(cid, 27, "Contagem iniciada, daqui " .. tempo .. " segundos você será teleportado") events[getPlayerGUID(cid)] = addEvent(doTeleportThing, pos, tempo * 1000, cid) return true end function onStepOut(cid, item, pos) doPlayerSendTextMessage(cid, 28, "Contagem zerada.") stopEvent(events[getPlayerGUID(cid)]) events[getPlayerGUID(cid)] = nil return true end
  3. Gostei
    Skyforever recebeu reputação de vedovi em Mana Rune Per Level   
    Tipo: Action.
    Testado: Não.

    @Oque Faz?.
    Bom ela faz oque não tá feito.

    @Instalando.
    Primeiro vá em / data / actions/ scripts


    nome_do_script.lua:

    function onUse(cid, item, itemEx) local exhausted = 30 -- em segundos local T = { [{10, 50}] = {min = 50, max = 200}, [{51, 70}] = {min = 200, max = 400}, [{71, 90}] = {min = 400, max = 500}, [{91, math.huge}] = {min = 500, max = 1000} } if getPlayerStorageValue(cid, 281389) - os.time() > 0 then return doPlayerSendTextMessage(cid, 26, "You are exhausted.") end for k, v in pairs(T) do if isPlayer(itemEx.uid) then if getPlayerLevel(itemEx.uid) >= k[1] and getPlayerLevel(itemEx.uid) <= k[2] then doPlayerAddMana(itemEx.uid, math.random(v.min, v.max)) doSendMagicEffect(getThingPos(itemEx.uid), 28) doSendMagicEffect(getThingPos(cid), 30) setPlayerStorageValue(cid, 281389, os.time()+exhausted) end end end return true end actions.xml <action itemid="id" event="script" value="nome_do_script"/>

    @Editando.

    local T = {
    [{10, 50}] = {min = 50, max = 200}
    [{51, 70}] = {min = 200, max = 400}
    [{71, 90}] = {min = 400, max = 500}
    [{91, math.huge}] = {min = 500, max = 1000}

    Em [{10, 50} é os leveis de 10 a 50 irá healar

    {min = 50, max = 200}

    para mudar os efeitos

    doSendMagicEffect(getThingPos(itemEx.uid), 28)
    doSendMagicEffect(getThingPos(cid), 30)

    mude os números nessas linhas

    para dar life você substitui essa linha:

    doPlayerAddMana(itemEx.uid, math.random(v.min, v.max)

    por essa:

    doCreatureAddHealth(itemEx.uid, math.random(v.min, v.max)


    pronto Runa por level instalada e funcionando.


    Créditos:
    No momento tô ligando a cobrar se alguém colocar 10 real pra min fico grato passo número por MP.
  4. Gostei
    Skyforever recebeu reputação de samuelandrade45 em Como usar a funçao doRemoveItem ?   
    A função doRemoveItem(uid,n) se resume a



    uid = item

    n = pos

    então se for um item especifico você usa assim

    getTileItemById(pos, itemId)

    exêmplo:

    local item = getTileItemById({x = 1, y = 2, z = 3}, 2160)
    if item.uid > 0 then
    return doRemoveItem(item.uid, 1)
    end


    agora tem outra função

    getThingFromPos(pos)

    que pode usar assim

    doRemoveItem(getThingFromPos(pos).uid, 1).
  5. Obrigado
    Skyforever recebeu reputação de Dantie.Dameto em [Wand] Muda de efeito   
    Olá, galerinha do tibia king vi esse sistema em 1 site e eles estavam vendendo por 9,90 então resolvi fazer e postar de graça

    primeiramente va em

    data/talkactions/scripts crie um arquivo chamando wand.lua e coloque isso dentro


    <talkaction words="!wand" event="script" value="wand.lua"/> agora em data/weapons/scripts crie um arquivo e renomeie para wand1.lua e adicione isso dentro: <wand id="xxx" level="50" mana="13" min="0" max="0" type="earth" event="script" value="wand1.lua"> <!-- wand of effects --> <vocation id="1"/> <vocation id="2"/> <vocation id="5"/> <vocation id="6"/> em items.xml <item id="xxx" article="the" name="nome da sua wand"> <attribute key="description" value="Você pode mudar o elemento da wand digitando !wand elemento desejado." /> <attribute key="weight" value="2300" /> <attribute key="weaponType" value="wand" /> <attribute key="shootType" value="holy" /> <attribute key="range" value="8" /> em data/creaturescripts/scripts login.lua antes do ultimo return true adicione essa linha: if getPlayerStorageValue(cid, 12036) == -1 then setPlayerStorageValue(cid, 12036, 1) end

    PS : Testado, e funcionando
    PS2 : Podem postar em outros fórums se colocarem créditos
    PS3 : Tem que ser o mesmo id em items.xml talkactions.xml e weapons.xml
  6. Obrigado
    Skyforever recebeu reputação de drigobo em (resolvido) como retirar um monstro doRemoveCreature   
    for _, pid in ipairs(getCreatureSummons(cid)) do doRemoveCreature(pid) end
  7. Gostei
    Skyforever recebeu reputação de Mathias Kenfi em Celestial Energy and No Name   
    Tipo: Spell.
    Testado: Sim, TFS(0.3.6) 8.6.

    @Celestial Energy
    Dei esse nome a ele porquê deu vontade.

    Vá em data/spells/scripts/attack crie um arquivo da extensão .lua e adicione esse conteúdo nele:



    </instant> <instant name="Energy of Sky" words="Celestial Energy" lvl="935000" mana="1200000" prem="1" exhaustion="2000" selftarget="1" needlearn="0" event="script" value="attack/Celestial Energy.lua"> <vocation id="5"/> <vocation id="6"/> image: PREGUIÇA OWNSS!. @No Name Tava sem ideia pra nome. Vá em data/spells/scripts/attack crie um arquivo da extensão .lua e adicione esse conteúdo nele: </instant> <instant name="No Name" words="No Name" lvl="1135000" mana="9200000" prem="1" exhaustion="2000" selftarget="1" needlearn="0" event="script" value="attack/No Name.lua"> <vocation id="5"/> <vocation id="6"/>

    image: PREGUIÇA OWNS!;

    PS: OS ARQUIVOS NA SPELL DEVER TEM O MESMO NOME DELA.
  8. Gostei
    Skyforever recebeu reputação de PedroSTT em addEvent(sem bugs)   
    Tipo: Tutorial.
    Autor: Skymagnum(Skyforever).
    Encina: Como usar corretamente o addEvent sem bugs e erros no console.



    Creio que todos vocês conheçam a função addEvent senão vou explicar, ela funciona da seguinte maneira

    addEvent(function, seconds, ...).



    Bom se você usar a função doSendMagicEffect(position, effect) ela vai soltar o efeito na hora correto?


    com addEvent você pode fazer o efeito soltar depois se usar corretamente

    exêmplo de uso incorreto:




    addEvent(doSendMagicEffect, getThingPos(cid), 5 * 1000, 35) agora veremos do jeito certo: addEvent(doSendMagicEffect, 5 * 1000, getThingPos(cid), 35) . O addEvent se baseia em addEvent(função, tempo, aqui você segue os parâmetros da função normalmente como se fosse sem o addEvent). Como vocês já sabem se o addEvent envolver cid e a pessoa logar/morrer pode dar vários erros no console mais acalme-se para isso há uma solução você somente deve criar uma função e nela colocar: if isCreature(cid) then Exêmplo de um script que irá dar erro se a pessoa logar/morrer. function onSay(cid, words, param) local pos = {x = 1, y = 2, z = 3} if getPlayerStorageValue(cid, 12345) > 0 then addEvent(doTeleportThing, 10 * 1000, cid, pos) setPlayerStorageValue(cid, 12345, 0) end return true end . Se a pessoa logar/morrer nesse período estipulado no addEvent irá dar erro no console de creature not found. Agora um jeito de arrumar seria criando uma função e colocando if isCreature(cid) then nela ficando assim: function doTeleportThing2(cid, toPos, time) if isCreature(cid) then addEvent(doTeleportThing, time * 1000, cid, toPos) end return true end function onSay(cid, words, param) local pos = {x = 1, y = 2, z = 3} if getPlayerStorageValue(cid, 12345) > 0 then doTeleportThing2(cid, pos, 10) setPlayerStorageValue(cid, 12345, 0) end return true end



    Bom é meu primeiro tutorial então espero que gostem.
  9. Gostei
    Skyforever recebeu reputação de Vodkart em Ajuda script   
    O erro se encontra nessa linha aqui     local damageMap = creature:getDamageMap(), você esta chamando a variável creature, sendo que ela não foi declarada, mude para isso.
     
        local damageMap = cid:getDamageMap()
     
    que o erro vai sumir
  10. Gostei
    Skyforever recebeu reputação de Tchukixx em Ajuda script   
    O erro se encontra nessa linha aqui     local damageMap = creature:getDamageMap(), você esta chamando a variável creature, sendo que ela não foi declarada, mude para isso.
     
        local damageMap = cid:getDamageMap()
     
    que o erro vai sumir
  11. Gostei
    Skyforever recebeu reputação de Hyakkimmaru em Ajuda com 2 spells parecidas   
    function onTargetTile(cid, position)     position.stackpos = 255     local corpse = getThingFromPos(position)     if(corpse.uid == 0 or not isCorpse(corpse.uid) or not isMoveable(corpse.uid) or getCreatureSkullType(cid) == SKULL_BLACK) then         return false     end     if #getCreatureSummons(cid) < 2 then         doRemoveItem(corpse.uid)         doConvinceCreature(cid, doCreateMonster("Outcast", position, false))         doSendMagicEffect(position, CONST_ME_MAGIC_BLUE)     else         doPlayerSendCancel(cid, "Sorry, not possible.")     end     return true end local area, combat = createCombatArea(AREA_CIRCLE3X3), createCombatObject() setCombatArea(combat, area) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile") function onCastSpell(cid, var)     return doCombat(cid, combat, var) end
  12. Gostei
    Skyforever recebeu reputação de Magalhaes92 em Script de mensagem ao logar   
    Vá em data/creaturescripts/scripts/login.lua antes do último return true só adicionar isso.




    if getPlayerStorageValue(cid, 39722) < 1 then doPlayerPopupFYI(cid, "Seja Bem vindo ao xxx\n\nAqui vou postar algumas dicas para você iniciante.\n1- Se for sua primeira vez em nosso server você acaba de adquirir 3 dias Vips, relogue para atualizar.\n2- Nossa ViP consiste em dar a você 50% de experiência a mais.\n3- Ate o level 50 você não perde nada ao morrer!\n4- Não treine antes do level 20, sua promotion faz você atacar mais rapido.\n\nLista de principais comandos do server.\n!spells, !rank, !uptime, !vipdays, !aol, !bless confira todos em nosso server ou digite /commands\n\nNão gosto de alguma coisa?...Entre no nosso site e poste no fórum, sua opinião é muito importante para nós!\n\nBom Jogo a Todos!") setPlayerStorageValue(cid, 39722, 1) end
  13. Gostei
    Skyforever recebeu reputação de Sanieg em doEmpurrePlayer(cid, player, vez, ultimapos)   
    TIPO: Função
    Versão: 1.0.
    Testado: Sim, tfs 0.3.6(OITO.SESSENTA[8.6]).



    @Oque Faz?.
    >função que empurra jogadores(ou monstros) ela empurra em um determinado interval.

    @Instalando
    Primeiramente vá em pasta do seu servidor depois entre na pasta data e em seguida lib agora entre no arquivo 050 - function e adicione o seguinte conteúdo lá:



    if vez == 10 then return true end ali em 10 e quantas vezes vai empurrar então você coloca mais ou menos. O efeito é nessa linha doSendMagicEffect(getThingPos(player), 34) é só mudar o 34 para outro efeito desejado. Lembrando que se você alterar quantas vezes irá empurrar você deve alterar aqui também: tab = {100, 150, 200, 350, 400, 550, 600, 750, 900, 1000} ali e o interval entre os empurrões do 1 pro segundo é 100 e assim por diante se você diminuir deve tirar ali, se quiser aumentar só adicionar. @Exêmplo!. Um exêmplo de como usar: local pos = getPosByDir(getCreaturePosition(cid), getCreatureLookDirection(cid), 1) pos.stackpos = 253 if (isPlayer(getThingFromPos(pos).uid)) then player = getThingFromPos(pos).uid addEvent(doEmpurrePlayer, 1, cid, player, 1, getCreaturePosition(cid)) end

    é isso esperem que gostem.

    CRÉDITOS
    Eu
    Xotservx.
  14. Gostei
    Skyforever recebeu reputação de Gabriel Ribeiro em Anti Push   
    Eae denovo glr vim trazer um script que é bom para eventos eu acho o adm fla

    !antipush ai ninguem pode puxar ngm

    /data/talkactions/scripts
    nome.lua

    function onSay(cid, words, param) if getGlobalStorageValue(3213) > 0 then setGlobalStorageValue(3213, 0) doPlayerSendTextMessage(cid, "You desativo the anti-push.") else setGlobalStorageValue(3213, 1) doPlayerSendTextMessage(cid, 27, "You ativo the anti-push.") end return true end talkactions.xml <talkaction log="yes" access="5" words="!antipush" event="script" value="nome.lua"/> /data/creaturescripts/scripts nome.lua function onPush(cid, target) if getGlobalStorageValue(3213) > 0 then return false and doPlayerSendTextMessage(cid, 28, "You can't empurar players if anti-push está actived.") end end creaturescripts.xml <event type="push" name="antiPush" script="nome.lua"/> login.lua registerCreatureEvent(cid, "antiPush")

    nem sei se tá certo porque nunca usei onPush então a tag pode estar errada flws.
  15. Gostei
    Skyforever recebeu reputação de gcmcorrea em [AJUDA] Machete não corta GRAV   
    Try This



    <action itemid="id_da_machete" event="script" value="nome_do_script.lua"/>
  16. Gostei
    Skyforever recebeu reputação de Axion Nitron em [Resolvido][Pedido] Script de tiles q sumona monstro   
    Pasta do seu servidor agora vá em data depois entre em movements agora entre na pasta scripts
    duplique um arquivo com a extensão .lua e adicione o seguinte conteúdo nele:


    function onStepIn(cid, item, fromPosition, toPosition) local monsters = {{"Demon", {x = 1094 , y = 1069, z = 7}}, {"Morgaroth", {x = 1095 ,y = 1070, z = 7}}} if not isPlayer(cid) then return true end for i = 1, #monsters do doCreateMonster(monsters[i][1], monsters[i][2]) doSendMagicEffect(monsters[i][2], 10) end doCreatureSay(cid, "Kill the monsters.") doSendMagicEffect(getThingPos(cid), math.random(28, 30)) return true end aí você só edita os (efeitos, pos, monstros e a fala) movements.xml: <movevent type="StepIn" actionid="AID_DO_TILE" event="script" value="nome_do_arquivo.lua"/>
  17. Gostei
    Skyforever recebeu reputação de Axion Nitron em Script de mensagem ao logar   
    Vá em data/creaturescripts/scripts/login.lua antes do último return true só adicionar isso.




    if getPlayerStorageValue(cid, 39722) < 1 then doPlayerPopupFYI(cid, "Seja Bem vindo ao xxx\n\nAqui vou postar algumas dicas para você iniciante.\n1- Se for sua primeira vez em nosso server você acaba de adquirir 3 dias Vips, relogue para atualizar.\n2- Nossa ViP consiste em dar a você 50% de experiência a mais.\n3- Ate o level 50 você não perde nada ao morrer!\n4- Não treine antes do level 20, sua promotion faz você atacar mais rapido.\n\nLista de principais comandos do server.\n!spells, !rank, !uptime, !vipdays, !aol, !bless confira todos em nosso server ou digite /commands\n\nNão gosto de alguma coisa?...Entre no nosso site e poste no fórum, sua opinião é muito importante para nós!\n\nBom Jogo a Todos!") setPlayerStorageValue(cid, 39722, 1) end
  18. Gostei
    Skyforever recebeu reputação de brendoonh em [CreatureScripts] Hit Message   
    Créditos

    Skyforever e Vodkart

    Como funciona?

    É um script que manda uma mensagem animada dependendo do hit do player

    Script

    Primeiramente vá em /data/creaturescripts/scripts login.lua adicione essa linha la
    registerCreatureEvent(cid, "Hitmsg") em creaturescripts.xml adicione essas 2 linhas: <event type="statschange" name="HitMessage" event="script" value="hitmsg.lua"/> <event type="combat" name="Hitmsg" event="script" value="hitmsg.lua"/>

    depois na mesma pasta crie um arquivo chamado hitmsg e adicione isso dentro:



    Versão com chance:



    Versão com recompensa






    Explicando o versão com recompensa:




    Explicando outras versões:



    Imagen:



    se gostaram REP+
  19. Gostei
    Skyforever recebeu reputação de Cricket em [Talkaction] Telportar Todos Para O Templo!   
    Pra teleportar os offline só colocar isso:

    UPDATE `players` SET `posx` = " .. temple.x .. ", `posy` = " .. temple.y .. ", `posz` = " .. temple.z .. "; aí só mudar a posição do templo nesta linha: local temple = {x = 1584, y = 85, z = 7} .
  20. Gostei
    Skyforever recebeu reputação de RogerQC em OT Piece   
    Nome:João Nickname: Para que isso? Data de nascimento/Ou somente idade: 12 anos Tipo de maker: WTF? Função desejada(s): Scripter Algum trabalho a apresentar?:Na minha assinatura Ja esteve em alguma equipe ou projeto antes?:Sim, Shadow Worlds RPG! Tempo disponivel:Depende( 6 a 10 horas )
  21. Gostei
    Skyforever recebeu reputação de NecromancerNeko em [AJUDA] WAND EDITADA !   
    /data/weapons/ weapons.xml

    <wand id="xxx" level="50" mana="13" min="0" max="0" type="earth" event="script" value="wand1.lua"> <!-- wand of effects --> <vocation id="1"/> <vocation id="2"/> <vocation id="5"/> <vocation id="6"/> /data/weapons/scripts cria 1 arquivo chamado wand1.lua e adiciona isso dentro: function onUseWeapon(cid, var) min, max = 300, 300 -- dano minimo e maximo local sh = 12 -- efeito distance local efe = 12 -- efeito no player local dmg = COMBAT_HOLYDAMAGE target = getCreatureTarget(cid) if target ~= 0 then if isPlayer(target) then doSendDistanceShoot(getThingPos(cid), getThingPos(target), sh) addEvent(doAreaCombatHealth, 100, cid, dmg, getThingPos(target), 0, -min, -max, efe) elseif isMonster(target) then doSendDistanceShoot(getThingPos(cid), getThingPos(target), sh) addEvent(doAreaCombatHealth, 100, cid, dmg, getThingPos(target), 0, -min, -max, efe) end end return true end
  22. Gostei
    Skyforever recebeu reputação de arley885 em Como Excluir Um Mapa e Fazer Um Mapa Proprio   
    Para tirar pz você vai no icone de pz segura ctrl e passa por cima daonde quer tirar pz e assim com no logout e so clicar nos icones segurar ctrl e passa por cima dos item que tem
  23. Gostei
    Skyforever recebeu reputação de diarmaint em [CreatureScripts] Hit Message   
    Créditos

    Skyforever e Vodkart

    Como funciona?

    É um script que manda uma mensagem animada dependendo do hit do player

    Script

    Primeiramente vá em /data/creaturescripts/scripts login.lua adicione essa linha la
    registerCreatureEvent(cid, "Hitmsg") em creaturescripts.xml adicione essas 2 linhas: <event type="statschange" name="HitMessage" event="script" value="hitmsg.lua"/> <event type="combat" name="Hitmsg" event="script" value="hitmsg.lua"/>

    depois na mesma pasta crie um arquivo chamado hitmsg e adicione isso dentro:



    Versão com chance:



    Versão com recompensa






    Explicando o versão com recompensa:




    Explicando outras versões:



    Imagen:



    se gostaram REP+
  24. Gostei
    Skyforever recebeu reputação de Magalhaes92 em [CreatureScripts] Hit Message   
    Atualizado[06/05/2012]
    Adicionado block
    Block

    coloque essa linha encima de local chance:


    troque essa linha:

    por essa:


    Explicando:

    Block serve pra você blockear monstros que você não quer que conte hits exemplo Training Monk!
  25. Gostei
    Skyforever recebeu reputação de OTpokemon ownz em [PEDIDO] Comando que compra vip   
    Lembrando o storage da vip e 13700 entao o storage no script do movements devera ser 13700 tbm

    SE AJUDE REP+

Informação Importante

Confirmação de Termo