Ir para conteúdo

Sivermisty

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    Sivermisty deu reputação a luangop em Acesso boss diario + quest   
    Mano, uma dica que dou pra todo mundo que está aprendendo programação/script... aprenda usar identação. Ajuda muito hehe.
    movement:
     
    Creaturescript:
     
     
  2. Curtir
    Consegui resolver, quem tiver interesse eu só alterei o script de encantar spike sword, clerical mace etc...
    Ficou assim
    function onUse(cid, item, fromPosition, item2, toPosition) local gem = {8301, 8306, 8304} local old = {2463, 2647, 2457} local new = {{2466, 2487, 2492}, {2470, 2488, 2469}, {2471, 2491, 2506}} local type = item.type == 0 and 1 or item.type if isInArray(gem, item.itemid)== TRUE then for bb = 1, #gem do if item.itemid == gem[bb] then b = bb end end if isInArray(old, item2.itemid)== TRUE then for cc=1, #old do if item2.itemid == old[cc] then c=cc end end doTransformItem(item2.uid,new[c][b]) doSendMagicEffect(toPosition,36) doRemoveItem(item.uid,1) else doPlayerSendCancel(cid,"You can't enchanted this.") end else return 0 end return 1 end  
  3. Curtir
    Salve rapaziada, alguém que possa me ajudar ai? Já rodei em tudo da WEB e não consegui o que queria.
    Estou precisando de uma action que...
     
    Se o player usar o item 8301 no item 2463 então ele vai se transformar em 2466.
    Só que se o player usar o item 8304 no item 2463 então ele vai se transformar em uma 2492.

    Não sei se tem como fazer isso com o TFS 0.4, mas quem puder me ajudar agradaço com Rep+
  4. Obrigado
    Consegui resolver, quem tiver interesse eu só alterei o script de encantar spike sword, clerical mace etc...
    Ficou assim
    function onUse(cid, item, fromPosition, item2, toPosition) local gem = {8301, 8306, 8304} local old = {2463, 2647, 2457} local new = {{2466, 2487, 2492}, {2470, 2488, 2469}, {2471, 2491, 2506}} local type = item.type == 0 and 1 or item.type if isInArray(gem, item.itemid)== TRUE then for bb = 1, #gem do if item.itemid == gem[bb] then b = bb end end if isInArray(old, item2.itemid)== TRUE then for cc=1, #old do if item2.itemid == old[cc] then c=cc end end doTransformItem(item2.uid,new[c][b]) doSendMagicEffect(toPosition,36) doRemoveItem(item.uid,1) else doPlayerSendCancel(cid,"You can't enchanted this.") end else return 0 end return 1 end  
  5. Obrigado
    Sivermisty deu reputação a samuelandrade45 em [OTCLIENT] Remover IP e versão do otclient   
    funcionou obrigado +REP
  6. Gostei
    Sivermisty deu reputação a Vodkart em [8.6] Task System 4.0! (Task system + Daily Task System)   
    Removido:
     
    *Boss Room
    *Rank Task
    *Prêmios para os 10 primeiros a terminar todas as tasks
     
    Adicionado:
     
    *Daily Task System (Sistema exclusivo de Task diario, podendo pegar 1x a cada 24 hrs, irei explicar mais depois.)
    *Task agora é por progresso, você não pode sair e voltar, terá que terminar a task 1 para avançar para a task  2, assim sucessivamente.
    *Task Points
    *Level para realizar a task
    *Nova talkaction que mostra uma janela de informações sobre o level da task, premios que irá receber, progresso, etc...
    *Items para entrega(Se o jogador deverá levar algum item junto com a quantidade de monstro morta) para finalizar a task
    *Sistema de look Task (Varia de acordo com a sua quantidade de Task Points, podendo ficar por exemplo como "Huntsman", "Ranger", etc...(alterável)
    *Mods e npc mais "clean", várias linhas removidas e o sistema está mais rápido
    *Vou Adicionar "scripts extras" Como:
    --> Tile que só passa quem tiver permissão depois de finalizar determinada quest
     --> Npc de Boss Room para entrar e enfrentar o monstro quem fez determinada quest
     
     
    [+] Resumo do Task system + Daily Task System [+]
     
    Task System: É o sistema de task "original", onde consiste em matar determinada quantidade de monstros(E entregar certo itens <- é configurável), para receber recompensas como Exp, Money e Items.
     
    Algumas mudanças do simple task 3.0 para o 4.0 foram:
     
    [+] O sistema agora é por progresso, isso quer dizer que você terá que ir terminando a quest para avançar para a seguinte.
    [+] O sistema Também recebeu uma alteração, fazendo com que as Tasks precisem que o jogador tenha um level determinado
    [+] A tabela para edição está mais fácil, fazendo com que você adicione ou remova monstros com mais tranquilidade, inclusive alterações das Rewards da Task.
     
    Daily Task System: É um sistema que desenvolvi para que os jogadores sempre estejam se comunicando com o npc de Task, no caso da Task Diaria, vária de acordo com o level do jogador, por exemplo:
     
    Jogadores entre level 6 ao 49 poderá cair em uma dessas 3 Task Diarias: Orcs, Tarantulas ou Wyverns
    Jogadores entre level 50 ao 79 poderá cair em uma dessas 3 Task Diarias: Dragons, Wailing Widows ou Ancient Scarabs
     
    E por ai vai, claro que você poderá aumentar as Task Diarias dependendo do level, eu fiz 3 para cada level que é pra postar, mas tudo isso você pode aumentar! Dependendo do seu servidor.
     
    E sim, você pode fazer a TASK "ORIGINAL" e a TASK "DIARIA" ao mesmo tempo! Ambas são distintas e possuem Rewards diferenciadas!
     
    No caso da Task diaria, levando em conta que você começou a fazer ela no dia 08/01 ás 20:00 Hrs, você tem até o dia 09/01 ás 20:00Hrs para termina-la e receber a recompensa, caso termine antes, a Task diaria só irá ficar disponível para repetição a partir desta mesma data 09/01 20:00 Hrs;
     
    [+] Caso você não termine a tempo, não tem problema, basta esperar este horário e começar uma nova Task.
    [+] Caso você começou a Daily Task e terminou antes desta data. mas por algum motivo esqueceu de entregar e a mesma passou do prazo, não tem importância, caso você tenha matado todos os monstros até 09/01 20:00 Hrs, você poderá entregar está Task em qualquer horário para receber suas Rewards e começar uma task a partir do momento em que você entregou! (INJUSTIÇA AQUI NÃO CARALHO).
     
    [+] Comandos Adicionais [+]
     
    /task -- Mostra as informações da sua Task Atual, como Nome da Task, Level, Rewards, Monstros que você poderá matar, Se tem que entregar algum Item junto, etc...
    /task daily -- É basicamente mostra a mesma informação da Task Principal, porém mostra também qual o prazo limite para entrega da task.
    /task counter -- É um comando que ATIVA ou DESATIVA o contador de monstros mortos na task no seu Channel.
     
    [+] Imagens [+]
     
    Cline neste link para ver algumas imagens da Task : http://imgur.com/a/eLIY3
     
     
     
    ------------------------------------------------ // --------------------------------------------------------------
     
    [+] Instalação do Sistema [+]
     
    Requisitos: Nível Médio de conhecimento em scripting LUA
     
    Pasta Mods
     
    Simple Task.xml
     
    https://pastebin.com/raw/P5hqMC3j
     
    NPC:
     
     
    Ludger.xml
     
    https://pastebin.com/raw/R56yLWHw
     
    simple_task.lua
     
    https://pastebin.com/raw/1mRzJ6aJ
     
    ---------------------------------------------- // ----------------------------------
     
    [+] configuração [+ ]
     
    Task System Principal
     
    task_sys = { [1] = {name = "Trolls", start = 176201, monsters_list = {"Troll","Troll champion"}, level = 8, count = 40, points = 0, items = {}, reward = {}, exp = 2000, money = 2000} }  
    [1]  --> O número entre os colchetes [] significa a ordem da Task, como a Task é por progresso sempre começará no 1 e irá pro [2], assim sucessivamente.
    name --> É o nome da task que o jogador irá fazer.
    start --> é a storage que indicará se o jogador começou a Task
    monster_list ={} --> É o nome dos monstros em que o jogador deverá caçar para completar a Task
    level --> É o level necessário para dar inicio á Task
    count --> É o número de monstros que o jogador tem que matar para completar a Task
    points --> Aqui determinada quantos Task points o jogador irá receber ao completar a Task
    items = {} --> Aqui determinada se além de matar os monstros, o jogador terá que entregar item também! Caso tenha só colocar o {ITEM_ID, QUANTIDADE} EX:
    items = {{2173,1},{2160,10},{2493,2}} rewad --> Aqui determinada se o jogador irá receber itens ao terminar a Task, mesma formula do items /\
    reward = {{2520,1},{2173,1}} exp --> Se o jogador irá receber Exp ao terminar a task. 0 ou quantidade de exp
    Money --> Se o jogador irá receber dinheiro ao terminar a task. 0 ou quantidade de dinheiro
     
     
    Daily Task System
     
    daily_task = { [1] = {name = "Orcs" ,monsters_list = {"Orc Berserker","Orc Rider","Orc Leader","Orc Warlord"}, count = 100, points = 0, reward = {}, exp = 5000, money = 10000} }  
    Segue o padrão da Task original, exceto que não precisa entregar items para o npc!
     
    Como funciona A randomização de level de acordo com a Daily task?
     
    Procure por está tabela em MODS
     
    local t = { [{6,49}] = {1,3}, [{50,79}] = {4,6}, [{80,129}] = {7,9}, [{130,math.huge}] = {10,12} }  
    entre as chaves e colchetes é o level do jogador para as Daily Task, Você pode adicionar quantas você quiser!
     
    Digamos que:
     
    [{6,49}] = {1,3}  --> Quer dizer que entre o level 6 ao 49 o jogador poderá cair na Daily Task número 1(Orcs), 2(Tarantulas) ou 3(Wyvern)!
    [{50,79}] = {4,6} --> Quer dizer que entre o level 50 ao 79 o jogador poderá cair na Daily Task número 4(Dragons), 5(Wailing Widows) ou 6(Ancient Scarabs)!
    ...
    [{130,math.huge}] = {10,12} --> Quer dizer que o jogador level 130 ou MAIS poderá cair na Daily Task número 10(Undead Dragons), 11(HydraS) ou 12(Ghastly Dragons)!
     
     
    Look Rank System
    Procure por está tabela em MODS
     
    local ranks = { [{1, 20}] = "Huntsman", [{21, 50}] = "Ranger", [{51, 100}] = "Big Game Hunter", [{101, 200}] = "Trophy Hunter", [{201, math.huge}] = "Elite Hunter" }  
    Entre 1-20 Task points o Rank será Huntsman
    Entre 21-50 Task posints o Rank será Ranger
    Entre 51-100 Task Points o rank será Big Game Hunter
    etc...
    Altere como quiser!
     
     
  7. Gostei
    Sivermisty deu reputação a Vodkart em (Resolvido)[Pedido] NPC Task System   
    Mods:

    Task Kill.xml

    <?xml version="1.0" encoding="ISO-8859-1"?> <mod name="Task Kill" version="1.0" author="Vodkart" contact="tibiaking.com" enabled="yes"> <config name="KillM_func"><![CDATA[ tsk = { storages = {68754,68755}, task = {"dragon", 10}, -- nome do bixo e quantidade exp = 200, item = {2123,1} } ]]></config> <event type="login" name="AreKill" event="script"><![CDATA[ function onLogin(cid) registerCreatureEvent(cid, "CountTask") return true end]]></event> <event type="kill" name="CountTask" event="script"><![CDATA[ domodlib('KillM_func') function onKill(cid, target) if isMonster(target) then local n = string.lower(getCreatureName(target)) if n == tsk.task[1] and getPlayerStorageValue(cid, tsk.storages[2]) >= 1 then local contagem = getPlayerStorageValue(cid, tsk.storages[1]) if (contagem == -1) then contagem = 1 end if not tonumber(contagem) then return true end if contagem > tsk.task[2] then return true end setPlayerStorageValue(cid, tsk.storages[1], contagem+1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE,""..(contagem == tsk.task[2] and "Congratulations! You finished the task of "..n.."." or "defeated. Total [" .. contagem .. "/" .. tsk.task[2] .. "] " .. n .. ".").."") end end return true end]]></event> </mod> npc: domodlib('KillM_func') 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 = string.lower(msg) if isInArray({"task","mission","missao"}, msg) then if not tonumber(getPlayerStorageValue(cid, tsk.storages[1])) then npcHandler:say("Você já terminou a task!", cid) elseif getPlayerStorageValue(cid, tsk.storages[2]) >= 1 then npcHandler:say("Você já matou "..tsk.task[2].." "..tsk.task[1].."? {yes}", cid) talkState[talkUser] = 2 else npcHandler:say("Você deseja fazer uma missão de matar "..tsk.task[2].." "..tsk.task[1].." e receber "..tsk.exp.." de experience e "..tsk.item[2].." "..getItemNameById(tsk.item[1]).."? {yes}", cid) talkState[talkUser] = 1 end elseif isInArray({"yes","sim"}, msg) and talkState[talkUser] > 0 then if talkState[talkUser] == 1 then npcHandler:say("Parabéns! Agora você está participando da task, volte quanto tiver terminado!", cid) setPlayerStorageValue(cid, tsk.storages[2], 1) else if getPlayerStorageValue(cid, tsk.storages[1]) >= tsk.task[2] then npcHandler:say("Obrigado guerreiro, aqui está sua recompensa!", cid) setPlayerStorageValue(cid, tsk.storages[1], "Finished") doPlayerAddExp(cid, tsk.exp) doPlayerAddItem(cid, tsk.item[1], tsk.item[2]) else npcHandler:say("Você ainda não terminou a sua task!", cid) end end talkState[talkUser] = 0 elseif msg == "no" then selfSay("Tudo bem então", cid) talkState[talkUser] = 0 npcHandler:releaseFocus(cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
  8. Gostei
    Sivermisty deu reputação a LeoTK em (Resolvido)[RESOLVIDO] Sistema de pegar madeira em x arvore   
    @Sivermisty na minha assinatura aqui em baixo sistema de lenhar bom uso
  9. Obrigado
    Sivermisty deu reputação a Duuhzera em Adicionar exaust   
    Bom galera, vejo que muita gente pede ajuda para adicionar coondown em magias, runas, actions, etc.. entao vim aqui ensianr como adicionar o tao procurado coondown
     
    Primeiramente abra seu script, e procure onde ele faz a funçao como:
     



     
    Na linha a baixo da funçao, adicione isto :
     
     
    23006 é o storage do exaust, coloque diferente em cada magia/action/talkaction para nao interferir umas nas outras.
     
    20 é o tempo em segundos para poder usar a magia/action/talkaction/ novamente.
     
     
     
    Após adicionar isto, e configura-lo, pule uma linha e pronto
     
    Espero ter ajudado!
  10. Obrigado
    Sivermisty deu reputação a Vodkart em [Sistema] Battlefield Event! V.1   
    @Sivermisty 
     
    na tag do globalevents mude o 
     
    interval="60" de 60 para 60000
     
    interval="60000"
     
    esse do tp nunca vi também pq nunca aconteceu comigo, tenta checas as pos do teleporte novamente para ver se poderia ser isso!
  11. Curtir
    Sivermisty deu reputação a Vodkart em [Sistema] Battlefield Event! V.1   
    @Sivermisty As vezes quando você copia algo no TK vem uns caracteres especiais...  está aqui:
     
    https://pastebin.com/raw/VZvrPjTa
  12. Gostei
    Sivermisty deu reputação a Avuenja em Pronto para usar | OTC   
    Hoje vim trazer um tutorial de como remover o terminal, modules manager, e deixar o ip automático.
     
    Vamos ao tutorial :
     
    Parte Um
     
    Removendo módulos indesejados
     
    Dentro do diretório
    \otclient-master\modules\client Você irá abrir o arquivo "client.otmod"
     
    Dentro dele vai ter as seguintes linhas :
    load-later:     - client_styles     - client_locales     - client_topmenu     - client_background     - client_options     - client_entergame     - client_terminal     - client_modulemanager     - client_serverlist     //- client_stats Essas linhas são os módulos que vão carregar quando o client for aberto, então é só tirar os que você não quer que abra.
     

     
    Parte Dois
     
    Como deixar o ip automático
     
    Dentro do diretório
    \otclient-master modules\client_entergame Você irá abrir o arquivo "entergame.lua"
     
    Dentro da função "Init", você vai procurar por:
    if g_app.isRunning() and not g_game.isOnline() then     enterGame:show() end E embaixo dessa função você adiciona essa linha :
    EnterGame.setUniqueServer('127.0.0.1', 7171, 854, 270, 210) Como configurar essa função:
    EnterGame.setUniqueServer(Ip do server, Porta (7171), Versão do server, Largura da janela, Altura da Janela)
     

     
    Créditos
    BananaFight

Informação Importante

Confirmação de Termo