Histórico de Curtidas
-
Aksz recebeu reputação de Underewar em Erro de conexão Poketibia 8.59Estava usando OLD Client ainda ou OTClient?
Me lembro que alguns .exe não aceitavam alterar IP diretamente, pelo Tibia IP Changer, tinha que alterar no HEX, não sei se pode ser o seu caso.
-
Aksz deu reputação a L3K0T em Como criar um OTCLIENT próprio para servidor Poketibia!Esta é uma mensagem automática! Este tópico foi movido para a área correta.
Pedimos que você leia as regras do fórum.
-
Aksz recebeu reputação de AI Moderator em Erro Distro SQLTeria que ver aonde está fazendo esse update, se é direto na source ou em scripts dentro da pasta do servidor.
Mas acredito eu que isso é um erro de comando pois está usando SQLITE, se estiver usando mysql, acredito eu que não daria.
tenta achar essa query e trocar por essa.
(UPDATE "players" SET "broadcasting" = 0, "viewers" = 0 WHERE "id" in (SELECT "id" FROM "players" WHERE "id" = 1 LIMIT 1);)
-
Aksz deu reputação a elton em [8.54]NPO Derivado PokeStorm 3.20 LinuxBom venho deixa o projeto New Pokemon Online 1.0 (NPO) que estava adimistrando por eu e outros parceiros que vão esta citados no final do topico.
-Servidor em linux (ideal para quem gosta do servidor estável)
Instação
Updates
Print Screen
Videos
Download
Créditos
Kydrai
Kanade (eu)
Aslam
Rukia
Nunes
Gabriel Sales
Ryuk
ao utilizar esse server para postagens adicionar os créditos de todos.
Obs: a senha da database não é pKe_StoRM_21
Atualização.
PhpmyAdmin
Login: pKsilV
Password : pKo_SilVE_35
Outro video que tinha esquecido de colocar rsrs.
Links úteis:
Montando Otserver em Debian - Natanael Beckman
Descompiladores de Clientes - Stigal
-
Aksz deu reputação a Tungsx em [Poketibia] Pfield CdBar Open SourceEai PokeTibianos !
Trago aqui o pfield com cd bar um servidor com sources! bom adicionei a cdbar no pfield! a alguns sistemas nada mais!
Systems do PFIELD!
Observações PRINTS:
DOWNLOAD: http://bit.ly/1OdS1Ii Sources GitHub:
https://github.com/K...d-cdbar-source/
SCAN: https://www.virustotal.com/pt-br/file/601a2bc99eff53a1c7a2bb231218209331b0aad511d24c8359d7977b09eb0349/analysis/1454742556/
CREDITOS:
Kevick (CDBAR-FUNCIONAL)
Aberos (Otclient)
Avronex
CipSoft - Sem ela isso tudo nao existiria
-
Aksz recebeu reputação de RatPok em Erro ao Usar um Pokemon atraves da PokebarPelo que vi no script voce deu um print na função ball sem antes definir ela.
print("Tentando invocar Pokémon com a ball ID: " .. ball:getId())
Está bem no começo, e não tem nenhuma definição ali de ball, por isso o erro que está recebendo valor nulo
-
Aksz recebeu reputação de L3K0T em (Resolvido)Player nao salva quando deslogaVerifica se tem a tabela player_autoloot
se tiver, ela esta faltando colunas,
Caso tenha essa tabela apaga ela e executa esse script.
CREATE TABLE player_autoloot ( id int NOT NULL AUTO_INCREMENT, player_id int NOT NULL, autoloot_list blob, PRIMARY KEY (id) );
-
Aksz recebeu reputação de dumazin em (Resolvido)Player nao salva quando deslogaVerifica se tem a tabela player_autoloot
se tiver, ela esta faltando colunas,
Caso tenha essa tabela apaga ela e executa esse script.
CREATE TABLE player_autoloot ( id int NOT NULL AUTO_INCREMENT, player_id int NOT NULL, autoloot_list blob, PRIMARY KEY (id) );
-
Aksz recebeu reputação de Joker Pr em AJUDA PERSONAGEM MORRE VOLTA LEVEL 1Rode essas aqui, foram atualizadas para o SQLite.
CREATE TABLE IF NOT EXISTS z_ots_guildcomunication ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, type TEXT NOT NULL, action TEXT NOT NULL, param1 TEXT NOT NULL, param2 TEXT NOT NULL, param3 TEXT NOT NULL, param4 TEXT NOT NULL, param5 TEXT NOT NULL, param6 TEXT NOT NULL, param7 TEXT NOT NULL, delete_it INTEGER NOT NULL DEFAULT 1 ); CREATE TABLE IF NOT EXISTS z_ots_comunication ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, login TEXT NOT NULL, type TEXT NOT NULL, action TEXT NOT NULL, param1 TEXT NOT NULL, param2 TEXT NOT NULL, param3 TEXT NOT NULL, param4 TEXT NOT NULL, param5 TEXT NOT NULL, param6 TEXT NOT NULL, param7 TEXT NOT NULL, delete_it INTEGER NOT NULL DEFAULT 1 );
-
Aksz recebeu reputação de carloschc em Base PokeWish + PokelightOlá, bom dia tudo bem?
Primeiramente vamos lá,
Download das DLL's
Scan das DLL's
Dowload Servidor
Scan Servidor
Caso você queira, pode usar suas proprias DLL's, mas recomendos DLL's, limpas, sem modificações.
Para ligar, utilize o mapa lite, que está na pasta world, ou seja, mova os arquivos que está na pasta WORLD, para uma pasta de backup, e use a versão do mapa light, para testar, lembrando que essa versão que compilei, não vai rodar o mapa full.
Outra coisa que detectei, que aparentemente, parece que falta algumas tags nesse Servidor.lua, a source original, estava puxando ainda o config.lua, alterei para puxar o servidor.lua
Mas ta faltando algumas outras tags ai só da uma olhadinha que vai conseguir identificar.
Pelo menos nos meus testes eu vi que precisava de algumas coisas a mais no Servidor.lua
Como a tag do tipo de conexão de base, para mysql ou sqlite, e a tag de diretorio, aonde puxa os dados do servidor.
Lembrando, o scan está ai acima, eu não parei pra analisar toda a source em si, para ver se tinha algo incomum no código.
-
Aksz recebeu reputação de Joker Pr em Alguem poderia me ajuda com esse erro do meu server não se se estou postando no local certo des de ja peço desculpasOlá, bom dia tudo bem?
Pelo erro, está faltando a coluna reset, segue a query, para adicionar.
ALTER TABLE players ADD reset INTEGER not null default 0
O segundo erro é que está faltando a tabela z_ots_comunication, verifica se instalou certinho, o sistema, qualquer coisa roda novamente as querys, mas pra desencargo, segue a query.
CREATE TABLE "z_ots_comunication" ( "id" INTEGER PRIMARY KEY NOT NULL, "name" VARCHAR(255) NOT NULL, "type" VARCHAR(255) NOT NULL, "action" VARCHAR(255) NOT NULL, "param1" VARCHAR(255) NOT NULL, "param2" VARCHAR(255) NOT NULL, "param3" VARCHAR(255) NOT NULL, "param4" VARCHAR(255) NOT NULL, "param5" VARCHAR(255) NOT NULL, "param6" VARCHAR(255) NOT NULL, "param7" VARCHAR(255) NOT NULL, "delete_it" INTEGER(2) NOT NULL DEFAULT '1' )
-
Aksz recebeu reputação de Underewar em (Resolvido)Apenas para sanar uma dúvida (Website, XAMPP, MySql, Servidor)Olá, bom dia tudo bem?
Nesse caso, o erro é que não existe a database 'ndbo' criada.
-
Aksz recebeu reputação de Underewar em (Resolvido)[Suporte Website MyAAC] Problemas e dúvidas sobre MyAACOlá!
Só pra lembrar, os provedores de emails, lançaram uma atualização nas opções de envio de emails, por dentro de aplicativos, seja sites ou programas, agora não é possivel mais configurar email e senha no smtp, no gmail, precisa estar ativado a autenticação de dois fatores, e criar uma senha de aplicativo, ai sim vai funcionar, pode ser por conta disso que não esteja funcionando certinho.
-
Aksz recebeu reputação de Tungsx em [SOURCE DO PDA]Segue o scan do arquivo.
SCAN VIRUS TOTAL
-
Aksz recebeu reputação de DigoleraZica em [AJUDA] Query Count GuildOlá, bom dia!
Então, no select que você fez, você pediu pra puxar somente a coluna guild_id, onde a guild_id for maior que 0.
Se você puxar todos dados da tabela, troca o select `guild_id` por select * a condição where se quiser pegar somente de uma guild especifica, seria where guild_id = id_guild
-
Aksz recebeu reputação de boxxer321 em Base PokeWish + PokelightOlá, bom dia tudo bem?
Primeiramente vamos lá,
Download das DLL's
Scan das DLL's
Dowload Servidor
Scan Servidor
Caso você queira, pode usar suas proprias DLL's, mas recomendos DLL's, limpas, sem modificações.
Para ligar, utilize o mapa lite, que está na pasta world, ou seja, mova os arquivos que está na pasta WORLD, para uma pasta de backup, e use a versão do mapa light, para testar, lembrando que essa versão que compilei, não vai rodar o mapa full.
Outra coisa que detectei, que aparentemente, parece que falta algumas tags nesse Servidor.lua, a source original, estava puxando ainda o config.lua, alterei para puxar o servidor.lua
Mas ta faltando algumas outras tags ai só da uma olhadinha que vai conseguir identificar.
Pelo menos nos meus testes eu vi que precisava de algumas coisas a mais no Servidor.lua
Como a tag do tipo de conexão de base, para mysql ou sqlite, e a tag de diretorio, aonde puxa os dados do servidor.
Lembrando, o scan está ai acima, eu não parei pra analisar toda a source em si, para ver se tinha algo incomum no código.
-
Aksz deu reputação a FeeTads em Estatua que nasce Monstrofiz um script que da pra colocar mais de um monstro e recompensas pra cada um no mesmo script
vá em:
data/actions/actions.xml
<action actionid="ACTIOND-ID-DA-ESTATUA;ACTIONID;ACTIONID" script="questVertical.lua" /> INSIRA TODOS os actions ID das estatus, tanto das de entrada (clica pra entrar na sala), como as de recompensa
ps: se for em sequencia, tipo 5001,5002,5003... só é necessário colocar o primeiro e o ultimo, ex: 5001-5003, porém PRESTE BASTANTE ATENÇÃO!
Agora vá em:
data/actions/scripts/questVertical.lua (caso não exista pode criar e excluir os scripts antigos dessa quest)
e copie esse código dentro:
--[[ SCRIPT FEITO POR FEETADS - TIBIAKING ]]-- --[[straikar - 15/02/23]]-- / discord: FeeTads#0246 local config = { -- actions ID da estatua da entrada [25486] = {storage_timer = 5341352, posPlayer = {x = 1000, y = 1000, z = 7}, monster_name = "Papao", posMonstro = {x = 1000, y = 1000, z = 7}, posSaida = {x = 1000, y = 1000, z = 7}, fromP={x = 931, y = 1270, z = 9}, toP={x = 936, y = 1276, z = 9}}, [25487] = {storage_timer = 5341353, posPlayer = {x = 1001, y = 1001, z = 7}, monster_name = "Papao2", posMonstro = {x = 1001, y = 1001, z = 7}, posSaida = {x = 1001, y = 1001, z = 7}, fromP={x = 931, y = 1270, z = 9}, toP={x = 936, y = 1276, z = 9}}, -- caso queira colocar outros, só repetir ^ e mudar a storage, o action id e as posições etc.. use_cooldown_global = false, -- se vc colocar true aqui, TODAS as salas de quest onde o player tentar entrar, vão ter o mesmo cooldown ou seja 1 sala a cada 5 mins, se for false, pode entrar em outra sala logo em seguida storage_timer_global = 5341350, -- storage de exaust pra entrar de novo exaust_entrar_denovo = 5 * 60, -- 5*60 = 5 minutos need_level = 100, -- level necessário para entrar / caso não precise coloque 1 ou 8 remover_player_tempo = true, -- remover o player depois de tanto tempo la dentro? / evita o player ficar la trapando o dia todo remover_timer = 10*60, -- quando tempo la dentro pra remover? / 10*60 = 10 minutos } local REWARD = { --[action id] = {rewards = {{item, quantidade}, {item, quantidade}}}, -- pode colocar quantas rewards quiser [5032] = {storage_reward = 5441400, rewards = {{2160, 1}, {2148, 100}, {2152, 50}}}, [5033] = {storage_reward = 5441401, rewards = {{2160, 1}}}, -- quando diminuir a quantidadede recompensa, ceritifique que deixou certo a quantidade de {} pra n bugar o script repetir_reward = false, -- ganhar a recompensa sempre que fizer a quest? teleportar_final = {x=1000,y=1000,z=7}, -- pra onde teleportar quando ele clicar na estatua de recompensa? (normalmente eh o templo) } -- função de tempo local function getTimeString(self) local format = { {'dia', self / 60 / 60 / 24}, {'hora', self / 60 / 60 % 24}, {'minuto', self / 60 % 60}, {'segundo', self % 60} } local out = {} for k, t in ipairs(format) do local v = math.floor(t[2]) if(v > 0) then table.insert(out, (k < #format and (#out > 0 and ', ' or '') or ' e ') .. v .. ' ' .. t[1] .. (v ~= 1 and 's' or '')) end end local ret = table.concat(out) if ret:len() < 16 and ret:find('segundo') then local a, b = ret:find(' e ') ret = ret:sub(b+1) end return ret end -- FUNÇÃO PARA KICKAR O PLAYER DA SALA APÓS TANTO TEMPO local function removePlayersTime(frompos, topos) for x = frompos.x, topos.x do for y = frompos.y, topos.y do local remove, clean = true, true local pos = {x = x, y = y, z = frompos.z} local m = getTopCreature(pos).uid if m ~= 0 and isPlayer(m) then doTeleportThing(m, getTownTemplePosition(1)) end end end return true end -- FUNÇÃO PARA REMOVER O BOSS AO KICKAR O PLAYER DA SALA local function verificaBoss(frompos, topos) for x = frompos.x, topos.x do for y = frompos.y, topos.y do if isMonster(getThingFromPos({x = x, y = y, z = frompos.z, stackpos = 253}).uid) then doRemoveCreature(getThingFromPos({x = x, y = y, z = frompos.z, stackpos = 253}).uid) end end end end local function give_reward(cid, entregar) local text = 'você recebeu ' -- string que salvará o nome das recompensas if entregar then -- existe as rewards? for i=1, #entregar do doPlayerAddItem(cid, entregar[i][1], entregar[i][2]) -- adiciona os item ao player text = text..entregar[i][2]..getItemNameById(entregar[i][1])..entregar[i][1] > 1 and "s" or "" if i == #entregar then text = text.."." -- caso seja o ultimo coloca ponto final else text = text..", " -- se não, bota virgula end end doPlayerSendTextMessage(cid, 22, text) end return true end local saveEvent = {} -- evento pra checkar o player na sala de espera function onUse(cid, item, frompos, itemEx, topos) local check = {} local actionID = item.actionid if config[actionID] then -- checa o cooldown e se pode entrar na sala if config.use_cooldown_global then if getPlayerStorageValue(cid, config.storage_timer_global) - os.time() > 0 then doPlayerSendCancel(cid, 'Aguarde, você ainda não pode entrar, está com cooldown de'..getTimeString(getPlayerStorageValue(cid, config.storage_timer_global) - os.time())..'.') return true end else if getPlayerStorageValue(cid, config[actionID].storage_timer) > 0 then doPlayerSendCancel(cid, 'Aguarde, você ainda não pode entrar, está com cooldown de'..getTimeString(getPlayerStorageValue(cid, config[actionID].storage_timer) - os.time())..'.') return true end end if #getPlayersInArea(config.[actionID].fromP, config.[actionID].toP) > 0 then doPlayerSendCancel(cid, 'Aguarde, tem jogadores la dentro.') return true end if getPlayerLevel(cid) < config.need_level then doPlayerSendCancel(cid, 'Você não tem o level necessário.') return true end -- caso tenha o level, e não tenha player la dentro, então faz a quest acontecer verificaBoss(config.[actionID].fromP, config.[actionID].to) -- remove o boss do antigo player caso haja doTeleportThing(cid, config[actionID].posPlayer) -- teleporta o player pra posição doCreateMonster(config[actionID].monster_name, config[actionID].posMonstro, false, true) -- cria o monstro na posição if config.remover_player_tempo then -- se remover o player depois de tanto tempo for true saveEvent[getPlayerGUID(cid)] = addEvent(function() removePlayersTime(config.[actionID].fromP, config.[actionID].toP) end, config.remover_timer * 1000) -- remover o player depois do tempo end if config.use_cooldown_global then setPlayerStorageValue(cid, config.storage_timer_global, os.time() + config.exaust_entrar_denovo) -- cooldown caso seja de todas as salas / n mexer else setPlayerStorageValue(cid, config[actionID].storage_timer, os.time() + config.exaust_entrar_denovo) -- cooldown pra entrar de novo / n mexer end return true end -- ESTATUA DE RECOMPENSA if REWARD[actionID] then -- caso tenha clicado na estatua de recompensa local entregar = REWARD[actionID].rewards if getPlayerStorageValue(cid, REWARD[actionID].storage_reward) == -1 then -- caso nunca tenha recebido a recompensa give_reward(cid, entregar) else -- caso ja tenha recebido if REWARD.repetir_reward then -- checa se pode repetir a recompensa give_reward(cid, entregar) else -- se não só da a mensagem q ja recebeu doPlayerSendTextMessage(cid, 22, "Você já recebeu sua recompensa.") end end doTeleportThing(cid, REWARD.teleportar_final) -- teleporta o player pra posição quando clicar na estatua de recompensa stopEvent(saveEvent[getPlayerGUID(cid)]) -- para o evento de jogar ele pro templo saveEvent[getPlayerGUID(cid)] = nil end return true end
-
Aksz deu reputação a Anderson Sacani em Estatua que nasce Monstro--[[ Observação: No mapa colocar o uid 5032 na estátua que dará recompensa No mapa colocar o uid 5033 na estátua que teleportará o jogador para dentro da sala ]] local config = { reward = { id = 2152, amount = 50 }, playerLevel = 100, playerTeleportTo = { x = 100, y = 100, z = 7 }, checkArea = { fromPosition = { x = 100, y = 100, z = 7 }, toPosition = { x = 100, y = 100, z = 7 } }, monsterName = "Papao", monsterSpawnPosition = { x = 100, y = 100, z = 7 }, exitPosition = { x = 100, y = 100, z = 7 }, time = 5, } function onUse(cid, item, frompos, item2, topos) if item.uid == 5032 then local storage = 1164372809 if getPlayerStorageValue(cid, storage) < 1 then setPlayerStorageValue(cid, storage, 1) doPlayerAddItem(cid, config.reward.id, config.reward.amount) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Voce foi recompensado com 5000 gold coins.") end doTeleportThing(cid, config.exitPosition, false) end if item.uid == 5033 then local storage, fromPos, toPos = 6431953401, config.checkArea.fromPosition, config.checkArea.toPosition local now = os.time() local check = (now - getPlayerStorageValue(cid, storage)) local monster_, player_ = 0, 0 for x = fromPos.x, toPos.x do for y = fromPos.y, toPos.y do for z = fromPos.z, toPos.z do local pid = getTopCreature({ x = x, y = y, z = z }).uid if ((isMonster(pid)) and (getCreatureName(pid) == config.monsterName)) then monster_ = monster_ + 1 end if isPlayer(pid) then player_ = player_ + 1 end end end end if ((getPlayerLevel(cid) < config.playerLevel) and (getPlayerAccess(cid) < 3)) then doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Precisa ter pelo menos nivel " .. config.playerLevel) return true end if ((check < 0) and (getPlayerAccess(cid) < 3)) then doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Faz menos de " .. config.time .. " minutos que voce enfrentou o monstro.") return true end if ((player_ > 0) and (getPlayerAccess(cid) < 3)) then doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Alguem esta na sala!") return true end if monster_ < 1 then doSummonCreature(config.monsterName, config.monsterSpawnPosition) end doTeleportThing(cid, config.playerTeleportTo, false) setPlayerStorageValue(cid, storage, (now + (60 * config.time))) end return true end
-
Aksz deu reputação a Straikar em Estatua que nasce MonstroEle editou, está logo a cima
-
Aksz recebeu reputação de jvictorv em Base PokeWish + PokelightAcredito que sejam as suas dlls, pois testei aqui e chegou a abrir pra ligar.
Pelo que vi o WebSite, não foi disponibilizado, ai teria que usar um próprio seu, ou baixar algum disponível aqui mesmo no TibiaKing
-
Aksz recebeu reputação de ILex WilL em ERRO CHMODOlá, bom dia tudo bem?
da permissão na pasta cache,
e nos arquivos dentro dela,
chmod -R 777 /cache
-
Aksz deu reputação a ZenohXX em Base PokeWish + PokelightOlá, contextualizando, para quem não me conhece, por algum tempo trabalhei em um servidor de poketibia chamado Pokelight.
Utilizamos a base, que compramos, do PokeWish parar criar nosso servidor Pokelight, mas com o tempo a staff acabou optando por tomar outros rumos, tanto profissionais quanto pessoais e acabou que não fazia mais sentido continuarmos com o projeto.
Sabendo do potencial dessa base e da paixão que ainda tenho por poketibia, na esperança de que surja um servidor bacana com esta base, venho disponibilizar todos os arquivos do servidor.
Vídeos do projeto
Em breve farei alguns tutoriais e observações de como fazer o melhor uso possível dos arquivos e disponibilizarei mais recursos usados durante o projeto, além de dar suporte a solução de problemas aqui neste tópico.
Utilize Ubuntu 20.04 para executar o servidor.
Servidor:
Link para download (Servidor Wish, cliente Wish, ferramentas e sources): https://drive.google.com/file/d/14Kl7Bw86Y9Cm1GPy-BUuDJSYqHBUCdGV
Link para download (RME): https://drive.google.com/file/d/1bwAcuhkRxF2RZ_rcpvSOvxExrWE9oMDC
Link para download (Cliente Pokelight): https://drive.google.com/file/d/1PFUp7grPXcV2enUp3Og7BO9LFnSjs5Il
Link para download (Servidor Pokelight última versão): https://drive.google.com/file/d/1057SbzLui7uOXcxJMoc5yaa3_9F8O-os/
Scan: Arquivos passam de 700MB, não é possível fazer o scan.
-
Aksz recebeu reputação de koyotestark em Erro na distro - tabela SQLOlá, bom dia tudo bem?
Seque a query para solucionar esse problema.
ALTER TABLE player_autoloot ADD COLUMN player_id int(11) NOT NULL;
-
Aksz recebeu reputação de ryckelmeh em Erro na distro - tabela SQLOlá, bom dia tudo bem?
Seque a query para solucionar esse problema.
ALTER TABLE player_autoloot ADD COLUMN player_id int(11) NOT NULL;
-
Aksz recebeu reputação de D.K em (Resolvido)Erro Mysql Acesso negadoOlá, bom dia tudo bem?
Na verdade, é erro de permissão, este computador, não está habilitado pra acessar o MySQL.
Ai você pode liberar total que é um sinal de %, ou liberar apenas pro ip que você quer.
Segue a query pra rodar.
GRANT ALL PRIVILEGES ON *.* TO 'usuariodobanco'@'%' IDENTIFIED BY 'senhadobanco' WITH GRANT OPTION; FLUSH PRIVILEGES;
Legenda : usuariodobanco é o usuario, normalmente, root, e a senhadobanco, é a senha do mysql.
Essa query, vai dar acesso total de qualquer lugar.