Ir para conteúdo

zipter98

Herói
  • Total de itens

    2553
  • Registro em

  • Última visita

  • Dias Ganhos

    73

Tudo que zipter98 postou

  1. 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
  2. zipter98

    Magias

    Poderia postar o código da spell?
  3. 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
  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. Sei lá. Você poderia fazer uma talkaction com isso. Vai do seu gosto.
  7. local items = {{ID, quantidade}, {ID, quantidade}, {ID, quantidade}, {ID, quantidade}, {ID, quantidade}, {ID, quantidade}} local min_level = x --Level mínimo para pegar os items do baú. local time = 60 --Em minutos. local storage = 91838 function onUse(cid, item, frompos, item2, topos) if getPlayerLevel(cid) >= min_level then if getPlayerStorageValue(cid, storage) < os.time() then local it = items[math.random(#items)] doPlayerAddItem(cid, it[1], it[2]) doPlayerSendTextMessage(cid, 27, "Você recebeu "..it[2].." "..getItemNameById(it[1])..". Você poderá pegar sua próxima recompensa em "..time.." minutos.") setPlayerStorageValue(cid, storage, os.time() + time * 60) else return doPlayerSendCancel(cid, "Você pegou sua recompensa recentemente.") end else return doPlayerSendCancel(cid, "Você não possui o nível adequado para pegar a recompensa ["..min_lv.."].") end return true end
  8. Você pode fazer isso utilizando a função doCreatureSetHideHealth(cid, boolean). Por exemplo, para que todos os jogadores online tivessem seu nome e HP ocultados, você poderia usar este seguinte código: for _, pid in pairs(getPlayersOnline()) do doCreatureSetHideHealth(pid, true) end
  9. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  10. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  11. Você pode usar uma função disponível inclusive aqui no fórum, getMonstersInArea. Lendo o código, é possível concluir que retorna uma tabela. Então, basta verificar se nesta tabela encontra-se algum valor chamado "Mewtwo" (claro, você terá que fazer algumas alterações na função, para ao invés de insertar na tabela o ID do monstro, seu nome). Eu, por exemplo, uso este seguinte código: function getMonstersInArea(area1, area2) local monsters = {} for x = area1.x, area2.x do for y = area1.y, area2.y do for z = area1.z, area2.z do monsterpos = {x=x,y=y,z=z,stackpos=253} monster = getThingFromPos(monsterpos) if isMonster(monster.uid) then table.insert(monsters, monster.uid) end end end end return monsters end
  12. Você quer que o prêmio de todas as opções seja alteração do value de determinada key do jogador?
  13. O mais fácil, ninguém sabe fazer. ._. Enfim, use a mesma tag que estava usando no código anterior (me refiro ao código que você usou como exemplo no tópico). Ou, se não, tome como base as de actions.xml. Sobre o level mínimo, configure na variável indicada no início do script.
  14. Esses números - "10, 11" e "20, 22" - são o quê? Coordenadas? Ou é um raio de SQMs desde a posição central? Por exemplo, verificar se numa área de dimensões 10x20 encontra-se algum monstro chamado "Mewtwo"?
  15. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  16. Tipo isso? local posis = { {{x = x, y = y, z = z}, {x = x, y = y, z = z}}, --Posições que os jogadores devem ficar e para onde serão teleportados, respectivamente. {{x = x, y = y, z = z}, {x = x, y = y, z = z}}, {{x = x, y = y, z = z}, {x = x, y = y, z = z}}, {{x = x, y = y, z = z}, {x = x, y = y, z = z}}, } local min_lv = 350 --Level mínimo para entrar na quest... function onUse(cid, item, frompos, item2, topos) local check = 0 for a, b in pairs(posis) do if isPlayer(getThingFromPos(b[1])) then if getPlayerLevel(getThingFromPos(b[1])) >= min_lv then check = check + 1 end end end if check == #posis then for _, c in pairs(posis) do local pid = getThingFromPos(c[1]) doTeleportThing(pid, c[2]) doPlayerSendTextMessage(pid, 27, "Welcome to Legendary Quest.") end else return doPlayerSendCancel(cid, "Para entrar nesta quest, é necessário que os 4 jogadores estão nas devidas posições e que também possuam o level necessário ["..min_lv.."].") end return true end
  17. Área incorreta, movido para derivados. Mais cuidado da próxima vez. @pedido Pelo pouco que vi, você pode alterar: local b = getPlayerItemById(cid, true, a) if b.uid > 0 then doTransformItem(b.uid, b.itemid - 8) end Por: setPlayerStorageValue(cid, key, value) E sério, tira isso da tabela: ["Zeper"] = setPlayerStorageValue(cid,9991,1)} --alterado v1.5
  18. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  19. Área incorreta, movido para derivados. Mais cuidado da próxima vez.
  20. Poderia exemplificar, por favor?
  21. Pode sim. O tópico, existir, ainda existe. Mas membros "comuns" não podem acessá-lo.
  22. ^ Este tópico foi deletado à pedido dele. Área incorreta, tópico movido. Mais cuidado da próxima vez.
  23. 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 local vocation_ids = {...} --IDs das vocations que poderão se batizar na cidade.. Ex.: {1, 2, 4} if msgcontains(msg:lower(), "sim") then if isInArray(vocation_ids, getPlayerVocation(cid)) then doPlayerSetTown(cid, 5) npcHandler:say("Seja bem vindo a Edoras.", cid) talkState[talkUser] = 0 return true else npcHandler:say("Apenas humanos podem morar nessa cidade.", cid) talkState[talkUser] = 0 return true end elseif msgcontains(msg:lower(), "nao") then npcHandler:say('Adeus Forasteiro..', cid) talkState[talkUser] = 0 return true end return true end function msgcontains(message, keyword) if(type(keyword) == "table") then return table.isStrIn(keyword, message) end local a, b = message:lower():find(keyword:lower()) if(a ~= nil and b ~= nil) then return true end return false end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
  24. local numbers = {34, 180, 26, 23, 45, 67, 12, 31, 39} local random = numbers[math.random(#numbers)]
  • Quem Está Navegando   0 membros estão online

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