Ir para conteúdo

Absolute

Héroi
  • Registro em

  • Última visita

Tudo que Absolute postou

  1. Absolute postou uma resposta no tópico em Playground (Off-topic)
    AUEHAUHEAUHEUAHEA entrei lá fui redirecionado pro beegsrsamuel
  2. Absolute postou uma resposta no tópico em Suporte & Pedidos
    adorei, vamo que vamo =)
  3. Absolute postou uma resposta no tópico em Suporte Tibia OTServer
    O meu você não viu, fiz assim que ele pediu =)
  4. Fakezasso, ok, manda provar então, deixo avisar o Matheus porque jájá você fala que o TibiaKing é seu ai o Matheus vai ter que enviar foto do domínio, meio complicado, vendedorzinho de otserver, proibido aqui jovem, passe amanhã e vá a falência com sua empresa, ser ou não do Demon ele não pediu remoção e nem provou pelo ótimo scripter que é, já você wtf vc sab fazer AUHEUHEAUHEAHEA. Faz metade do que to fazendo pelo fórum e ajudando e para de vender seus produtos bugados, por favor jovem. Enjoy tk, será bem vindo.
  5. Fakezasso, ok, manda provar então, deixo avisar o Matheus porque jájá você fala que o TibiaKing é seu ai o Matheus vai ter que enviar foto do domínio, meio complicado, vendedorzinho de otserver, proibido aqui jovem, passe amanhã e vá a falência com sua empresa, ser ou não do Demon ele não pediu remoção e nem provou pelo ótimo scripter que é, já você wtf vc sab fazer AUHEUHEAUHEAHEA. Faz metade do que to fazendo pelo fórum e ajudando e para de vender seus produtos bugados, por favor jovem. Enjoy tk, será bem vindo.
  6. Absolute postou uma resposta no tópico em Suporte Tibia OTServer
    Falta de prametro?
  7. Absolute postou uma resposta no tópico em Suporte Tibia OTServer
    Não amigo não tem como "não aparecer na distro" A distro é a base que retorna os scripts, porém aconselho você a arrumar esses erros de script do que se preocupar com a distro.
  8. Teste: frag_guild = { start_frags = 120155, -- dont edit FragsToWinAcess = 100, -- to win guild acess FragsPerKill = 1, AcessTimeDays = 2, MoreExpToGuild = true, Exp_Rate = 1.1, -- 10% Honor_Storage = 215548, Honor_Point = 5 } function getFragsByGuild(GuildName) db.executeQuery("UPDATE `guilds` SET `frags` = "..getFragsByGuild(GuildName).."+"..amount.." WHERE `guilds`.`id` = "..getGuildId(GuildName)) end function removeFragsByGuild(GuildName,amount) db.executeQuery("UPDATE `guilds` SET `frags` = "..getFragsByGuild(GuildName).."-"..amount.." WHERE `guilds`.`id` = "..getGuildId(GuildName)) end function setFragsByGuild(GuildName,value) db.executeQuery("UPDATE `guilds` SET `frags` = "..value.." WHERE `guilds`.`id` = "..getGuildId(GuildName)) end function cleanGuildFrags() db.executeQuery("UPDATE guilds SET frags = 0;") end function getAcessTime(GuildName) local query = db.getResult("SELECT `acesstime` FROM `guilds` WHERE `id` = " ..getGuildId(GuildName)) if query:getID() ~= -1 then return query:getDataInt("acesstime") end end function removeAcessGuildServer() return db.executeQuery("UPDATE guilds SET acesstime = 0;") end function HaveGuild(cid) return getPlayerGuildId(cid) > 0 and TRUE or FALSE end function doBroadCastGuild(GuildName,type,msg) local players = {} for _, cid in pairs(getPlayersOnline()) do if getPlayerGuildName(cid) == GuildName then table.insert(players, cid) end end for i = 1, #players do doPlayerSendTextMessage(players[i],type,msg) end return true end function setAcessTime(GuildName, time) return db.executeQuery("UPDATE `guilds` SET `acesstime` = "..time.." WHERE `guilds`.`id` = "..getGuildId(GuildName)) end function getDaysAcess(GuildName) local acess = math.ceil((getAcessTime(GuildName) - os.time())/(86400)) return acess <= 0 and 0 or acess end function HaveAcess(GuildName) return getDaysAcess(GuildName) > 0 and TRUE or FALSE end function getGuildWinnerName() local guildname = '' local query = db.getResult("SELECT `name` FROM `guilds`;") if(query:getID() ~= -1) then repeat if HaveAcess(query:getDataString("name")) then guildname = query:getDataString("name") end until not query:next() query:free() end return guildname end function addAcess(GuildName, days) if days > 0 then local add = days*86400 local time = getDaysAcess(GuildName) == 0 and (os.time() + add) or (getAcessTime(GuildName) + add) return setAcessTime(GuildName, time) end return nil end function doRemoveAcess(GuildName, days) if days > 0 then local remove = days*86400 local time = getAcessTime(GuildName) - remove return setAcessTime(GuildName, (time <= 0 and 1 or time)) end return nil end function getAcessDate(GuildName) if HaveAcess(GuildName) then return os.date("%d/%m/%y %X", getAcessTime(GuildName)) end return FALSE end function getHonorPoints(cid) local Honor = getPlayerStorageValue(cid, frag_guild.Honor_Storage) return Honor < 0 and 0 or Honor end function addHonorPoints(GuildName, amount) local PlayersGuild = db.getResult("SELECT `name` FROM `players` WHERE `rank_id` IN (SELECT `id` FROM `guild_ranks` WHERE `guild_id` = " .. getGuildId(GuildName) .. ");") if (PlayersGuild:getID() ~= -1) then repeat local pid,Guid = getPlayerByNameWildcard(PlayersGuild:getDataString("name")),getPlayerGUIDByName(PlayersGuild:getDataString("name")) if(not pid or isPlayerGhost(pid)) then local getHonor = db.getResult("SELECT `value` FROM `player_storage` WHERE `player_id` = ".. Guid .." AND `key` = ".. frag_guild.Honor_Storage) if (getHonor:getID() ~= -1) then repeat db.executeQuery("UPDATE `player_storage` SET `value` = ".. (getHonor:getDataInt("value")+amount) .." WHERE `player_id` = ".. Guid .." AND `key` = ".. frag_guild.Honor_Storage) until not(getHonor:next()) getHonor:free() end else setPlayerStorageValue(getPlayerByName(PlayersGuild:getDataString("name")), frag_guild.Honor_Storage, getHonorPoints(getPlayerByName(PlayersGuild:getDataString("name")))+amount) end until not PlayersGuild:next() PlayersGuild:free() end return true end
  9. function onUse(cid, item, fromPosition, itemEx, toPosition) if item.uid == 6411 then queststatus = getPlayerStorageValue(cid,6411) if queststatus == -1 then if not isPlayer(target) or not isPlayer(cid) then return true end broadcastMessage("O Jogador "..getCreatureName(cid).." completou a Anihilator 4.", MESSAGE_STATUS_CONSOLE_ORANGE) doPlayerAddItem(cid,9693,1) doPlayerAddItem(cid,2160,1) setPlayerStorageValue(cid,6411,1) else doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "Você ja ganhou seu bonus.") end else return 0 end return 1 end
  10. Absolute postou uma resposta no tópico em Suporte Tibia OTServer
    if param == "helmet" or param == "helmet" then Porque a talk está como !helmetup então a fala que vai ser para fazer a troca ai, será a que está nesse local que postei a cima, compreende?
  11. Nice, gostei, vai ajudar muita gente! Reputado.
  12. Absolute postou uma resposta no tópico em Suporte Tibia OTServer
    Fiz aqui meu querido, veja se funciona e me diz: em data/talkactions/scripts crie o arquivo helmet.lua --[[ script By Absolute on tibiaking exclusivo para Ribeiro e Kelvin!]]-- function onSay(cid, words, param) local config = { price = 10000, new_helmet = 2343, quebrado_helmet = 2342, needPremium = true -- se precisa ser premium (true or false) } if (config.needPremium == false) and (not isPremium(cid)) then doPlayerSendTextMessage(cid, 23, "only premium players can use that command.") return TRUE end if param == "helmet" or param == "helmet" then if getPlayerItemCount(cid, config.quebrado_helmet) >= 1 then if doPlayerRemoveMoney(cid,config.price) == TRUE then doPlayerRemoveItem(cid,config.quebrado_helmet,1) doPlayerAddItem(cid,config.new_helmet, 1) doPlayerPopupFYI(cid,"Você transformou seu helmet by Absolute") end end return TRUE end end Em talkactions.xml: <talkaction words="!helmetup" script="helmet.lua"/> Para mudar ficará: !helmetup helmet para trocar o "helmet" troque o parametro no script
  13. Vou pedir para o Viiting meu mapper e suporter do fórum, ele traz pra você ok. Agradeço a todos pelos elogios, qualquer dúvida contatem-me
  14. Absolute postou uma resposta no tópico em Suporte Tibia OTServer
    Fico feliz em ter meu "dedo" ai haha, á disposição.
  15. Desnecessário um tópico desse meu jovem, como alguém vai saber o porque que na sua casa da lag meu querido? ligue na operadora da sua internet só eles poderão te ajudar, não nós do TK kk
  16. Absolute postou uma resposta no tópico em Suporte Tibia OTServer
    Se sua internet for compartilhada você não conseguirá adicionar no otlist
  17. Tutorial cara, só colocar la a senha que ele da em senha real ;p tem este site tb: https://crackstation.net/
  18. Estão criptografados em sha1, use o sha1 decrypter; http://decryptpassword.net/sha1-decrypt/
  19. Fala galerinha linda do TK, vejo muita gente reclamando do battlefield do nosso amigo Vodkart, mas aqui funciona 100%, creio que seja rejeição nos TFS, mas então resolvi trazer a vocês um battlefield que venho customizando a algum tempo, o mesmo possui em alguns servidores poloneses, globalwar e cia. O Evento é um pouco modificado do que o tradicional battlefield, porém acho que ficou mais legal, é de pegar a bandeira do time inimigo, para dar um pouco mais de emoção que tal? rs. Preste atenção nos arquivos e como configurar, estarei explicando tudo passo a passo. Atenção, o comando para abrir o evento é: /battlefield 20 (o 20 é o número de participantes, no caso 10 no time vermelho e 10 no preto, coloque sempre números pares para balancear corretamente o evento) Vamos ao que interessa: Primeiramente, em data/libs crie um arquivo com o nome de battlefield.lua e adicione o seguinte dentro: battlefield = { storage = 201206300801, storage2 = 201206300802, tpPos = {x=32342, y=32213, z=7}, -- aonde aparecerá o teleport pos_team_1 = {x=31621,y=31860,z=7}, -- posição do team 1 (do lado direito) pos_team_2 = {x=31582,y=31860,z=7}, -- posição do team 2 (do lado esquerdo) spectors = {{x=31593,y=31853,z=6},{x=31609,y=31853,z=6},{x=31593,y=31866,z=6},{x=31609,y=31866,z=6}}, -- aonde aparecerá os espectadores (em volta do battlefield) team1Name = "Black Assassins", team2Name = "Red Barbarians", } function doBroadCastBattle(type,msg) for _, cid in pairs(getPlayersOnline()) do if getPlayerStorageValue(cid, battlefield.storage2) ~= -1 then doPlayerSendTextMessage(cid,type,msg) end end return true end function removeTp() local t = getTileItemById(battlefield.tpPos, 1387) if t then doRemoveItem(t.uid, 1) doSendMagicEffect(battlefield.tpPos, CONST_ME_POFF) end end function OpenWallBattle() local x = true local B = { [1] = {1056,{x=31601, y=31858, z=6, stackpos = 1}}, -- posição da barreira [2] = {1056,{x=31601, y=31859, z=6, stackpos = 1}}, -- posição da barreira [3] = {1056,{x=31601, y=31860, z=6, stackpos = 1}}, -- posição da barreira [4] = {1056,{x=31601, y=31861, z=6, stackpos = 1}} -- posição da barreira } for i = 1, #B do if getTileItemById(B[i][2], B[i][1]).uid == 0 then x = false end if x == true then doRemoveItem(getThingfromPos(B[i][2]).uid,1) else doCreateItem(B[i][1], 1, B[i][2]) end end end function getWinnersBattle(storage) local team = storage == 1 and battlefield.team1Name or battlefield.team2Name doBroadcastMessage("Players from team ".. team .." won the event battlefield,they received a Master Surprise Bag!") setGlobalStorageValue(battlefield.storage, -1) removeTp() OpenWallBattle() for _, cid in pairs(getPlayersOnline()) do if getPlayerStorageValue(cid, battlefield.storage2) ~= -1 then doRemoveCondition(cid, CONDITION_OUTFIT) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) if getPlayerStorageValue(cid, battlefield.storage2) == storage then doPlayerAddItem(cid,6571,1) end setPlayerStorageValue(cid, battlefield.storage2, -1) end end end Como configurar este passo; Pós o primeiro passo, crie um arquivo em actions/scripts com o nome de battlefieldAbsolute.lua e adicione o seguinte dentro: function onUse(cid, item, fromPosition, itemEx, toPosition) local team = getPlayerStorageValue(cid, battlefield.storage2) if (item.actionid == 45001 and team == 1) or (item.actionid == 45002 and team == 2) then getWinnersBattle(team) end return true end Em actions.xml, adicione as seguintes linhas: <action actionid="49901" event="script" value="battlefieldAbsolute.lua"/> <action actionid="45002" event="script" value="battlefieldAbsolute.lua"/> Pós o segundo passo, vá até sua pasta creaturescripts/scripts e crie um arquivo com o nome de combat.lua e adicione o seguinte: function onLogin(cid) if getGlobalStorageValue(_Lib_Battle_Info.TeamOne.storage) == -1 then setGlobalStorageValue(_Lib_Battle_Info.TeamOne.storage, 0) setGlobalStorageValue(_Lib_Battle_Info.TeamTwo.storage, 0) setGlobalStorageValue(_Lib_Battle_Info.storage_count, 0) end registerCreatureEvent(cid, "BattleTeam") registerCreatureEvent(cid, "BattleDeath") return true end function onCombat(cid, target) if isPlayer(cid) and isPlayer(target) then if getPlayerStorageValue(cid, _Lib_Battle_Info.TeamOne.storage) == 1 and getPlayerStorageValue(target, _Lib_Battle_Info.TeamOne.storage) == 1 then doPlayerSendCancel(cid, "You may not attack your team mates.") return false end if getPlayerStorageValue(cid, _Lib_Battle_Info.TeamTwo.storage) == 1 and getPlayerStorageValue(target, _Lib_Battle_Info.TeamTwo.storage) == 1 then doPlayerSendCancel(cid, "You may not attack your team mates.") return false end return true end return true end function onPrepareDeath(cid, deathList, lastHitKiller, mostDamageKiller) if getPlayerStorageValue(cid, _Lib_Battle_Info.TeamOne.storage) >= 1 then setPlayerStorageValue(cid, _Lib_Battle_Info.TeamOne.storage, -1) setGlobalStorageValue(_Lib_Battle_Info.TeamOne.storage, getGlobalStorageValue(_Lib_Battle_Info.TeamOne.storage)-1) doRemoveCondition(cid, CONDITION_OUTFIT) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "[Battle Field] You Are Dead!") if getGlobalStorageValue(_Lib_Battle_Info.TeamOne.storage) == 0 then getWinnersBattle(_Lib_Battle_Info.TeamTwo.storage) else doBroadCastBattle(23,"[BattleField Information] ".._Lib_Battle_Info.TeamOne.name.." "..getGlobalStorageValue(_Lib_Battle_Info.TeamOne.storage).." VS "..getGlobalStorageValue(_Lib_Battle_Info.TeamTwo.storage).." " .._Lib_Battle_Info.TeamTwo.name) end elseif getPlayerStorageValue(cid, _Lib_Battle_Info.TeamTwo.storage) >= 1 then setPlayerStorageValue(cid, _Lib_Battle_Info.TeamTwo.storage, -1) setGlobalStorageValue(_Lib_Battle_Info.TeamTwo.storage, getGlobalStorageValue(_Lib_Battle_Info.TeamTwo.storage)-1) doRemoveCondition(cid, CONDITION_OUTFIT) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "[Battle Field] You Are Dead!") if getGlobalStorageValue(_Lib_Battle_Info.TeamTwo.storage) == 0 then getWinnersBattle(_Lib_Battle_Info.TeamOne.storage) else doBroadCastBattle(23,"[BattleField Information] ".._Lib_Battle_Info.TeamOne.name.." "..getGlobalStorageValue(_Lib_Battle_Info.TeamOne.storage).." VS "..getGlobalStorageValue(_Lib_Battle_Info.TeamTwo.storage).." " .._Lib_Battle_Info.TeamTwo.name) end end return true end Ainda na mesma pasta crie outro arquivo com o nome de pdeath.lua com o seguinte conteúdo: (ATENÇÃO QUE NA MESMA PASTA SÃO 2 ARQUIVOS) function onPrepareDeath(cid, corpse, lastHitKiller, mostDamageKiller) if getPlayerStorageValue(cid, config_tvt.green_kills) > 0 then doTeleportThing(cid, config_tvt.green_pos) setGlobalStorageValue(red_kills, getGlobalStorageValue(red_kills) + 1) end if getPlayerStorageValue(cid, config_tvt.red_kills) > 0 then doTeleportThing(cid, config_tvt.red_pos) setGlobalStorageValue(red_kills, getGlobalStorageValue(green_kills) + 1) end doPlayerSendTextMessage(cid, 27, "You dead! by Absolute") return true end Em creaturescripts/creaturescripts.xml adicione as seguintes linhas: <event type="preparedeath" name="BattlefieldP" event="script" value="pdeath.lua"/> <event type="combat" name="BattlefieldC" event="script" value="combat.lua"/> Pós o terceiro passo, em movements/scripts crie um arquivo com o nome de battlefieldAbsolute.lua e adicione o seguinte: local conditionBlack = createConditionObject(CONDITION_OUTFIT) setConditionParam(conditionBlack, CONDITION_PARAM_TICKS, -1) addOutfitCondition(conditionBlack, {lookType = 134, lookHead = 114, lookBody = 114, lookLegs = 114, lookFeet = 114}) local conditionRed = createConditionObject(CONDITION_OUTFIT) setConditionParam(conditionRed, CONDITION_PARAM_TICKS, -1) addOutfitCondition(conditionRed, {lookType = 143, lookHead = 94, lookBody = 94, lookLegs = 94, lookFeet = 94}) function onStepIn(cid, item, position, fromPosition) if getPlayerAccess(cid) > 3 then doTeleportThing(cid, battlefield.pos_team_1) return true elseif getGlobalStorageValue(battlefield.storage) == 0 then doTeleportThing(cid, battlefield.spectors[math.random(#battlefield.spectors)]) return true end if getGlobalStorageValue(battlefield.storage) > 0 then if getGlobalStorageValue(battlefield.storage) % 2 == 0 then setPlayerStorageValue(cid, battlefield.storage2, 1) doAddCondition(cid, conditionBlack) doTeleportThing(cid, battlefield.pos_team_1) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You will join the team " .. battlefield.team1Name .. "!") else setPlayerStorageValue(cid, battlefield.storage2, 2) doAddCondition(cid, conditionRed) doTeleportThing(cid, battlefield.pos_team_2) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You will join the team " .. battlefield.team2Name .. "!") end setGlobalStorageValue(battlefield.storage, getGlobalStorageValue(battlefield.storage)-1) if getGlobalStorageValue(battlefield.storage) == 0 then doBroadcastMessage("Battlefield will start in 1 minute, please create your strategy!") addEvent(doBroadcastMessage, 60*1000, "BattleField will begin now!") addEvent(OpenWallBattle, 60*1000) else doBroadcastMessage("We are waiting "..getGlobalStorageValue(battlefield.storage).." players to Battlefield starts.") end end return true end Em movements.xml adicione a seguinte linha: <movevent type="StepIn" actionid="45000" event="script" value="battlefieldAbsolute.lua"/> Á pedidos fiz o comando para abrir manualmente, então em talkactions/scripts crie um arquivo com o nome de battlefieldopenAbsolute.lua e coloque: function onSay(cid, words, param) if getGlobalStorageValue(battlefield.storage) ~= -1 then doPlayerSendCancel(cid, "The event is already open.") return true elseif not tonumber(param) or param % 2 ~= 0 then doPlayerSendCancel(cid, "You must choose an even number.") return true end doBroadcastMessage("The event BattleField was opened and We are waiting "..param.." Players! Team divided into "..((param)/2).." VS "..((param)/2)) setGlobalStorageValue(battlefield.storage, tonumber(param)) local tp = doCreateItem(1387, 1, battlefield.tpPos) doItemSetAttribute(tp, "aid", 45000) return true end Em talkactions.xml adicione a linha: <talkaction words="/battlefield" access="3" event="script" value="battlefieldopenAbsolute.lua"/> Screenshots do mapa do evento; Clique em spoiler para ver. Download & Scan do mapa;
  20. Não amigo, tem que relogar e colocar novamente =)
  21. Absolute postou uma resposta no tópico em Playground (Off-topic)
    Vamos fazer uma corrente pra todo mundo comentar a foto dele lá no insta com #DILATADAO MAS E O TK? AEAUHEAUHEAHEA
  22. Fiz: Em data/spells/scripts crie um arquivo com o nome de healaamigo.lua e dentro coloque: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_PINK) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) setHealingFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 10, 10, 16, 22) function onCastSpell(cid, var) return doCombat(cid, combat, var) end Pós isto abra o spells.xml e coloque embaixo de uma spell a seguinte linha: <instant name="Heal Friend" words="Heal Friend" lvl="50" mana="200" prem="0" aggressive="0" needtarget="1" params="1" exhaustion="800" groups="2,1000" icon="84" needlearn="0" event="script" value="healing/healaamigo.lua"> <vocation id="2"/> <vocation id="6"/> </instant> Esta para Sorceres e druids usarem, caso deseje que outras vocações usem adicione o vocation id dela.

Informação Importante

Confirmação de Termo