
Histórico de Curtidas
-
Sivermisty deu reputação a luangop em Acesso boss diario + questMano, uma dica que dou pra todo mundo que está aprendendo programação/script... aprenda usar identação. Ajuda muito hehe.
movement:
Creaturescript:
-
Sivermisty recebeu reputação de ITALOx em (Resolvido)Item x poder ser usado em mais de um item para se transformar em itens diferentes.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
-
Sivermisty recebeu reputação de Cat em (Resolvido)Item x poder ser usado em mais de um item para se transformar em itens diferentes.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+
-
Sivermisty recebeu reputação de Cat em (Resolvido)Item x poder ser usado em mais de um item para se transformar em itens diferentes.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
-
Sivermisty deu reputação a samuelandrade45 em [OTCLIENT] Remover IP e versão do otclientfuncionou obrigado +REP
-
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!
-
Sivermisty deu reputação a Vodkart em (Resolvido)[Pedido] NPC Task SystemMods:
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())
-
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
-
Sivermisty deu reputação a Duuhzera em Adicionar exaustBom 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!
-
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!
-
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
-
Sivermisty deu reputação a Avuenja em Pronto para usar | OTCHoje 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