Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 08/27/21 em todas áreas

  1. Contrato Programador

    So volto tarde reagiu a R7RAVI por uma resposta no tópico

    1 ponto
    Resumir aqui pessoal... Tenho um servidor no qual fechei a alguns anos e decidi abrir agora. Porem não tinha feito backup do banco de dados e deu MUITOS erros. 90% deles já arrumei, tudo que interessa ta 100% funcionando pro jogo acontecer. Porem tem alguns erros, que por mais que não sejam graves, atrapalham. O Forum esta quase morto e postar os erros aqui é esperar por um milagre de alguem que realmente queira ajudar a resolver, por isso, estou querendo PAGAR alguem que se disponha a me ajudar. Quero arrumar diversos erros no servidor e alterar algumas coisas, tais erros são... Não to conseguindo por o retorno do pagseguro pra liberar os pontos automaticamente. As magias estão com cooldown bugado, por exemplo, o ek usa exura gran ico e fica 10 minutos sem usar outra magia, lembro que isso no meu ot tinha sido resolvido usando cooldown por storage, mas acredito que pelo banco de dados estar incompleto estaja faltando essa parte, procurei e não achei o que falta. O shop esta 90% funcional, tudo funciona menos a parte de entregar as addons, o shop reconhece a compra mas fica como "aguardando loguin" para entregar a addon, mesmo com o char relogando. E instalar alguns sistemas novos, nada de muito anormal (treiner offline, regenerar stamina nos treiner e pz) algumas coisas assim. Bom, acho que já conseguiram entender +- o que preciso. Se alguem tiver CONHECIMENTO e um valor acessivel (não to lucrando nada com o ot ainda) por favor entrem em contato. Obrigado pessoal, fico no aguardo!
  2. 1 ponto
    Imagens da Store do Tibia para Gesior, Znote e MyAAC. Download Imagens da Store MediaFire (Scan) Tutorial e download disponibilizados por Majesty. TUTORIAL DE INSTALAÇÃO Em htdocs (XAMPP) ou www (Uniform Server) extraia o arquivo compactado. Em seu Servidor, no config.lua: Em /data/modules/gamestore/gamestore.lua: - Verifique o nome dos arquivos .png, devem ser compatíveis com os nomes dos arquivos .png das imagens na pasta store. Se as imagens não aparecerem, o que fazer: - Vá até pasta do cliente em packages/Tibia/storeimages e apague as pastas data8 e prepared. Depois, reinicie o XAMPP ou UniformServer, servidor e o cliente. E com os nomes, categorias, etc corretos no gamestore.lua, o cliente deverá carregar as imagens no shop. Obs: se utilizar um arquivo .htaccess dentro da pasta store, não irá permitir o acesso as imagens. No arquivo deve se mudar o comando de "deny from all" para "allow from all".
  3. (POKETIBIA) Item - Reward Quest

    najatheus reagiu a Denker por uma resposta no tópico

    1 ponto
    Em Data/Actions/Scripts, crie um arquivo.lua e coloque dentro: -- Developed by: Denker function OnUse(cid,item,fromPosition,item2,toPosition) Storage = -- Valor da storage que irá ser setada no player ItemID = -- Id do item Name = -- Nome do item Quantidade = -- Quantidade do item Level = -- Level requerido para pegar o item if getPlayerLevel(cid) >= Level and getPlayerStorageValue (cid,Storage)== -1 then doPlayerSendTextMessage(cid,25,"You found"..Quantidade....Name.."!") -- Mensagem que irá aparecer quando o player coletar o item doPlayerAddItem(cid, ItemID, Quantidade) setPlayerStorageValue (cid,Storage,1) elseif getPlayerLevel(cid) <= Level then doPlayerSendTextMessage(cid,25,"You need to level"..Level.."to collect this item") -- Mensagem caso o player não tenha o level necessário para pegar o item elseif getPlayerStorageValue(cid, Storage) >= 1 then doPlayerSendTextMessage(cid,25,"You have already collected this item") -- Mensagem caso o player já tenha pego o item end return true end Em Data/Actions/Actions.xml, coloque dentro: <action actionid="ID" event="script" value="Arquivo.lua"/>
  4. Saber se é um piso ou água/montanhas TSF 0.4x

    Lucce reagiu a Vodkart por uma resposta no tópico

    1 ponto
    usa essa função function isWalkable(pos) -- by Nord / editado por Omega if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false elseif isCreature(getTopCreature(pos).uid) then return false elseif getTileInfo(pos).protection then return false elseif hasProperty(getThingFromPos(pos).uid, 3) or hasProperty(getThingFromPos(pos).uid, 7) then return false end return true end dps como vai ser aleatorio pode usar assim: local pos = {x = 10, y = 10, z = 7} -- pode ser uma pos aleatoria claro if isWalkable(pos) then -- teleportar end
  5. [AJUDA] Adicionar Item ao Lider da Guild

    DigoleraZica reagiu a Vodkart por uma resposta no tópico

    1 ponto
    function getGuildLeaderName(GuildName) -- function by vodkart local leader = db.getResult("SELECT `players`.`name` FROM `players` WHERE `players`.`id` = (SELECT `guilds`.`ownerid` FROM `guilds` WHERE `guilds`.`name` = ".. db.escapeString(GuildName) .. ")") if(leader:getID() ~= -1) then return leader:getDataString("name") end return nil end if not RealCastle then RealCastle = { itemid = 10091, openStorage = 722374, guildStorage = 722375, dateStorages = {722376,722377,722378} } function RealCastle:isInside(cid) local thingPos = getThingPos(cid) local areas = { {{x = 1921, y = 484, z = 6}, {x = 2098, y = 607, z = 6}}, {{x = 2187, y = 396, z = 6}, {x = 2264, y = 511, z = 6}}, {{x = 2442, y = 416, z = 4}, {x = 2604, y = 521, z = 4}}, {{x = 2446, y = 391, z = 5}, {x = 2619, y = 543, z = 5}}, {{x = 2091, y = 449, z = 6}, {x = 2166, y = 508, z = 6}}, {{x = 1907, y = 606, z = 6}, {x = 2099, y = 735, z = 6}}, {{x = 2653, y = 442, z = 6}, {x = 2741, y = 559, z = 6}}, {{x = 2653, y = 442, z = 5}, {x = 2741, y = 559, z = 5}}, {{x = 2653, y = 442, z = 4}, {x = 2741, y = 559, z = 5}}, {{x = 2277, y = 613, z = 7}, {x = 2462, y = 716, z = 7}}, {{x = 2277, y = 613, z = 6}, {x = 2462, y = 716, z = 6}}, {{x = 2277, y = 613, z = 5}, {x = 2462, y = 716, z = 5}}, {{x = 2277, y = 613, z = 4}, {x = 2462, y = 716, z = 4}}, {{x = 2242, y = 723, z = 6}, {x = 2442, y = 894, z = 6}}, {{x = 2255, y = 804, z = 7}, {x = 2282, y = 832, z = 7}}, {{x = 2103, y = 638, z = 6}, {x = 2262, y = 740, z = 6}}, {{x = 2103, y = 638, z = 7}, {x = 2262, y = 740, z = 7}}, {{x = 1899, y = 590, z = 7}, {x = 2102, y = 730, z = 7}}, {{x = 2130, y = 781, z = 7}, {x = 2210, y = 923, z = 7}}, {{x = 2240, y = 835, z = 7}, {x = 2304, y = 916, z = 7}}, {{x = 1927, y = 739, z = 5}, {x = 2043, y = 927, z = 5}} } for _, area in next, areas do if isInRange(thingPos, area[1], area[2]) then return true end end if (thingPos.x >= 2288 and thingPos.x <= 2364 and thingPos.y >= 433 and thingPos.y <= 509) or (thingPos.x >= 2148 and thingPos.x <= 2189 and thingPos.y >= 641 and thingPos.y <= 679) or (thingPos.x >= 2229 and thingPos.x <= 622 and thingPos.y >= 2320 and thingPos.y <= 704) then return true end return false end function RealCastle:getAllPlayers() local players = {} for _, pid in next, getPlayersOnline() do if self:isInside(pid) then table.insert(players, pid) end end return players end function RealCastle:removePlayers(messageType, message) local players = self:getAllPlayers() for _, pid in next, players do doPlayerSetPzLocked(pid, false) doTeleportThing(pid, getTownTemplePosition(getPlayerTown(pid))) if type(messageType) == "string" and messageType == "popup" then doPlayerPopupFYI(pid, message) else doPlayerSendTextMessage(pid, messageType, message) end end end function RealCastle:open() setGlobalStorageValue(self.openStorage, 1) setGlobalStorageValue(self.guildStorage, EMPTY_STORAGE) self:removePlayers("popup", "[War Castle] O domínio de sua guild pelo castelo acabou e você foi trazido a seu Templo.") end function RealCastle:close() setGlobalStorageValue(self.openStorage, EMPTY_STORAGE) local tomorrow = getTomorrowsDate() local tomorrowString = tomorrow[1].."/"..tomorrow[2].."/"..tomorrow[3] for i = 1, 3 do setGlobalStorageValue(self.dateStorages[i], tomorrow[i]) end local guild_id = getGlobalStorageValue(self.guildStorage) local guild_name = "" if guild_id ~= EMPTY_STORAGE then guild_name = getGuildNameByID(guild_id) self:removePlayers(MESSAGE_STATUS_CONSOLE_ORANGE, "[War Castle] A batalha pelo domínio do castelo se encerrou com vitória da guild "..guild_name.." e você foi trazido a seu Templo.") doBroadcastMessage("[War Castle] A batalha terminou e a guild vencedora foi "..guild_name.."! Todos os jogadores dessa guild agora podem aproveitar o castelo até amanhã às 19:00!") local leader = getGuildLeaderName(guild_name) local parcel = doCreateItemEx(ITEM_PARCEL) doAddContainerItem(parcel, RealCastle.itemid, 1) doPlayerSendMailByName(leader, parcel) else guild_name = "Castelo LIVRE" self:removePlayers(MESSAGE_STATUS_CONSOLE_ORANGE, "[War Castle] A batalha pelo domínio do castelo se encerrou e "..guild_name.." ficou com o domínio. Você foi trazido a seu Templo.") doBroadcastMessage("[War Castle] A batalha terminou e nenhuma guild conseguiu dominar o castelo! Amanhã às 19:00 haverá uma nova batalha!") end db.query("DELETE FROM real_castle WHERE world_id = '"..getWorldId().."'") db.query("INSERT INTO real_castle (guild_name, guild_id, tomorrow, world_id) VALUES ('"..guild_name.."', '"..guild_id.."', '"..tomorrowString.."', '"..getWorldId().."')") doSaveServer() end function RealCastle:broadcast(message) for _, pid in next, self:getAllPlayers() do doPlayerSendTextMessage(pid, MESSAGE_STATUS_WARNING, message) end end function RealCastle:domain(cid) setGlobalStorageValue(self.guildStorage, getPlayerGuildId(cid)) self:broadcast("[War Castle] O jogador ["..getPlayerName(cid).."] da guild ["..getPlayerGuildName(cid).."] dominou o castelo! As outras guilds têm até às 20:00 para conseguir tirar o domínio deles, não desistam!") end function RealCastle:isDominating(cid) return getPlayerGuildId(cid) == getGlobalStorageValue(self.guildStorage) end function RealCastle:isOpen() return getGlobalStorageValue(self.openStorage) ~= EMPTY_STORAGE end function RealCastle:checkLogin(cid) if self:isInside(cid) then if not self:isDominating(cid) then doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) doPlayerPopupFYI(cid, "[War Castle] Você foi removido do castelo pois ele não pertence mais a sua guild.") end end return true end function RealCastle:announce(message, times) if times == 0 then return true end doBroadcastMessage(message) addEvent(self.announce, 5*60000 , self, message, (times - 1)) end function RealCastle:checkOnTime() if self:isOpen() then self:close() else self:open() self:announce("[War Castle] O acesso à área de dominar do castelo está liberado até às 20:00. Boa sorte a todas as guilds!", 11) for i = 1, 4 do addEvent(doBroadcastMessage, 60000 * i, "[War Castle] O acesso à área de dominar do castelo está liberado até as 20:00. Boa sorte a todas as guilds!") end end return true end function RealCastle:checkOnUse(cid, item, frompos, item2, topos) if item.uid == 61466 then local guild_id = getGlobalStorageValue(self.guildStorage) local guild = guild_id > 1 and "a guild "..getGuildNameByID(guild_id).." possui o domínio" or "nenhuma guild possui o domínio do castelo" local time = getGlobalStorageValue(self.dateStorages[1]).."/"..getGlobalStorageValue(self.dateStorages[2]).."/"..getGlobalStorageValue(self.dateStorages[3]) local domain = self:isOpen() and "as guilds estão batalhando pelo domínio do castelo" or guild local msg = " ----------[War Castle]---------\n\n\nAtualmente "..domain..".\n\nPróxima batalha: "..time.." às 19:00." doShowTextDialog(cid,8977,msg) return true end if not self:isOpen() then doTeleportThing(cid,getTownTemplePosition(getPlayerTown(cid))) return true end if not self:isDominating(cid) then self:domain(cid) doSendMagicEffect(getThingPos(cid), CONST_ME_CRAPS) else doSendMagicEffect(fromPosition, CONST_ME_POFF) doPlayerSay(cid,"[War Castle] Sua guild já está com o domínio do castelo!", TALKTYPE_ORANGE_1) end return true end function RealCastle:checkStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) if item.actionid == 61465 then if self:isOpen() then if getPlayerGuildId(cid) > 0 then if getPlayerLevel(cid) >= 200 then doSendMagicEffect(getThingPos(cid), 13) return true else doTeleportThing(cid, fromPosition) doSendMagicEffect(fromPosition, CONST_ME_POFF) doPlayerSay(cid,"[War Castle] Somente jogadores com level 200 ou mais podem batalhar pelo castelo!", TALKTYPE_ORANGE_1) end else doTeleportThing(cid, fromPosition) doSendMagicEffect(fromPosition, CONST_ME_POFF) doPlayerSay(cid,"[War Castle] Somente jogadores com guild podem batalhar pelo castelo!", TALKTYPE_ORANGE_1) end else doTeleportThing(cid, fromPosition) doSendMagicEffect(fromPosition, CONST_ME_POFF) doPlayerSay(cid,"[War Castle] O castelo não está aberto para invasões!", TALKTYPE_ORANGE_1) end elseif item.actionid == 61466 then if self:isDominating(cid) then doSendMagicEffect(getThingPos(cid), 14) doPlayerSay(cid,"Bem vindo ao War Castle!", TALKTYPE_ORANGE_1) return true end if self:isOpen() then doTeleportThing(cid, fromPosition) doSendMagicEffect(fromPosition, CONST_ME_POFF) doPlayerSay(cid,"[War Castle] Não é permitido entrar no castelo enquanto as guilds estão batalhando pelo seu domínio.", TALKTYPE_ORANGE_1) else local guild_id = getGlobalStorageValue(self.guildStorage) doTeleportThing(cid, {x = toPosition.x, y = toPosition.y + 2, z = toPosition.z}) doSendMagicEffect({x = toPosition.x, y = toPosition.y + 2, z = toPosition.z}, CONST_ME_FIREAREA) doPlayerSay(cid, guild_id ~= EMPTY_STORAGE and "[War Castle] Somente membros da guild ["..getGuildNameByID(guild_id).."] podem entrar." or "[War Castle] Somente membros da guild dominante podem entrar.", TALKTYPE_ORANGE_1) end end return true end end
  6. Erro no npc reseter

    Muvuka reagiu a Rogex Joyz por uma resposta no tópico

    1 ponto
  7. SCRIPT WAR

    luanluciano93 reagiu a Rogex Joyz por uma resposta no tópico

    1 ponto
    Eu indico o evento do @luanluciano93, é bem na pegada que você quer e muito divertido. Para acessar o tópico, basta clicar aqui.
  8. Pack Sprites 9GB [Vários Temas]

    gutalo reagiu a LeoTK por uma resposta no tópico

    1 ponto
    Salve galera a um tempo eu vinha colecionando clientes de diversos temas como Tibia/Naruto/Poketibia etc.... bom eu havia compartilhado no privado para ajudar pessoas que não tinham sprites para começar projetos etc... e o membro @diarmaint tentou postar esse pack porém o mesmo não conseguiu fazer o scan do arquivo então resolvi compartilhar com todos espero que possa ajudar a todos que precisarem. Obs: Todos os clientes estão divididos em pastas com dat/spr Download: MEGA MEDIAFIRE Scan: Pelo arquivo ser muito grande, mesmo compactado não foi possível efetuar o scan do mesmo, porém são apenas arquivos de dat/spr e possíveis clientes em OTC completos também não tem nenhum tipo de vírus ou qualquer arquivo malicioso. São muitos clientes para citar os créditos de todos mas só me enviar uma mensagem no privado que vou adicionando os créditos
  9. [AJUDA] Tempo de respawn

    weslleyrr reagiu a 1027929 por uma resposta no tópico

    1 ponto
    Vai na pasta do seu mapa e abra o arquivo nomedomapa-spawn.xml com o bloco de notas. Aperte CTRL+H e no primeiro campo digite: spawntime="60" E no segundo digite: spawntime="tempo" No lugar de tempo é só preencher quanto quer que seja o tempo de Respawn depois aperte em "Substituir Todos" REP+ Se ajudei =)
Líderes está configurado para São Paulo/GMT-03:00

Informação Importante

Confirmação de Termo