Ir para conteúdo

zipter98

Herói
  • Total de itens

    2553
  • Registro em

  • Última visita

  • Dias Ganhos

    72

Tudo que zipter98 postou

  1. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  2. zipter98

    [PEDIDO] Teleportaçao

    Sanado, movido. PS: Você havia postado em área incorreta. Recomendo ler esse manual do fórum para evitar mais erro como este.
  3. Área incorreta, tópico movido. Mais cuidado da próxima vez. PS: Recomendo ler esse manual do fórum para evitar mais erros como este.
  4. Sabe fazer a tag? local STORAGE = x --Storage. local VALUE = x --Valor da storage acima. local POS = {x = x, y = y, z = z} --Para onde será teleportado. function onStepIn(cid, item, position, fromPosition) if not isPlayer(cid) then return true end if getPlayerStorageValue(cid, STORAGE) >= VALUE then doTeleportThing(cid, POS) doPlayerSendTextMessage(cid, 27, "Você foi teleportado.") return true else return doPlayerSendCancel(cid, "Você não possui a storage.") and doTeleportThing(cid, fromPosition) end return true end
  5. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  6. Ou, se preferir: function onLogin(cid) if getPlayerStorageValue(cid, 154585) >= 1 then setPlayerStorageValue(cid, 154585, -1) end return true end
  7. Suponho que você saiba fazer a tag da spell. data/spells/você decide: local msg = "During %d you'll be imortal." local STORAGE = 91811 local imortal_time = 5 --Segundos. function onCastSpell(cid, var) if getPlayerStorageValue(cid, STORAGE) > os.time() then return doPlayerSendCancel(cid, "Você já está imortal.") else setPlayerStorageValue(cid, STORAGE, os.time() + imortal_time) doPlayerSendTextMessage(cid, 27, msg:format(imortal_time)) end return true end data/creaturescripts/scripts: --[[ Tags no creaturescripts.xml: <event type="statschange" name="Imortal" event="script" value="nome do arquivo.lua"/> <event type="login" name="ImortalLogin" event="script" value="nome do arquivo.lua"/> ]]-- local STORAGE = 91811 function onStatsChange(cid, attacker, type, combat, value) if isPlayer(cid) then if getPlayerStorageValue(cid, STORAGE) > os.time() then return false end end return true end function onLogin(cid) registerCreatureEvent(cid, "Imortal") return true end
  8. zipter98

    Item aleatorio

    Tópico movido para a seção de dúvidas e pedidos resolvidos.
  9. Área totalmente incorreta. Por favor, tenha mais cuidado da próxima vez (tente LER o nome da seção no qual você está postando para ter alguma ideia, pelo menos). Tópico movido.
  10. Na verdade, como você está divulgando a existência do servidor, porém não informando se está ou não online, dá-se a entender que está enviando uma notícia do mundo de OTServers - a notícia de quê está sendo feito um servidor de SAO. Então, a seção mais adequada para casos como este é Notícias de OTserv. Se o servidor já estiver online, pronto para jogar, coloque o link para download do client aqui e avise-me. Assim, moverei seu tópico para a seção de Anúncio de Servidores.
  11. Ou, se não, tente: doStartTrade(cid, getPlayerByName(name), document)
  12. zipter98

    Comando pvp on

    A única coisa que não citei foi a tag da talkaction, que achei desnecessário criar, pois pensei que o autor seria capaz de criá-la. E há 3 funções main juntas num mesmo código (eu optei por fazer assim para não precisar criar 3 arquivos, ao invés de apenas um). Portanto, são 3 tags. Como você pôde ver, eu informei as 3 no início do código. E, também, como você não entendeu? Ué, cria um arquivo na pasta citada com extensão .lua, e então coloque o código lá. As tags, no arquivo .xml da respectiva pasta (talkactions - talkactions.xml/creaturescripts - creaturescripts.xml).
  13. Todo código vindo de você é bem vindo, muito obrigado! Uma coisa que observei: no creaturescript, o doPlayerSendTextMessage não ocasionará erro de jogador não encontrado? #EDIT: Ah, antes estava sem o "tipo" de mensagem (no caso do atual código, MESSAGE_INFO_DESCR). O código; belo. A ideia; divertida. O NPC; útil. Não esperava menos do grande Garou/Oneshot.
  14. zipter98

    Comando pvp on

    data/talkactions/scripts local msg = "Agora seu sistema PvP está %s." function onSay(cid, words, param) local _table = { ["on"] = {"ativado", 1}, ["off"] = {"desativado", 0}, } if _table[param:lower()] then local mode = _table[param:lower()] setPlayerStorageValue(cid, 91821, mode[2]) doPlayerSendTextMessage(cid, 27, msg:format(mode[1])) end return true end data/creaturescripts/scripts --[[ Tags: <event type="statschange" name="PvPStats" event="script" value="nome do arquivo.lua"/> <event type="target" name="PvPTarget" event="script" value="nome do arquivo.lua"/> <event type="login" name="PvPLogin" event="script" value="nome do arquivo.lua"/> ]]-- function onTarget(cid, target) if isPlayer(target) and isPlayer(cid) then if getPlayerStorageValue(cid, 91821) < 1 then doPlayerSendCancel(cid, "Você está com o modo PvP desligado. Se quiser atacar outros jogadores, ative-o.") return false end end return true end function onStatsChange(cid, attacker, type, combat, value) if isPlayer(cid) and isPlayer(attacker) and type == STATSCHANGE_HEALTHLOSS then if getPlayerStorageValue(attacker, 91821) < 1 then doPlayerSendCancel(attacker, "Você está com o modo PvP desligado. Se quiser atacar outros jogadores, ative-o.") return false end end return true end function onLogin(cid) registerCreatureEvent(cid, "PvPTarget") registerCreatureEvent(cid, "PvPStats") return true end
  15. zipter98

    Item aleatorio

    Como você não especificou a quantidade dos items aleatórios, coloquei 1 mesmo. Bem, suponho que você saiba fazer o XML. Qualquer erro, só avisar. 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 trophy = { ["golden"] = {3, 7369}, --{Quantidade de items aleatórios, ID do troféu}, ["silver"] = {2, 7370}, ["bronze"] = {1, 7371}, } local items = {2158, 2156, 2154} if msgcontains(msg, "trophy") or msgcontains(msg, "trofeu") then selfSay("Oh, vejo que você quer trocar algum troféu por recompensas. Qual troféu seria este: {golden}, {silver} ou {bronze}?", cid) talkState[talkUser] = 1 return true elseif talkState[talkUser] == 1 then if trophy[msg:lower()] then local trofeu = trophy[msg:lower()] local id = trofeu[2] if getPlayerItemCount(cid, id) > 0 then for i = 1, trofeu[1] do doPlayerAddItem(cid, items[math.random(#items)], 1) end doPlayerRemoveItem(cid, id, 1) selfSay("Obrigado, aqui estão seus items!", cid) talkState[talkUser] = 0 return true else selfSay("Desculpe, mas você não tem este troféu.", cid) talkState[talkUser] = 0 return true end else selfSay("Desculpe, este troféu não existe.", cid) talkState[talkUser] = 0 return true end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
  16. zipter98

    Yalahar Quest

    Tópico movido para a seção de dúvidas e pedidos resolvidos.
  17. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  18. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  19. @mateus900 Por favor, evite comentários como "vou testar e já volto", por exemplo. Opte por só responder após já ter testado o(s) código(s), para então relatar se está ou não funcionando.
  20. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  21. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  22. Reputei o Garou (ainda prefiro Oneshot ) por você. Sanado, movido.
  • Quem Está Navegando   0 membros estão online

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