Líderes
-
-
luanluciano93
HéroiPontos5980Total de itens -
-
xWhiteWolf
HéroiPontos3605Total de itens
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 03/03/15 em todas áreas
-
Removendo Account Salt
Removendo Account Salt
zLockey9 e 2 outros reagiu a Patrick Jean por uma resposta no tópico
3 pontosNome do Script: Removendo Account Salt Autor: Henke Rula Servidor Testado: OTX Server 9.8x e outras versões também serve Descrição: Mesmo tendo a opção no config.lua, não é retirado o salt do banco de dados. Então modifiquei nas sources forçando não criar o Salt na tabela. Requisitos: Sources do Servidor Abrir "iologindata.cpp" e procure por : query << "SELECT `name`, `password`, `salt`, `premdays`, `lastday`, `key`, `warnings` FROM `accounts` WHERE `id` = " << accountId << " LIMIT 1"; E Troque por: query << "SELECT `name`, `password`, `premdays`, `lastday`, `key`, `warnings` FROM `accounts` WHERE `id` = " << accountId << " LIMIT 1"; Logo abaixo verá essa opção que você deve remover: account.salt = result->getDataString("salt"); Procure por : query << "SELECT `id`, `password`, `salt`, `premdays`, `lastday`, `key`, `warnings` FROM `accounts` WHERE `name` " << db->getStringComparer() << db->escapeString(name) << " LIMIT 1"; E troque por: query << "SELECT `id`, `password`, `premdays`, `lastday`, `key`, `warnings` FROM `accounts` WHERE `name` " << db->getStringComparer() << db->escapeString(name) << " LIMIT 1"; Logo abaixo verá essa opção que você deve remover: account.salt = result->getDataString("salt"); Como podem verificar, eu removi o salt da consulta sql e removi a função também. O começo da consulta pode variar entre query e dbquery dependendo da sua distro. Procure por: password = salt + password; E troque por: password = password; E logo abaixo procure por: query << "INSERT INTO `accounts` (`id`, `name`, `password`, `salt`) VALUES (NULL, " << db->escapeString(name) << ", " << db->escapeString(password) << ", " << db->escapeString(salt) << ")"; E troque por: query << "INSERT INTO `accounts` (`id`, `name`, `password`) VALUES (NULL, " << db->escapeString(name) << ", " << db->escapeString(password) << ")"; A modificação é muito simples e 100% funcional e livre de bugs. (Testei e funcionou) Vale lembrar que essa modificação é muito útil para aqueles que querem ter seu servidor criando contas in-game ou por site. Estou aberto a sugestões e críticas construtivas.3 pontos -
Sistema de Addon [ Poketibia ]
Sistema de Addon [ Poketibia ]
DarkRed e 2 outros reagiu a Viny 13 por uma resposta no tópico
3 pontosTudo bem ? Venho trazer um sistema de poketibia que são no caso as roupinhas de Pokémon's Vamos á instalação ? Na parte onde fica actions.xml adicione á seguinte tag : Onde está 1234 vai ser o id do item que vai dar á addon AGORA VOCE VAI ADICIONAR O SCRIPT : Crie um arquivo e renomei para addons.lua abra-o e coloque isso dentro : AGORA VOCÊ VAI PREOCURAR O ARQUIVO action do GOBACK e se eu não me engano tá na pasta action. Quando você encontrar abre ele, e bem no finalzinho antes disso : PS : Vai adicionar isso \/ 2 linhas acima do else : AGORA VOCE VAI ATÉ " DATA/LIB/Catch system.lua " e vai abrir o catch system.lua agora você vai dar cntrl+f e pesquisar por isso quando você encontrar você pule 2 linhas e adicione isso FEITO ISSO VOCE VAI EM data/talkactions/scripts/createpokeball.lua Abra o arquivo, quando abrir aperte ctrl+f e pesquise por : quando você achar isso pule 2 linhas e adicione isso : Se gostou do conteúdo não esqueça de avaliar com um REP+ que já vai me ajudar bastante da mesma forma que eu te ajudei " Yeaaah " O Sistema de Addon box é o mesmo sistema do = Randon Box só preocurar ai no tibiaking ai você pode botar os id da addon dentro dessa random box pra gerar uma addon PS : Se o seu pokemon dar fly não vai dar fly com o addon acontece o mesmo com o RIDE Obrigado ai galera do grupo Poketibias, por me insistirem tanto por PM ! CREDITOS : Cacaio : Deu e fez elas Stigal : Arrumou e deixou compatível em todas versões SkyFrozer : Disponibilizou no tópico e no fórum : Tibiaking3 pontos -
[C++] Attack Speed
[C++] Attack Speed
koyotestark e um outro reagiu a Emersonssss por uma resposta no tópico
2 pontosSalve Galera, olhando em minhas libs achei um script muito bom !! Em alguns servidores derivados o Skill Fist Fighting influencia no Attack Speed do Player, Então .... Segue a Formula na source que faz essa magica : Em Player.cpp Procure : uint32_t Player::getAttackSpeed() const Mude Atualize para esse função : uint32_t Player::getAttackSpeed() const { int32_t SpeedAttack; SpeedAttack = vocation->getAttackSpeed() - (getSkill(SKILL_FIST, SKILL_LEVEL) * 10); if (SpeedAttack < 500) { return 500; } else { return (uint32_t) SpeedAttack; } } Explicando : Ele irá verifica o Attack Speed padrão no Vocations.xml e irá verifica o Skill Fist do Player e retornará a velocidade, caso a velocidade retorne menor que 500 ele sempre limitará a 500ms para que não haja erros. Simples e Facil ! Creditos ? Emerson Henrique2 pontos -
[Gesior2012] POO Métodos - Account
[Gesior2012] POO Métodos - Account
brunoterra e um outro reagiu a luanluciano93 por uma resposta no tópico
2 pontosOlá pessoal, como estou começando ver POO na faculdade, e mexo bastante no Gesior2012, resolvi postar os métodos do Account (objeto no caso). Vamos lá: # Métodos - Account getPlayers() // retorna a quantidade de players da account. unban() // retira o ban time da account. isBanned() // retorna true se esta banido, ou false se não esta. getBanTime() // retorna o tempo de ban da account. delete() // deleta a account. setName($value) // muda o account name da account. getName() // retorna o account name da account. setPassword($value) // muda o password da account. getPassword() // retorna o password atual. setPremDays($value) // muda o premium days da account. getPremDays() // retorna o premium days da account. setLastDay($value) // muda o valor do lastday da account. getLastDay() // retorna o valor do lastday da account. setMail($value) // muda o email da account getMail() // retorna o email da account. setKey($value) // muda o valor da recovery key da account. getKey() // retorna o valor da recovery key da account. setCreateIP($value) // muda o valor do create_ip da account. getCreateIP() // retorna o valor do create_ip da account. setCreateDate($value) // muda o valor do create data da account. getCreateDate() // retorna o valor do create data da account. setPremiumPoints($value) // muda o valor dos premium points da account. getPremiumPoints() // retorna o valor dos premium points da account. setPageAccess($value) // muda o valor de acesso ao website da account. getPageAccess() // retorna o valor de acesso ao website da account. setLocation($value) // muda a string de local da account. getLocation() // retorna a string de local da account. setRLName($value) // muda a string de nome real da account. getRLName() // retorna a string de nome real da account. getPlayersList() // retorna o metodo getPlayers() getGuildAccess($guildID) // retorna o guild acesso da account. getLastLogin() // retorna a data do ultimo login da account. isValidPassword($password) // retorna se o parametro password é válido. isPremium() // retorna true se a account for premium, ou false se não for. Espero ter ajudado.2 pontos -
(Resolvido)Help na magia Utito tempo san
(Resolvido)Help na magia Utito tempo san
Leandro Vidal Martins e um outro reagiu a Heyron por uma resposta no tópico
2 pontosVá em Data/Spells/Support/Sharpshooter.lua e apague o código que estiver lá, e adicione esse novo: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, 10000) setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCEPERCENT, 150) setConditionParam(condition, CONDITION_PARAM_BUFF, true) setCombatCondition(combat, condition) function onCastSpell(cid, var) return doCombat(cid, combat, var) end2 pontos -
[8.60] Baiak ROX ! Editado By DeathRocks [Cast + Wars System]
[8.60] Baiak ROX ! Editado By DeathRocks [Cast + Wars System]
Veigh reagiu a DeathRocks por uma resposta no tópico
1 pontoEae Galera do TibiaKing É o seguinte Hoje trago a vocês o Baiak Rox Editado por Min Espero que Gostem Oque eu Fiz ? | Novo Visual do Templo Totalmente ICE | Critical System | Task System | Dodge System | Run Event (CORRIDA MALUCA) | Reset System (ÁREA EXCLUSIVA COM CASTELO E HUNTS) para resetar fale !reset | Guild Frags System ( ACESSO AO PROMOTE E ITENS EXCLUSIVOS ) | War System (100% RODANDO EM SQLITE) | Cast System (100% Roda em Mysql ) ( Para Ativar vai em Config.lua e ache | enableCast = false | mude para true ) Duvidas entrem em http://www.tibiaking...os-na-distro/ | PvP Balanceado Agora com mais RPG | Armas Arrumadas Para Melhor PvP | Varios Eventos Automaticos | Battle Field Event | Capture The Flag Event | City War | Adicionado CASTLE 24HORAS (COM CASTELO) e AVISOS DE INVASORES | Itens DONATES | Área DONATE ~~ (Só Entra Quem Usar o Itens de Premium Days) | Vários Novos Script | Fast Atk Arrumado | Distro 0.4 Rodando 100% ( Se For 64x Bits) | Refinamento ( Aprimora seus Equipamentos ) | Frags no Look | Npc Hero Seller (Vende Itens Exclusivos para quem tiver honor points) Obs:Consegue no GFS) | Entre Outras Coisas | SENHA DO GOD: rox/styller | Aqui Vai Umas Prints | Castelo Reset System | Nova Imagem do Templo | Área Donate | Mostra de Itens Donate + Eventos | Download | Scan | Créditos | Gostou ? Então dei um REP1 ponto -
Problemas comuns no GESIOR/Database
Problemas comuns no GESIOR/Database
Danihcv reagiu a Patrick Jean por uma resposta no tópico
1 pontoGESIOR ERRO: C:\xampp\htdocs\pot\OTS_Account.php on line 381 Erro com a VIPDays, ficando em Segundos na Account. Erro: "To use reCAPTCHA you must get an API key from http://recaptcha.net/api/getkey" DATABASE (Banco de Dados) Adicionando GUILD WAR: Adicionando WOE Esse é o "Tutorial", estarei atualizando esse post com o tempo, e com o surgimento de novas dúvidas...1 ponto -
[v32] GlobalFull 11/12 - New Asuras, Falcons, Warzones 4,5,6 . (Updates Frequentes)
[v32] GlobalFull 11/12 - New Asuras, Falcons, Warzones 4,5,6 . (Updates Frequentes)
anderson de souza reagiu a Qwizer por uma resposta no tópico
1 pontoGlobal 11/12x [v32] - New Falcons - New Asuras - Warzone 4,5,6 - Exercise Training - Raids 100% - Monstros 100% - Trainer Offline 100% - Trainer Online 100% - Taming system funcionando 100%; - Database completa - War System 100% - Global MAP Full - Store 100% - Imbuement - Prey System - Entre outros sistemas. Projeto no: GITHUB Scan Vírus Total IMAGES Créditos:1 ponto -
Magnus Challenger
Magnus Challenger
bagulhoescroto reagiu a xWhiteWolf por uma resposta no tópico
1 pontoFala galera, hoje vim trazer o projeto pronto do Magnus Challenger pra vocês instalarem no servidor de vocês! Pra quem não conhece é um sistema de Tasks baseado no Zezenia onde você pode escolher entre tasks de matar monstros ou de coletar certos items para o npc Magnus, um guerreiro famoso da cidade que está atolado de tarefas e precisa da sua ajuda! Peguei os aspectos que eu julguei serem os principais do modelo do Zezenia e editei com algumas coisas que eu achei que ficariam melhores. Quem quiser pode ver um vídeo comentado de como o sistema funciona: Dito isso vou ensinar vocês como instalar isso no server: Pra começar vá em data\creaturescripts\scripts e procure login.lua, agora vá até o final do arquivo e antes do último return true coloque essas linhas abaixo ainda em creaturescripts procure creaturescripts.xml e adicione essa linha junto com as outras que já estão lá (seguindo o padrão) <!-- TASK SYSTEM --> <event type="kill" name="tasksystem" script="tasksystem.lua"/> Agora crie um arquivo em creaturescripts\scripts com o nome de tasksystem.lua e adicione o seguinte à ele: Terminada a parte da contagem de kill vamos ao NPC em si. Crie um arquivo chamado Magnus.xml em data\npc e coloque isso dentro dele: Agora em data\npc\scripts crie um arquivo chamado zezeniaa.lua e adicione esse conteúdo dentro do arquivo: ~~~~~~~~~~~~~~~~ FEITO ISSO ESTÁ TERMINADO ~~~~~~~~~~~~~~~~~~ Agora aprendendo a configurar: No tasksystem vc pode editar isso daqui: Eu fiz um sistema onde se vc estiver em party com alguém e a pessoa matar os bixos conta como se você tivesse matado; Assim incentiva o pessoal a ir numa cave de Dragon e ao invés de matar quem está lá pra ficar sozinho na cave, eles vão chamar party pra fazerem a task juntos.. assim fazer amigos fica mais fácil e com maiores laços é maior a chance do povo não abandonar o seu server. Apenas digite "true" ou "false" pra ativar/desativar esse sistema e em baixo temos a distancia máxima pro monstro estar do cara que está fazendo a task pra contar o kill. Se a distancia entre o monstro e a pessoa for maior que 7 não vai contar pra ele a kill. No zezeniaa.lua as coisas que dão pra configurar são maiores mas são igualmente simples: Toda vez que vc pedir uma task short (curta) vc vai ter de 100 a 400 monstros pra matar, ele gera um número de 0 a 6 e multiplica por 5 e soma com os 100 iniciais.. o mesmo vale pra todos os outros valores. levelcollect é o level mínimo pra fazer tasks do tipo collect. time é o tempo em segundos que você vai ficar sem poder falar com o npc caso desista de alguma task, o padrão é 8 * 60 * 60 (8 horas) bonus é por quanto vai multiplicar caso vc permita que o npc escolha aleatoriamente entre todas as opções.. o padrão é 20% de bonus (1.2) multiplicador é uma coisa que eu adicionei pra ficar mais fácil mexer na fórmula sem cometer cagadas, se vc tá ganhando 10% de exp e quer ganhar 80% é só colocar 8 no multiplicador. Isso daqui é o banco de dados principal do sistema de kill, toda vez que vc escolher uma task do tipo fácil, médio, dificil ele vai acessar essas tabelas contendo o nome das criaturas.. vc pode facilmente adicionar novos nomes, o npc já está programado pra lidar com isso, apenas siga o padrão e mantenha sempre o último sem vírgula! Ex: adicionando Morgaroth na tabela de hard local hard = { [1] = "Giant Spider", [2] = "Dragon Lord", [3] = "Grim Reaper", [4] = "Demon", [5] = "Crystal Spider", [6] = "Demon Skeleton", [7] = "Juggernaut", [8] = "Destroyer", [9] = "Hand of Cursed Fate", [10] = "Morgaroth" } atente-se também pra não repetir o número no index.. se o anterior era [9] use [10]. O restante das tabelas são separadas para o banco de dados das tasks de collect: segue a mesma lógica da de kill só que aqui você tem o id dos itens que serão usados... aquela count não tem nada a ver com o item pois ele vai gerar tanto o item aleatoriamente quanto à count; Ex: [1] = {id = 5880, count = 20}, -- iron ore isso não significa que se cair iron ore (id 5880) irá cair sempre 20.. até porque eu poderia escolher uma task long e easy e pegar a task de trazer até 50 iron ores, apenas tente manter os padrões que são os intervalos definidos. No easy ele varia de 10 a 20, no medium ele varia de 20 a 35 e no hard de 40 a 50. Espero que vocês tenham curtido, é um sistema grande mas bem simples de se mexer... se tiverem quaisquer problemas podem comentar aqui. Deu trabalho fazer isso então se você gostou deixe o seu comentário aí e o seu "Gostei" que vai me incentivar a trazer mais coisas desse tipo pra cá. Abraços do lobo. PS: Pra sumonar o npc digite com o GOD: /n Magnus ou coloque ele pelo map editor.1 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
-
New Library v. 1.2
New Library v. 1.2
Under reagiu a xWhiteWolf por uma resposta no tópico
1 pontoFala galera, hoje vim trazer pra vocês uma nova biblioteca de funções que eu venho desenvolvendo, pretendo ir atualizando esse tópico constantemente sempre adicionando funções novas e explicando a utilização delas. Algumas funções que eu coloquei aqui estão presentes na OTAL também, porém algumas eu fiz pequenas correções de forma que essa lib poderia facilmente substituir a OTAL sem grandes problemas (pelo menos se você utilizava apenas as funções básicas da otal) Todas as funções que não tem -- nome do autor do lado dela foram feitas por mim, xWhiteWolf ou Night Wolf (NW). O restante delas são créditos dos devidos autores, apenas coloquei pois considero funções vitais no server de cada um. Crie um arquivo em data/lib chamado 075 - White Wolf Functions.lua e coloque o seguinte código dentro: Agora eu vou explicar oque cada função faz porque de nada adianta lançar uma lib e não explicar oque ela faz não é mesmo? hahaha Obs inicial: quando uma função tiver em seus parametros um [] significa que oque está dentro do colchetes não é um parâmetro obrigatório. Como usar: doShowTimeByPos(cid, getCreaturePosition(cid), 20, 20) Irá fazer uma contagem regressiva na posição que o player se encontra começando de 20 e mandando a mensagem na mesma cor da fala dos monstros. Essa função é bem útil em actions/spells para fazer contagem de tempo em runas como a magic wall e ver quanto tempo falta pra magic wall sumir) Obs: Espero que ajude bastante pessoas a entender sobre funções, eu utilizei cid como o principal uid das funções nos exemplos mas você pode muito bem utilizar outros uids, fica a critério seu. Qualquer dúvida comentem abaixo que eu vou tentar ajudar da melhor maneira. Ahhh, isso daí foi testado em 8.54 mas deve funcionar em quase todas as versões que tenham as funções básicas do TFS. EDIT: Pessoal, agora é sério, essa lib tem fácil umas 600 linhas, das quais umas 500 eu devo ter codado sozinho (na mão, linha por linha). Eu tive todo o trabalho de testar cada uma delas e oque eu peço é o mínimo de gratidão e respeito. Se eu te ajudei clique em Gostei, se você tiver alguma dúvida eu to me colocando a disposição de responder qualquer coisa relacionada ao tópico, mesmo que você não saiba nem oque é uma lib apenas venha aqui e escreva sua dúvida. EDIT 2: Duas novas funções adicionas, espero que gostem! EDIT 3: Três novas funções adicionadas juntamente com suas respectivas explicações.1 ponto -
[Link Quebrado]DarkXPoke - Download Servidor.
[Link Quebrado]DarkXPoke - Download Servidor.
shottercouts reagiu a Sullivan por uma resposta no tópico
1 pontoFala galera, tava navegando aqui no meu PC e encontrei um Arquivo .txt, com links para downloads de alguns servidores. E no mesmo achei o DarkXPoke. A DxP(DarkXPoke) era um Projeto que o Smix e sua Equipe vinha desenvolvendo. O Servidor contem sistemas variados da PxG. Um Cliente excepcional e muitas outras coisas. (Não sei se já possui esse servidor no TK, mas..) Bom, sobre o servidor, contem esses sistemas que eu saiba. TV Cam System Duel System Icon System igual a PxG. Sistema de Shinys (se não me engano, possui level system, não lembro). AutoLoot Igual PxG Poke Flutes Nick System Addon System Novos Remakes Shiny Ditto Smeagle System Clan System Golden Arena Cla's Cyber Wolrd Quest Rocket and Police Atualizações postadas por Smix: Por enquanto, só me lembro disso, qualquer coisa, se eu me lembrar, edito o tópico. UHEUEH Como qualquer outro Servidor, o DxP também tem seus "bug's". Eu baixei ele aqui pra ver como tava e tal, dai o Servidor tava todo lagado, até o cliente passava em media 7 segundos para executar meu comando. Vídeo demonstrando o servidor feito por Smix e Team. https://www.youtube.com/watch?v=LRZFUFCwIMA Download: DarkXPoke Serve. Créditos: Todos ao Smix e Team. OBG: vá em data/wolrd tem uma parta la com o nome, mapa antigo, ou backup, basta copiar e jogar na world, e mudar no config.lua.1 ponto -
(Resolvido)[Pokemon] Como arrumar experiencia e outros
(Resolvido)[Pokemon] Como arrumar experiencia e outros
Salazar Slytherin reagiu a ryukicho por uma resposta no tópico
1 pontoComo Arrumar Experiencia de Pokemon com Level e outros : Para Quem não sabe aumentar experiencia , arrumar tempo de ataque de Pokemon's e até mesmo trocar a Portrait , esse tutorial Escrito Por Min "Ryukicho" Venho lhe mostra o básico do configuration.lua. Como aumentar/abaixar Experiencia do PokeTibia , speed , ataque/defesa . 1 abra o arquivo configuration.lua com bloco de notas ou outro que se encontra na pasta server/data/lib . Procure isso no script , que se encontra logo no começo: explicação : Experiencia no config.lua Procure por isso: Explicação : Como arrumar os tempos e ataque dos pokemon's Vá em configuration.lua e procure isso : Obs : procure o pokemon que queira editar em ( movestable = { ), no meu caso peguei Salamence ! Explicação : Bom galera se ajudei Rep+ Tutorial feito Por Min , aqui fiz somente o básico . caso tenha duvida Posta , que lhe ajudo1 ponto -
Erondino v17.1 By {ABEROS} BPO Open Source
Erondino v17.1 By {ABEROS} BPO Open Source
Danielcrf reagiu a Valakinhas por uma resposta no tópico
1 pontoV17.1 *Informações +Edições Spoiler Foi adicionado o mapa novamente +Print's Spoiler http://prntscr.com/757ioo http://prntscr.com/757kja +Erros/Bug's +Creditos +Download + Scan Server: Link OTC: Link Scan Server: Link Dat e spr desbloqueado: Link QUALQUER ERRO E BUG, COMENTAR NESSE TÓPICO Desculpa pelos erros ortográficos. ah antes que me esqueça ID da vara de pesca 25801 ponto -
[GESIOR2012] Tenha outfits/items/country flags em seu hosting - recomendado
[GESIOR2012] Tenha outfits/items/country flags em seu hosting - recomendado
Natanael Beckman reagiu a Bruno Minervino por uma resposta no tópico
1 pontoFala galera, hoje eu vendo aqui trazer um tutorial muito útil para quem utiliza o Gesior 2012. Muitos servidores brasileiros estão com dificuldades no sistema de outfits, items e country flags quando estão apontados para o http://item-images.ots.me/. Solução: Você pode deixar esses sistemas em sua própria hospedagem. 1. Como configurar o gesior? - Abra o arquivo config/confg.php e edite as seguintes linhas: $config['site']['outfit_images_url'] = 'http://outfit-images.ots.me/outfit.php'; $config['site']['item_images_url'] = 'http://item-images.ots.me/960/'; $config['site']['item_images_extension'] = '.gif'; $config['site']['flag_images_url'] = 'http://flag-images.ots.me/'; $config['site']['flag_images_extension'] = '.png'; 2. Onde posso obter as imagens dos items?Faça o download da versão correspondente ao seu servidor e extraia o arquivo.zip em sua hospedagem. - Imagem dos Items 8.60 Download: http://item-images.ots.me/items_images_860.zip Mirror: https://mega.co.nz/#!81RGWZSK!p1UkoABfmuiOBpCbFboKdJzumtJUbEtGPGoUbe562-8 9.60 Download: http://item-images.ots.me/items_images_960.zip Mirror: https://mega.co.nz/#!F4ZnzIhR!3tMeBKmeHPSFXYoc94jnKB-X6TpLGa3MSymzjF6iir8 10.30 Download: http://item-images.ots.me/items_images_1030.zip Mirror: https://mega.co.nz/#!40B1wDZB!3JGH4yXqyr2PxuFK0-btII6WD0HrOTlh0WqaVdlrXSI 10.76 Download: http://item-images.ots.me/items_images_1076.zip Mirror: https://mega.co.nz/#!xx5XwIzY!Lc9UqIhz73RbcKieiwAaihHZGWu8eaps5EhJfWbcnsQ - Imagem das Flags Download: http://flag-images.ots.me/flag-images.zip Mirror: https://mega.co.nz/#!Y4JAFBJB!Njot6VnJ_SZtfCyOucx6DrL3oIP4cnOdTbcHlZOGECE - Outfit images generator (requer o módulo GD2 ativo no PHP para gerar as imagens) 9.60 (animação + php script) Download: http://outfit-images.ots.me/outfit-images_960.zip Mirror: https://mega.co.nz/#!MhZGwQhS!08ucrrW1un35TnrZrfbl9_JFBU9Rd72Sv_Kq8DD8shw 10.76 (sem animação + php script) Download: http://outfit-images.ots.me/outfit-images.zip Mirror: https://mega.co.nz/#!skInDS4Y!Hj-KO82x875NxeamYj6rWR6WjF4fwoEZI1Zq1onRmb4 10.76 (animação + php script) Download: https://mega.co.nz/#!NwY3wbgD!pahoOkCksYgbf8_v4Q3DchNAnqjMjOp-e-Gqg-JHWxs 3. O registro das accounts está demorando e todos os players estão com o flag 'unknown'? Faça o download do country-flags.zip e extraia na pasta cache/flags. Download: http://country-flags.ots.me/country-flags.zip Mirror: https://mega.co.nz/#!8hxDGRKb!24HkxX4OYokZuxZbRnIWE_Vyqa-drLKydmPeX14i0SE Bom galera, espero ter ajudado. Qualquer dúvida só postar que estou disponível para suporte. Créditos: - Gesior.pl1 ponto -
[Tuturial Atualizado] Criando moves para Pokemons no PDA
[Tuturial Atualizado] Criando moves para Pokemons no PDA
SouzaAndrew reagiu a Liongm por uma resposta no tópico
1 pontoAtualizado (2016) Olá galera do TibiaKing! Hoje vim trazer um tutorial em video de como criar novos moves no seu server de PDA. Então, vamos lá, espero que gostem! VIDEO: SCRIPT USADA: Desatualizado (2014)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 -
[Atualizado] Poke zot Editado!
1 pontoEDITADO 07/08/2014 1:00 Adicionado nova quest Divine Jirachi Quest ------------------- // ------------------- Eae galera tudo beleza? venho trazendo pra vocês Um novo mapa PokeZot! Eu editei ele bastante!, Vou mostrar algumas coisas que eu editei, algumas coisas que adicionei E algumas que eu resolvi... [~] Bugs ------------------ // ------------------ [~] Quest's Modificadas/Adicionadas. ------------------ // ------------------ [~] Resto que foi Editado/Adicionado/Removido ------------------ // ------------------ [~] Prints 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ------ Novas Prints edit: 06/08/2014 ---------- 17 18 19 20 ------ Novas Prints edit: 07/08/2014 ---------- 21 22 23 24 ------------------ // ------------------ [~] Download http://www.4shared.com/rar/ImawlpLOba/Atualizado_50__Q_Divine_Jirach.html? Oque tem ai dentro: A pasta DATA inteira! ------------------ // ------------------ [~] Créditos Pelo jogo = Wolf Admin Por modificar/remover/adicionar etc... = Factur Flw galera! Factur ~ ------------------ // ------------------ [~] Tutorial anterior: Quando matar pokémon abrir teleporte por 30 segundos.1 ponto
-
Baiak ROX. editado By Dieguiin XP
Baiak ROX. editado By Dieguiin XP
MasterPokex reagiu a Dieguiin XP por uma resposta no tópico
1 pontoFala galera, hoje venho trazer um Baiak ROX Editado por mim, vamos lá O que tem de Novo nesse Baiak ROX? -Templo com novo visual -Castle 24HRS (Unico) com aviso de invasores -Dodge System -Critical System -Cast System 100 %. Para ativar vá em config.lua e procure por enableCast = false true/false -Itens VIP a mostra no templo -Todos itens VIP arrumados, agóra tão dando Skills normalmente -foi adicionado mais cave donates -Push Fast. Para arrumar do seu módo vá em config.lua e procure por: pushCreatureDelay = 1 * 205 -Tempo do PZ arrumado. -caves donates tudo trocada, agóra caves grandes com detalhes, não aquélas quadradas -nóvos itens free, pode ser obtidos em quest -Vários Teleports -Paladin arrumado, agóra heala com potion e ataca ao mesmo tempo -Utito tempo san arrumado, agóra não da exausted em outras magias -Novas Hunts -Look Frags -Task 100% -War System 100% -Muitas quests -Arena PVP (Nóva) -Quest de set free para Pally/Kinas -Quest de set free para Mages -quest para armas editadas -Treiners com novos visual -VIP 1 Free -VIP 2: !vip2 -30% a mais de experiencia para players donates -10% a mais de experiencia para guild que domina o Castle 24HRS -Potions Editadas (nóvos efeitos) E muito mais! Eventos: Capture The Flag City War Event BattleField Event Comandos principais: !dodoge !critical /cast !stamina !aol !bless !vip2 !notice. Vamos as imagens: templo http://imgur.com/2MnFUqv Templo parte de cima http://imgur.com/CZFmtsO Castle http://imgur.com/Qb4qs9S area donate http://imgur.com/sBqejOW Download: Scan: Créditos OBS: Decupem se o tópico ficou meio bagunçado Gostou? Da um Rep+1 ponto -
[TFS 0.4] Quest unica.
1 pontoFala ai galerinha do Tk, estou trazendo hoje meu 1 script, não posso dizer que é 100% meu pois tive ajuda da lista de funções do Matheus e tirei a ideia do RadBr, então vou colocar 1 credito a eles. O script é de uma quest unica que para acessa-la você deve clicar em uma placa no caso, você pode mudar para outro item se quiser! Funciona da seguinte maneira: O player clica na placa, se ele nunca tiver feito a quest e tiver o level necessario para faze-la ele é teleportado para posição inicial da quest, porém se ele já fez a quest ou não tem o level necessario para fazer ele é teleportado para o templo ou para a posição que você desejar ! Para adicionar você deve ir até data/actions/scripts, copiar e colar um arquivo .lua e renomear ele para questunica.lua, depois apague tudo dentro do arquivo e cole isso: function onUse(cid, item, fromPos, itemEx, toPos) pos = {x = 160, y = 54, z = 7} -- Local da quest caso nunca tenha feito. pos2 = {x = 160, y = 56, z = 7} -- Local para teleportar, caso já tenha feito. local storage = 13909 -- Storage da placa, se for mudar não se esqueça de mudar também no script questunicabau.lua !! local plevel = 16 -- Level minimo para fazer a quest. if getPlayerStorageValue(cid,storage) == -1 then if getPlayerLevel(cid) >= plevel then doTeleportThing(cid,pos) doSendMagicEffect(toPos,2) -- Efeito ao teleportar para a quest, para ver mais efeitos diga /z e o numero do efeito, se quiser mudar é só alterar no valor 2 doSendMagicEffect(fromPos,2) else doPlayerSendTextMessage(cid,25,"Voce precisa ser level "..plevel.." para fazer essa quest.") end else doTeleportThing(cid,pos2) doPlayerSendCancel(cid, "Voce ja fez essa quest!") doSendMagicEffect(pos2,29) -- Efeito ao teleportar para fora da quest, para ver mais efeitos diga /z e o numero do efeito, se quiser mudar é só alterar no valor 2 doSendMagicEffect(fromPos,2) return 1 end end Agora vá em data/actions e abra o actions.xml, depois adicione essa linha: <action uniqueid="13909" script="questunica.lua"/> Então terminamos de adicionar a uniqueid que da acesso a quest, agora vamos adicionar o baú da quest. Vá até data/actions/scripts, copiae e cole um arquivo .lua e renomeie ele para questunicabau.lua, depois apague tudo dentro do arquivo e cole isso: function onUse(cid, item, frompos, item2, topos) storage = 13910 -- Storage do baú da quest. premio = 2393 -- ID do premio da quest. storageplaca = 13909 -- Storage da placa para entrar na quest. Não se esqueça de mudar nos 2 scripts, caso queira mudar. nome = "Demon Helmet" if item.uid == storage then if getPlayerStorageValue(cid,storage) == -1 then doPlayerSendTextMessage(cid,25,"You have found a "..nome..".") doPlayerAddItem(cid,2493,1) setPlayerStorageValue(cid,storage,1) setPlayerStorageValue(cid,storageplaca,1) else doPlayerSendTextMessage(cid,25,"The is empty.") return true end end end Agora vá em data/actions e abra o actions.xml, depois adicione essa linha: <action uniqueid="13910" script="questunicabau.lua"/> Agora para montar a quest no seu OT, você coloca o uniqueid 13909 na placa ou em outro objeto para teleportar o player até a quest e o uniqueid 13910 no baú no final da quest, assim quando ele clicar no baú não poderá fazer novamente a quest. Bom é isso, espero que gostem do script, se tiver algo errado, algo faltando ou até mesmo algo que facilite o uso de outros membros, é só me dizer que eu tento arrumar. Creditos: RadBr 5% - Pela ideia da quest! Matheus 10% - Pela lista de funções, sem ela não teria o script oakpsk.1 ponto
-
Energy Strike++
Energy Strike++
Source reagiu a xWhiteWolf por uma resposta no tópico
1 pontoEai galera, sei que ando meio ausente mas hoje vim trazer um script que fiz pra um amigo via skype, fiz em uns 15 minutos e gostei de como ficou então vim compartilhar com vcs. Trata-se de um exori vis com chance de errar o alvo e acertar os sqms em volta dele com uma % definida. <instant name="Energy Strike" words="exori vis2" lvl="12" mana="20" prem="1" range="4" needtarget="1" blockwalls="1" exhaustion="1000" needlearn="0" event="script" value="especiais/exoriviscomerro.lua"> <vocation id="1"/> <vocation id="2"/> <vocation id="5"/> <vocation id="6"/> </instant> Ela só vai funcionar com target mas assim dá pra vc usar a criatividade e fazer uma spell mais forte que o normal só que com chance de errar e atacar uma pessoa/monstro do lado, até porque os magos não tem nada no tibia que faça eles errarem dano e essa é uma das magias iniciais então faz sentido que ele não acerte o golpe sempre. Espero que gostem e usem o código como fonte de estudo pra criar outras magias fodas haha, abraços do lobo Obs: uma edição que seria legal vcs fazerem seria a chance de errar ser proporcional ao ml e "experiencia" (vulgo level). Aqui tem uma pequena imagem de eu usando a spell e errando o target.1 ponto -
Rajada de Flechas
1 pontoCriação de Spell "Rajada de Flechas" Ola turma venho trazer hoje o meu primeiro tutorial, hoje editei uma magia que ficou muito legar e gostaria de por para vocês A magia como o próprio nome já diz, consiste quanto o paladin escreve as palavras magicas "lançar uma rajada de flechas" atingindo todos os inimigos a frente, a ideia veio jogando League Of Legends do personagem "Asher" Bem.... mãos a Obra 1º) Vá a pasta de seu OTServer e logo em seguida (Data>Spell>Attack) copie qualquer magia existente lá, (arquivo.lua) e cole e renomeie com o nome "rajada de flechas". 2º) Abra o arquivo em bloco de notas, apague tudo que tem la dentro e cole isso, salve e feche: 3º) Agora vamos adicionar a Tag.xml, para isso va em: data/spell/spell.xml, abra o arquivo "spell.xml" e procure a parte Attack Spell e adicione essa tag Pronto com a magia feita agora é só se divertir Foto Spell A foto não ficou muito boa, mais ta ai: Obrigado Gostou ? comenta e da +REP não custa nada Creditos: 90% = Gerson Souto (eu) 10% = League Of Legends (mi deu espiração)1 ponto
-
Hogsmeade
Voltei a mapear esse ano depois de algum tempo sem mexer no editor, ainda estou me acostumando com os novos IDs. Essa é a vila de hogsmeade, pro projeto de HP que estou trabalhando. Visão aérea da vila Zoom in Shrieking Shack Algumas lojas (Honeydukes e a Three Broomsticks Inn) Hog's Head Eu procurei colocar casas em cima dos shops e construções principais para manter a vila pequena e otimizar o espaço: Se alguém se interessar, estou procurando gente para me ajudar no projeto: link de recrutamento.1 ponto
-
(Resolvido)Bug nas vocações do site
Vish, tenta botar ambos então: $vocation_name[0][0] = array(0 => 'None', 1 => 'Sorcerer', 2 => 'Druid', 3 => 'Paladin', 4 => 'Knight', 5 => 'Master Sorcerer', 6 => 'Elder Druid', 7 => 'Royal Paladin', 8 => 'Elite Knight', 9 => 'Hell Wizard', 10 => 'High Saintess', 11 => 'Force Archer', 12 => 'Titan Blader'); $vocation_name[0][1] = array(0 => 'None', 1 => 'Sorcerer', 2 => 'Druid', 3 => 'Paladin', 4 => 'Knight', 5 => 'Master Sorcerer', 6 => 'Elder Druid', 7 => 'Royal Paladin', 8 => 'Elite Knight', 9 => 'Hell Wizard', 10 => 'High Saintess', 11 => 'Force Archer', 12 => 'Titan Blader'); Aqui, funciona numa boa ;/1 ponto
-
[Harry Potter] Projeto HP procura mappers e spriters
[Harry Potter] Projeto HP procura mappers e spriters
Adriano SwaTT reagiu a WilsonK por uma resposta no tópico
1 pontoIntrodução ao projeto Projeto HP (nome provisório) é o nome dado ao MMO em desenvolvimento (que utiliza as plataformas TFS/OTC) que se ambienta no universo Harry Potter. A proposta é criar um mundo único que se utiliza da lore da série parta permitir que fãs interajam entre si. Isso significa dizer que estamos criando algo complexo, focado em RPG e gameplay diferenciados. Não queremos fazer uma adaptação apressada para o Tibia puramente para explorar o tema Harry Potter. A ideia é trabalhar por algo singular, que prime por qualidade. O projeto ainda está na fase inicial (desenvolvimento do mapa e definição do gameplay em geral). Background e experiência da equipe Já trabalhamos com OTs há muitos anos e lançamos alguns diferentes servidores ao longo do tempo. Exemplos são o Efferus e o CSTibia. Nós temos experiência em criar, desenvolver e manter projetos ao longo do tempo. Este não é "mais um projeto" por aí. Nós sabemos o que é necessário para colocar um servidor on-line. Showoff Acredito ser importante mostrar um pouco do trabalho para que as pessoas possam se interessar no projeto. Entretanto, é importante ressaltar que muitas das coisas mostradas a seguir possivelmente mudarão, principalmente no que se refere às sprites. Uma parte de Hogsmeade A shrieking shack Uma montanha a ser explorada Acampamento de centauros Campo de quadribol (inacabado) Sala comunal Sala de advinhação Torre das escadas Uma das salas de aula Fotos mais atuais podem ser vistas no nosso showoff de Hogsmeade. Procura-se Mappers Spriters Interessados favor enviar mensagem privada ou postar aqui com as seguintes informações: Nome Idade Trabalhos anteriores (com imagens)1 ponto -
Sistema de Addon [ Poketibia ]
Sistema de Addon [ Poketibia ]
Salazar Slytherin reagiu a Viny 13 por uma resposta no tópico
1 pontoObrigado Lek @Edit Próximo Topico Postarei Os Pokémons do otp com Addon+Addon Box + os Itens q da Addon. Recortadas Up!1 ponto -
items com id nova Pelo amor de deus
Tutorial: http://www.tibiaking.com/forum/topic/15337-criando-dois-items-com-a-mesma-sprite/1 ponto
-
(Resolvido)Erro na pasta Events no arquivo players (tfs 1.0)
(Resolvido)Erro na pasta Events no arquivo players (tfs 1.0)
Cellu reagiu a Bruno Minervino por uma resposta no tópico
1 pontoVá em data/events/scripts e altere o seu player.lua para este:1 ponto -
(Resolvido)[Quest] Diaria Reset Storage
(Resolvido)[Quest] Diaria Reset Storage
Wakon reagiu a luanluciano93 por uma resposta no tópico
1 pontolocal config = { premiumDays = 1, storageQuest = 9999, seconds = 86400, -- seconds de 1 dia. } function onUse(cid, item, frompos, item2, topos) if getPlayerStorageValue(cid, storageQuest) < os.time then setPlayerStorageValue(cid, storageQuest, os.time + config.seconds) doPlayerAddStamina(cid, (2520 - getPlayerStamina(cid))) doSendMagicEffect(getThingPos(cid), 52) doPlayerAddPremiumDays(cid, config.premiumDays) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Parabens! Voce acabou de receber um dia de GOLD CARD.") doRemoveItem(item.uid, 1) else doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Voce ainda nao pode usar.") end return true end1 ponto -
[C++] Hotkey Loop
1 pontoIae galera, fmz? Bom, meu nome é Gustavo, e eu sou um pouco novo aqui neste fórum. Eu vi que esta faltando algumas coisas na area de c++, então vim trazer um programinha que eu fiz em c++ que coloca a hotkey em loop, é um pouco útil pra treinar ml, ou tacar runa no target e talz.. A função que eu uso é a SendMessage() da API do Windows pra simular o teclado, e usei o CodeBlocks pra programar. É um programa simples,pq eu também n sou fera em c++ então me perdoe se tiver alguns errinhos kkk.. Como o programa não lida com endereços de memória(até porque eu ainda não sei pegar esses endereços), creio que funciona em qualquer versão ou até em outros jogos. Eu testei em um server 10.41 que eu jogo as vezes com tibia comum, e com OTClient também. Se alguém quiser dar uma opinião , dar umas dicas sobre o programa , poste aqui Eu compartilhei esse conteúdo mais como uma forma de aprendizado para aqueles que querem aprender C++ O código é este: É um prazer compartilhar minhas source's com este Fórum!1 ponto
-
(Resolvido)[Ajuda] Criando Novos Moves Para PDA
(Resolvido)[Ajuda] Criando Novos Moves Para PDA
victor0707 reagiu a Wakon por uma resposta no tópico
1 pontoDá uma olhada ai: http://www.tibiaking.com/forum/topic/47948-tuturial-como-criar-novos-ataques-em-seu-server-pda-ou-derivado-do-tipo/1 ponto -
Serversoft alguem tem boas recomendações?
@luan Profissionalmente, tem algumas complicações de discutir em um fórum como esses e concordo com o que disse, uma das coisas que analisamos como risco de atender em fórums é justamente esse problema do "fala o que quer", infelizmente em negócio as coisas não funcionam assim. Por exemplo: 1- Não podemos vazar comunicações ou dados pessoais de clientes em locais públicos, por isso não posso postar aqui sem autorização do cliente. 2- Não existe mediação, por exemplo, no pagseguro e outros meios de pagamentos temos 100% de aprovação e quando existe disputa tem um mediador analisando casos, no fórum não e isso prejudica marcas competentes que querem fazer um serviço profissional. @todos O que posso afirmar é que mandei MP ao cliente, pedi alguns testes que mostraram erro na rede telefônica (como consta nesse tópico). Ao ver os tickets vi palavras como "Bosta", "Porcaria", "Não posso fazer o que pediram", "to sem internet" e outras palavras. Nesse caso, seja em qual canal for, não podemos dialogar pois prezamos e respeitamos a educação e respeito ao próximo sempre. Encerro aqui a discussão, o tópico tem um monte de gente falando bem e infelizmente o Theo não gostou dos nossos serviços, apesar de ter 100% de uptime e não ficar offline nem sequer 1 minuto.1 ponto
-
Erro timezone na PremDays
Erro timezone na PremDays
Igor LM reagiu a luanluciano93 por uma resposta no tópico
1 pontoEm system/load.init.php, depois dessa parte: <?php if(!defined('INITIALIZED')) exit; $time_start = microtime(true); session_start(); Coloque isso: date_default_timezone_set("America/Sao_Paulo");1 ponto -
[TFS 0.4] Quest unica.
[TFS 0.4] Quest unica.
Wakon reagiu a luanluciano93 por uma resposta no tópico
1 pontoSimples mas pode ajudar alguns. Obrigado por compartilhar. Peço que, se possível, leia sobre endentação .. melhora muito a leitura do código, igualmente o espaço depois de vírgulas. Este tópico foi movido: Para: "OTServ → Scripting → Actions e TalkActions" Dê uma lida nessa código que eu refiz do seu script ... quem sabe pode te ajudar aprender mais. local table = { positionTrue = {x = 160, y = 54, z = 7}, -- Local da quest caso nunca tenha feito. positionFalse = {x = 160, y = 56, z = 7}, -- Local para teleportar, caso já tenha feito. storageQuest = 13909, -- Storage da quest. levelMin = 16, rewardQuest = {id_item = 2493, quantidade = 1, nome = "Demon Helmet"} } function onUse(cid, item, fromPos, itemEx, toPos) if item.uid == 13909 then if getPlayerStorageValue(cid, table.storageQuest) < 1 then if getPlayerLevel(cid) >= table.levelMin then doTeleportThing(cid, table.positionTrue) doSendMagicEffect(toPos, 2) else doTeleportThing(cid, table.positionFalse) return doPlayerSendCancel(cid, "Voce precisa ser level superior a ".. table.levelMin ..".") end else doTeleportThing(cid, table.positionFalse) return doPlayerSendCancel(cid, "Voce ja fez essa quest!") end elseif item.uid == 13910 then if getPlayerStorageValue(cid, table.storageQuest) < 1 then doPlayerSendTextMessage(cid, 25, "You have found a ".. table.rewardQuest.nome ..".") doPlayerAddItem(cid, table.rewardQuest.id_item, table.rewardQuest.quantidade) setPlayerStorageValue(cid, table.storageQuest, 1) else doTeleportThing(cid, table.positionFalse) return doPlayerSendCancel(cid, "Voce ja fez essa quest!") end end return true end <action uniqueid="13909" script="questFirst.lua"/> <action uniqueid="13910" script="questFirst.lua"/>1 ponto -
Sistema de Addon [ Poketibia ]
Sistema de Addon [ Poketibia ]
AlcidesFeitosa reagiu a Viny 13 por uma resposta no tópico
1 pontoObrigado1 ponto -
Duvida com um erro do champ!
Duvida com um erro do champ!
riucardo207 reagiu a Rusherzin por uma resposta no tópico
1 pontoMan, tenta usar essa DB: Full Database for Gesior.rar Qualquer outro erro, só postar..1 ponto -
(Resolvido)Magic Wall Bugada
1 pontoAmigo, o ID da Magic Wall (RUNE) é 2293, esse é o ID da runa. Você tinha colocado o ID do efeito mágico -.-'1 ponto
-
(Resolvido)[AJUDA] Como eu mudo a XP do meu servidor? (BASE CYAN)
(Resolvido)[AJUDA] Como eu mudo a XP do meu servidor? (BASE CYAN)
nathan144a reagiu a CarlosHenrique7457 por uma resposta no tópico
1 pontoVa em \data\XML Abra o stages.xml Muda aonde esta vermelho na foto1 ponto -
(Resolvido)Erro Evolution.lua
1 pontota mais qual pokemon não evolui ? ao usar a stone, verifique no configuration.lua lá em Evolution e veja o pokemon que está tentando evoluir se ele está lá corretamente, caso ao contrário vai dar esse erro verifique isso se ele conta lá configuration.lua aperta ctrl+f acha portrait e corpse depois evolution veja se ele tá lá1 ponto
-
Vps atualmente, qual escolher?
1 pontoServersoft ^_~. Preço baixo, OTPANEL (exclusividade), atendimento ótimo e tem sempre alguém on, várias promoções, VPS é entregue em 60 segundos. O OTPANEL é um "aplicativo" em PHP que a Serversoft tá usando para facilitar os OTS ou ATS em Linux. É bem simples, você taca seu datapack (compactado no winrar) na aba Custom do OTPANEL e extrai, faz o mesmo com a pasta do site, altera para o IP do config lua e deixa on clicando no Start .1 ponto
-
Telhado
Eu não sei absolutamente nada sobre spriting e arrisquei esse telhado para um projeto de harry potter em que estou trabalhando. Na realidade esta é só uma adaptação de um dos telhados do tibia pro tom de azul/cinza e com a parede preta de tijolos, e não uma sprite nova criada por mim propriamente dita. Se possível, gostaria que vocês opinassem na tonalidade e no encaixe da sprite, visto que sou completamente amador nisso. Uma das sprites em si: Visão geral no editor de mapas: Zoom in: Se alguém se interessar, estou procurando pessoas para me ajudar no projeto: link de recrutamento.1 ponto
-
[Actions] Potions Heal Friend TFS 1.0
Potions Heal Friend TFS 1.0 Em alguns ots que usam tfs 1.0 as potions tem um bug que não da pra healar outros players, então vou postar o scripts desbugado funcionando 100% local ultimateHealthPot = 8473 local greatHealthPot = 7591 local greatManaPot = 7590 local greatSpiritPot = 8472 local strongHealthPot = 7588 local strongManaPot = 7589 local healthPot = 7618 local manaPot = 7620 local smallHealthPot = 8704 local antidotePot = 8474 local greatEmptyPot = 7635 local strongEmptyPot = 7634 local emptyPot = 7636 local antidote = createCombatObject() setCombatParam(antidote, COMBAT_PARAM_TYPE, COMBAT_HEALING) setCombatParam(antidote, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(antidote, COMBAT_PARAM_TARGETCASTERORTOPMOST, TRUE) setCombatParam(antidote, COMBAT_PARAM_AGGRESSIVE, FALSE) setCombatParam(antidote, COMBAT_PARAM_DISPEL, CONDITION_POISON) local exhaust = createConditionObject(CONDITION_EXHAUST_HEAL) setConditionParam(exhaust, CONDITION_PARAM_TICKS, (configManager.getNumber(configKeys.EX_ACTIONS_DELAY_INTERVAL) - 100)) -- 1000 - 100 due to exact condition timing. -100 doesn't hurt us, and players don't have reminding ~50ms exhaustion. function onUse(cid, item, fromPosition, itemEx, toPosition) if itemEx.itemid ~= 1 or itemEx.type ~= THING_TYPE_PLAYER then return true end if(getCreatureCondition(cid, CONDITION_EXHAUST_HEAL) == TRUE) then doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED) return TRUE end if(item.itemid == antidotePot) then if(doCombat(cid, antidote, numberToVariant(cid)) == LUA_ERROR) then return FALSE end doAddCondition(cid, exhaust) doCreatureSay(cid, "Aaaah...", TALKTYPE_ORANGE_1) doRemoveItem(item.uid, 1) setPlayerStorageValue(cid, 14582, getPlayerStorageValue(cid, 14582) + 1) elseif(item.itemid == smallHealthPot) then if(doTargetCombatHealth(0, itemEx.uid, COMBAT_HEALING, 75, 125, CONST_ME_MAGIC_BLUE) == LUA_ERROR) then return FALSE end doAddCondition(cid, exhaust) doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1) doRemoveItem(item.uid, 1) setPlayerStorageValue(cid, 14582, getPlayerStorageValue(cid, 14582) + 1) elseif(item.itemid == healthPot) then if(doTargetCombatHealth(0, itemEx.uid, COMBAT_HEALING, 130, 180, CONST_ME_MAGIC_BLUE) == LUA_ERROR) then return FALSE end doAddCondition(cid, exhaust) doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1) doRemoveItem(item.uid, 1) setPlayerStorageValue(cid, 14582, getPlayerStorageValue(cid, 14582) + 1) elseif(item.itemid == manaPot) then if(doTargetCombatMana(0, itemEx.uid, 70, 130, CONST_ME_MAGIC_BLUE) == LUA_ERROR) then return FALSE end doAddCondition(cid, exhaust) doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1) doRemoveItem(item.uid, 1) setPlayerStorageValue(cid, 14582, getPlayerStorageValue(cid, 14582) + 1) elseif(item.itemid == strongHealthPot) then if(not(isKnight(cid) or isPaladin(cid)) or (getPlayerLevel(cid) < 50)) and not(getPlayerGroupId(cid) >= 2) then doCreatureSay(cid, "This potion can only be consumed by paladins and knights of level 50 or higher.", TALKTYPE_ORANGE_1) return TRUE end if(doTargetCombatHealth(0, itemEx.uid, COMBAT_HEALING, 270, 320, CONST_ME_MAGIC_BLUE) == LUA_ERROR) then return FALSE end doAddCondition(cid, exhaust) doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1) doRemoveItem(item.uid, 1) setPlayerStorageValue(cid, 14582, getPlayerStorageValue(cid, 14582) + 1) elseif(item.itemid == strongManaPot) then if(not(isSorcerer(cid) or isDruid(cid) or isPaladin(cid)) or (getPlayerLevel(cid) < 50)) and not(getPlayerGroupId(cid) >= 2) then doCreatureSay(cid, "This potion can only be consumed by sorcerers, druids and paladins of level 50 or higher.", TALKTYPE_ORANGE_1) return TRUE end if(doTargetCombatMana(0, itemEx.uid, 115, 185, CONST_ME_MAGIC_BLUE) == LUA_ERROR) then return FALSE end doAddCondition(cid, exhaust) doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1) doRemoveItem(item.uid, 1) setPlayerStorageValue(cid, 14582, getPlayerStorageValue(cid, 14582) + 1) elseif(item.itemid == greatSpiritPot) then if(not(isPaladin(cid)) or (getPlayerLevel(cid) < 80)) and not(getPlayerGroupId(cid) >= 2) then doCreatureSay(cid, "This potion can only be consumed by paladins of level 80 or higher.", TALKTYPE_ORANGE_1) return TRUE end if(doTargetCombatHealth(0, itemEx.uid, COMBAT_HEALING, 250, 350, CONST_ME_MAGIC_BLUE) == LUA_ERROR or doTargetCombatMana(0, cid, 100, 200, CONST_ME_MAGIC_BLUE) == LUA_ERROR) then return FALSE end doAddCondition(cid, exhaust) doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1) doRemoveItem(item.uid, 1) setPlayerStorageValue(cid, 14582, getPlayerStorageValue(cid, 14582) + 1) elseif(item.itemid == greatHealthPot) then if(not(isKnight(cid)) or (getPlayerLevel(cid) < 80)) and not(getPlayerGroupId(cid) >= 2) then doCreatureSay(cid, "This potion can only be consumed by knights of level 80 or higher.", TALKTYPE_ORANGE_1) return TRUE end if(doTargetCombatHealth(0, itemEx.uid, COMBAT_HEALING, 425, 575, CONST_ME_MAGIC_BLUE) == LUA_ERROR) then return FALSE end doAddCondition(cid, exhaust) doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1) doRemoveItem(item.uid, 1) setPlayerStorageValue(cid, 14582, getPlayerStorageValue(cid, 14582) + 1) elseif(item.itemid == greatManaPot) then if(not(isSorcerer(cid) or isDruid(cid)) or (getPlayerLevel(cid) < 80)) and not(getPlayerGroupId(cid) >= 2) then doCreatureSay(cid, "This potion can only be consumed by sorcerers and druids of level 80 or higher.", TALKTYPE_ORANGE_1) return TRUE end if(doTargetCombatMana(0, itemEx.uid, 150, 250, CONST_ME_MAGIC_BLUE) == LUA_ERROR) then return FALSE end doAddCondition(cid, exhaust) doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1) doRemoveItem(item.uid, 1) setPlayerStorageValue(cid, 14582, getPlayerStorageValue(cid, 14582) + 1) elseif(item.itemid == ultimateHealthPot) then if(not(isKnight(cid)) or (getPlayerLevel(cid) < 130)) and not(getPlayerGroupId(cid) >= 2) then doCreatureSay(cid, "This potion can only be consumed by knights of level 130 or higher.", TALKTYPE_ORANGE_1) return TRUE end if(doTargetCombatHealth(0, itemEx.uid, COMBAT_HEALING, 650, 850, CONST_ME_MAGIC_BLUE) == LUA_ERROR) then return FALSE end doAddCondition(cid, exhaust) doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1) doRemoveItem(item.uid, 1) setPlayerStorageValue(cid, 14582, getPlayerStorageValue(cid, 14582) + 1) end return TRUE end e isso pessoal.1 ponto
-
OTAAC | Show Off
1 ponto
-
Meus primeiros trabalhos.
Meus primeiros trabalhos.
Hadagalberto Jr. reagiu a Joao Vittor por uma resposta no tópico
1 pontoEssas são minhas primeiras sprites galera! Oque vcs acham? Keldeo: Shiny Shiftry: Esqueci o nome desses kkk: Se gostaram da um Rep+1 ponto -
(Resolvido)Checar de fromPos até toPos
(Resolvido)Checar de fromPos até toPos
Ryukiimaru reagiu a xWhiteWolf por uma resposta no tópico
1 pontoeu criei uma função que faz esse tipo de coisa, testa aí e me fala se funciona: function hasGroundInDistance(cid, distance, tablegrama) local checker = {} -- deixe assim local pos = getThingPos(cid) for i = -distance, distance do for j = -distance, distance do local position = {x = pos.x + i, y = pos.y + j, z = pos.z, stackpos = 0} if i ~= 0 or j ~= 0 then local grama = getThingFromPos(position).itemid for k = 1, #tablegrama do if tablegrama[k] == grama then table.insert(checker, 1) end end end end end if distance >= 1 then local total = 0 for x = 1, distance do number = x * 2 + 1 t = (number * 2) + (2* (number-2)) total = total + t end end return (#checker == total and true or false) end pra usar vc precisa colocar isso daí tudo que tá no spoiler no começo do script e quando quiser saber se o player está cercado por grama/agua/lava/etc. vc faz: local itemid = {todos os ids do piso que vc quer analisar} local distancia = 1 -- distancia a ser analisada.. como vc quer só 1 sqm da posição do player a distancia é 1. if hasGroundInDistance(cid, distancia, itemid) thenfaz isso end Se vc quisesse a seguinte area abaixo: Você colocaria distancia = 2. Bom, espero ter ajudado PS : minha internet quebrou e to pelo tablet. no Lugar de local total = 0 coloca só total = 01 ponto -
Sistemas gesior
1 pontoCom certeza uma puta de uma equipe... Para de cuspir bosta aqui, sem mais.1 ponto
-
Sistemas gesior
1 pontoEu acho que os moderadores deveriam parar de sair cuspindo merda desnecessária em tópicos, mas nem por isso saio falando na cara. Show de bola Raful.1 ponto
-
(Resolvido)[Pokemon] Como arrumar experiencia e outros
(Resolvido)[Pokemon] Como arrumar experiencia e outros
Igor Silva Junior reagiu a ryukicho por uma resposta no tópico
1 pontoVlw ... se tiver alguma duvida so perguntar1 ponto -
[Dúvida] OtServer Source / Semi-Dedicado
[Dúvida] OtServer Source / Semi-Dedicado
Daniel Cesino reagiu a josedb9 por uma resposta no tópico
1 pontovou explica vc melhor o vps e uma conexão de area remota.quando vc fazer o pacote com eles .eles vão libera pra vc uma senha que vc podera entra no seu vps para vc entra no seu vps vc ira ir iniciar/ai vc coloca iniciar conexão de area remota,loga apois vai abrir uma pagina pedido um ip do seu vps (a empresa vai mandar por email seu ip e sua senha) logo após isso vai pedi a sua senha do dedi .ai pronto vc esta dentro do seu vps lembrado o vps e um computador tipo assim fija quem vc tem 2 computadores agora e pra entra no seu computador 2 vc tem que fazer isso q eu falei vc pode fecha o vps.quem sim seu ot estiver conectado nele vai fik online,pra vc colocar seu arquivos do ot,website e outras coisas vc terá sempre que upa?(vc disponabiliza seus arquivo e um site download tipo 4shared, e outros ) ai vc vai no seu vps entra no site a baixa o arquivo pra o seu vps,a questão de coloca website no vps e facil vc hospeda seu website dentro do vps usado o xampp junto com ot existe vario tutorias essinado como ,e pra mecher no seu ot isso ai é com vc eu sempre retiro o ot do vps e coloca no meu computador e faço as devidas configurãçoes e depois coloco devolta com atualizaçoes q fiz mais isso depende de vc , agora nas Source isso naun posso tem ajuda muito .so sei copila ela pra pegar war_com_esculdo sem te ajudei fik granto !!! desculpe pelas lentras so mei burrinho pra isso mais dá pra vc enteder um pouco como fuciona1 ponto -
[Talkaction] Ponto pra Guilds
[Talkaction] Ponto pra Guilds
Thiago Rulexz reagiu a WarW0lf por uma resposta no tópico
1 pontoEste script faz com que ao digitar o comando !guildpoints, a guild receba um tanto de pontos configuraveis com a condição de que não tenha IP's repetidos, que tenha o Level requisitado e a quantidade de jogadores necessários. Tudo configurável. Execute essa query em seu mysql Configuração: local ipsNeeded = QUANTIDADE DE PLAYERS NA GUILD local minimumLevel = LEVEL NECESSÁRIO local pointsForPlayer = PONTOS PRA CADA PLAYER local pointsForLeader = PONTO PRO LIDER O resto NÃO mexa. Em talkactions.xml Em talkactions/scripts crie um arquivo guildpoints.lua Seja feliz Testado em 0.41 ponto