Ir para conteúdo

zipter98

Herói
  • Total de itens

    2553
  • Registro em

  • Última visita

  • Dias Ganhos

    73

Tudo que zipter98 postou

  1. 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.
  2. 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.
  3. ^ 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()
  4. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  5. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  6. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  7. ^ 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)
  8. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  9. 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)
  10. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  11. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  12. Você prefere que as exceções sejam definidas por nome ou por level?
  13. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  14. 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)
  15. 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...
  16. 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
  17. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  18. 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.
  19. Recomendaria também fazer um evento onTarget.
  20. Depende do servidor. No PDA, por exemplo, você pode alterar o código de boost para, quando o pokémon for boostado +50, setar na pokeball deste o atributo de aura.
  21. zipter98

    [Help] Script

    Quando você define uma variável dentro de uma condição, esta só tem valor dentro desta mesma condição. Enfim, movido para resolvidos.
  22. Caso o Ditto não tenha boost e tente copiar um dos elementos [pokémons] da tabela proibidosboost, ocorrerá um erro. Por quê? Caso o pokémon não tenha boost, obviamente sua pokeball não terá o atributo "boost". Neste caso, seria o mesmo que comparar if nil < 50. Para evitar isso, recomendaria trocar: if isInArray(proibidosboost, getCreatureName(item2.uid)) and getItemAttribute(thisball.uid, "boost") < 50 then Por: local boost = getItemAttribute(thisball.uid, "boost") or 0 if isInArray(proibidosboost, getCreatureName(item2.uid)) and boost < 50 then
  23. zipter98

    Magias

    Poderia postar o código da spell?
  24. local v = {} for k = 1, 100 do table.insert(v, createConditionObject(CONDITION_MUTED)) setConditionParam(v[k], CONDITION_PARAM_TICKS, k*60*1000) end function onSay(cid, words, param) if (words == "/mute") then local t = string.explode(param, ",") if param == '' then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") return true end local reason = t[3] if not reason then reason = "No reason." end local player,time,pid = getPlayerByName(t[1]),t[2],getPlayerByNameWildcard(t[1]) if(not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player with this name doesn\'t exist or is offline.") return true end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "Você mutou o jogador "..t[1].." por "..time.." minutos, pelo motivo: "..reason) doAddCondition(player, v[tonumber(time)]) setPlayerStorageValue(player, 90000, os.time()+time*60) doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Você foi mutado por "..getCreatureName(cid).." "..time.." minutos, pelo motivo: "..reason) elseif (words == "/desmute") then if param == '' then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") return true end local player = getPlayerByNameWildcard(param) if(not player)then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player not found.") return true end if getCreatureCondition(player, CONDITION_MUTED) == false then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "este jogador não está mutado.") return true end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você desmutou o jogador "..param..".") doRemoveCondition(player, CONDITION_MUTED) setPlayerStorageValue(player, 90000, -1) doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Você foi desmutado.") end return true end
  • Quem Está Navegando   0 membros estão online

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