Ir para conteúdo

Snowsz

Héroi
  • Registro em

  • Última visita

Tudo que Snowsz postou

  1. Pode tentar isso: function onSay(cid, words, param) local count = getPlayerInstantSpellCount(cid) local text = "" local t = {} for i = 0, count - 1 do local spell = getPlayerInstantSpellInfo(cid, i) if spell.level ~= 0 then if spell.manapercent > 0 then spell.mana = spell.manapercent .. "%" end table.insert(t, spell) end end table.sort(t, function(a, b) return a.level < b.level end) local prevLevel = -1 for i, spell in ipairs(t) do local line = "" if prevLevel ~= spell.level then if i ~= 1 then line = "\n" end line = line .. "Spells for Level " .. spell.level .. "\n" prevLevel = spell.level end text = text .. line .. " " .. spell.words .. " - " .. spell.name .. " : " .. spell.mana .. "\n" end doShowTextDialog(cid, 2160, text) return true end
  2. Tente achar um opcode com id 0, parece que ele não aceita id 0.
  3. data/npc/lib/npcsystem/modules.lua poste.
  4. Você criou dois tópicos intencionalmente, movi um para lixeira, leia as regras! É proibido dois tópicos iguais! Principalmente em duas áreas, e as tags normal e derivado, derivado é para server tipo pokémon, dbz, etc... Normal, é só o Tibia!
  5. Logo após: function onCastSpell(cid, var) Adicione: if getPlayerStorageValue(cid, cooldownStorage) > os.time() then doPlayerSendCancel(cid, "You are exhausted.") return true else setPlayerStorageValue(cid, cooldownStorage, (os.time()+cooldownSeconds)) end E no começo to arquivo, no começo mesmo, de dois enter, e atrás dos dois enter, adicione isso: local cooldownSeconds = 5 local cooldownStorage = 6541 Nisso /\, você configura o tempo de cooldown que a spell irá dar: 5 segundos que está configurado. E a storage do cooldown, caso queira um cooldown diferente para cada magia, mude o cooldownStorage para outro valor sempre para cada magia. Não testei: local cooldownSeconds = 5 local cooldownStorage = 6541 local tempo = 30 local effect = {175} local health = 1000 local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) 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 magicEffect10(tempo2,tempo3,cid) if (isCreature(cid)) then if getPlayerStorageValue(cid, 102053) > 0 and getCreatureCondition(cid, CONDITION_REGENERATION, 1) then for i=1, #effect do local position = {x=getPlayerPosition(cid).x+1, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z} doSendMagicEffect(position, effect[i]) end end end end function onCastSpell(cid, var) if getPlayerStorageValue(cid, cooldownStorage) > os.time() then doPlayerSendCancel(cid, "You are exhausted.") return true else setPlayerStorageValue(cid, cooldownStorage, (os.time()+cooldownSeconds)) end if getPlayerStorageValue(cid, 102053) ~= 1 or getCreatureCondition(cid, CONDITION_REGENERATION, 1) == false then doCombat(cid, combat, var) tempo2 = 0 while (tempo2 ~= (tempo*1000)) do addEvent(magicEffect10, tempo2, tempo2, tempo*1000, cid) tempo2 = tempo2 + 300 end setPlayerStorageValue(cid, 102053,1) else doPlayerSendCancel(cid, "A magia está sendo usada!") end end
  6. Cara, seu script não tem nada a ver, por favor, poderia estudar mais? Não testei: local antigaOutfit = 128 local novaOutfit = 300 function onSay(cid, words, param) for k,v in pairs(getPlayersOnline()) do if getCreatureOutfit(v).lookType == antigaOutfit then local look = getCreatureOutfit(v) look.lookType = novaOutfit doCreatureChangeOutfit(cid, look) end end return true end
  7. Snowsz postou uma resposta no tópico em Suporte Tibia OTServer
    Cara eu não estou entendendo, o que você quer exatamente? Pediu uma spell agora não quer mais uma spell.
  8. Snowsz postou uma resposta no tópico em Suporte Tibia OTServer
    Olha, eu escolheria LGV Host, acho que para mim é o custo benefício melhor.
  9. Snowsz postou uma resposta no tópico em Suporte Tibia OTServer
    Cara, algo de errado não está certo no seu script... Da uma revisada nesse(editei o seu): local reloadInfo = { RELOAD_MODS, } function onThink(interval, lastExecution) for i = 1, #reloadInfo do doReloadInfo(reloadInfo[i]) end return true end Olha, acho que isso resolve seu npc, eu não mexo com npc a muito tempo... 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 local reloads = { ["mods"] = RELOAD_MODS, ["npcs"] = RELOAD_NPCS, } function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid msg = msg:lower() if getPlayerStorageValue(cid, storage) <= 0 or getPlayerGroupId(cid) <= 1 then npcHandler:say('You don\'t have permission to reload.', cid) talkState[talkUser] = 0 elseif talkState[talkUser] <= 0 and msgcontains(msg, 'reload') then local str = "" for k,v in pairs(reloads) do str = str..k..", " end str = str:sub(1, #str-2) npcHandler:say('Do you want to reload what('..str..')?', cid) talkState[talkUser] = 1 elseif talkState[talkUser] == 1 and reloads[msg] then doReloadInfo(reloads[msg]) doSendMagicEffect(getPlayerPosition(cid), 66) talkState[talkUser] = 0 else npcHandler:say('What???', cid) end return true end npcHandler:setMessage(MESSAGE_GREET, "Hello!") npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
  10. Snowsz postou uma resposta no tópico em Suporte Tibia OTServer
    local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_BLOCKHIT) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, -10, -1, -20, 5, 5, 1.4, 2.1) function onCastSpell(cid, var) return doCombat(cid, combat, var) end <instant name="Soco" words="soco" lvl="10" mana="20" prem="0" range="1" exhaustion="2000" needlearn="0" event="script" value="NOMEDOSCRIPT.lua"> <vocation id="1"/> <vocation id="2"/> <vocation id="3"/> <vocation id="4"/> </instant> Se quiser para qualquer vocação, remova as linhas: <vocation id="1"/> <vocation id="2"/> <vocation id="3"/> <vocation id="4"/>
  11. Snowsz postou uma resposta no tópico em Suporte Tibia OTServer
    O tópico foi movido para a área correta, preste mais atenção da próxima vez! Leia as regras do fórum: http://tibiaking.com/forum/topic/1281-regras-gerais/?p=7680 Este tópico foi movido: De: "OTServ → Suporte OTServ → Suporte de Scripts → Servidores normais" Para: "OTServ → Suporte OTServ → Suporte de Mapping → Servidores normais"
  12. Então, como eu disse, não testei, pode testar e dizer o resultado
  13. Olha, eu não tentei, mas acho que pode usar o molebox, como fazem para juntar o dat, spr e pic do cipsoft client.
  14. Poderia tirar o channel NPCS? Ao abrir essas janelas.
  15. http://www.tibiaking.com/forum/topic/1281-regras-gerais Leia as regras! 2.3 - Use títulos e ícones adequados: Ao criar um novo tópico no fórum, dê a ele um título que esteja relacionado ao conteúdo do tópico. Títulos como "Ajudaaa!" ou "Entrem aqui!" só pioram as coisas: ninguém vai saber do que se trata, e menos pessoas irão entrar para olhar o que você postou e também evite de usar o CAPSLOCK ao criar seu título. Dessa vez eu mudei o título do tópico, espero que não se repita, e está na área errada, pesquise mais antes de postar.
  16. Snowsz postou uma resposta no tópico em Suporte Tibia OTServer
    O tópico foi movido para a área correta, preste mais atenção da próxima vez! Leia as regras do fórum: http://tibiaking.com/forum/topic/1281-regras-gerais/?p=7680 Este tópico foi movido: De: "OTServ → Suporte OTServ → Suporte de Clients" Para: "OTServ → Suporte OTServ → Suporte de Scripts → Servidores normais"
  17. Aperta Ctrl+T para mostrar o terminal, e mostra que erro aparece.
  18. Para transitar do otclient para o cipsoft client, basta copiar o dat e spr, o resto fica, se você criou algum módulo que não venha no otclient original, que é encontrado no github do edubart, esse módulo não poderá ser passado para o cipsoft client, só se você encontrar alguém que faça dlls para esse tipo de client.
  19. Aprovado e movido para a área correta, receberá um ponto de reputação. Esperamos ver mais conteúdos como este
  20. Snowsz postou uma resposta no tópico em Suporte Tibia OTServer
    Troca isso: mysqlUser = "mysql" Para isso: mysqlUser = "root"
  21. Snowsz postou uma resposta no tópico em Formação de Equipe
    ^ Gostei em dos seus trabalhos, só tenta melhorar o trópius... @Topic Sim, ele é da PokeXGames.
  22. Editei o post ^, da uma olhada, e isso ai não é o seu TFS, isso é um servidor customizado que você baixou.
  23. @Edit Coloca esse arquivo em data/npc(lembre de extraí-lo). https://www.dropbox.com/s/a4ynkb5t6j6u4l4/NPC%20Lib.rar?dl=0
  24. Snowsz postou uma resposta no tópico em Suporte Tibia OTServer
    É proibido divulgar o skype, peço que retire-o imediatamente. O mesmo vale para você [member=Juuh Santos]
  25. Estou rindo aqui agora kkk, existe um atributo para isso ;] que você adiciona no items.xml, no movements, você só vai precisar registrar o equip e deequip sem script algum. maxHealthPoints Se não for essa: maxHitPoints Ou, pode querer usar com porcentagem. maxHealthPercent Se não for essa: maxHitpointsPercent

Informação Importante

Confirmação de Termo