Ir para conteúdo

zipter98

Herói
  • Total de itens

    2553
  • Registro em

  • Última visita

  • Dias Ganhos

    72

Tudo que zipter98 postou

  1. local level = 150 function onStepIn(cid, item, position, fromPosition) if not isPlayer(cid) then return true end if getPlayerLevel(cid) < level then doTeleportThing(cid, fromPosition, true) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_RED) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "Somente level " .. level .. " ou mais podem passar aqui.") end return true end
  2. Valeu por lembrar, Slicer. Sobre o doMoveCreature dentro do else, não removi pois não sabia qual a intenção do cara quando não fosse "andável" a próxima posição. Se ele puder responder tal dúvida, poderá ajudar a "corrigir" essa parte.
  3. zipter98

    Web Site no Vps

    Movido para pedidos e dúvidas de websites.
  4. Hm, poderia tentar com este código? Qualquer coisa, podemos fazer uma tabela com os IDs dos items que a spell atravessa. Aí, complementamos o código com uma condição envolvendo-os. local area = { {0, 0, 0}, {0, 3, 0}, {0, 0, 0}, } function isWalkable(pos)-- by Nord / editado por Omega if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false elseif isCreature(getTopCreature(pos).uid) then return false elseif getTileInfo(pos).protection then return false elseif hasProperty(getThingFromPos(pos).uid, 3) or hasProperty(getThingFromPos(pos).uid, 7) then return false end return true end function onDash(cid) if not isCreature(cid) then return true end local poslook = getCreatureLookPosition(cid) poslook.stackpos = STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE if isWalkable(poslook) then doMoveCreature(cid, getPlayerLookDirection(cid)) doSendMagicEffect(getPlayerPosition(cid), 2) else doMoveCreature(cid, getPlayerLookDirection(cid)) doAreaCombatHealth(0, 1, poslook, area, -getCreatureSpeed(cid)*2/(getCreatureHealth(cid)/300), -getCreatureSpeed(cid)*3/(getCreatureHealth(cid)/30), 9) doCreatureSay(getThingfromPos(poslook).uid, 'Auch', TALKTYPE_MONSTER) doSetItemOutfit(getThingfromPos(poslook).uid, 2317, 1*1000) doSendMagicEffect(getCreaturePosition(getThingfromPos(poslook).uid), 31) end return true end function onCastSpell(cid, var) local distance = 40 for i = 0, distance do addEvent(onDash, 90*i, cid) end return true end
  5. O problema está no bloco depois do else, na condição do isWalkable, localizado na função onDash. Mesmo se não for "andável", o jogador será teleportado para frente. Com isso, obviamente, ele vai atravessar paredes, rios e etc. Portanto, lhe pergunto: qual a necessidade disso? doMoveCreature(cid, getPlayerLookDirection(cid)) doAreaCombatHealth(0, 1, poslook, area, -getCreatureSpeed(cid)*2/(getCreatureHealth(cid)/300), -getCreatureSpeed(cid)*3/(getCreatureHealth(cid)/30), 9) doCreatureSay(getThingfromPos(poslook).uid, 'Auch', TALKTYPE_MONSTER) doSetItemOutfit(getThingfromPos(poslook).uid, 2317, 1*1000) doSendMagicEffect(getCreaturePosition(getThingfromPos(poslook).uid), 31) Se esta parte fosse removido do código, iria funcionar perfeitamente.
  6. exhaustion.set(cid, key, time) --Coloca exausted em cid de tempo time, armazenado em key (storage). exhaustion.check(cid, key) --Verifica se cid está com exausted de key. exhaustion.get(cid, key) --Retorna o cooldown, armazenado em key, de cid.
  7. ^ Em outras palavras, se o value da key/storage y do jogador x (no caso, cid) for igual à do treinador do pokémon/summon target, retornará falso (ou seja, não poderá targetar). Estou certo? @homer Você quer que a função seja executada repetidamente, num intervalo de 1 segundo? Se sua resposta for sim, você pode chamar a função dentro dela mesma com um addEvent. Por exemplo: function Model() addEvent(Model, 1000) end Model()
  8. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  9. ^ Antes de tudo, gostaria de recomendar retirar as aspas dos elementos da tabela helds. Ou, você pode fazer uma pequena alteração para transformar a string resultada do math.random em number. Até porquê, ficar removendo aspas é um saco. local it = tonumber(helds[math.random(1, #helds)]) doPlayerAddItem(cid, it, 1) doPlayerPopupFYI(cid, "Voce ganhou seu "..getItemNameById(it)..".") doPlayerRemoveItem(cid, 12949, 500)
  10. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  11. if valor >= getCreatureHealth(cid) then if isInArray(cannotKill, combat) and isPlayer(cid) then valor = getCreatureHealth(cid) - 1 else local names = {"Shiny Charizard", "Shiny Blastoise", "Shiny Venusaur"} --Coloque aqui o nome dos shinies que deseja que "dropem" a Shiny Stone. local itemid = x --ID da Shiny Stone. if isInArray(names, getCreatureName(cid)) and isSummon(attacker) and not isSummon(cid) then local owner = getCreatureMaster(attacker) if owner then doPlayerAddItem(owner, itemid, 1) doPlayerSendTextMessage(owner, MESSAGE_STATUS_CONSOLE_ORANGE, "You received a Shiny Stone!") end end valor = getCreatureHealth(cid) end end valor = math.floor(valor)
  12. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  13. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  14. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  15. Em data/creaturescripts/scripts, procure por um arquivo chamado exp2.0.lua. Caso este não exista, procure pelo exp.lua. Abra o arquivo, e substitua: if valor >= getCreatureHealth(cid) then if isInArray(cannotKill, combat) and isPlayer(cid) then valor = getCreatureHealth(cid) - 1 else valor = getCreatureHealth(cid) end end valor = math.floor(valor) Por: if valor >= getCreatureHealth(cid) then if isInArray(cannotKill, combat) and isPlayer(cid) then valor = getCreatureHealth(cid) - 1 else local str = "shiny" local itemid = x --ID da Shiny Stone. if getCreatureName(cid):lower():find(str) and isSummon(attacker) and not isSummon(cid) then local owner = getCreatureMaster(attacker) if owner then doPlayerAddItem(owner, itemid, 1) doPlayerSendTextMessage(owner, MESSAGE_STATUS_CONSOLE_ORANGE, "You received a Shiny Stone!") end end valor = getCreatureHealth(cid) end end valor = math.floor(valor)
  16. Como se trata de um pedido relacionado à derivados, estarei movendo para a devida área. E sobre sua dúvida, pelo que sei, puramente em Lua não é possível, já que são necessárias alterações nas sources. Como é PDA, já sabe...
  17. Não li o código por inteiro, então não sei se você já havia feito isso. Mas, ao invés de usar onThink (como o Slicer disse), você poderia chamar doRegenerateWithHeld diretamente na função adjustStatus, localizada em level system.lua. E, é claro, deve haver um evento contínuo na função doRegenerateWithHeld. E quando me refiro à um evento contínuo, quero dizer algo do tipo: function Model() return addEvent(Model, 1000) end
  18. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  19. Vejo que você cometeu double topic (um tópico aqui, e outro em pedidos e dúvidas de scripting). Como sua dúvida é relacionada à pokémon, optei por ocultar o de scripting. Apenas avisando, para caso de você estranhar a ausência do outro tópico.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...