Ir para conteúdo
Banner com Efeitos

xWhiteWolf

Héroi
  • Registro em

  • Última visita

Tudo que xWhiteWolf postou

  1. actions\scripts function isWalkable(pos, creature, proj, pz)-- by Nord if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end if getTopCreature(pos).uid > 0 and creature then return false end if getTileInfo(pos).protection and pz then return false, true end local n = not proj and 3 or 2 for i = 0, 255 do pos.stackpos = i local tile = getTileThingByPos(pos) if tile.itemid ~= 0 and not isCreature(tile.uid) then if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then return false end end end return true end function onUse(cid, item, frompos, itemEx, topos) if isWalkable(topos, true, true, true) then doTeleportThing(cid, topos) addEvent(function() if isPlayer(cid) then doSendMagicEffect(getCreaturePosition(cid), 10) end end, 100) doSendMagicEffect(frompos, 10) else doPlayerSendCancel(cid, "This position is not reachable") end return false end e no actions.xml <action itemid="2379" script="kunai.lua" allowfaruse="1"/> Testado e funcionando em 8.54, vc só vai ter que garantir que não exista nenhum outro script usando esse mesmo id.
  2. local tempo = 180 -- tempo em segundos. local effect = {208} -- effect no player, caso queira apenas 1, basta remover os outros numeros. local ml = 30 -- quantos ira aumentar o skill de ML local skillfist = 55 -- quantos ira aumentar o skill de Fist local skillsword = 15 -- quantos ira aumentar o skill de Sword local skillaxe = 15 -- quantos ira aumentar o skill de Axe local skillclub = 55 -- quantos ira aumentar o skill de Club local skilldistance = 15 -- quantos ira aumentar o skill de Distance local skillshield = 15 -- quantos ira aumentar o skill de Shield local health = 80 -- A cada 1 segundo quantos aumentar de vida 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 magicEffect3(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]) -- parte modificada local summons = getCreatureSummons(cid) if #summons > 0 then for k = 1, #summons do local pos = getCreaturePosition(summons[k]) local positions = {x = pos.x + 1, y = pos.y, z = pos.z} doSendMagicEffect(positions, effect[i]) end end -- fim da parte modificada end end end end function onCastSpell(cid, var) local position129 = {x=getPlayerPosition(cid).x+1, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z} 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(magicEffect3, tempo2, tempo2, tempo*1000, cid) tempo2 = tempo2 + 300 end setPlayerStorageValue(cid, 102053,1) -- storage verifica transformado, quando = 1 player esta transformado. doCreatureSay(cid, "Kyuubi Furie", TALKTYPE_MONSTER) doSendMagicEffect(position129, 130) else doPlayerSendCancel(cid, "Sorry, you are transformed.") end end deve resolver, só alterei a função pra funcionar com cada summon;
  3. escolha uma das versões e adicione num arquivo chamado stealth.lua em movements\scripts
  4. if os.time() - getPlayerStorageValue(cid,55342) > 0 then end só fazer assim que vai dar certo.
  5. o cristal não é um item de player, é um item grande.. os id's dele tão no actions.xml ali no spoiler, só ver e colocar. Qualquer action de apertar alavanca e criar item pode ser usada nesse sistema pra deixar ele mais bonito (tem várias aqui no tk, dá uma procurada);
  6. não mas é bem tranquilo.. só preciso que ele diga uma fórmula de dano que ele queira
  7. tá cara, mas pra que vc quer tirar a storage??? vc não tá respondendo as coisas que eu to te perguntando :/ fica dificil te ajudar assim... é muito mais simples colocar os.time() + o tempo e quando for fazer a checagem por outro script fazer os.time() - o valor do storage anterior.
  8. é só baixar, passar scan com antivirus e deletar o executável que fica tranquilo.. em todo caso agora já foi hahaha
  9. Amigo, submoderação é contra as regras... tome cuidado.
  10. mas você é muito preguiçoso viu... PS: eu apenas peguei os arquivos que vem no server "Mapa FoxWorld 1.0", os créditos são de quem fez. As spells são todas feitas pelo Jovial, é o script dele de meteor cast. O resto foi feito baseado no foxworld.
  11. que estranho.. nesse caso eu não sei de nada que possa resolver. Mesmo qnd vc reloga e loga dnv ainda continua recuperando como vip?
  12. local tab = { lvl = 300 } function onUse(cid, item, frompos, item2, topos) if getPlayerLevel(cid) <= tab.lvl then doTeleportThing(cid, topos) doSendMagicEffect(frompos, CONST_ME_MAGIC_BLUE) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Apenas players até o level "..tab.lvl.." podem entrar.") doSendMagicEffect(frompos, CONST_ME_POFF) end return true end testa agr
  13. esse script já está com exhaust entre um uso.. oque mais vc quer?
  14. xWhiteWolf postou uma resposta no tópico em Playground (Off-topic)
    discordo. Ser agnóstico é isso daí que você disse, ser ateu é acreditar na crença de que não existe nada. Ser ateu é ser cético ao ponto de não ter a mente aberta pra teorias que provavelmente estariam certas mas por não ter um embasamento científico bem definido (ainda) são descartadas. Se quiser que eu explique o porque eu penso assim me chama PM que eu te dou fortes argumentos que comprovam oque eu falei; Lembrando que isso daí eu estou considerando o Ateu e agnóstico teóricos, porque na realidade oque temos é muito diferente.. geralmente são uns adolescentes que não sabem nem 1% doque acontece na terra e querem ter opinião formada sobre assuntos esotéricos
  15. a cada up que vc der vai ser um dia a mais que eu vou demorar pra resolver isso pra ti. Eu já falei que vou fazer cara, para de ficar pressionando... já é o terceiro script que eu vou resolver pra você e eu te digo que não gosto de ser pressionado e você continua pressionando.. não vai haver uma próxima vez.
  16. posta aqui seu sistema que eu faço as alterações
  17. testa aí cara, não tem como a gente saber.. se não funcionar diga o erro que dá que a gente tenta arrumar.
  18. agora vai! haha
  19. existe uma função que faz isso que é a doCreatureSetNoMove(cid, cannotMove). Pra usar ela vc faz assim: doCreatureSetNoMove(uid, true) --- faz o cara não andar addEvent(doCreatureSetNoMove, segundos trapado * 1000, uid, false) --- faz o cara andar e vai ser executada depois de x segundos. Se eu quiser deixar o cara 15 segundos preso eu faço: e esse uid aí é o unique id da criatura que eu quero que seja trapada. Se for o cara que vai castar a spell vc troca uid por cid, se for um target vc faz local target = getCreatureTarget(cid) doCreatureSetNoMove(target, true) addEvent(doCreatureSetNoMove, 15 * 1000, target, false) Espero que tenha ajudado.
  20. amigo, fica muito mais fácil de alguém te ajudar se você apresentar o problema pra gente... você quer esse sistema pra que? Podem ter outras formas mais inteligentes de resolver oque você quer!
  21. xWhiteWolf postou uma resposta no tópico em Suporte Tibia OTServer
    testa assim e me diz se resolve local vocations = {11, 16, 21} local ids_bloqueados = {2160, 5706, 7893, 7892, 7894, 7895, 7896, 7897, 7898, 7899, 7901, 7902, 2640, 6132, 2195, 9932, 9933, 11350, 11297, 3982, 8857, 8855, 8856, 7438, 8858, 8854, 2456, 7366, 5907, 3965, 7378, 2389, 7367, 7368, 2425, 9932} local controle = { {level = 0, quantOre = 1, chance = 48}, {level = 1, quantOre = 2, chance = 33}, {level = 2, quantOre = 3, chance = 28}, {level = 3, quantOre = 4, chance = 27}, {level = 4, quantOre = 5, chance = 24}, {level = 5, quantOre = 6, chance = 20}, {level = 6, quantOre = 7, chance = 10}, {level = 7, quantOre = 8, chance = 8}, {level = 8, quantOre = 9, chance = 5}, {level = 9, quantOre = 10, chance = 2} } function getItemLevel(uid) if uid > 0 then return getItemAttribute(uid, "lvl") or 0 end return false end function doItemAddLevel(uid, count) if uid > 0 and tonumber(count) > 0 then return doItemSetAttribute(uid, "lvl", getItemLevel(uid) + count) end return false end function onUse(cid, item, fromPosition, itemEx, toPosition) if not isInArray(vocations, getPlayerVocation(cid)) then return doPlayerSendCancel(cid, "Apenas blacksmiths podem refinar.") elseif isInArray(ids_bloqueados, itemEx.uid) then return doPlayerSendCancel(cid, "Este item nao pode ser refinado.") end if getItemInfo(itemEx.itemid).attack > 0 or getItemInfo(itemEx.itemid).defense > 0 or getItemInfo(itemEx.itemid).armor > 0 then for _, upgrade in pairs(controle) do local atk = getItemAttribute(itemEx.uid, "attack") or getItemInfo(itemEx.itemid).attack local def = getItemAttribute(itemEx.uid, "defense") or getItemInfo(itemEx.itemid).defense local arm = getItemAttribute(itemEx.uid, "armor") or getItemInfo(itemEx.itemid).armor local chance = math.random(1, 100) if getItemLevel(itemEx.uid) == upgrade.level then if doPlayerRemoveItem(cid, 5880, upgrade.quantOre) then doSendMagicEffect(getThingPos(itemEx.uid), CONST_ME_CRAPS) if chance <= upgrade.chance then if getItemLevel(itemEx.uid) == 0 then doItemSetAttribute(itemEx.uid, "description", "Esse item foi refinado por " ..getCreatureName(cid)) end doItemAddLevel(itemEx.uid, 1) doItemSetAttribute(itemEx.uid, "name", getItemNameById(itemEx.itemid).. " + " ..getItemLevel(itemEx.uid)) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce refinou com sucesso!") if atk > 0 then doItemSetAttribute(itemEx.uid, "attack", atk + 1) return true elseif arm > 0 then doItemSetAttribute(itemEx.uid, "armor", arm + 1) return true elseif def > 0 then doItemSetAttribute(itemEx.uid, "defense", def + 1) return true end else doTransformItem(itemEx.uid, 2256) doItemSetAttribute(itemEx.uid, 'name', "metal trash") doItemSetAttribute(itemEx.uid, 'attack', 0) doItemSetAttribute(itemEx.uid, 'armor', 0) doItemSetAttribute(itemEx.uid, 'defense', 0) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce falhou.") return true end else doPlayerSendCancel(cid, "Voce nao tem iron ores o suficiente. Voce precisa de "..upgrade.quantOre.." iron ores.") end end end else doPlayerSendCancel(cid, "Esse item nao pode ser refinado.") end return true end
  22. a regeneração é configurada no vocations.xml, se alterou a vocação não tem como a regeneração continuar sendo 20 '-'.
  23. 1) que versão é o server? 2) o shop que vc usa é o do gesior mesmo? 3) Teria como colocar pra ele editar o item antes de adicionar? 4) Você vai querer que fique o nome do player gravado no item? exemplo: "Fire Sword" ficaria -> "xWhiteWolf's Fire Sword" Responde essas perguntas que eu vejo de fazer pra ti. Edit: Achei isso daqui pelo fórum, vê se é util pra você http://www.tibiaking.com/forum/topic/2879-sistema-de-owner-para-equips/
  24. xWhiteWolf postou uma resposta no tópico em Playground (Off-topic)
    ban saber
  25. setCombatArea(xCombat, area) <<-- você colocou "xCombat" e o combat na verdade se chama "xcombat"

Informação Importante

Confirmação de Termo