Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 11/25/23 em todas áreas

  1. Transformar script em action

    Mateus Robeerto reagiu a Underewar por uma resposta no tópico

    1 ponto
    Me desculpe não vi que o tópico era seu @Doidodepeda aconselho a criar outro topico ja que o seu problema é relacionado a lib, me marca e eu te ajudo la. Exempo de uma action com o sistema de reset -- ItemID para o item que aciona o sistema de resets local resetItemID = 8300 function onUse(player, item, fromPosition, target, toPosition, isHotkey) if item:getId() == resetItemID then local resetSystem = ResetSystem -- Obtém informações do jogador local pid = player:getId() local oldMaxHealth = player:getMaxHealth() local oldMaxMana = player:getMaxMana() local playerLevel = player:getLevel() -- Verifica se o jogador atende ao requisito de voltar ao nível base if playerLevel > resetSystem.back_to_level then player:addExperience(getExperienceForLevel(resetSystem.back_to_level) - player:getExperience()) playerLevel = resetSystem.back_to_level end -- Remove os bônus existentes antes de aplicar novos resetSystem:removeBonuses(pid) -- Adiciona um reset ao contador do jogador resetSystem:addCount(pid) -- Adiciona os novos bônus resetSystem:addBonuses(pid) -- Restaura a saúde e mana do jogador player:setMaxHealth(oldMaxHealth) player:setMaxMana(oldMaxMana) player:addHealth(oldMaxHealth) player:addMana(oldMaxMana) -- Exibe uma mensagem informativa ao jogador local bonus = resetSystem:getInfo(pid) if bonus then local message = "[RESET-SYSTEM]\nVocê efetuou seu " .. resetSystem:getCount(pid) .. "° RESET." if bonus.damage_percent then message = message .. "\nAgora você tem +" .. bonus.damage_percent .. "% de dano." end player:sendTextMessage(MESSAGE_EVENT_ADVANCE, message) player:remove() end end end @deza
  2. Magia - League of Legends Gangplank

    Claudio Marcio reagiu a Reds por uma resposta no tópico

    1 ponto
    Opa, eu tenho um código de quando eu comecei a programar que faz isso, é pra tfs 0.4. local config = { cooldown = 22, -- tempo em segundos de cooldown entre um uso da spell e outro. } local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA) function skiaiho(cid, level, maglevel) skill = getPlayerSkill(cid,4) local min = -(level * 2+ maglevel * 10 +20) local max = -(level * 3+ maglevel * 15 +150) return min, max end setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "skiaiho") local area = createCombatArea(AREA_CIRCLE3X3) setCombatArea(combat, area) function onCastSpell(cid, var) if getPlayerStorageValue(cid, 12224) - os.time() <= 0 then setPlayerStorageValue(cid, 12224, os.time() + config.cooldown) function endEffect(position) local item = getTileItemById(position, 8572) if item.uid > 0 then doCombat(cid, combat, var) doRemoveItem(item.uid) end return true end local function onCastSpell3(position) doSendAnimatedText(position,"1",192) end local function onCastSpell2(position) doSendAnimatedText(position,"2",192) addEvent(onCastSpell3, 1000, position) end local function onCastSpell1(position) doSendAnimatedText(position,"3",192) addEvent(onCastSpell2, 1000, position) end local position = getCreaturePosition(cid) local orb = doCreateItem(8572, 1, position) addEvent(endEffect, 3500, position) addEvent(onCastSpell1, 500, position) doSendMagicEffect(position, 4) else doPlayerSendCancel(cid, "Cooldown for Mushroom is " ..getPlayerStorageValue(cid, 12224) - os.time().." seconds") return false end return true end se não souber como adaptar me avisa que eu refaço ele para a sua versão (pq olhando hj, anos depois ele tá meio tosco, porém funcional).
  3. Up vocation

    Doidodepeda reagiu a Vodkart por uma resposta no tópico

    1 ponto
    lembrando que ao invés de criar uma tabela e ir adicionando voc por voc, poderia usar somente em uma linha esssa função: doPlayerSetVocation(cid, isSorcerer(cid) and 17 or isDruid(cid) and 18 or isPaladin(cid) and 19 or 20) porém o importante é dar certo, reputado.
  4. Chain Lightning

    Claudio Marcio reagiu a xWhiteWolf por uma resposta no tópico

    1 ponto
    Hoje vim trazer à pedidos uma spell do League of Legends que é a chain Lightning do personagem Ryze: Aqui tem um vídeo explicativo: Teoricamente está idêntico porém não tive a chance de testar então vou postar aqui e esperar que vocês me falem sobre os erros que podem dar (apesar de eu achar que não vai dar nenhum) Crie um arquivo em data\spells\scripts chamado chainlight.lua e coloque isso dentro dele: E agora no spells.xml: <instant name="TK" words="chainlight" lvl="8" manapercent="8" maglv="15" prem="0" exhaustion="1500" range="4" needtarget="1" needlearn="0" event="script" value="especiais/chainlight.lua"> </instant> Qualquer duvida postem aí, e se gostou da spell é só clicar em "gostei". Vou dormir agora que faz umas 20 horas to acordado scriptando pro tk auheuha flw pra vcs EDIT: Troquei o arquivo, a outra versão estava bugada então refiz do 0 e agora está funcionando. EDIT2: Se você usa a New Lib ela já possui uma função pra essa spell então apenas use esse arquivo aqui:
  5. Volatile Spiderling

    Claudio Marcio reagiu a xWhiteWolf por uma resposta no tópico

    1 ponto
    Fala galera do TK, hoje eu venho mais uma vez trazer uma das magias mais incríveis que eu já vi até hoje (sério). A magia original foi feita em outro fórum mas para a versão 10.1... como eu vi que ninguém conseguiu adaptar pra versões inferiores eu decidi criar a minha própria volatile spiderling. Confesso que no começo eu tive muita dificuldade em achar as funções certas mas depois de tentar ajudar o membro @234567890z no suporte eu tive uma epifania. Sem mais delongas eu vou explicar oque o script faz e em seguida ensinar a colocá-lo no seu server. • Explicação: A magia foi feita baseada na personagem Elise do jogo League of Legends: você faz uma cria que anda até os oponentes e se explodem causando dano em area e deixando eles envenenados. Aqui tem um gif da magia funcionando obs: note que esse gif não fui eu que fiz mas ele demonstra exatamente como a magia funciona. • Instalação: Pra instalá-lo no seu servidor vai ser um pouco complicado pois ele requer diversas modificações... antes de mais nada, coloque essas linhas no seu spells.xml: <instant name="Volatile Spiderling" words="utevo res tera" lvl="40" mana="20" prem="1" selftarget="1" exhaustion="2000" groups="1,2000" icon="88" needlearn="0" event="script" value="especiais/spiderling.lua"> <vocation id="3"/> <vocation id="7"/> </instant> <instant name="poison explosion" words="poison explosion" lvl="0" mana="0" prem="0" aggressive="1" exhaustion="3000" needlearn="1" event="script" value="especiais/newspider.lua"> </instant> Agora você vai ter que criar os dois arquivos na pasta spells\scripts\especiais. Em newspider.lua coloque o seguinte: agora em spiderling.lua coloque o seguinte: Agora feito isso vc vai precisar criar o monstro que usará essa spell.. vá em monster\monsters.xml e adicione a seguinte linha: <monster name="Clone Spider" file="arachnids/newspider.xml"/> agora crie o arquivo data\monsters\arachnids\newspider.xml e adicione o seguinte nele: local poisonpowder = createConditionObject(CONDITION_POISON) setConditionParam(poisonpowder, CONDITION_PARAM_DELAYED, 1) local damageTable = { {4, -3}, {9, -2}, {20, -1} } for i = 1, #damageTable do local t = damageTable[i] addDamageCondition(poisonpowder, t[1], 4000, t[2]) end local arr = { {0, 1, 0}, {1, 3, 1}, {0, 1, 0} } local area = createCombatArea(arr) function onPrepareDeath(cid, deathList) if isMonster(cid) and getCreatureName(cid):lower() == 'clone spider' then doAreaCombatHealth(cid, 1, getThingPos(cid), area, -1, -30, 20) doAreaCombatCondition(cid, getThingPos(cid), area, poisonpowder, 255) doSendMagicEffect(getThingPos(cid), 16) end return true end Agora eu vou ensinar vocês a editarem... não tem muito oque mudar, apenas se vc quiser alterar os danos da spell vá em newspider.lua e será possível editar os danos do poison e da explosão: local damageTable = { {4, -3}, {9, -2}, {20, -1} } aqui você muda quantos danos serão e quanto cada um tirará.. no caso serão 4 hits de -3, depois 9 hits de -2 e por fim 20 hits de -1 até o poison parar. Lembrando que esses danos saem de 4 em 4 segundos. Se você quiser que eles sejam mais rápidos é só editar aqui: addDamageCondition(poisonpowder, t[1], 4000, t[2]) (4000 significa 4 segundos). Feito isso será possível editar também a area e o dano da explosão respectivamente em: Area: Dano: doAreaCombatHealth(cid, 1, getThingPos(cid), area, -1, -30, 20) Em vermelho temos o dano mínimo, analogamente, em azul, temos o dano máximo. Em verde é possível editar o efeito da explosão Só lembrando que as edições que forem feitas no newspider.lua devem ser feitas no spider.lua para que a magia tenha graça.. se não o dano da explosão/poison ao explodir será diferente caso ela morrer antes. Em spiderling.lua vc pode editar a quantidade máxima de crias que um player pode ter... o normal está setado para 2 mas vc pode sentir-se livre pra colocar quantas queira. local maxsummon = 2 (Só lembre-se que ao explodir uma aranha pode acertar outra então não é muito bom deixar um numero maior que 3); Se você for daqueles bem chatinhos com a magia você ainda pode editar algumas coisas importantes tais como: O efeito que sai quando ela explode por morte ou pela spell: doSendMagicEffect(getThingPos(cid), 16) O tempo em que ela executa a spell, a chance da spell sair naquele tempo e quantos sqm de distancia a criatura alvo deve estar pra aranha se explodir: <attack name="poison explosion" interval="1000" range="1" chance="50"/> interval = de quantos em quantos segundos ela executa a spell range = distancia em sqm que o alvo deve estar pra que ela execute a spell chance = chance de executar a spell a cada interval (nesse caso a cada 1 segundo tem 50% de chance dela soltar a magia) Você ainda pode editar aqui em vermelho: o tempo que leva pra criatura executar a magia.. Por padrão eu deixei 2 segundos, ou seja... eu sumono a aranha, ela vai até o alvo e a cada segundo q ela passa grudada no alvo (1 sqm de distancia) ela tem 50% de chance de ativar a spell e ficar parada no lugar durante 2 segundos até explodir. Se você quiser que ela leve menos tempo pra explodir é só baixar o 2000 (em milisegundos).. Se você quiser aumentar o dano e deixar ela parada por mais tempo até explodir pode editar a vontade aumentando os 2000. • Bom, isso é tudo que dava pra eu explicar... é óbvio que dá pra editar muito mais coisa mas se você não é scripter e não tem muita idéia de como editar eu dei uma ensinada básica doque você está autorizado a mexer. Espero que vocês curtam a spell e deem aquele REP+ pra fortalecer kkkk Eu não pretendia liberar essa spell visto que ela é extremamente complexa e nenhum servidor tem ela, mas, acho que seria muito babaca da minha parte ficar guardando um script tão bonito hahaha. Qualquer erro ou dúvida postem nos comentários que eu tento ajudar. ah, mais uma coisa: Os créditos são 90% meus visto que eu fiz praticamente tudo.. 9% é pro cara que fez a magia original (se vcs derem uma procurada vcs vão ver que não tem quase nada a ver com a minha mas os créditos dele são por ele ter me dado a idéia) e 1% pro cara no suporte que me pediu ajuda numa spell do mesmo gênero e me fez correr atrás de uma forma de fazer essa magia pra versões inferiores a TFS 1.0
  6. Salvar mapa in-game!

    Trunksontibia reagiu a Reeke por uma resposta no tópico

    1 ponto
    Is there something like this for TFS 1.2?
Líderes está configurado para São Paulo/GMT-03:00

Informação Importante

Confirmação de Termo