Ir para conteúdo
Banner com Efeitos

Caronte

Membro
  • Registro em

  • Última visita

Tudo que Caronte postou

  1. Tem que ser azul? porque azul não é de messageClasses, ele é um TALKTYPE_PRIVATE_PN ou NP , então, tem que fazer o talktype virar messageClasses, o que é bem mais complicado...
  2. Qual seria sua distro? Você tem as suas source? Em algumas tem que adicionar o Talktype de npc à messageClasses
  3. 1- Hipocrisia se escreve com "H" 2- Vejo que está alterado, gostaria de ouvir o seu problema com o tópico, eu posso reavaliar o tópico para que possamos tirar uma solução, por favor, crie um tópico na seção de Atendimento Geral. Não há motivos para você se manifestar assim no tópico do nosso querido membro Bruno Minervino.
  4. Tente este: <!--?xml version="1.0" encoding="UTF-8"?--> <npc name="Joalheiro" script="data/npc/scripts/Sell/ring_repair.lua" walkinterval="2000" floorchange="0"/> <health now="100" max="100"/> <look type="128" head="40" body="37" legs="116" feet="95" addons="0"/> <parameters> <parameter key="message_greet" value="Just great, another ... 'customer'. Hello, |PLAYERNAME|. If you want to trade, let's get it over with."/> <parameter key="message_farewell" value="That's music in my ears."/> <parameter key="message_walkaway" value="Yeah, get lost."/> <parameter key="message_onsendtrade" value="Yeah, buy something."/> <parameter key="module_shop" value="1"/> </parameters> </npc> Estava faltando o / no final dos >
  5. Ok, assim que tiver tempo eu vejo...
  6. Vê se o /t desbuga... Seria bom você postar a tag XML dos scripts, ela pode estar dando o erro...
  7. Caronte postou uma resposta no tópico em Ferramentas OpenTibia
    Sim, eu já pensei nisso, vou tentar aprimorar aos poucos, antes eu tenho que começar a fazer o programa gerar arquivo, aí vou aprimorando e lançando updates... Não será somente quest maker, tenho planos de fazer coisas para facilitar a vida de desenvolvedores de otserver, como ilustrações de talktypes, efeitos gif e etc ... Estou tentando retomar um hub com o Snowsz, e vou anexar o Quest Maker ao hub, que terá outras funções como StepIn, StepOut... Sugestões são bem-vindas, que ele venha rápido.
  8. Tem que ver o que tem neles... Você alterou algo? Ou esse defeito veio com o servidor? Passe food.lua da pasta actions Passe o comando /t do seu servidor, ta na pasta talkaction/scripts
  9. Caronte postou uma resposta no tópico em Ferramentas OpenTibia
    Atualizado
  10. Caronte postou uma resposta no tópico em Ferramentas OpenTibia
    Preview do Quest Maker 1.0. Se tudo ocorrer de acordo com o planejado, será um TibiaKing Tool, no qual envolverá o Quest Maker, e outras funcionalidades
  11. Posta o items.xml
  12. O importar não serve? eu seleciono tudo arrastando o shitft, e uso ctrl para selecionar outro andar.
  13. Caronte postou uma resposta no tópico em Suporte Tibia OTServer
    Qual seria a borda 5120? Não tem na img... O ideal é você pegar exemplo das bordas já feitas, qualquer configuração que fuja do padrão, precisa ser feita nas source do rme.
  14. Opa, erro meu. Substitua o seu Crystal.lua do creaturescripts/scripts function onKill(cid, target, lastHit) if not (isMonster(target) and getCreatureName(target) == "Crystal") then return true end ------------------ Inicio das config ------------ local castle_one_name = "Castle24h" -- Nome do castelo 1 local storages = {154154,54321,123123} -- Storages ( se vc eh iniciante, deixe como está ...) local monster_name = "Crystal" local monster_pos = {x = 100, y = 130, z = 7} -------PREMIOs I N D I V I D U A L --------- local premio_por_vezes = 1 -- Premio por vezes de conquista de castelo. (1) = Ativo (0) = Desativa. local premio_vezes = 15 -- Caso ativo, a quantidade de conquista que o player tem, para ganhar PREMIO. local premio = 5468 -- ID do Premio local premio_cont = 1 -- Quantidade do Premio local premio_reset = 1 -- Resetar o contador do premio depois que atingir a meta?? (1) = SIM (0) = NAO -------FIM PREMIOs I N D I V I D U A L --------- ----------------- FIM DAS CONFIG ----------------- local sto_ativ = getGlobalStorageValue(storages[2]) position = getCreaturePosition(cid) if isPlayerGuild(cid) == TRUE then if sto_ativ == 1 or sto_ativ == -1 then guildname = getPlayerGuildName(cid) guild = getPlayerGuildId(cid) guild_sto = getGlobalStorageValue(storages[3]) if guild ~= guild_sto then setPlayerStorageValue(cid,guild_sto,guild) if getPlayerStorageValue(cid,storages[1]) == -1 then setPlayerStorageValue(cid,storages[1],0) end sto_vezes = getPlayerStorageValue(cid,storages[1]) setGlobalStorageValue(storages[3],getPlayerGuildId(cid)) setPlayerStorageValue(cid,storages[1], sto_vezes + 1) sto_vezes_total = getPlayerStorageValue(cid,storages[1]) doBroadcastMessage("O(a) "..getCreatureName(cid).." acabou de conquistar o castelo "..castle_one_name.." para a guild \""..guildname.."\" pela "..sto_vezes_total.."ª vez(s).", 22) doSendMagicEffect(position, 39) if premio_por_vezes == 1 then if getPlayerStorageValue(cid,storages[1]) == premio_vezes then if getItemWeightById(premio,1) <= getPlayerFreeCap(cid) then doBroadcastMessage("O "..getCreatureName(cid).." ganhou uma(o) "..getItemNameById(premio).." como recompensa das suas "..premio_vezes.." conquistas!", 21) doPlayerAddItem(cid, premio,premio_cont) doPlayerSendTextMessage(cid, 18, "Voce recebeu o(a) "..getItemNameById(premio).." como recompensa das suas "..premio_vezes.." conquistas!") ----------------------------------------------- -- if premio_reset == 1 then -- setPlayerStorageValue(cid,storages[1],0) -- Resetar a contagem end -- ----------------------------------------------- -- else doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para ganhar o item. Vamos verificar novamente em 10 segundos!") addEvent(additem,10000,cid,premio,premio_cont,premio_reset) end end end else doPlayerSendCancel(cid,"Este castelo ja foi conquistado pela sua guild!") doSendMagicEffect(position, 2) end else doPlayerSendCancel(cid,"O sistema está desativado") end else doPlayerSendCancel(cid,"É nescessario ter guild para dominar o castelo!") doSendMagicEffect(position, 2) end return addEvent( function() doCreateMonster(monster_name, monster_pos) end, 10) end ------------------------- por pc98 function additem(cid,premio,premio_cont,premio_reset) if getItemWeightById(premio,1) <= getPlayerFreeCap(cid) then doPlayerAddItem(cid, premio,premio_cont) doPlayerSendTextMessage(cid, 18, "Voce recebeu o(a) "..getItemNameById(premio).." como recompensa das suas "..premio_vezes.." conquistas!") if premio_reset == 1 then setPlayerStorageValue(cid,storages[1],0) end stopEvent(additem) else doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para ganhar o item. Verificando novamente em 10 segundos!") addEvent(additem,10000,cid) end end ------------------------- por pc98 function isPlayerGuild(cid) if getPlayerGuildName(cid) ~= "" then return TRUE else return FALSE end end Eu não coloquei pros players da guild dominante não poder atacar... se não tiver, eles podem burlar, matando o bicho quando ele tiver pouca vida, aí vai renovar a vida, e eles vão poder monopolizar... Pera aí...
  15. Tenta esse: 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 local choose = {} local cancel = {} local available = {} function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_PRIVATE and 0 or cid if(msgcontains(msg, "info")) then selfSay("Olá "..getCreatureName(cid)..", Você quer trocar de vocação, digite o nome da sua proxima vocação. Naruto, Sasuke, Kisame, Neji, Nagato, Shikamaru, Hinata, Chouji, Obito, Kakashi, Jiraya, Rock Lee, Gaara, Anbu, Konan, killer bee, Kiba, Kimimaro, Shino, Sakura, Kabuto, Temari, Kakuzo, Hidan, Tenten, Kankuro Sai.", cid) talkState[talkUser] = 1 elseif msgcontains(msg, "naruto") or msgcontains(msg, "naruto") and talk_state == 1 then doPlayerSetVocation(cid, 1) selfSay("Parabéns, você virou um naruto", cid) doTeleportThing(cid, {x = 1020, y = 910, z = 4}) elseif msgcontains(msg, "sasuke") or msgcontains(msg, "sasuke") and talk_state == 1 then doPlayerSetVocation(cid, 10) selfSay("Parabéns, você virou um sasuke", cid) doTeleportThing(cid, {x = 1020, y = 910, z = 4}) elseif msgcontains(msg, "Kisame") or msgcontains(msg, "kisame") and talk_state == 1 then doPlayerSetVocation(cid, 40) selfSay("Parabéns, você virou um Kisame", cid) doTeleportThing(cid, {x = 1020, y = 910, z = 4}) elseif msgcontains(msg, "neji") or msgcontains(msg, "neji") and talk_state == 1 then doPlayerSetVocation(cid, 60) selfSay("Parabéns, você virou um neji", cid) doTeleportThing(cid, {x = 1020, y = 910, z = 4}) elseif msgcontains(msg, "nagato") or msgcontains(msg, "nagato") and talk_state == 1 then doPlayerSetVocation(cid, 70) selfSay("Parabéns, você virou um nagato", cid) doTeleportThing(cid, {x = 1020, y = 910, z = 4}) elseif msgcontains(msg, "shikamaru") or msgcontains(msg, "shikamaru") and talk_state == 1 then doPlayerSetVocation(cid, 80) selfSay("Parabéns, você virou um shikamaru", cid) doTeleportThing(cid, {x = 1020, y = 910, z = 4}) elseif msgcontains(msg, "hinata") or msgcontains(msg, "hinata") and talk_state == 1 then doPlayerSetVocation(cid, 90) selfSay("Parabéns, você virou um hinata", cid) doTeleportThing(cid, {x = 1020, y = 910, z = 4}) elseif msgcontains(msg, "chouji") or msgcontains(msg, "chouji") and talk_state == 1 then doPlayerSetVocation(cid, 100) selfSay("Parabéns, você virou um chouji", cid) doTeleportThing(cid, {x = 1020, y = 910, z = 4}) elseif msgcontains(msg, "obito") or msgcontains(msg, "obito") and talk_state == 1 then doPlayerSetVocation(cid, 110) selfSay("Parabéns, você virou um obito", cid) doTeleportThing(cid, {x = 1020, y = 910, z = 4}) elseif msgcontains(msg, "kakashi") or msgcontains(msg, "kakashi") and talk_state == 1 then doPlayerSetVocation(cid, 130) selfSay("Parabéns, você virou um kakashi", cid) doTeleportThing(cid, {x = 1020, y = 910, z = 4}) elseif msgcontains(msg, "jiraya") or msgcontains(msg, "jiraya") and talk_state == 1 then doPlayerSetVocation(cid, 140) selfSay("Parabéns, você virou um jiraya", cid) doTeleportThing(cid, {x = 1020, y = 910, z = 4}) elseif msgcontains(msg, "rock lee") or msgcontains(msg, "rock lee") and talk_state == 1 then doPlayerSetVocation(cid, 200) selfSay("Parabéns, você virou um rock lee", cid) doTeleportThing(cid, {x = 1020, y = 910, z = 4}) elseif msgcontains(msg, "gaara") or msgcontains(msg, "gaara") and talk_state == 1 then doPlayerSetVocation(cid, 210) selfSay("Parabéns, você virou um gaara", cid) doTeleportThing(cid, {x = 1020, y = 910, z = 4}) elseif msgcontains(msg, "anbu") or msgcontains(msg, "anbu") and talk_state == 1 then doPlayerSetVocation(cid, 220) selfSay("Parabéns, você virou um anbu", cid) doTeleportThing(cid, {x = 1020, y = 910, z = 4}) elseif msgcontains(msg, "konan") or msgcontains(msg, "konan") and talk_state == 1 then doPlayerSetVocation(cid, 230) selfSay("Parabéns, você virou um konan", cid) doTeleportThing(cid, {x = 1020, y = 910, z = 4}) elseif msgcontains(msg, "killer bee") or msgcontains(msg, "killer bee") and talk_state == 1 then doPlayerSetVocation(cid, 240) selfSay("Parabéns, você virou um killer bee", cid) doTeleportThing(cid, {x = 1020, y = 910, z = 4}) elseif msgcontains(msg, "kiba") or msgcontains(msg, "kiba") and talk_state == 1 then doPlayerSetVocation(cid, 250) selfSay("Parabéns, você virou um kiba", cid) doTeleportThing(cid, {x = 1020, y = 910, z = 4}) elseif msgcontains(msg, "kimimaro") or msgcontains(msg, "kimimaro") and talk_state == 1 then doPlayerSetVocation(cid, 260) selfSay("Parabéns, você virou um kimimaru", cid) doTeleportThing(cid, {x = 1020, y = 910, z = 4}) elseif msgcontains(msg, "shino") or msgcontains(msg, "shino") and talk_state == 1 then doPlayerSetVocation(cid, 270) selfSay("Parabéns, você virou um shino", cid) doTeleportThing(cid, {x = 1020, y = 910, z = 4}) elseif msgcontains(msg, "sakura") or msgcontains(msg, "sakura") and talk_state == 1 then doPlayerSetVocation(cid, 280) selfSay("Parabéns, você virou um sakura", cid) doTeleportThing(cid, {x = 1020, y = 910, z = 4}) elseif msgcontains(msg, "kabuto") or msgcontains(msg, "kabuto") and talk_state == 1 then doPlayerSetVocation(cid, 290) selfSay("Parabéns, você virou um kabuto", cid) doTeleportThing(cid, {x = 1020, y = 910, z = 4}) elseif msgcontains(msg, "temari") or msgcontains(msg, "temari") and talk_state == 1 then doPlayerSetVocation(cid, 300) selfSay("Parabéns, você virou um temari", cid) doTeleportThing(cid, {x = 1020, y = 910, z = 4}) elseif msgcontains(msg, "kakuzo") or msgcontains(msg, "kakuzo") and talk_state == 1 then doPlayerSetVocation(cid, 310) selfSay("Parabéns, você virou um kakuzo", cid) doTeleportThing(cid, {x = 1020, y = 910, z = 4}) elseif msgcontains(msg, "hidan") or msgcontains(msg, "hidan") and talk_state == 1 then doPlayerSetVocation(cid, 330) selfSay("Parabéns, você virou um hidan", cid) doTeleportThing(cid, {x = 1020, y = 910, z = 4}) elseif msgcontains(msg, "tenten") or msgcontains(msg, "tenten") and talk_state == 1 then doPlayerSetVocation(cid, 350) selfSay("Parabéns, você virou um tenten", cid) doTeleportThing(cid, {x = 1020, y = 910, z = 4}) elseif msgcontains(msg, "kankuro") or msgcontains(msg, "kankuro") and talk_state == 1 then doPlayerSetVocation(cid, 360) selfSay("Parabéns, você virou um kankuro", cid) doTeleportThing(cid, {x = 1020, y = 910, z = 4}) elseif msgcontains(msg, "Sai") or msgcontains(msg, "Sai") and talk_state == 1 then doPlayerSetVocation(cid, 370) selfSay("Parabéns, você virou um Sai", cid) doTeleportThing(cid, {x = 1020, y = 910, z = 4}) elseif(msgcontains(msg, "bye") or msgcontains(msg, "goodbye") or msgcontains(msg, "cya")) then selfSay("cya!", cid, TRUE) closeShopWindow(cid) removeFocus(cid) end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
  16. Acho melhor criar outro tópico, para explicar tudo que vai ter no script.
  17. Caronte postou uma resposta no tópico em Ferramentas OpenTibia
    Obrigado, pretendo melhorar ainda esse quest maker. Em falar nisso. vou fazer mais elaborado, com funções além de quest maker, e bem simples de usar. Esboço da aparência do update:
  18. Simultaneamente ou com hora marcada? O script é o mesmo do tópico, né?
  19. Bom, alterei aqui o script, veja se lhe serve: No lugar da alavanca você cria um monstro com nome Crystal. Eu criei um exemplo aqui, você altera as coisas ao seu bel prazer: <?xml version="1.0" encoding="UTF-8"?> <monster name="Crystal" nameDescription="the crystal is the heart of the castle." race="undead" experience="200" speed="0" manacost="600"> <health now="240" max="240"/> <look typeex="8634" corpse="0"/> <targetchange interval="5000" chance="8"/> <strategy attack="100" defense="0"/> <flags> <flag summonable="0"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="1"/> <flag convinceable="0"/> <flag pushable="0"/> <flag canpushitems="1"/> <flag canpushcreatures="1"/> <flag targetdistance="1"/> <flag staticattack="90"/> <flag runonhealth="0"/> </flags> <attacks> <attack name="melee" interval="2000" skill="30" attack="70"/> </attacks> <defenses armor="20" defense="22"> <defense name="healing" interval="1000" chance="17" min="30" max="50"> <attribute key="areaEffect" value="blueshimmer"/> </defense> <defense name="speed" interval="1000" chance="10" speedchange="300" duration="3000"> <attribute key="areaEffect" value="redshimmer"/> </defense> </defenses> <elements> <element holyPercent="50"/> <element deathPercent="50"/> <element physicalPercent="-15"/> </elements> <immunities> <immunity invisible="1"/> </immunities> <voices interval="5000" chance="10"> <voice sentence="Repent Heretic!"/> <voice sentence="A prayer to the almighty one!"/> <voice sentence="I will punish the sinners!"/> </voices> <loot> <item id="2148" countmax="20" chance="24000"/><!-- gold coin --> <item id="2689" chance="20000"/><!-- bread --> <item id="1949" chance="18000"/><!-- scroll --> <item id="2044" chance="12000"/><!-- lamp --> <item id="2015" chance="6666"/><!-- brown flask --> <item id="2642" chance="6666"/><!-- sandals --> <item id="2467" chance="4000"/><!-- leather armor --> <item id="2401" chance="20000"/><!-- staff --> <item id="1987" chance="100000"><!-- bag --> <inside> <item id="2177" chance="3000"/><!-- life crystal --> <item id="2193" chance="1500"/><!-- ankh --> <item id="2166" chance="700"/><!-- power ring --> </inside> </item> </loot> </monster> Agora, vai em creaturescripts/scripts e adicione Crystal.lua function onKill(cid, target, lastHit) if not (isMonster(target) and getCreatureName(target) == "Crystal") then return print("Erro") end ------------------ Inicio das config ------------ local castle_one_name = "Castle24h" -- Nome do castelo 1 local storages = {154154,54321,123123} -- Storages ( se vc eh iniciante, deixe como está ...) local monster_name = "Crystal" local monster_pos = {x = 100, y = 130, z = 7} -------PREMIOs I N D I V I D U A L --------- local premio_por_vezes = 1 -- Premio por vezes de conquista de castelo. (1) = Ativo (0) = Desativa. local premio_vezes = 15 -- Caso ativo, a quantidade de conquista que o player tem, para ganhar PREMIO. local premio = 5468 -- ID do Premio local premio_cont = 1 -- Quantidade do Premio local premio_reset = 1 -- Resetar o contador do premio depois que atingir a meta?? (1) = SIM (0) = NAO -------FIM PREMIOs I N D I V I D U A L --------- ----------------- FIM DAS CONFIG ----------------- local sto_ativ = getGlobalStorageValue(storages[2]) position = getCreaturePosition(cid) if isPlayerGuild(cid) == TRUE then if sto_ativ == 1 or sto_ativ == -1 then guildname = getPlayerGuildName(cid) guild = getPlayerGuildId(cid) guild_sto = getGlobalStorageValue(storages[3]) if guild ~= guild_sto then setPlayerStorageValue(cid,guild_sto,guild) if getPlayerStorageValue(cid,storages[1]) == -1 then setPlayerStorageValue(cid,storages[1],0) end sto_vezes = getPlayerStorageValue(cid,storages[1]) setGlobalStorageValue(storages[3],getPlayerGuildId(cid)) setPlayerStorageValue(cid,storages[1], sto_vezes + 1) sto_vezes_total = getPlayerStorageValue(cid,storages[1]) doBroadcastMessage("O(a) "..getCreatureName(cid).." acabou de conquistar o castelo "..castle_one_name.." para a guild \""..guildname.."\" pela "..sto_vezes_total.."ª vez(s).", 22) doSendMagicEffect(position, 39) if premio_por_vezes == 1 then if getPlayerStorageValue(cid,storages[1]) == premio_vezes then if getItemWeightById(premio,1) <= getPlayerFreeCap(cid) then doBroadcastMessage("O "..getCreatureName(cid).." ganhou uma(o) "..getItemNameById(premio).." como recompensa das suas "..premio_vezes.." conquistas!", 21) doPlayerAddItem(cid, premio,premio_cont) doPlayerSendTextMessage(cid, 18, "Voce recebeu o(a) "..getItemNameById(premio).." como recompensa das suas "..premio_vezes.." conquistas!") ----------------------------------------------- -- if premio_reset == 1 then -- setPlayerStorageValue(cid,storages[1],0) -- Resetar a contagem end -- ----------------------------------------------- -- else doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para ganhar o item. Vamos verificar novamente em 10 segundos!") addEvent(additem,10000,cid,premio,premio_cont,premio_reset) end end end else doPlayerSendCancel(cid,"Este castelo ja foi conquistado pela sua guild!") doSendMagicEffect(position, 2) addEvent( function() doCreateMonster(monster_name, monster_pos) end, 10) end else doPlayerSendCancel(cid,"O sistema está desativado") addEvent( function() doCreateMonster(monster_name, monster_pos) end, 10) end else doPlayerSendCancel(cid,"É nescessario ter guild para dominar o castelo!") doSendMagicEffect(position, 2) addEvent( function() doCreateMonster(monster_name, monster_pos, true, true) end, 10) return true end end ------------------------- por pc98 function additem(cid,premio,premio_cont,premio_reset) if getItemWeightById(premio,1) <= getPlayerFreeCap(cid) then doPlayerAddItem(cid, premio,premio_cont) doPlayerSendTextMessage(cid, 18, "Voce recebeu o(a) "..getItemNameById(premio).." como recompensa das suas "..premio_vezes.." conquistas!") if premio_reset == 1 then setPlayerStorageValue(cid,storages[1],0) end stopEvent(additem) else doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para ganhar o item. Verificando novamente em 10 segundos!") addEvent(additem,10000,cid) end end ------------------------- por pc98 function isPlayerGuild(cid) if getPlayerGuildName(cid) ~= "" then return TRUE else return FALSE end end OBS: Tem 2 variáveis para você editar no script. local monster_name = "Crystal" local monster_pos = {x = 100, y = 130, z = 7} monster_name você só muda se mudar o nome do monstro. adicione isso no creaturescripts.xml <event type="kill" name="crystal" event="script" value="Xcripts/crystal.lua"/> e adicione isso antes do último return true no login.lua, na pasta creaturescripts/scripts registerCreatureEvent(cid, "crystal")
  20. Caronte postou uma resposta no tópico em Ferramentas OpenTibia
    Ok, obrigado pelo feedback! Vou estar vendo uma forma de colocar ele bem mais explicativo, e como uma janela de windows mesmo, que não seja o cmd e com text box.
  21. Você diria um espaço aleatório para o monstro nascer? O resto é igual ao script?
  22. Caronte postou uma resposta no tópico em Ferramentas OpenTibia
    Olá pessoal, criei um quest maker e quero compartilhar com vocês, para opiniões e avaliações. O programa está em versão beta, não fiz para ficar bonitinho, fiz para praticar, e depois, fazer um bonitinho. previsão da versão 1.0: [bETA] Quest Maker - By Caronte Como funciona? Ele pede 3 coisas, que precisam ser respondidas de acordo com suas funções. ao terminar de fazer as 3 perguntas, ele gera um arquivo.lua na pasta onde se encontra, prontinho para colocar como uma quest. Exemplo: Exemplo com storage: function onUse(cid, item, frompos, itemex, topos) if getPlayerStorageValue(cid,1234) == -1 then doPlayerAddItem(cid, 2160, 10) doPlayerSetStorageValue(cid, 1234, 1) else doSendMagicEffect(frompos, CONST_ME_POFF) doPlayerSendCancel(cid, 'The chest is empty.') end return true end Exemplo sem storage: function onUse(cid, item, frompos, itemex, topos) doPlayerAddItem(cid, 2160, 10) return true end Código fonte: Bom pessoal, é um código super simples, mas para mim, já ajuda um pouco...
  23. Não tenho paciência nem de chegar no level 200, imagina no 999... o cara gastaria 2 anos jogando tibia direto.... Bem interessante o concurso é uma boa hora para um roleplayer mostrar suas habilidades!

Informação Importante

Confirmação de Termo