Líderes
-
-
-
-
luanluciano93
HéroiPontos5981Total de itens
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 05/22/15 em todas áreas
-
[Extremamente Importante] Clonando itens ...
Esse é o típico problema de quem quer tudo fácil. Você fez o download de um servidor pronto e infelizmente não sabe o que tem nele. Sempre que for querer começar um projeto o ideal é você começar do zero para garantir que não haverão irregularidades. Boa sorte.3 pontos
-
[TFS 1.x] TK Vip System
[TFS 1.x] TK Vip System
Murilo35 reagiu a luanluciano93 por uma resposta no tópico
1 pontoOlá pessoal, estou desenvolvendo esse sistema vip para TFS 1.x, se precisarem de alguma função nova é só comentar, criei para usar em um servidor meu e resolvi postar, bom proveito a todos. É só ir no arquivo data/lib/core/player.lua e adicionar esse código no começo do script: -- ALTER TABLE `accounts` ADD `vip_time` BIGINT(20) NOT NULL DEFAULT 0; -- player:getVipTime() function Player.getVipTime(self) local resultId = db.storeQuery("SELECT `vip_time` FROM `accounts` WHERE `id` = '".. self:getAccountId() .."';") local time = resultId ~= false and result.getNumber(resultId, "vip_time") or 0 result.free(resultId) return time end -- player:isVip() function Player.isVip(self) return self:getVipTime() > os.time() and true or false end -- player:addVipDays(days) function Player.addVipDays(self, days) return(self:isVip() and tonumber((days * 86400))) and db.query("UPDATE `accounts` SET `vip_time` = '".. (self:getVipTime() + (days * 86400)) .."' WHERE `id` ='".. self:getAccountId() .."' LIMIT 1 ;") or db.query("UPDATE `accounts` SET `vip_time` = '".. (os.time() + (days * 86400)) .."' WHERE `id` ='".. self:getAccountId() .."' LIMIT 1 ;") end -- player:removeVipDays(days) function Player.removeVipDays(self, days) return(self:isVip() and tonumber((days * 86400))) and db.query("UPDATE `accounts` SET `vip_time` = '".. (self:getVipTime() - (days * 86400)) .."' WHERE `id` ='".. self:getAccountId() .."' LIMIT 1 ;") or db.query("UPDATE `accounts` SET `vip_time` = '".. (os.time() - (days * 86400)) .."' WHERE `id` ='".. self:getAccountId() .."' LIMIT 1 ;") end -- player:setVipDays(days) function Player.setVipDays(self, days) return db.query("UPDATE `accounts` SET `vip_time` = '".. (os.time() - (days * 86400)) .."' WHERE `id` ='".. self:getAccountId() .."' LIMIT 1 ;") end -- player:removeVip() function Player.removeVip(self) db.query("UPDATE `accounts` SET `vip_time` = '0' WHERE `id` ='".. self:getAccountId() .."' LIMIT 1 ;") end -- player:sendVipDaysMessage() function Player.sendVipDaysMessage(self) if self:isVip() then local vipTime = self:getVipTime() - os.time() local vipDays = 1 + (math.floor(vipTime / 86400)) return self:getVipTime() ~= false and self:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, 'You have '.. vipDays .. ' vip day(s) in your account.') end end -- player:checkVipLogin() function Player.checkVipLogin(self) if self:getVipTime() > 0 and not self:isVip() then return self:removeVip() and self:teleportTo(self:getTown():getTemplePosition()) end end As funções são: • player:getVipTime() - Retorna o valor da tabela vip_time (igual esta na database). • player:isVip() - Retorna se o player é vip ou não. • player:addVipDays(days) - Usa-se em algum script para para adicionar dias de vip ao player (parâmetro de entrada "days"). • player:removeVipDays(days) - Usa-se em algum script para para remover dias de vip do player (parâmetro de entrada "days"). • player:setVipDays(days) - Usa-se em algum script para para mudar os dias de vip do player (parâmetro de entrada "days"). • player:removeVip() - Usa-se em algum script para para remover todo tempo de vip do player. • player:sendVipDaysMessage() - Retorna uma mensagem no player mostrando os dias de vip que ainda restam ao player. • player:checkVipLogin() - Checa se a vip do player acabou, se sim teleporta ele para o templo. Qualquer dúvida ou erro/bug poste aqui.1 ponto -
[Gesior] PagSeguro Automático atualizado 09/09/2016.
[Gesior] PagSeguro Automático atualizado 09/09/2016.
DouGlaS Mapper reagiu a Natanael Beckman por uma resposta no tópico
1 pontoATUALIZAÇÃO 09/09/2016! Fala galera! Bom venho atualizar este tópico que tem sido bem utilizado por todos, porém continha uma estrutura bem antiga/desatualizada. Graças a um amigo Ivens Pontes que refez todo o sistema vou postar agora a nova atualização. Lembrando que esse sistema é feito baseado no Gesior ACC 2012. 1 - Se você utiliza linux é necessário ter instalado o php5-curl, mais abaixo irei deixar um comando completo: apt-get install php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl [ATENÇÃO] após a instalação reinicie seu apache ou nginx. 2 - Acesse sua conta PagSeguro e nesse link cadastre o seu link de retorno e gere sua token em integrações. http://seusite.com/retpagseguro.php 3 - Abra seu config.php e adicione as seguintes tags: # PAGE: donate.php $config['site']['usePagseguro'] = true; //true show / false hide $config['site']['usePaypal'] = true; //true show / false hide $config['site']['useDeposit'] = true; //true show / false hide $config['site']['useZaypay'] = true; //true show / false hide $config['site']['useContenidopago'] = true; //true show / false hide $config['site']['useOnebip'] = true; //true show / false hide # Pagseguro config By IVENSPONTES $config['pagSeguro']['email'] = "[email protected]"; //Email Pagseguro $config['pagSeguro']['token'] = "YOURTOKENHERE"; // TOKEN $config['pagSeguro']['urlRedirect'] = 'http://seusite.com/?subtopic=donate&action=final'; //turn off redirect and notifications in pagseguro.com.br $config['pagSeguro']['urlNotification'] = 'http://seusite.com/retpagseguro.php'; //your return location $config['pagSeguro']['productName'] = 'Premium Points'; $config['pagSeguro']['productValue'] = 1.00; // 1.50 = R$ 1,50 etc... $config['pagSeguro']['doublePoints'] = false; ## Double points - true is on / false is off $config['pagSeguro']['host'] = 'localhost'; ## YOUR HOST $config['pagSeguro']['database'] = 'gesior860'; ## DATABASE $config['pagSeguro']['databaseUser'] = 'root'; ## USER $config['pagSeguro']['databasePass'] = ''; ## PASSWORD [ATENÇÃO] Leia atentamente e preencha todos os campos corretamente para não haver falhas imprevistas. MySQL CODE: CREATE TABLE `pagseguro_transactions` ( `transaction_code` VARCHAR( 36 ) NOT NULL , `name` VARCHAR( 200 ) DEFAULT NULL , `payment_method` VARCHAR( 50 ) NOT NULL , `status` VARCHAR( 50 ) NOT NULL , `item_count` INT( 11 ) NOT NULL , `data` DATETIME NOT NULL , UNIQUE KEY `transaction_code` ( `transaction_code` , `status` ) , KEY `name` ( `name` ) , KEY `status` ( `status` ) ) ENGINE = MYISAM DEFAULT CHARSET = latin1; 4 - Vou disponibilizar um download com alguns arquivos que devem ficar localizados na pasta www/html ou pra você que usa windows htdocs. html-pag-files1.zip Contém: +/custom_scripts/PagSeguroLibrary +/dntpagseguro.php +/retpagseguro.php 5 - Mais uma vez vamos fazer o mesmo procedimento só que agora vamos adicionar os seguintes arquivos na pasta pages. pages.zip Contém: +/donate_forms/files.php +/donate.php Bom é isso, faça um pequeno teste, comente e rep+. Créditos: Ivens Pontes1 ponto -
[TUTORIAL] Resolvendo qualquer erro na data base
Opa, galerinha do TK, pro meu primeiro tutorial resolvi fazer uma solução de um problema que desde que cheguei no TK, vejo que ocorre com uma certa frequência. Os erros da data base. Neste tutorial vou ensinar a resolver os erros do tipo No such table, Insert into, No such column, ... has no column named... etc. 1°) NO SUCH TABLE Bom, para o erro No such table, basta vc visualizar qual table está faltando. Para isso basta ler o erro na distro: No caso da imagem, está faltando a table: player_statements Para resolver este e qualquer outro problema deste tipo, caso sua data base seja sqlite, basta abrir sua data base pelo Sqlite Studio(download: http://sqlitestudio.pl/?act=download) e clicar em Open SQL query editor: Mas caso sua data base seja Mysql abra pelo phpMyadmin, ou por outro editor de sua preferencia. 1.1°) EXECUTANDO OS COMANDOS PARA RESOLVER O PROBLEMA Bom, dependendo da table que estiver faltando, vc irá colocar seu respectivo comando, segue abaixo TODOS os comandos básicos necessários para que sua data base fique Ok! : (VC VAI PEGAR O COMANDO REFERENTE À TABLE QUE VC QUER!!!) account_viplist Sqlite accounts Sqlite bans Sqlite environment_killers Sqlite global_storage Sqlite guild_invites Sqlite guild_kills Sqlite guild_ranks Sqlite guild_wars Sqlite guilds Sqlite house_auctions Sqlite house_data Sqlite house_lists Sqlite houses Sqlite killers Sqlite market_history Sqlite market_offers Sqlite player_deaths Sqlite player_depotitems Sqlite player_inboxitems Sqlite player_items Sqlite player_killers Sqlite player_namelocks Sqlite player_skills Sqlite player_spells Sqlite player_statements Sqlite player_storage Sqlite player_viplist Sqlite players Sqlite server_config Sqlite server_motd Sqlite server_record Sqlite server_reports Sqlite tile_items Sqlite tile_store Sqlite tiles Sqlite announcements Sqlite pagsegurotransacoes Sqlite player_advances Sqlite reports Sqlite thanks Sqlite z_bug_logs Sqlite z_featured_article Sqlite z_forum Sqlite z_helpdesk Sqlite z_monsters Sqlite z_network_box Sqlite z_news_tickers Sqlite z_ots_comunication Sqlite z_polls Sqlite z_polls_answers Sqlite z_poll_votes Sqlite z_shop_history_item Sqlite z_shop_history_pacc Sqlite z_shop_offer Sqlite z_spells Sqlite z_news_big Sqlite 2°) No such column / "NOME DA TABLE" has no column named "NOME DA COLUMN QUE FALTA" / Insert into Bom, para resolver esse problema vc deve identificar em qual TABLE está essa coluna que falta. Para isso, basta ler o erro como na imagem: No caso da imagem, está faltando a column WORLD_ID dentro da table MARKET_OFFERS. Para resolver, vc deve executar excluir a sua table MARKET_OFFERS existante em sua data base, e em seguida, executar o domando da da market_offers, encontrado acima, logicamente isso só se aplica ao caso da imagem, depende do seu caso, vc deve excutar o comando da table que estiver sendo referida no erro. Mas antes de executá-lo vc deve excluir a sua table EXISTENTE, para então executar o comando. ESTA FORMA DE RESOLUÇÃO SE APLICA AOS TRÊS CASOS: NO SUCH COLUMN, ...HAS NO COLUMN NAMED... e INSERT INTO. Bom galera, é isso. SE ENCONTRAREM, OU SE DEPARAREM COM ALGUM ERRO, BASTA ME PEDIR AJUDA QUE EU DAREI TOTAL SUPORTE PARA VOCÊS! SE ESTIVR FALTANDO MAIS ALGUMA TABLE QUE EU NÃO COLOQUEI AQUI, PF ME INFORMEM E EU ATUALIZAREI O TÓPICO!!! Lembrem-se, se eu te ajudei, por favor, deem REP++ pois foi meio trabolhoso fazer este tutorial todo... ESTOU A DISPOSIÇÃO DE TODOS! Tanto por PM quanto por SKYPE, e até mesmo por aqui, pois vou checar este tópico regularmente!! Espero ter ajudado!! Abraços.1 ponto
-
[DOWNLOAD] Server PokeZot
[DOWNLOAD] Server PokeZot
thyagolima reagiu a AdmAlexandre por uma resposta no tópico
1 pontoEae Galerinha do TibiaKing Hoje Venho Postar um Servidor Mais não é Feito Por Min !! Lista Completa de Pokemon Adicionados!! Sistemas Quests Alterações Prints Downloads!! -Créditos-1 ponto -
[Pokemon] Catch System Por Skill
1 pontoEae Galera Tudo na Paz? [+] Hoje Vou Postar um Script de Catch Por Skill Configurado No "Sword Fighting" do Seu Old Client Intao vamos La: -Resumo: Quanto Maior o Skill "Catching" Maior a chance de Captura do Pokemon! [+] OBS: Eu nao Vou Postar o Script Completo Pois de Cada (PDA) ou (PDA - COM PokeLevel) é Diferente um do Outro, Eu So vou Ensinar a Voces a como Adicionar o Sistema em Seus Servidores! [+] Servidor Testado: - Pokemon Dash Advanced [+] Primeiro Vai em Data/Lib/catchsystem.lua e Procure por essa Funçao: [+] Na Parte aonde manda a MSG de que Voce "capturou um Pokemon" e "Capturou um Pokemon e Foi para o CP" add Isso Abaixo dessas Msg: - Resumo: doPlayerAddSkillTry(cid,2,10) --- Quando Capturar um Pokemon vai Ganhar 10% de Skill "2". - Obs: No meu Client o Skill Catching Esta no Skill "Sword Fighting" [+] Bom Logo Apos Voce vai em data/actions/catch.lua e no Começo do Script add isso: [+] Agora Procure essa Funçao: local catchinfo = {} - E Troca por Isso: -OBS: O Script é Bem Basico. Dar Para adicionar varios Coisas Como (Ganhar EXP Dependendo do Skill/Almentar Chance de Catch para Premium Account e etc...) [+] Imagens: [+] OBS: So vai ganhar Skill se Voce Capturar o Pokemon e Recomendo voces Deixar o Catch BAIXO! Por que o Script faz a Soma de Rate um Exemplo: Pokeball Rate: 50 Skill Cathing Rate (com 25 de Skill Cathing) : 100 Somar: 50+100 = 150 de Rate o Jogador vai ter [script Atualizado Dia 25/01/2015] [+] Creditos: NextBR1 ponto
-
[Download] Sprites otpokemon v10
[Download] Sprites otpokemon v10
Kingdarllan reagiu a Gabrieltxu por uma resposta no tópico
1 pontoFala ai galera vi muitas pessoas precisando dessas sprites ai baixei o client deles aqui e peguei as sprites e hoje estarei compartilhando com vocês , algumas prints sobre a sprite \/ Download: https://www.mediafire.com/?ilt2lah47h7eos2 Scan: https://www.virustotal.com/pt/file/a2ae85048fb4026a803028eb6b07432ca1b502ffb090b8fa0a7bcd285fe0d1f7/analysis/1424571632 Créditos: Otpokemon.com - pelas sprites GabrielTxu eu - por decompilar e postar. é isso se gostou deixa ai seu gostei que me ajuda muito , até a proxima o/1 ponto -
[DOWNLOAD] SPR e DAT do Otpokemon 7.0!
[DOWNLOAD] SPR e DAT do Otpokemon 7.0!
PedroLucasAlado reagiu a yuricrazk9 por uma resposta no tópico
1 pontoBoa tarde galera do TK! Estou aqui postando link do download do SPR e DAT do otpokemon 7.0, eu estava pesquisando sobre otpokemon e acabei encontrando as SPR e DAT e bem atualizada, tem todas as sprites de pokemon de todas as gerações, e outras sprites do otpokemon! Download SRT e DAT do Otpokemon 7.0! http://www.4shared.com/rar/IrksvJy1ba/Dat_e_spr_do_otpokemon_70.html +REP é bom se esse tópico ajudou!1 ponto -
(Removido)DXP Server 1.0 Rick(DFB No my credits)
(Removido)DXP Server 1.0 Rick(DFB No my credits)
tuloi14 reagiu a ricksi2012 por uma resposta no tópico
1 ponto@Removido1 ponto -
[C++] getMonstersOnline()
1 pontoEssa função em C++ retorna os monstros online no servidor. luascript.cpp Procure por int32_t LuaScriptInterface::luaGetPlayersOnline(lua_State* L) { //getPlayersOnline() ScriptEnviroment* env = getEnv(); AutoList<Player>::iterator it = Player::autoList.begin(); lua_newtable(L); for(int32_t i = 1; it != Player::autoList.end(); ++it, ++i) { lua_pushnumber(L, i); lua_pushnumber(L, env->addThing(it->second)); pushTable(L); } return 1; } Adicione abaixo int32_t LuaScriptInterface::luaGetMonstersOnline(lua_State* L) { //getMonstersOnline() ScriptEnviroment* env = getEnv(); AutoList<Monster>::iterator it = Monster::autoList.begin(); lua_newtable(L); for(int32_t i = 1; it != Monster::autoList.end(); ++it, ++i) { lua_pushnumber(L, i); lua_pushnumber(L, env->addThing(it->second)); pushTable(L); } return 1; } Procure por //getPlayersOnline() lua_register(m_luaState, "getPlayersOnline", LuaScriptInterface::luaGetPlayersOnline); Adicione abaixo //getMonstersOnline() lua_register(m_luaState, "getMonstersOnline", LuaScriptInterface::luaGetMonstersOnline); Agora em luascript.h Procure por static int32_t luaGetPlayersOnline(lua_State* L); Adicione abaixo static int32_t luaGetMonstersOnline(lua_State* L); Exemplo de uso: function onSay(cid, words, param, channel) local m = getMonstersOnline() if(not m) then return doPlayerSendCancel(cid, "No monsters") end for _, mid in ipairs(m) do local mpos = getThingPos(mid) doSendAnimatedText(mpos, 'WORK', 255) end return 0 end Créditos: Dalton1 ponto
-
SpriteDump
SpriteDump
NoturnoBRN reagiu a grafit por uma resposta no tópico
1 pontoSpriteDump SpriteDump é um programa que analisa o arquivo .dat e exporta cada sprite encontrado. O código do programa pode ser encontrado no Pastebin clicando aqui Também é possível já fazer o download do projeto no Visual Studio clicando aqui (scan) Se preferir o programa já encontra-se compilado e o executável pode ser baixado clicando aqui (scan) Créditos: Jo3Bingham1 ponto -
(Resolvido)Mw e Wild
(Resolvido)Mw e Wild
ScythePhantom reagiu a Caronte por uma resposta no tópico
1 pontoSe quiser o effect, de poff, igual no outro tópico: -- MW local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY) setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1497) function onCastSpell(cid, var) if getWorldType() ~= 1 then return doCombat(cid, combat, var) end return doPlayerSendCancel(cid, "Você não pode usar essa runa em no-pvp mode") and doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) and false end -- WILD local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_EARTH) setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1499) function onCastSpell(cid, var) if getWorldType() ~= 1 then return doCombat(cid, combat, var) end return doPlayerSendCancel(cid, "Você não pode usar essa runa em no-pvp mode") and doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) and false end1 ponto -
(Resolvido)Pz
(Resolvido)Pz
ScythePhantom reagiu a Caronte por uma resposta no tópico
1 pontoAcho que é só mudar, essa linha em todos: return doPlayerSendCancel(cid, "You can't cast this spell in protection zone.") Para: return doPlayerSendCancel(cid, "You can't cast this spell in protection zone.") and doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) and false Se você por emote spells (através do config.lua), as magias, vão ficar laranja, ou seja, não vão dar muted sofrerem spam...1 ponto -
(Resolvido)Mw e Wild
(Resolvido)Mw e Wild
ScythePhantom reagiu a Caronte por uma resposta no tópico
1 pontoTenta aí rapidão :X -- MW local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY) setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1497) function onCastSpell(cid, var) if getWorldType() ~= 1 then return doCombat(cid, combat, var) end return doPlayerSendCancel(cid, "Você não pode usar essa runa em no-pvp mode") and false end -- WILD local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_EARTH) setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1499) function onCastSpell(cid, var) if getWorldType() ~= 1 then return doCombat(cid, combat, var) end return doPlayerSendCancel(cid, "Você não pode usar essa runa em no-pvp mode") and false end1 ponto -
(Resolvido)Mw e Wild
(Resolvido)Mw e Wild
ScythePhantom reagiu a Caronte por uma resposta no tópico
1 pontono-pvp é 1 ? eu não tenho ele aqui, eu acho... -- MW local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY) setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1497) function onCastSpell(cid, var) if getWorldType() ~= 1 then return doCombat(cid, combat, var) end return doPlayerSendCancel(cid, "Você não pode usar essa runa em no-pvp mode") end -- WILD local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_EARTH) setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1499) function onCastSpell(cid, var) if getWorldType() ~= 1 then return doCombat(cid, combat, var) end return doPlayerSendCancel(cid, "Você não pode usar essa runa em no-pvp mode") end Tem que colocar o ID / nome correspondente ao modo , onde eu coloquei o 11 ponto -
(Resolvido)Mw e Wild
(Resolvido)Mw e Wild
ScythePhantom reagiu a Caronte por uma resposta no tópico
1 pontolocal combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY) setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1497) function onCastSpell(cid, var) if getWorldType() ~= WORLDTYPE_OPTIONAL then return doCombat(cid, combat, var) end return true end local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_EARTH) setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1499) function onCastSpell(cid, var) if getWorldType() ~= WORLDTYPE_OPTIONAL then return doCombat(cid, combat, var) end return true end1 ponto -
Mwall Amarela
Mwall Amarela
Ceos reagiu a xWhiteWolf por uma resposta no tópico
1 pontovai em data/items.xml e procura todos que tem a tag <attribute key="type" value="magicfield"/>1 ponto -
[Extremamente Importante] Clonando itens ...
Cara, isso foi só um aviso, ninguém aqui tá querendo brigar. Tente fazer o que o @Tibia2015br explicou, e veja se ainda ocorre o problema que foi citado.1 ponto
-
SpriteDump
SpriteDump
Fir3element reagiu a grafit por uma resposta no tópico
1 pontoAdicionado o scan dos dois arquivos para download.1 ponto -
(Resolvido)logo do website
(Resolvido)logo do website
denysfaker reagiu a Wend II por uma resposta no tópico
1 pontovocê está usando qual website? e expecifique melhor do que quer1 ponto -
Player morre e não é registrado sua morte no site
Ah consegui arrumar, é so deletar as wars na database em guild_wars. valeu a ajuda !1 ponto
-
Player morre e não é registrado sua morte no site
deathListEnabled = true no config.lua do server!1 ponto
-
[Extremamente Importante] Clonando itens ...
[Extremamente Importante] Clonando itens ...
Magalhaes92reagiu a Valakinhas por uma resposta no tópico1 pontohj em dia e facil clonar items em qualquer servidor até no proprio otp, 1- o servidor tem que estar caindo muito para clonar 2-o servidor mais facil de derrubar é só base PDA 3- o servidor pda tem bug proposital para ser derrubado tutorial clonando,m pegue 2 conta ao mesmo tempo, Exemplo:eu tenho 100 diamonds e uma bag com 5 pokemon (Charizard,Blastoise,Venusaur,Electabuzz e um Dragonite, após você logar a segunda conta você pegue todos os seus items e passe para o segundo char, em seguida deslogue o char que você passou os items, agora aguarde o servidor cair e tudo qe você passou para aquele char vai aparecer tudo no seu char original, então as 2 conta vai ficar com as mesma quantidade de items, conheço 3 maneira de derrubar o pda 1-pokemons unico, pokemons que são items unico você joga na agua ou no teleport e então o servidor vai crasha, 2- House você vende uma house colocando nenhum nick 3- se o servidor estiver acima de 50+ player ele vai ficar muito pesado por causa das gambiarra que fizeram nele, portanto a distro vai travar e o servidor vai cair 4- não lembro 5- Deixa um like ai Servidor PDA é apenas para brincar com os amigos e não para projeto de 50+player Boa sorte1 ponto -
[Função] getHighestPlayer
[Função] getHighestPlayer
luanluciano93 reagiu a grafit por uma resposta no tópico
1 pontoEssa função pega o nome do level mais alto do servidor, baseando-se na experiência do player. local function getHighestPlayer() local result = db.getResult("SELECT `name` FROM `players` ORDER BY `level` DESC, `experience` DESC LIMIT 1") return result.getDataString(result, "name") end Exemplo de uso: if getPlayerName(cid) == getHighestPlayer() then Créditos: Kohaeu1 ponto -
[Função] getHighestPlayer
[Função] getHighestPlayer
grafit reagiu a luanluciano93 por uma resposta no tópico
1 pontoObrigado por compartilhar.1 ponto -
[Função] getFreeHouses
[Função] getFreeHouses
luanluciano93 reagiu a grafit por uma resposta no tópico
1 pontoFunção que lista as casas vazias no servidor. function getFreeHouses() local towns = getTownList() local houses = {} for i = 1, #towns do local list = getTownHouses(towns[i].id) for j = 1, #list do if list[j] then if getHouseOwner(list[j]) == 0 then table.insert(houses, list[j]) end end end end if(#houses == 0) then return nil end return houses end Créditos: Crypton31 ponto -
Como mudar versao do server
Como mudar versao do server
anderson de souza reagiu a PepeHanc por uma resposta no tópico
1 pontoPor exemplo meu server é 10.10 queria deixar ele 10.40 ou 10.50 alguem teria como me explicar como fazer esse procedimento ? valeu1 ponto -
Eu posso pegar o dat e o spr de um OTC e criar so um pic ?
Esse negócio de o OTClient não funcionar com o No-Ip é mentira, isso é problema de configuração do seu No-Ip ou configuração do roteador, firewall e talvez config.lua, então acho que nem adianta migrar para outro cliente, vai ficar do mesmo modo, o mesmo problema.1 ponto
-
(Resolvido)goback nao muda msg type.
(Resolvido)goback nao muda msg type.
Daniel Frango reagiu a Wakon por uma resposta no tópico
1 pontoBasta trocar o doCreatureSay no arquivo goback.lua e trocar o que eu falei acima. Troque TALKTYPE_SAY por TALKTYPE_ORANGE_1.1 ponto -
(Resolvido)Adicionando Wild Na Frente?
(Resolvido)Adicionando Wild Na Frente?
Drazyn1291 reagiu a zipter98 por uma resposta no tópico
1 pontoHm, editei o código. Tente novamente.1 ponto -
Alavanca de Potions Inteligente.
Alavanca de Potions Inteligente.
luanluciano93 reagiu a Thiago Rulexz por uma resposta no tópico
1 ponto@luanluciano93, chego a não ter o que fla de vc xD ótimo conteúdo '-' tu é foda jovem1 ponto -
(Resolvido)Setando storage por kill de monstro
(Resolvido)Setando storage por kill de monstro
luanluciano93 reagiu a Flavio S por uma resposta no tópico
1 ponto^ A verificação isPlayer(cid) é desnecessária tendo em vista que um monstro não pode matar outro. E daria erro caso não existisse o monstro informado na tabela, quando fosse setar a storage ... local tb = { -- ["MONSTER"] = STORAGE, não se esqueça da virgula que é essencial pra funcionar ... ["Rat"] = 4651, } function onKill(cid, target) if not isMonster(target) then return false end local monster = tb[getCreatureName(target)] if monster then setPlayerStorageValue(cid, monster, 1) end return true end function onLogin(cid) registerCreatureEvent(cid, "bossKill") return true end1 ponto -
[SPELL] Magia De Trap em Area
[SPELL] Magia De Trap em Area
thalesvenceslau reagiu a zipter98 por uma resposta no tópico
1 pontolocal config = { wallArea = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0}, {0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0}, {0, 0, 1, 0, 0, 2, 0, 0, 1, 0, 0}, {0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0}, {0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, }, effect = xxx, --Efeito. wallId = xxx, --ID da parede. time = 5, --Duração da parede. cooldown = {20, 10}, --{sucessCooldown, failCooldown}, chance = 30, --Chance da spell funcionar. storage = 9571, } function isWalkable(pos, creature, proj, pz)-- by Nord if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end if getTopCreature(pos).uid > 0 and creature then return false end if getTileInfo(pos).protection and pz then return false, true end local n = not proj and 3 or 2 for i = 0, 255 do pos.stackpos = i local tile = getTileThingByPos(pos) if tile.itemid ~= 0 and not isCreature(tile.uid) then if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then return false end end end return true end function getPosfromArea(cid, area) --by Dokmos icenter = math.floor(table.getn(area)/2)+1 jcenter = math.floor(table.getn(area[1])/2)+1 center = area[icenter] ivar = table.getn(area) jvar = table.getn(area[1]) i = table.getn(area)^2 j = table.getn(area[1])^2 local mydir = isCreature(getCreatureTarget(cid)) and getCreatureDirectionToTarget(cid, getCreatureTarget(cid)) or getCreatureLookDir(cid) setPlayerStorageValue(cid, 21101, -1) if center[jcenter] == 3 then if mydir == 0 then signal = {-1,1,1,2} elseif mydir == 1 then signal = {1,-1,2,1} elseif mydir == 2 then signal = {1,-1,1,2} elseif mydir == 3 then signal = {-1,1,2,1} end else signal = {-1,1,1,2} end POSITIONS = {} P = 0 repeat pvar = {0,0} I = area[ivar] J = I[jvar] i = i-1 j = j-1 if J == 1 then if jvar < jcenter then pvar[signal[3]] = signal[1]*math.abs((jcenter-jvar)) elseif jvar > jcenter then pvar[signal[3]] = signal[2]*math.abs((jcenter-jvar)) end if ivar < icenter then pvar[signal[4]] = signal[1]*math.abs((icenter-ivar)) elseif ivar > icenter then pvar[signal[4]] = signal[2]*math.abs((icenter-ivar)) end end if jvar > 1 then jvar = (jvar-1) elseif ivar > 1 then jvar = table.getn(area[1]) ivar = (ivar-1) end local pos = getThingPos(cid) local areapos = {x=pos.x+(pvar[1]),y=pos.y+(pvar[2]),z=pos.z} if pos.x ~= areapos.x or pos.y ~= areapos.y then P = P+1 POSITIONS[P] = areapos end until i <= 0 and j <= 0 return POSITIONS end function onCastSpell(cid) if getPlayerStorageValue(cid, config.storage) > os.time() then doPlayerSendCancel(cid, "Wait "..getPlayerStorageValue(cid, config.storage) - os.time().." second(s).") else if math.random(1, 100) > config.chance then doPlayerSendCancel(cid, "Your spell failed.") doSendAnimatedText(getThingPos(cid), "FAIL!", 215) setPlayerStorageValue(cid, config.storage, os.time() + config.cooldown[2]) else local positions = {} setPlayerStorageValue(cid, config.storage, os.time() + config.cooldown[1]) for _, pos in pairs(getPosfromArea(cid, config.wallArea)) do if isWalkable(pos) and not getTileInfo(pos).protection then doCreateItem(config.wallId, 1, pos) doSendMagicEffect(pos, config.effect) table.insert(positions, pos) end end if #positions > 0 then addEvent(function() for i = 1, #positions do local item = getTileItemById(positions[i], config.wallId).uid if item > 0 then doRemoveItem(item) end end end, config.time * 1000) end end end return true end1 ponto -
(Resolvido)Adicionando Wild Na Frente?
(Resolvido)Adicionando Wild Na Frente?
Drazyn1291 reagiu a zipter98 por uma resposta no tópico
1 pontoTroque o código da função ShinyName por este: local function ShinyName(cid) if isCreature(cid) then local newName = "Wild "..getCreatureName(cid) if string.find(tostring(getCreatureName(cid)), "Shiny") then newName = newName:gsub("Shiny ", "") end doCreatureSetNick(cid, newName) if isMonster(cid) then doSetCreatureDropLoot(cid, false) end end end1 ponto -
(Resolvido)[Pedido/Ajuda]Alguem Poderia
(Resolvido)[Pedido/Ajuda]Alguem Poderia
Nanewolf reagiu a Thiago Rulexz por uma resposta no tópico
1 pontoTa ae jovem '-' se n for isso avisa no que eu errei UEHUEHU Download1 ponto -
(Resolvido)[NPC] Retirando a missão!
Jack Fate LB: Jack FateGoroma:1 ponto
-
Erro no site
Erro no site
denysfaker reagiu a Wend II por uma resposta no tópico
1 pontová na pasta htdocs e mim passe o arquivo config-and-functions.php1 ponto -
Erro no site
Erro no site
denysfaker reagiu a Wend II por uma resposta no tópico
1 pontovocê tem que altera essa parte do config.lua de acordo com está escrito sqlType = "mysql" -- Deixa assim se for usar site, se não for use sqlite sqlHost = "localhost" -- Deixa assim sqlPort = 3306 -- Deixa assim sqlUser = "root" -- Deixa assim sqlPass = "55555" -- Senha do phpmyadmin sqlDatabase = "poketibia" -- nome da database no Phpmyadmin sqlFile = "poketibia" -- repete o nome da database sqlKeepAlive = 0 -- Deixa assim mysqlReadTimeout = 10 -- Deixa assim mysqlWriteTimeout = 10 -- Deixa assim encryptionType = "sha1" -- Para site use "sha1" pra sqitle use "plain"1 ponto -
Aprenda a ler address do pxg
1 pontoAcho que não amigo, acho que o do tibia é um bem diferente, mas se quiser posso tentar fazer um video ensinando a achar a do tibia.1 ponto
-
(Resolvido)Erro Item Editor
1 pontoIsso acontece porque o seu items.otb está muito cheio, então não vai dar mais para adiciona items o único jeito de resolver é indo substituindo os novos items pelos items de tibia que ainda resta no client de pokemon1 ponto
-
(Resolvido)Dúvida / Websites - Players começando level 1, como editar?
(Resolvido)Dúvida / Websites - Players começando level 1, como editar?
denysfaker reagiu a Wend II por uma resposta no tópico
1 pontoTá certo, qualquer coisa avisa aqui1 ponto -
(Resolvido)[PEDIDO] Hp / Mp por porcentagem %%
(Resolvido)[PEDIDO] Hp / Mp por porcentagem %%
Tulacala reagiu a Fir3element por uma resposta no tópico
1 pontoQual TFS?1 ponto -
[Source] Comando "/reload all" para TFS 1.0
[Source] Comando "/reload all" para TFS 1.0
Marjer reagiu a luanluciano93 por uma resposta no tópico
1 ponto@Tomaxx, SIM. No TFS 1.0 não tem ele, por isso fiz isso.1 ponto -
[Source] Comando "/reload all" para TFS 1.0
[Source] Comando "/reload all" para TFS 1.0
Marjer reagiu a luanluciano93 por uma resposta no tópico
1 ponto@loreal, teste e me fale você .. EDIT ~ @loreal, funcionou?1 ponto -
Auto Use Magebot
0 pontospois é onde foram para os dedos né, cara corre heala,attack, tudo no boot,ainda tem uns pensa que assim são top kkkk0 pontos
-
Aprenda a ler address do pxg
-1 pontosclient.BaseAddress = pointer; 36F7F0 = offset; a lógica é a mesma, o address estático é o baseaddress quando somado com o offset retorna um valor, sinceramente não faço ideia nem do que é ClientRsa mas se você encontrar um address qualquer no cheat engine, que seja o o dinâmico referente a hp do personagem por exemplo, você pode ir na função "find out what acess this address" do cheat engine, lá você vai obter os endereços aquela memória, você vai em qualquer monstro e deixa ele te dar 1 dano, aparecerá uma ou mais linhas la, você clica em alguma delas e vai mostrar "possívelmente o pointer para esse endereço é : ...", ali você achou o valor atual do baseaddress, tendo isso você procuraria por ele no cheat engine e obteria por aquele valor, você acharia uma address estática que o valor dela sempre que o cliente é aberto somado com o offset desejado vai retornar a address que deseja ler.-1 pontos
-
Auto Use Magebot
Auto Use Magebot
luanluciano93 reagiu a Ceos por uma resposta no tópico
-1 pontosCade o dedo?, Bora 7.72 no hotheys.-1 pontos -
Auto Use Magebot
Auto Use Magebot
luanluciano93 reagiu a Ceos por uma resposta no tópico
-1 pontosEHYEUEUEEUE bem isso, 7.72 só os old.-1 pontos -
Mapper ON
bom, antes demonstrar meu trabalho, venho le dizerem que me empenhei muito em fazer as curvas,formato, borda,etc. Entao, antes de criticar veja a difulculdade do meu trabalho.Obrigado e apreciem meu trabalho, ou ate se inspirem nele.-1 pontos