
Tudo que Absolute postou
-
(Resolvido)[AJUDA] Lag/Bless PokeTibia
Script bless: Talkactions.xml: Talkactions/scripts: Está configurado para 100k. Quanto ao erro de matar com certeza é algum script que vem interferindo nisto. Por gentileza, explique mais detalhado o problema da house.
-
RSA Decrypt
Isto é um pacote RSA da source, dependendo da conexão ele rejeita ping, no entanto não interfere no jogo, fique tranquilo.
- [ERROR] Unable to load items (OTB)!
-
[Pedido] Server WAR!
tenho em meus backups um 8.6, que tem 3 maps, fica dando change acho que a 60000 interval se não me engano.
-
Bug Teleports 10.37 TFS 1.0
Amigo, a maioria dos teleports do tfs 1.0 da nova versão são baseados em actionsids, no entanto você substituindo mapa pode ser que não há actionids fazendo que o teleport não funcione.
- [AJUDA] Tirando Erros no Distro 0.3
-
(Resolvido)Server Online sem Hamachi! Help
Eu quando tentava bem antigamente não conseguia, se ligar lá resolve então tente ligar, eu não sabia disso Anna, desculpe. Mais ainda fico com a opção do VPS, hoje em dia tá barato e compensa =) Sim brother, liga lá e pede para debloquear as portas para outros usuarios conectarem, se ela pedir números de portas, você diz 7171, 22, 80, 8080 =)
-
Duvidas, copilação
Trunk ou executável? Aconselho baixar o TFS do Matheus brother, funfa 100%!
- (Resolvido)Server Online sem Hamachi! Help
- [Tutor Automático] em PopUP
-
Spr 3 mega evoluções :D
Legal meu caro, não curto muito parte de sprites pois não mecho muito com alternatives, mas achei bonitas hehe, reputado, obrigado por contribuir com o tk =)
- [Tutor Automático] em PopUP
-
[Tutor Automático] em PopUP
Fala galerinha do TK tranquilidade? Hoje trago a vocês um sistema de npc TUTOR Automático. WTF IS IT? Nada melhor que um vídeo explicativo que fiz exclusivamente pra vocês do Tibiaking, (ASSISTA PARA ENTENDER E INSTALAR) segue: Pós assistir o vídeo, na sua pasta principal do servidor crie um arquivo .txt com o nome de comand e adicione o seguinte dentro do mesmo: Saiba meus 10 Mandamentos, AHUA BAHIA EH NOIX! 1 - Viva para descansar. 2 - Ame a sua cama, ela é o seu templo. 3 - Se ver alguém descansando, ajude-o. 4 - Descanse de dia para poder dormir à noite. 5 - O trabalho é sagrado, não toque nele. 6 - Nunca faça amanhã, o que você pode fazer depois de amanhã. 7 - Trabalhe o menos possível; o que tiver para ser feito, deixe que outra pessoa faça. 8 - Calma, nunca ninguém morreu por descansar, mas você pode se machucar trabalhando... 9 - Quando sentir desejo de trabalhar, sente-se e espere que ele passe. 10 - Não se esqueça, trabalho é saúde. Deixe o seu para os doentes. Depois, crie um arquivo com o nome Baiano.xml e coloque dentro da pasta data/npc com o seguinte conteúdo: <?xml version="1.0" encoding="UTF-8"?> <npc name="Baiano" script="data/npc/scripts/info2.lua" walkinterval="0" speed="0" floorchange="0"> <health now="100" max="100"/> <look typeex="3840"/> <parameters> <parameter key="message_greet" value="Ola |PLAYERNAME| diga {10 mandamentos} e me deixa descansar, vlw meu rei!"/> <parameter key="message_farewell" value="Vlw meu rei visite www.tibiaking.com o maior forum de open tibia do Brasil"/> <parameter key="message_walkaway" value="Vlw meu rei visite www.tibiaking.com o maior forum de open tibia do Brasil" /> </parameters> </npc> Para finalizar, crie um arquivo com o nome de info2.lua e coloque na pasta data/npc/scripts com o conteúdo: 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 if msgcontains(msg, "10 mandamentos") then file = io.open('comand.txt','r') notice = file:read(-1) doPlayerPopupFYI(cid, notice) file:close() end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Lembrando que diz como base um NPC Baiano apenas para exemplo, que fique claro que não tenho nada contra baianos e adoro essa bahia linda *-*, FOI IDEIA DO DANIIIIIIIIIIIIIIIIIIIII! AUEHAUE ZOAS! Qualquer dúvida peço que poste ou me comunique, será um prazer ajuda-lo. Até o próximo script =) Créditos: Absolute Daaniel Emerson
-
[Spell] Paralyze em área (10 segundos)
900 de mana? o0 sla em AUHEAUHEAUHEA para os novatos que colocarem assim creio que ficara beeem baiak, mas sei lá magia legal! Obrigado por trazer!
-
Aew Galerinha Do Mal
Mentira,o Viitin curtiu a parte do redtube, pq ele é Premium lá. @Topic, WELCOME to TK
-
(Resolvido)[talkactions] Vendendo item com premium account - Ajuda!
Não entendi, pode especificar melhor?
- [AJUDA] Erro 64x bits
- [AJUDA] Erro 64x bits
-
(Resolvido)[PEDIDO] Critical System
Cara eu acho que você tem que fechar a boca, criatividade todo mundo tem, eis da pessoa conseguir ou não fazer um sistema igual. @Topic, irei fazer.
- [AJUDA] Erro 64x bits
-
[AJUDA] Não consigo pôr meu ot na servlist
Infelizmente n tem, compra VPS cara, 1GB chega a tar 20 R$ nem isso.
-
(Resolvido)Pequeno Problema com MODERN ACC
Em globalevents/scripts/shop.lua troque para isto: function onThink(interval, lastExecution, thinkInterval) local result = db.getResult("SELECT * FROM shop_history WHERE `processed` = 0;") if(result:getID() ~= -1) then while(true) do cid = getCreatureByName(tostring(result:getDataString("player"))) product = tonumber(result:getDataInt("product")) itemr = db.getResult("SELECT * FROM shop_offer WHERE `id` = "..product..";") if isPlayer(cid) then local id = tonumber(itemr:getDataInt("item")) local tid = tonumber(result:getDataInt("id")) local count = tonumber(itemr:getDataInt("count")) local tipe = tonumber(itemr:getDataInt("type")) local productn = tostring(itemr:getDataString("name")) if isInArray({5,8},tipe) then if getPlayerFreeCap(cid) >= getItemWeightById(id, count) then if isContainer(getPlayerSlotItem(cid, 3).uid) then received = doAddContainerItem(getPlayerSlotItem(cid, 3).uid, id,count) if received then doPlayerSendTextMessage(cid,19, "You have received >> "..productn.." << from our shop system") db.executeQuery("UPDATE `shop_history` SET `processed`='1' WHERE id = " .. tid .. ";") else doPlayerSendTextMessage(cid,19, "Sorry, you don't have enough space on container to receive >> "..productn.." <<") end else doPlayerSendTextMessage(cid,19, "Sorry, you don't have a container to receive >> "..productn.." <<") end else doPlayerSendTextMessage(cid,19, "Sorry, you don't have enough capacity to receive >> "..productn.." << (You need: "..getItemWeightById(id, count).." Capacity)") end elseif isInArray({6,7},tipe) then if tipe == 6 then bcap = 8 bid = 1987 elseif tipe == 7 then bcap = 20 bid = 1988 end if isItemRune(id) then count = 1 end if getPlayerFreeCap(cid) >= (getItemWeightById(1987, 1) + getItemWeightById(id,count * bcap)) then local bag = doCreateItemEx(bid, 1) for i = 1,bcap do doAddContainerItem(bag, id, count) end received = doPlayerAddItemEx(getPlayerSlotItem(cid, 3).uid, bag) if received == RETURNVALUE_NOERROR then doPlayerSendTextMessage(cid,19, "You have received >> "..productn.." << from our shop system") db.executeQuery("UPDATE `shop_history` SET `processed`='1' WHERE id = " .. tid .. ";") else doPlayerSendTextMessage(cid,19, "Sorry, you don't have enough space to receive >> "..productn.." <<") end else doPlayerSendTextMessage(cid,19, "Sorry, you don't have enough capacity to receive >> "..productn.." << (You need: "..getItemWeightById(id, count).." Capacity)") end end end itemr:free() if not(result:next()) then break end end result:free() end return true end Veja se tem a linha no globalevents.xml <globalevent name="shop" interval="200" script="shop.lua"/>
-
[AJUDA] Não consigo pôr meu ot na servlist
Internet compartilhada não entra na otlist, de forma alguma.
-
(Resolvido)[PEDIDO] Big War Kamikaze
Por favor, além de não especificar o que quer corretamente não escreveu legível, não é por mal, escreva certo que com certeza irão te ajudar com maior facilidade.
-
[City War Event] Luta pela sobrevivência
Fala galerinha linda do TK, hoje estou trazendo um evento que andei modificando e otimizando, é o evento City WAR, este evento tem no servidor globalwar e outros. A autoria vem de um membro da otland, portante havia o mesmo aqui em um datapack e decidi otimizar este evento para vocês do TK. Observação: É um pouco parecido com o evento do meu amigo e scripter DuH, porém com mais funções e regras, mas o objetivo é praticamente o mesmo. Como funciona: Vamos lá; Primeiramente, em sua pasta data/lib crie um arquivo com o nome de city war.lua e dentro do mesmo coloque: configCW = {timetostart = 500, -- tempo para iniciar o evento em segundos by Absolute telpos = {x=32340, y=32213, z=7}, -- onde aparecerá o teleport stats = 201201201701, kill = 201201201702, death = 201201201703, ostime = 201201201704, evttime = 20, -- quanto tempo irá rolar o evento topleftPos = {x=32722, y=31336, z=6}, -- canto esquerdo superior botrightPos = {x=32791, y=31384, z=6}, -- canto direito inferior templepos = {x=32369, y=32241, z=7}, -- posição do templo principal arenapos = {{x=32722, y=31340, z=6}, {x=32786, y=31336, z=6}, {x=32722, y=31380, z=6}, {x=32783, y=31374, z=6}}, -- posição dos 4 tronos times = 8, -- não precisa mexer finaltime = 300 -- não precisa mexer } function configCW:new() local newevt = {} setmetatable(newevt, self) self.__index = self doBroadcastMessage("The City War will be open in " .. self.timetostart .. " seconds.") setGlobalStorageValue(self.stats, 0) addEvent(function () newevt:start() end, self.timetostart*1000) end function configCW:start() if getGlobalStorageValue(self.stats) == 0 then setGlobalStorageValue(self.ostime, os.time()) local teleport = doCreateItem(1387, self.telpos) doItemSetAttribute(teleport, "aid", 5540) setGlobalStorageValue(self.stats, 1) doBroadcastMessage("The City War is starting...") for _, posi in pairs(self.arenapos) do local item = getTileItemById(posi, 1387) if(item.uid ~= 0) then doRemoveItem(item.uid) end end addEvent(function () self:preclose() end, self.evttime*1000*60) addEvent(function () self:announce(0) end, (self.evttime/self.times)*1000*60) end end function configCW:announce(times) if times < self.times then if #self:getTopFrags(true) >= 1 then doBroadcastMessage("Top City War fraggers: " .. self:getTopFrags()) end addEvent(function () self:announce(times+1) end, (self.evttime/self.times)*1000*60) end end function configCW:preclose() if getGlobalStorageValue(self.stats) == 1 then setGlobalStorageValue(self.stats, 2) doBroadcastMessage("The City War will end in " .. self.finaltime .. " seconds.") addEvent(function () self:close() end, self.finaltime*1000) local item = getTileItemById(self.telpos, 1387) if(item.uid ~= 0) then doRemoveItem(item.uid) end end end function configCW:close() if getGlobalStorageValue(self.stats) == 2 then if #self:getTopFrags(true) >= 1 then doBroadcastMessage("The City War has ended. The winners are: " .. self:getTopFrags()) else doBroadcastMessage("The City War has ended. There were no winners.") end doRemovePlayersFromArea(self.topleftPos, self.botrightPos, self.templepos) for _, posi in pairs(self.arenapos) do doCreateTeleport(1387, self.templepos, posi) end for place, info in ipairs(self:getTopFrags(true)) do if place > 5 then break end local cid = getPlayerByName(info) doPlayerSendTextMessage(cid, 4, "Congratulations, you were the " .. place .. "º place in the City War.") doPlayerAddItem(cid, 6571, 1) end setGlobalStorageValue(self.stats, -1) end end function configCW:isPlayerInEvent(cid) if getPlayerStorageValue(cid, self.stats) == -1 or getPlayerStorageValue(cid, self.stats) - os.time() <= -5 or getGlobalStorageValue(self.stats) < 1 then return false end return true end function configCW:getTopFrags(tab) local frag = {} for _, pid in pairs(getPlayersOnline()) do if (getPlayerStorageValue(pid, self.kill) ~= -1 or getPlayerStorageValue(pid, self.death) ~= -1) and self:isPlayerInEvent(pid) then local kill = getPlayerStorageValue(pid, self.kill)+1 local death = getPlayerStorageValue(pid, self.death)+1 print(getCreatureName(pid), kill-death) table.insert(frag, {getCreatureName(pid), kill-death}) end end print(#frag) local frag, str, n = doOrderTab(frag, 0), nil, 5 print(#frag) if tab then return frag else if #frag < 5 then n = #frag end for i = 1, n do local cid = getPlayerByName(frag[i]) local kill = getPlayerStorageValue(cid, self.kill)+1 local death = getPlayerStorageValue(cid, self.death)+1 str = str and str .. ", " .. frag[i] .. "[" .. kill .. "/" .. death .. "]" or frag[i] .. "[" .. kill .. "/" .. death .. "]" end end return str end function doOrderTab(tabela, value) local max, index = {}, nil for i = 1, #tabela do valor = value for a, b in ipairs(tabela) do if b[2] > valor then valor = b[2] valor2 = b[1] index = a end end table.remove(tabela, index) if valor ~= value then table.insert(max, valor2) end end return max end Configuração do arquivo: telpos = {x=32340, y=32213, z=7}, -- POSIÇÃO ONDE NASCE O TP DO EVENTO! topleftPos = {x=32722, y=31336, z=6}, -- AQUI COLOQUE A POSIÇÃO DO CANTO ESQUERDO LA EM CIMA DO MAPA botrightPos = {x=32791, y=31384, z=6}, -- AQUI A POSIÇÃO DO CANTO DIREITO EM BAIXO DO MAPA templepos = {x=32369, y=32241, z=7}, -- POSIÇÃO DO TEMPLO ONDE OS JOGADORES NASCERAM PÓS A MORTE arenapos = {{x=32722, y=31340, z=6}, {x=32786, y=31336, z=6}, {x=32722, y=31380, z=6}, {x=32783, y=31374, z=6}}, -- ATENÇÃO, NO MAPA QUE ESTAREI DISPONIBILIZANDO VISIVELMENTE TERÁ 4 BASES, VOCÊ TERA QUE COLOCAR A POSIÇÃO DAS BASES AÍ NESSES 3 LUGARES. doPlayerAddItem(cid, 6571, 1) -- AQUI VOCÊ COLOCARÁ O PRÊMIO DO GANHADOR, NO CASO QUEIRA ADICIONAR POR EXEMPLO 1kk, COLOQUE 2160,1 - Primeiro ID depois quantia. Segundo passo, crie um arquivo com o nome de citywarCreature.lua e coloque dentro da pasta creaturescripts/scripts com o seguinte conteúdo: function onPrepareDeath(cid, lastHitKiller, mostDamageKiller) if isInRange(getCreaturePosition(cid), configCW.topleftPos, configCW.botrightPos) then setPlayerStorageValue(cid, configCW.death, getPlayerStorageValue(cid, configCW.death) +1) setPlayerStorageValue(lastHitKiller[1], configCW.kill, getPlayerStorageValue(lastHitKiller[1], configCW.kill) +1) end return true end E adicione em creaturescripts.xml a seguinte tag <event type="preparedeath" name="CityWar" event="script" value="citywarCreature.lua"/> Terceiro passo, crie um arquivo em movements/scripts com o nome de citywarMovements.lua com o seguinte conteúdo: function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition) if isPlayer(cid) and getGlobalStorageValue(configCW.stats) == 1 then doTeleportThing(cid, configCW.arenapos[math.random(1, #configCW.arenapos)]) doSendMagicEffect(getPlayerPosition(cid), 28) if not(configCW:isPlayerInEvent(cid)) then setPlayerStorageValue(cid, configCW.stats, getGlobalStorageValue(configCW.ostime) + configCW.evttime*60 + configCW.finaltime) setPlayerStorageValue(cid, configCW.kill, -1) setPlayerStorageValue(cid, configCW.death, -1) end else doTeleportThing(cid, fromPosition) end return true end Em Movements.xml adicione a seguinte linha: <movevent type="StepIn" actionid="5540" event="script" value="citywarMovements.lua"/> Quarto e último passo, em talkactions/scripts crie um arquivo com o nome de citywarTalkactions.lua e coloque o seguinte conteúdo: function onSay(cid, words, param) if getGlobalStorageValue(configCW.stats) == -1 then configCW:new() else doPlayerSendCancel(cid, "The event is already running.") end return true end Em talkactions/talkactions.xml adicione a seguinte linha: <talkaction log="yes" words="/citywar" access="3" event="script" value="citywarTalkactions.lua"/> E por fim, estou disponibilizando o world do evento, vocês usam se quiser, tentei adapta-lo para 8.6 mas ficou meio slá, o Viiting estava ocupado e não pode me ajudar, enfim segue a imagem e download do world.otbm: Lembrando que ninguém além do Collocorpusek da otland tem direito de pedir remoção do script, pois a base é dele. Créditos: Absolute Collocor Gringo Lindo.