Ir para conteúdo

psychonaut

Membro
  • Registro em

  • Última visita

Tudo que psychonaut postou

  1. Beleza, a começar pelo quest log. A tag quests fecha por último: <?xml version="1.0" encoding="UTF-8"?> <quests> <quest name="Example Quest I" startstorageid="1001" startstoragevalue="1"> <mission name="Example Mission 1" storageid="1001" startvalue="1" endvalue="3"> <missionstate id="1" description="Example description 1"/> <missionstate id="2" description="Example description 2"/> <missionstate id="3" description="Example description 3"/> </mission> <mission name="Example Mission 2" storageid="1001" startvalue="4" endvalue="5"> <missionstate id="4" description="Example description 1"/> <missionstate id="5" description="Example description 2"/> </mission> </quest> <quest name="Tasks" startstorageid="76669" startstoragevalue="1"> <mission name="Task Dragoes" storageid="76669" startvalue="1" endvalue="4"> <missionstate id="1" description="Fale com o npc tal para aceitar a missao"/> <missionstate id="2" description="Mate 20 dragoes em tal montanha"/> <missionstate id="3" description="Volte ao npc tal para receber sua recompensa"/> <missionstate id="3" description="Voce ja fez a task dos dragoes"/> </mission> </quest> </quests> Bom, no login.lua o nome ta errado, mas vamos corrigir no creaturescripts.xml: <event type="kill" name="MonsterKill" script="monsterkill.lua"/> Bem, e o NPC ta sem dialogo inicial: <?xml version="1.0" encoding="UTF-8"?><npc name="Adam" script="task1.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100" /> <look type="132" head="115" body="0" legs="114" feet="0" addons="3" corpse="2212"/> <parameters> <parameter key="message_greet" value="Oi, você pode me ajudar? Se puder, me avise que eu lhe falo sobre a {missao}. "/> </parameters> </npc> Pra mudar esse {missao}, que é a mensagem em azul, mude essa linha: elseif msgcontains(msg, "missao") then No script do npc Qualquer erro ou mal funcionamento é só postar.
  2. É que tinha bugado, eu ja tinha respondido, vou fazer a resposta denovo aqui. Script do npc: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} local quest = 76669 --storage local reward = 70000 local recompensa = 2160 -- id da recompensa local recompensaqtd = 1 -- quantidade de itens que vai ganhar local xpganha = 20000 -- xp q o jogador vai ganha 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) local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if(not npcHandler:isFocused(cid)) then return false elseif msgcontains(msg, "yes") and talkState[talkUser] == 1 then npcHandler:say("Ótimo! Vou recompensar você bem, {ok}?.", cid) talkState[talkUser] = 2 elseif msgcontains(msg, "ok") and talkState[talkUser] == 2 then npcHandler:say("Okay, vamos!", cid) setPlayerStorageValue(cid, quest, 2) talkState[talkUser] = 0 elseif msgcontains(msg, "missao") then local str = getPlayerStorageValue(cid, quest) if(str < 2) then npcHandler:say("Eu preciso de você. Pode matar 20 dragoes pra mim?", cid) talkState[talkUser] = 1 return true elseif(str == 2) then npcHandler:say("Por favor volte para uma recompensa.", cid) elseif(str == 3) then npcHandler:say("20 dragões, já? Você é realmente um matador de dragões! Como o prometido, ta aqui sua recompensa.", cid) doPlayerAddItem(cid, recompensa, recompensaqtd) doPlayerAddExp(cid, xpganha) setPlayerStorageValue(cid, quest, 4) elseif(str == 4) then npcHandler:say("Você ja me ajudou!", cid) end talkState[talkUser] = 0 end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) data/creaturescripts/scripts monsterkill.lua local monsters = { --nome = storage ["dragon"] = 55004, ["dragon lord"] = 55004 } function onKill(cid, target) local monster = monsters[getCreatureName(target):lower()] if(isPlayer(target) == FALSE and monster and getPlayerStorageValue(cid, 76669) == 2) then if getPlayerStorageValue(cid, monster) < 20 then local killedMonsters = getPlayerStorageValue(cid, monster) if(killedMonsters == -1) then killedMonsters = 1 end setPlayerStorageValue(cid, monster, killedMonsters + 1) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce matou " .. killedMonsters .. " de 20 dragões.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você matou dragões suficientes.") setPlayerStorageValue(cid, 76669, 3) end end return TRUE end creaturescripts.xml <event type="kill" name="monsterkill" script="monsterkill.lua"/> Registra o evento monsterkill no login.lua na pasta creaturescripts/scripts ou creaturescripts/scripts/data vai ter vários eventos é só copiar o molde de um e trocar o nome. data/xml/quests.xml <quest name="Tasks" startstorageid="76669" startstoragevalue="1"> <mission name="Task Dragoes" storageid="76669" startvalue="1" endvalue="4"> <missionstate id="1" description="Fale com o npc tal para aceitar a missao"/> <missionstate id="2" description="Mate 20 dragoes em tal montanha"/> <missionstate id="3" description="Volte ao npc tal para receber sua recompensa"/> <missionstate id="3" description="Voce ja fez a task dos dragoes"/> </mission> </quest>
  3. Seleciona o botão que põe PZ, segura CTRL e clica pra remover.
  4. psychonaut postou uma resposta no tópico em Suporte & Pedidos
    Opa, é o primeiro mapa sim, que eu resolvo deixar arrumado, tem bastante coisa porquê eu tava explorando as paletas acho que por isso certas coisas ficaram exageradas.
  5. Entra na conta do pagseguro, Integrações, Pagamentos via api e desabilita "Quero receber somente pagamentos via API", aperta sim na caixa e pronto. Se é que é disso que você ta falando.
  6. File > preferences > desabilita o "open all maps in the same instance" Depois é só importar, mesma versão.
  7. poe, muda de varchar pra INT e executa
  8. Acessa http://127.0.0.1/phpmyadmin no navegador, faz login com sua senha do mysql seleciona o banco do ot, seleciona a tabela houses, clica em estrutura, "executar", coloca o nome town_id e cria
  9. psychonaut postou uma resposta no tópico em Suporte & Pedidos
    Vlw. Vou dar uma olhada, tem até um tile bugado ali.
  10. Não sei se to certo, mas posta sua weapons.xml aqui
  11. Vai no banco de dados, tabela houses e cria um campo chamado "town_id" int.
  12. Vê se tu abriu as portas certas, 7171 e 7172 no roteador e no firewall, e lembra que você tem que entrar usando o ip 127.0.0.1 ou localhost na maioria das vezes.
  13. psychonaut postou uma resposta no tópico em Suporte & Pedidos
    Não sei o que diabos coloco no titulo, nem se é aqui que eu posto. Bem, só queria notas, dicas, e se possível uma justificativa na nota, é o meu primeiro mapa, achei a screen perdida por aí. É, da pra ver que o meu negocio mesmo é fazer script. http://i.imgur.com/e468pMG.jpg
  14. psychonaut postou uma resposta no tópico em Suporte Tibia OTServer
    Instala ele no C:
  15. O amigo ali mandou uma assim, eu achava que era toda vez a mesma mensagem
  16. local config = { --[vocation id] = { {lvl inicial, lvl maximo}, looktype, efeito} [1] = { --Naruto {lvl = {25, 49}, look = 66, eff = 208}, {lvl = {50, 74}, look = 91, eff = 208}, {lvl = {75, 99}, look = 18, eff = 208}, {lvl = {100, 124}, look = 31, eff = 208}, {lvl = {125, 149}, look = 92, eff = 208}, {lvl = {150, 174}, look = 40, eff = 208}, {lvl = {175, 199}, look = 49, eff = 208}, {lvl = {200, 224}, look = 25, eff = 208}, {lvl = {225, 249}, look = 179, eff = 208}, {lvl = {250, 274}, look = 31, eff = 208}, {lvl = {275, 299}, look = 291, eff = 208}, {lvl = {300, 324}, look = 302, eff = 208}, {lvl = {325, 374}, look = 54, eff = 208}, {lvl = {375, 399}, look = 743, eff = 208}, {lvl = {400, 449}, look = 1000, eff = 208}, {lvl = {450, 499}, look = 1001, eff = 208}, }, } function onSay(cid, words, param, channel) local waittime = 10 -- Tempo de exhaustion local storage = 5812 local from,to = {x=1001, y=705, z=7},{x=1031, y=737, z=7} -- começo e final do mapa local from2,to2 = {x=1011, y=705, z=6},{x=1031, y=738, z=6} -- começo e final do mapa local from3,to3 = {x=1012, y=706, z=5},{x=1032, y=739, z=5} -- começo e final do mapa local from4,to4 = {x=985, y=598, z=7},{x=1044, y=652, z=7} -- começo e final do mapa local from5,to5 = {x=986, y=615, z=6},{x=1039, y=647, z=7} -- começo e final do mapa local from6,to6 = {x=990, y=616, z=5},{x=1040, y=647, z=5} -- começo e final do mapa if isInRange(getCreaturePosition(cid), from, to) or isInRange(getCreaturePosition(cid), from2, to2) or isInRange(getCreaturePosition(cid), from3, to3) or isInRange(getCreaturePosition(cid), from4, to4) or isInRange(getCreaturePosition(cid), from5, to5) or isInRange(getCreaturePosition(cid), from6, to6) then doPlayerSendCancel(cid, "Você não pode se Transformar nesta área!") return true end if exhaustion.check(cid, storage) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "VOCE JA SE TRANSFORMOU, VOCE JA ESTA COM OUTFIT DA SUA ATUAL SAGA!") return false end doPlayerSay(cid, "transformar") local voc = config[getPlayerVocation(cid)] if voc then for i = 1, #voc do if getPlayerLevel(cid) >= voc[i].lvl[1] and getPlayerLevel(cid) <= voc[i].lvl[2] then doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Você Transformou!") doCreatureSay(cid, "Ghaaaaaa!", TALKTYPE_ORANGE_1) --aki exhaustion.set(cid, storage, waittime) local outfit = {lookType = voc[i].look} doCreatureChangeOutfit(cid, outfit) doSendMagicEffect(getCreaturePosition(cid), voc[i].eff) return true end end doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Você precisa de level 25 para usar sua primeira transformação e passar para a proxima saga!") else doPlayerSendCancel(cid, "Você não pode se Transformar!") end return true end
  17. psychonaut postou uma resposta no tópico em Suporte Tibia OTServer
    Não, pode baixar
  18. psychonaut postou uma resposta no tópico em Suporte Tibia OTServer
    Seu xampp parece antigo, reinstala com o do link que eu mandei no tutorial
  19. psychonaut postou uma resposta no tópico em Suporte Tibia OTServer
    Tu configurou o xampp mysql* admin com as senhas, e depois editou no config.lua?
  20. psychonaut postou uma resposta no tópico em Suporte Tibia OTServer
    Você ligou o mysql no xampp?
  21. psychonaut postou uma resposta no tópico em Suporte Tibia OTServer
    O mysql não ta online, olha meu tutorial http://www.tibiaking.com/forum/topic/59567-criando-um-site-para-seu-servidor-com-diferentes-sistemas/ Até a parte Importando Schema do servidor
  22. Acho que não, o linux é seu? Porquê pode ser que tenha que ligar pro provedor pra liberarem a porta 80.
  23. Você liberou a porta 80 no roteador e no firewall? Qualquer coisa tenta digitar isso no cmd netsh winsock reset catalog E depois: netsh int ip reset reset.log Reinicie o pc
  24. Sim, é só colocar no looktypes, o id masculino e o feminino. E as mounts é só aumentar o 47 se tiver mais.
  25. Substitui aquele script la que você criou, apaga tudo e coloca esse: local looktypes = { 128, 136, 129, 137, 130, 138, 131, 139, 132, 140, 133, 141, 134, 142, 143, 147, 144, 148, 145, 149, 146, 150, 151, 155, 152, 156, 153, 157, 154, 158, 251, 252, 268, 269, 273, 270, 278, 279, 289, 288, 325, 324, 335, 336, 366, 367, 328, 329, 430, 431, 432, 433, 463, 464, 465, 466, 471, 472, 512, 513, 514, 516, 541, 542, 574, 575, 577, 578 } local storage = 4545 function onLogin(cid) local player = Player(cid) if player:getStorageValue(storage) ~= 1 then for i = 1, #looktypes do player:addOutfitAddon(looktypes[i], 3) end for i = 1, 47 do player:addMount(i) end player:setStorageValue(storage, 1) end return true end

Informação Importante

Confirmação de Termo