Ir para conteúdo
Banner com Efeitos

Storm

Héroi
  • Registro em

  • Última visita

Tudo que Storm postou

  1. @Phineasz Uma gambiarra que posso te sugerir é sempre dar um dia de vip a mais e botar a script para verificar isso. Por exemplo, o player compra 30 dias e ganhar 31, assim quando chegar no ultima dia ( que vai ser o 31), botar a script pra remover a premium e teleportar o player.
  2. @deryckson Tem que adicionar no movements.XML também; <movevent type="DeEquip" itemid="11117" slot="feet" event="function" value="onDeEquipItem"/> <movevent type="Equip" itemid="2646" slot="feet" event="function" value="onEquipItem"/> Isso é só um exemplo, você tem que configurar de acordo com cada item na parte do itemid e do slot corretamente para que funcione. Outra coisa, quando for pedir ajuda em qualquer coisa que envolva códigos, o correto é usar a ferramenta CODE do fórum para colocar os códigos dentro.
  3. Parabéns, seu tópico de conteúdo foi aprovado! Muito obrigado pela sua contribuição, nós do Tibia King agradecemos. Seu conteúdo com certeza ajudará à muitos outros, você recebeu +1 REP.
  4. @Phineasz Faz assim, vai na script que adiciona os dias de VIP e acrescente a linha; local storage = 342555 -- Tem que ser a mesma na script que mandará ao DP quando a vip acabar setPlayerStorageValue(cid, storage, 1) E depois usa essa para mandar o player ao DP quando a vip acabar; local pos = {x = 153, y = 52, z = 7} -- Posição que será teleportado ao acabar a vip local storage = 342555 -- Storage adicionada no item que da premium function onLogin(cid) if getCreatureStorage(cid, storage) == 1 and not isPremium(cid) then doTeleportThing(cid, pos) doSendMagicEffect(getPlayerPosition(cid), 3) setPlayerStorageValue(cid, storage, -1) doPlayerPopupFYI(cid, "Sua Premium Expirou!\nNao Deixe De Visitar Nosso SHOP.") return true end return true end
  5. Aqui no TibiaKing mensagens como UP e BUMP são proibidas, utilize o botão subir este tópico. Esta é uma mensagem automática! Pedimos que leia as regras do fórum! @GaspaR1
  6. Sobre o erro 2, faz o seguinte: Vá em World > Spawn.XML e procura por: spawntime="0"/> e em todos, troque para spawntime="60"/>
  7. Parabéns, seu tópico de conteúdo foi aprovado! Muito obrigado pela sua contribuição, nós do Tibia King agradecemos. Seu conteúdo com certeza ajudará à muitos outros, você recebeu +1 REP.
  8. Storm postou uma resposta no tópico em Mapas de Tibia
    Parabéns, seu tópico de conteúdo foi aprovado! Muito obrigado pela sua contribuição, nós do Tibia King agradecemos. Seu conteúdo com certeza ajudará à muitos outros, você recebeu +1 REP.
  9. @adolfbig local exhaust = 160 -- Segundos de exaust somado ao tempo do buff local outfit = {lookType = 445} -- outfit local tempo = 120 -- tempo em segundos. local effect = {175} -- effect ID local ml = 45 -- quantos ira aumentar o skill de ML local skillfist = 40 -- quantos ira aumentar o skill de Fist local skillsword = 40 -- quantos ira aumentar o skill de Sword local skillaxe = 40 -- quantos ira aumentar o skill de Axe local skillclub = 40 -- quantos ira aumentar o skill de Club local skilldistance = 40 -- q?uantos ira aumentar o skill de Distance local skillshield = 40 -- quantos ira aumentar o skill de Shield local health = 150 -- A cada 1 segundo quantos aumentar de vida local exhaustion_sto = 3214232 local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, ml) setConditionParam(condition, CONDITION_PARAM_SKILL_FIST, skillfist) setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, skillsword) setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, skillaxe) setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, skillclub) setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, skilldistance) setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, skillshield) setConditionParam(condition, CONDITION_PARAM_OUTFIT, outfit) setCombatCondition(combat, condition) local condition = createConditionObject(CONDITION_HASTE) setConditionParam(condition, CONDITION_PARAM_SPEED, 250) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setCombatCondition(combat, condition) local condition = createConditionObject(CONDITION_REGENERATION) setConditionParam(condition, CONDITION_PARAM_SUBID, 1) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, health) setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 1000) setCombatCondition(combat, condition) function RepetirEfeito(uid, eff, tempu, pos) if not isCreature(uid) or tempu == 0 then return end doSendMagicEffect(pos, eff) addEvent(RepetirEfeito, 1000, uid, eff, tempu-1, pos) end function onCastSpell(cid, var) local pos = {x = getCreaturePosition(cid).x +1, y = getCreaturePosition(cid).y -1, z = getCreaturePosition(cid).z} if exhaustion.check(cid, exhaustion_sto) then doPlayerSendCancel(cid, "You are exhausted or transformed, wait ".. exhaustion.get(cid, storage) .." seconds.") else RepetirEfeito(cid, effect, tempo, pos) doCreatureSay(cid, "AAAAAAAA!", TALKTYPE_MONSTER) exhaustion.set(cid, exhaustion_sto, tempo) doSetCreatureOutfit(cid, outfit, tempo*1000) return doCombat(cid, combat, var) end end
  10. Este tópico foi movido para a área correta. Esta é uma mensagem automática! Pedimos que leia as regras do fórum!
  11. @adolfbig Tive além de acrescentar o exhaust, o trabalho de refazer essa gambiarra que você usa como script de buff local exhaust = 160 -- Segundos de exaust somado ao tempo do buff local outfit = {lookType = 445} -- outfit local tempo = 120 -- tempo em segundos. local effect = {175} -- effect ID local ml = 45 -- quantos ira aumentar o skill de ML local skillfist = 40 -- quantos ira aumentar o skill de Fist local skillsword = 40 -- quantos ira aumentar o skill de Sword local skillaxe = 40 -- quantos ira aumentar o skill de Axe local skillclub = 40 -- quantos ira aumentar o skill de Club local skilldistance = 40 -- q?uantos ira aumentar o skill de Distance local skillshield = 40 -- quantos ira aumentar o skill de Shield local health = 150 -- A cada 1 segundo quantos aumentar de vida local exhaustion_sto = 3214232 local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, ml) setConditionParam(condition, CONDITION_PARAM_SKILL_FIST, skillfist) setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, skillsword) setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, skillaxe) setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, skillclub) setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, skilldistance) setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, skillshield) setConditionParam(condition, CONDITION_PARAM_OUTFIT, outfit) setCombatCondition(combat, condition) local condition = createConditionObject(CONDITION_HASTE) setConditionParam(condition, CONDITION_PARAM_SPEED, 250) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setCombatCondition(combat, condition) local condition = createConditionObject(CONDITION_REGENERATION) setConditionParam(condition, CONDITION_PARAM_SUBID, 1) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, health) setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 1000) setCombatCondition(combat, condition) local sys = createConditionObject(CONDITION_OUTFIT) setConditionParam(sys, CONDITION_PARAM_TICKS, tempo) addOutfitCondition(sys, outfit) setCombatCondition(combat, sys) function RepetirEfeito(uid, eff, tempu, pos) if not isCreature(uid) or tempu == 0 then return end doSendMagicEffect(pos, eff) addEvent(RepetirEfeito, 1000, uid, eff, tempu-1, pos) end function onCastSpell(cid, var) local pos = {x = getCreaturePosition(cid).x +1, y = getCreaturePosition(cid).y -1, z = getCreaturePosition(cid).z} if exhaustion.check(cid, exhaustion_sto) then doPlayerSendCancel(cid, "You are exhausted or transformed, wait ".. exhaustion.get(cid, storage) .." seconds.") else RepetirEfeito(cid, effect, tempo, pos) doCreatureSay(cid, "AAAAAAAA!", TALKTYPE_MONSTER) return doCombat(cid, combat, var) end end
  12. Este tópico foi movido para a área correta. Esta é uma mensagem automática! Pedimos que leia as regras do fórum!
  13. Storm postou uma resposta no tópico em Suporte Tibia OTServer
    @Zzyzx <npc name="Reborn" script="data/npc/scripts/reborn.lua" walkinterval="0" floorchange="0" access="5" level="1" maglevel="1"> <health now="100" max="100"/> <look type="153" head="57" body="59" legs="40" feet="76" addons="3"/> <parameters> <parameter key="message_greet" value="Ola |PLAYERNAME|. Eu sou responsavel pelo {reborn}" /> </parameters> </npc> local config = { item = 2150, -- ID do item necessario para rebornar count = 1, -- Count do item a cima life = 100, -- Life ao rebornar mana = 50, -- Mana ao rebornar level = 1, -- Level ao rebornar voc = 15, -- Voc ao rebornar storage = 30023 } local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid if (msgcontains(msg, 'reborn')) then if doPlayerRemoveItem(cid, config.item, config.count) then setCreatureMaxHealth(cid, config.life) setCreatureMaxMana(cid, config.mana) doPlayerSetVocation(cid, config.voc) doCreatureSetStorage(cid, config.storage, -1) doPlayerAddExp(cid, -(getPlayerExperience(cid)-getExperienceForLevel(1))) selfSay('Parabens, voce rebornou', cid) return TRUE else selfSay("Oh! Então traga para mim {".. config.count .." ".. getItemInfo(config.item).name .."}", cid) return TRUE end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
  14. Este tópico foi movido para a área correta. Esta é uma mensagem automática! Pedimos que leia as regras do fórum!
  15. @Gnius local danos = { {10, 3}, {20, 6}, {30, 5}} -- {Porcentagem, effect} function onStepIn(cid, item, position, fromPosition) if not isPlayer(cid) then return true end local dmg = danos[math.random(1, #danos)] local damage = math.ceil((tonumber(dmg[1])* 0.01) * getCreatureMaxHealth(cid)) doSendMagicEffect(getThingPos(cid), dmg[2]) doSendAnimatedText(getThingPos(cid), '- ' .. damage, TEXTCOLOR_LIGHTBLUE) doCreatureAddHealth(cid, - damage) return true end
  16. @Gnius Tenta assim então local danos = {10, 20, 30} -- em % function onStepIn(cid, item, position, fromPosition) if not isPlayer(cid) then return true end local dmg = danos[math.random(1, #danos)] local damage = math.ceil((dmg * 0.01) * getCreatureMaxHealth(cid)) doSendMagicEffect(getThingPos(cid), 6) doSendAnimatedText(getThingPos(cid), '- ' .. damage, TEXTCOLOR_LIGHTBLUE) doCreatureAddHealth(cid, - damage) return true end
  17. @Gnius Não deu pra entender muito bem, então fiz desse jeito aqui local danos = { -- Configure aqui -- Deverá ser sempre uma sequencia com virgula na penultima, podendo ser adicionada quantas quiser. -- A script basicamente sorteia um valor dessa tabela e retorna em DANO ao player [1] = 50000, [2] = 60000, [3] = 70000 } function onStepIn(cid, item, position, fromPosition) if not isPlayer(cid) then return true end local damage = danos[math.random(1, #danos)] doSendMagicEffect(getThingPos(cid), 6) doSendAnimatedText(getThingPos(cid), '- ' .. damage, TEXTCOLOR_LIGHTBLUE) doCreatureAddHealth(cid, - damage) return true end
  18. Storm postou uma resposta no tópico em Scripts tfs 0.4 (OLD)
    Parabéns, seu tópico de conteúdo foi aprovado! Muito obrigado pela sua contribuição, nós do Tibia King agradecemos. Seu conteúdo com certeza ajudará à muitos outros, você recebeu +1 REP.
  19. @iury alves potter local prize, question, answer, globalSto, t, sto = {}, nil, nil, 11789, {}, nil local model = "$question\nPrêmio: $itemcountx $itemname\nUse !responder [resposta]" function checkAsks() local sto = getGlobalStorageValue(globalSto) and getGlobalStorageValue(globalSto) or "nothing" local haveAsk = (type(sto) == "string" and sto ~= "nothing") if haveAsk then local t = string.explode(sto, ":::") local question = t[1] local answer = t[2] local prizeItem = t[3] local prizeCount = t[4] local str = "" str = string.gsub(model, "$question", question) str = string.gsub(str, "$itemcount", prizeCount) str = string.gsub(str, "$itemname", (getItemInfo(prizeItem).name)) doBroadcastMessage(str) addEvent(checkAsks, 1000 * 60) end end local waittime = 5.0 -- Tempo de exhaustion local storage = 581799 function onSay(cid, words, param, channel) sto = getGlobalStorageValue(globalSto) and getGlobalStorageValue(globalSto) or "nothing" if words == "!perguntar" then if not param then doPlayerSendTextMessage(cid, 20, "Parâmetro errado.") return true end t = string.explode(param, ":::") if #t ~= 4 then doPlayerSendTextMessage(cid, 20, "Certifique-se que o parâmetro está nesse modelo: '!perguntar Quanto e 1+1:::2:::2160:::1'.") return true end question = t[1] answer = t[2] prize.i = t[3] prize.c = t[4] if setGlobalStorageValue(globalSto, question .. ":::".. answer .. ":::".. (prize.i) .. ":::" .. (prize.c)) then doPlayerSendTextMessage(cid, 20, "Questão ativa.") checkAsks() end elseif words == "!responder" then if (type(sto) == "number" or sto == "nothing") then doPlayerSendTextMessage(cid, 22, "Nenhuma questão agora.") return true end if exhaustion.check(cid, storage) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde " .. exhaustion.get(cid, storage) .. " segundos para usar comando novamente.") return false end t = string.explode(sto, ":::") answer = t[2] prize.i = t[3] prize.c = t[4] if string.lower(param) == string.lower(answer) then doPlayerSendTextMessage(cid, 20, "Resposta correta!") doPlayerAddItem(cid, prize.i, prize.c) doBroadcastMessage(getCreatureName(cid) .. " foi o primeiro a responder a questão corretamente e recebeu ".. (prize.c) .. "x "..(getItemInfo(prize.i).name) .. "!") doBroadcastMessage("A resposta era: "..answer..".") doSendMagicEffect(getThingPos(cid), 14) setGlobalStorageValue(globalSto, "nothing") else doPlayerSendTextMessage(cid, 20, "Resposta errada!") end exhaustion.set(cid, storage, waittime) end return true end
  20. Storm postou uma resposta no tópico em Suporte Tibia OTServer
    @Rellyx Posta o erro(de preferencia um print da DISTRO) que aparece ao colocar a script em seu servidor.
  21. Storm postou uma resposta no tópico em Sprites
    Parabéns, seu tópico de conteúdo foi aprovado! Muito obrigado pela sua contribuição, nós do Tibia King agradecemos. Seu conteúdo com certeza ajudará à muitos outros, você recebeu +1 REP. @Vasco85 Fiz uma formatação melhor no seu tópico e mandei aquele seu double post para a lixeira.
  22. Storm postou uma resposta no tópico em Tibia Global OTServer
    Este tópico foi movido para a área correta. Esta é uma mensagem automática! Pedimos que leia as regras do fórum!
  23. Storm postou uma resposta no tópico em Suporte OTServer Derivados
    Este tópico foi movido para a área correta. Esta é uma mensagem automática! Pedimos que leia as regras do fórum!
  24. Parabéns, seu tópico de conteúdo foi aprovado! Muito obrigado pela sua contribuição, nós do Tibia King agradecemos. Seu conteúdo com certeza ajudará à muitos outros, você recebeu +1 REP.

Informação Importante

Confirmação de Termo