Ir para conteúdo

Makhai Drakon

Membro
  • Registro em

  • Última visita

Tudo que Makhai Drakon postou

  1. @shadauer Eu criei um aqui mas ele não chega se o player está na posição e sim se ele tem um storage, então eu criei um movements que da e retira a storage as vantagens são que você poderacolocar em qualquer outro lugar do mapa em vez de apenas um local, o de remover o item ainda estou fazendo.. OBS: Eu não testei então não sei se está funcional, me de seu feedback e caso de erro mande o erro pra min! Eu adicionei uma parte caso queira tirar um item do player ex:vou fazer uma porta de madeira então gasto madeira Isso fica configuravem aqui: ["door"] = {2160, 2, 2161, 2}, ["door"] = {IDdaPorta, QuantidadeDePortas, IDdaMadeira, QuantidadeDeMadeiras}, OBS:Em QuantidadeDePortas deixe 1, apenas mude caso o item tiver stack(juntar mais de 1 EX:Gold) Eu deixei um comentário no script para que você entenda, mas se não souber editar alguma coisa me fale! data/talkactions/script/Creator.lua local itens = { --["param"] = {CreateID, CreateQuantidade, NeedID, NeedQuantidade, StorageNeed}, ["wall"] = {2160, 1, 2161, 1}, ["door"] = {2160, 2, 2161, 2}, ["window"] = {2160, 3, 2161, 3}, } function onSay(cid, words, param, channel) local pos = getCreaturePosition(cid) local itens = itens[string.lower(param)] if getPlayerStorageValue(cid, 767676) == 1 then if param == "" then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você precisa escolher um item!") return true end if param == "wall" or param == "door" or param == "window" then if doPlayerRemoveItem(cid, itens[3], itens[4]) doCreateItem(itens[1], itens[2], pos) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You create "..itens[2]..""..getItemNameById(itens[1]).."(s)") return true else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need "..itens[4]..""..getItemNameById(itens[3]).." to create it!") return true end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode criar este item!") return true end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não está no local correto!") return true end data/talkactions/talkactions.xml <talkaction event="script" words="!create;/create" value="Creator.lua"/> data/movements/script/Creator.lua function onStepIn(cid, item, position, fromPosition) if(isPlayer(cid)) then setPlayerStorageValue(cid, 767676, 1) end return true end function onStepOut(cid, item, position, fromPosition) if(isPlayer(cid)) then setPlayerStorageValue(cid, 767676, 1) end return true end data/movements/movements.xml Caso queira colocar em um tile especifico use este! <movevent type="StepIn" itemid="TileID" event="script" value="Creator.lua"/> <movevent type="StepOut" itemid="TileID" event="script" value="Creator.lua"/> Caso queira colocar uma actionid em um tile use este! (ACONSELHO ESTE) <movevent type="StepIn" actionid="767676" event="script" value="Creator.lua"/> <movevent type="StepOut" actionid="767676" event="script" value="Creator.lua"/>
  2. Makhai Drakon postou uma resposta no tópico em Suporte Tibia OTServer
    @Rafa3lL Posta o script do seu fishing
  3. @Leomonti Como eu não tenho server de tibia baixado poderia me disponibilizar o .lua da arrow e o id da spell do exori ? E também não entendi muito bem essa parte: Você fala no sqm que o monstro tava quando a arrow acertou ?
  4. @kmus1344 Testa ai por favor local condition = createConditionObject(CONDITION_DROWN) setConditionParam(condition, CONDITION_PARAM_PERIODICDAMAGE, -20) setConditionParam(condition, CONDITION_PARAM_TICKS, -1) setConditionParam(condition, CONDITION_PARAM_TICKINTERVAL, 2000) function StopDraw() doRemoveCondition(cid, condition) end function onStepIn(cid, item, position, fromPosition) if(isPlayer(cid)) then doAddCondition(cid, condition) addEvent(StopDraw, 2*60*1000) end return true end @kmus1344 Eu vi que fiz uma cagadinha ali kkk E primeiro script remove a condição de draw depois de 2 minutos mesmo o player não saindo do lugar. O segundo que vou te mandar agora só tira a condição de draw depois de 2 minutos depois do player sair do lugar. local condition = createConditionObject(CONDITION_DROWN) setConditionParam(condition, CONDITION_PARAM_PERIODICDAMAGE, -20) setConditionParam(condition, CONDITION_PARAM_TICKS, -1) setConditionParam(condition, CONDITION_PARAM_TICKINTERVAL, 2000) function onStepIn(cid, item, position, fromPosition) if(isPlayer(cid)) then doAddCondition(cid, condition) end return true end function StopDraw() doRemoveCondition(cid, condition) end function onStepOut(cid, item, position, fromPosition) addEvent(StopDraw, 2*60*1000) return true end
  5. Makhai Drakon postou uma resposta no tópico em Suporte Tibia OTServer
    @mostps Esse era o script do meu server, eu dei uma editada nele pra você, mas eu não testei! Captain.xml <?xml version="1.0" encoding="UTF-8"?> <npc name="Captain" script="Captain.lua" walkinterval="3000" floorchange="0" access="5" level="100" maglevel="1"> <health now="15" max="15"/> <look type="335" head="114" body="7" legs="7" feet="7" addons="2"/> <parameters> <parameter key="message_greet" value="Welcome |PLAYERNAME|, you want some {quest}?"/> </parameters> </npc> Captain.lua local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) 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 PArea(cid, message, keywords, parameters, node) if(not npcHandler:isFocused(cid)) then return false end local function backp() doTeleportThing(cid, parameters.exit) end if parameters.premium == false and not isPremium(cid) then npcHandler:say('Sorry, you need to be premium account!', cid) return true elseif doPlayerRemoveMoney(cid, parameters.price) == FALSE then npcHandler:say('Sorry, you dont have enought money!', cid) return true end doPlayerSendTextMessage(cid,22,'Good Luck!.') doTeleportThing(cid, parameters.enter) addEvent(backp, parameters.minutes*60*1000) npcHandler:resetNpc() return true end local node1 = keywordHandler:addKeyword({'quest'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Nessa {quest} possui monstros muito fortes você esta pronto para enfrenta-los?? Mais antes guarde suas pokebolas no DP....ah você so tem 60 minutos de tempo para realizar essa quest!!!!'}) node1:addChildKeyword({'yes'}, PArea, {premium = no, price = 0, enter = {x=1235, y=630, z=8}, exit = {x=1235, y=630, z=8}, minutes = 60}) node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Ok, then.', reset = true}) npcHandler:addModule(FocusModule:new())
  6. @Bohr Não entendi mano poderia me explicar melhor ?
  7. @rizen Esse e o script que uso no meu server mas eu editei ele pra vc, da uma testada ai! -- Script Editado por Ckfox local config = { --XXX Quest-- [40000] = { -- ActionID que ficara no objeto da quest (EX:Alavanca) posis = { {'play1', {x=223, y=405, z=7}}, -- Posição de onde o player deve ficar {'play2', {x=223, y=407, z=7}}, -- Posição de onde o player deve ficar {'play3', {x=223, y=409, z=7}}, -- Posição de onde o player deve ficar {'play4', {x=225, y=410, z=7}}, -- Posição de onde o player deve ficar }, toPosi = {x=225, y=407, z=8}, -- Posição de onde o player será teleportado lvl = 150, -- Level necessario para fazer a quest item = {2160, 1}, -- Item necessario para entrar area1 = {x = 483, y = 1132, z = 8}, -- Essa parta e a area que os players estarão area2 = {x = 560, y = 1208, z = 8}, -- Essa parta e a area que os players estarão }, } function onUse(cid, item, frompos, item2, topos) local area1 = config[item.actionid].area1 local area2 = config[item.actionid].area2 if #getPlayerInArea(area1, area2) > 0 then doPlayerSendTextMessage(cid, 20, "Tem um player na quest, espere sua vez!") return true end local posis = config[item.actionid].posis local toPosi = config[item.actionid].toPosi local lvl = config[item.actionid].lvl local itens = config[item.actionid].item for _, array in ipairs(posis) do local p = getRecorderPlayer(array[2]) if not isPlayer(p) ~= array[1] and getPlayerLevel(cid) <= lvl then doPlayerSendTextMessage(cid, 27, "Alguém está fora do lugar ou não tem level suficiente para entrar!") return true end if not doPlayerRemoveItem(p, itens[1], itens[2]) doPlayerSendTextMessage(cid, 27, "Você precisa de "..itens[2]..""..itens[1].."para entrar!") return true end end for _, array in ipairs(posis) do local p = getRecorderPlayer(array[2]) if isPlayer(p) then doTeleportThing(p, toPosi) doSendMagicEffect(getThingPos(p), 21) end end return true end <action actionid="40000" event="script" value="group_quests.lua"/> No area 1 e area 2 funciona assim: 1000000000000000000 0000000000000000000 0000000000000000000 0000000000000000000 0000000000000000000 0000000000000000000 0000000000000000002 1 = area1 2 = area2 Isso e como se fosse seu um pedaço do mapa onde fica a quest e onde os players estarão você pega o posição do 1 e a do 2
  8. Amigo, não entendi oque você deseja, explique melhor por favor! Também não sei qual língua você fala kkkk I didnt understand what you want, explain better please! I also dont know which language you speak kkkk
  9. Pelo que eu li no script não tem nada constando o group, então funciona para ambos Aconselho só mudar o selfsay da linha 34 falando para o player que ele ja fez a troca. local cfg = { need_item = {5785, 10}, reward_item = {13506, 1}, storage = 40531, } 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 msg = msg:lower() if msgcontains(msg, 'kefla') then if getPlayerStorageValue(cid, cfg.storage) < 1 then if doPlayerRemoveItem(cid, cfg.need_item[1], cfg.need_item[2]) then doPlayerAddItem(cid, cfg.reward_item[1], cfg.reward_item[2]) selfSay('You just swap '.. cfg.need_item[2] ..' '.. getItemNameById(cfg.need_item[1]) ..' for '.. cfg.reward_item[2] ..' '.. getItemNameById(cfg.reward_item[1]) ..'.', cid) setPlayerStorageValue(cid, cfg.storage, 1) else selfSay('You need '.. cfg.need_item[2] ..' '.. getItemNameById(cfg.need_item[1]) ..'.', cid) end else selfSay('You already did this exchange!', cid) end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
  10. @Understand Você desenha ele ou apenas pega o do unwon normal, o procedimento e o mesmo.
  11. @Pepeco Então mano, seu script mesmo estando bem simples já faz a função de uma mineração. Oque eu modificaria no script era seguinte: 1 - O Shop por alavanca não que seja ruim mas não e uma opção muito viável a se utilizar eu optaria por um npc. 2 - Com a retirado do shop não haveria mais necessidade de utilizar o arquivo na lib 3 - Colocar um delay modificando o item minerado ou adicionando uma storange de time: local delay_sto = 99999 local delay_time = 5 -- Segundos setPlayerStorageValue(cid, delay_sto, os.time() + (delay_time*1)) 4 - Isso e apenas uma opinião particular minha, essa parta da explicação SUA eu não compreendi muito bem da primeira vez que li Isso são apenas sugestões, fora isso o script está muito bom.
  12. Makhai Drakon postou uma resposta no tópico em Formação de Equipe
    @pablobion Foi mal man n tinha visto, minha intenção e fazer um survive saca ? Vai ter apenas uma capital, o resto do mapa e hunt e tals vai ter os lugar no meio do nada pra tu fzer sua house, na house tu pode colocar por exemplo um fogão la pra assar as carne e pah aushaush faze um churras. Vai demorar um pouquinho pq to solo.
  13. Makhai Drakon postou uma resposta no tópico em Formação de Equipe
    @Strung Toda ajuda e bem vinda. me mande mensagem pelo whats 62994562072 se não puder mande pm aqui no site
  14. Makhai Drakon postou uma resposta no tópico em Formação de Equipe
    @pablobion Que bom que gostou estarei esperando você jogar la em! Tópico editado de uma olhada !
  15. Makhai Drakon postou uma resposta no tópico em Formação de Equipe
    Obrigado pelo apoio Sir Andrey, aceito sim sua ajuda porem meu celular esta estragado não podendo mandar mensagens para números não salvos e também não quer salvar, caso puder me chama la 62 994562072
  16. Makhai Drakon postou uma resposta no tópico em Formação de Equipe
    Vlw pelo apoio mano, dei uma editada la, veja se pode entender o que queria
  17. Makhai Drakon postou uma resposta no tópico em Formação de Equipe
    --Por favor me digam se me apoião ou não! Isso e muito importante para mim !-- Mapa do tópico Resumo Inovações Introdução Vagas Objetivos Imagens Spoilers Atualizações Conclusão --Resumo-- Os players começarão com um livro de receitas básico que você fará apenas os itens necessários! Dentro do livro terá algumas receitas que se você possuir os materiais necessários para produzir a receita desejada você apenas precisa utiliza-la para criar o item! Com o tempo você vai evoluindo seu livro assim desbloqueando novas receitas. Cinza = Comum (Inicial) Azul = Incomum (Comprado) Amarelo = Raro (Vocation) Vermelho = Épico (Quest) Roxo = Lendário (???) OBS: Cada livro tem no mínimo 1 receita única! Estamos utilizando a versão 8.6 pois temos maior liberdade de modificações! O cliente será próprio pois terá diversos itens novos --Inovações-- Teremos diversos sistemas inovadores, mas que deixarei para descobrirem por si mesmos. Mas abaixo vou divulgando alguns para que desperte seus interesses em nosso servidor! House system O house system em nosso server terá um grande diferencial pois terá "terrenos" em diversas locais sorteados no meio do mapa pode ate mesmo ter um no meio de uma hunt e você mesmo construirá sua casa no espaço já delimitado! --Introdução-- Esta cansado desses serves padrões de poketibia, narutibia, dbo ou tibia ? Hoje venho trazer uma grande oportunidade/inovação para o mundo tibia ! Então hoje venho pedir uma ajuda da comunidade do tk ! Consigo fazer sprites e sistemas muito bons mas quero que a qualidade das sprites seja muito boas! Desenhar não e meu ponto forte, nem mesmo mapping, mas consigo me virar com o vago conhecimento que tenho nessa área! Por isto estou aqui pedindo a colaboração de vocês, para que nosso server seja o melhor possível! Que tal trazermos um mundo de sobrevivência ao tibia ? --Vagas-- Spriter -- Toda ajuda e bem vinda! Scripter -- Toda ajuda e bem vinda! WebDisigner -- Não sei se irei fazer site ainda! Mapper -- Toda ajuda e bem vinda! Programador -- Toda ajuda e bem vinda! Me viro em todas mas uma ajuda sempre e bem vinda! --Objetivos-- 1 Meu primeiro objetivo e fazer com que as pessoas saiam do automático e testem novas fronteiras no mundo tibia. 2 Criar sistemas com a melhor qualidade possível. 3 Trazer a felicidade as pessoas --Imagens-- OBS: tera muito mais ilhas! estas 3 são apenas uma demonstração do que ja foi feito o mesmo para os itens!!! To meio sem tempo agora mas quando possível disponibilizo mais imagens! --Spoilers-- --Atualizações-- 1.0 1.1 Para próxima atualização pretendo já ter feito a sprite e o script de todas receitas ! --Conclusão-- Então galera essa e minha ideia caso queiram ajudar ou dar sugestões e só comentar ai ! OBS: Não pretendo parar jamais com este projeto! Site provisório: http://rusttibia.webnode.com
  18. Cara eu vou fazer este sistema, mas e para 8.54 não garanto que todas as funções funcionem!
  19. Tão te zuando cara .-.
  20. em creaturescript/scripts/tp.lua adicione: local tpId = 1387 local tps = { ["Orshabaal"] = {pos = {x=761, y=57, z=7}, toPos = {x=767, y=52, z=7}, time = 30}, } function removeTp(tp) local t = getTileItemById(tp.pos, tpId) if t then doRemoveItem(t.uid, 1) doSendMagicEffect(tp.pos, CONST_ME_POFF) end end function onDeath(cid) local tp = tps[getCreatureName(cid)] if tp then doCreateTeleport(tpId, tp.toPos, tp.pos) doCreatureSay(cid, "O teleport irá sumir em "..tp.time.." segundos.", TALKTYPE_ORANGE_1) addEvent(removeTp, tp.time*1000, tp) end return TRUE end explicação: ["Orshabaal"] --------- Nome do monstro pos = {x=761, y=57, z=7} ----------- onde o Teleport irá abrir toPos = {x=767, y=52, z=7} ------- onde o teleport vai leva eles time = 30 ------------ tempo em segundos que o teleport ficará aberto em creaturescript/creaturescript.xml adicione: <event type="death" name="tp" event="script" value="tp.lua"/> no arquivo.xml do seu monstro adicione: <script> <event name="tp"/> </script> Creditos : TonyHalk
  21. Eu queria Um Script de global event que de reload em nc a cada 30 min e um que faça todos players deem !save a cada 1 min. E estou com um bug de npc que depois de um tempo começa a dar erros e não para no defautl.lua e npchandler.lua
  22. Verifica sua versão e também marque a caixa extended e de preferência deixe o nome dos arquivos de tíbia
  23. Tema: Pokemon Tamanho: 1600x800 Tipografia: Pokemon Holiday Agradeço desde já, abraços!

Informação Importante

Confirmação de Termo