Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 10/29/15 em todas áreas

  1. Conteúdo: Imagens Mapa não incluso Downloads: Removendo Bugs de itens (como order, fishing, etc) Sistemas feitos para o PDE: Tutoriais feitos para o PDE: Bugs reportados:
    5 pontos
  2. Opa pessoal do XTIBIA tudo bem, tava editando um Gesior para o meu servidor a um tempo mais o projeto acabo dando errado por problemas técnicos, e eu fiquei com meu gesior pronto porem sem utilidade então resolvi trazer para vocês OBSERVAÇÃO : esse gesior erá de um projeto meu, finalizei ele hoje quando peguei uma base que um amigo meu me passo para ajuda-lo, e acabei implementando alguns sistemas e funções, ESSE GESIOR FOI FEITO APARTIR DOS MEUS GOSTOS, ESTOU SOMENTE DISPONIBILIZANDO-O PARA VOCÊS, PORTANTO FIQUEM A VONTADE PARA EDITAR NOMES, IMAGENS, CORES. Bugs arrumados Compatibilidade TFS 0.3 TFS 0.3.8 TFS 0.4 Download em anexo DATABASE : http://www.mediafire.com/download/w3n1nnw0gtmc2k0/mudrock.sql GESIOR : http://www.mediafire.com/download/frfgq96jawas214/mudrockwebgesior.rar Créditos MudrocK Archez Aleh Hollister Matheus ( for top level )
    2 pontos
  3. Ta na mão amigo, testado em TFS 0.3.7: local TeleportLocal = {pos = {x = 984, y = 914, z = 6}, toPos = {x = 987, y = 912, z = 6}} -- Pos de Onde vai ser criado o teleport/e onde vai ser teleportado local from,to = {x = 981, y = 913, z = 6},{x = 987, y = 920, z = 6} local function getPlayersInRange(pos1, pos2) local creaturesList = {} for px = pos1.x, pos2.x do for py = pos1.y, pos2.y do if not (x == 0 and y == 0) then local creature = getTopCreature({x = px, y = py, z = pos1.z}) if creature.type == 1 then table.insert(creaturesList, creature.uid) end end end end return creaturesList end function onUse(cid, item, frompos, item2, topos) if item.itemid == 1945 then player1pos = {x = 983, y = 912, z = 6, stackpos=253} -- piso 1 que tem que ter player player1 = getThingfromPos(player1pos) player2pos = {x = 985, y = 912, z = 6, stackpos=253} -- piso 2 que tem que ter player player2 = getThingfromPos(player2pos) if isPlayer(player1.uid) and isPlayer(player2.uid) then if #getPlayersInRange(from, to) >= 1 then doPlayerSendCancel(cid,"Tem alguém nessa quest.") return TRUE end nplayer1pos = {x = 984, y = 915, z = 6, stackpos=253} -- piso onde sera levado o player do piso 1 nplayer2pos = {x = 984, y = 918, z = 6, stackpos=253} -- piso onde sera levado o player do piso 2 doSendMagicEffect(player1pos,2) doSendMagicEffect(player2pos,2) doTeleportThing(player1.uid,nplayer1pos) doTeleportThing(player2.uid,nplayer2pos) doSendMagicEffect(nplayer1pos,4) doSendMagicEffect(nplayer2pos,4) local t = getTileItemById(TeleportLocal.pos, 5023).uid if t then return t > 1 and doRemoveItem(t) and doSendMagicEffect(TeleportLocal.pos, CONST_ME_POFF) end doTransformItem(item.uid,1946) else doPlayerSendCancel(cid,"Voce prescisa de 2 pessoas para fazer éssa quest.") return TRUE end elseif item.itemid == 1946 then doTransformItem(item.uid,1945) end return TRUE end
    2 pontos
  4. Bruno

    Compilando TFS 1.3 com vídeo-aula

    Compilando TFS 1.3 no Windows 1. Baixe os softwares requeridos Para compilar o The Forgotten Server no Windows, você vai precisar: Visual Studio 2015 (Compilador) TFS SDK v3.2 (libs) Libs do Boost C++ (32-bits, 64-bits) 2. Instale os softwares requeridos Após ter baixado os softwares listados na etapa acima, comece instalando o Visual Studio e Boost C++. Extraia o TFS SDK v3.2 em qualquer pasta do seu computador e execute o arquivo "register_tfssdk_env.bat" para setar a variável de ambiente do local onde está o TFS SDK, assim nosso compilador irá encontrar as libs quando começar a compilar. Mova o arquivo "register_boost_env.bat" da pasta do TFS SDK para a pasta onde você instalou as libs do Boost C++ e execute-o (se você seguiu os passos do instalador, está esta na pasta chamada boost_1_62_0). 3. Baixe as sources Se você possuir o Git Client instalado, você poderá clonar a última cópia com este comando: > git clone https://github.com/otland/forgottenserver.git Se você não possuir o Git Client instalado, você poderá baixar a última cópia do The Forgotten Server através do link: https://github.com/otland/forgottenserver/archive/master.zip 4. Compilando Procure o diretório vc14 na pasta do The Forgotten Server que você baixou, e abra o arquivo "theforgottenserver.sln". Isso deverá iniciar o Visual Studio 2015 e você estará pronto para continuar. Para configurar a compilação, navegue para Build -> Configuration Manager no menu superior. Um popup deverá aparecer onde você poderá escolher entre "Release" ou "Debug" para compilar, escolha também para qual Platadorma você irá compilar: 32-bits (Win32) ou 64-bits (x64). Para iniciar a compilação, abra o menu Build novamente e clique em Build Solution (Ctrl + Shift + B). 5. Vídeo-aula 6. Créditos Mark - Autor do tutorial e do projeto The Forgotten Server Bruno Minervino - Tradução e gravação do vídeo
    1 ponto
  5. Bom dia, postarei uma Lista de Servidores Derivados encontrados aqui na comunidade xT. Não colocarei todos, e sim, aqueles que serão úteis para algumas pessoas. Então vamos lá! Derivado Poketibia Derivado Dragon Ball, Naruto, Biohazard Peço à quem postar servidor novo, para que me mande uma MP ou comentar até mesmo aqui no tópico para que eu possa fixar o tópico aqui. Obrigado!
    1 ponto
  6. Galera seguinte meu TFS é 0.3.6 cliente 8.54 Gostaria da ajuda de vocês para uma TALKACTION que troca-se o outifit do meu char, mas que caso ele se mova o outifit volta-se ao normal... ex: ele fala: !Transform - e seu outifit que antes era o CITIZEN muda para o de um arbusto - mas caso o player se mova o outifit novo eh cancelado e ele volta ao normal.. obs: ao se transformar nao tem tempo para voltar ao normal somente deslogando, ou se movendo. - caso ele gire no lugar o outifit nao mude ( ctrl + Setas) obrigado aguardo um apoio e prometo meu REP+
    1 ponto
  7. Deadpool

    Duvida source

    Player.CPP.
    1 ponto
  8. Refe

    Duvida source

    As sources são vários codigos que juntos fazem o servidor tibia, todas funções estão lá. Para editar eu aconselho ao menos uma noção de C++, pode ser com vários programas, tipo o Code::Blocks, DevCpp, etc
    1 ponto
  9. Bepo, para não ficarmos lotando esse tópico de menssagens, me passe um contato seu, (skype ou qualquer coisa) para resolvermos isto o mais rápido possível, pode passar por MP ou por aqui, você quem sabe.
    1 ponto
  10. Bem, ainda não parei para mexer nisso. Mas em breve postarei, pode ficar sussa haha, caso tenha mais alguma duvida, é só criar um topico ai que a gente te ajuda ^^
    1 ponto
  11. vai no seu entergame.otui, procura nas primeiras linhas isso: EnterGameButton < Button e subistitui por isso: EnterGameButton < Button image-source: botao.png image-clip: 0 0 20 20 image-border: 2 image-color: #ffffffff $hover: image-clip: 0 20 20 20 $pressed: image-clip: 0 40 20 20 $disabled: image-color: #ffffff66
    1 ponto
  12. Faz a mesma coisa, só que você apaga contexto e edita pra isso olha: Desce lá no fim, e vai ter às propriedades do OK: Adiciona isto: margin-bottom: 8 margin-right: 10 Segue o mesmo procedimento acima.
    1 ponto
  13. Faz assim, cópia do lassword com espaço. Daí você vai no account, da um enter. Apaga até o fim da linha. E cola hah
    1 ponto
  14. Antharaz

    NPC não atacando

    Seguinte amigo, me passa o link do tópico com o sever base do seu ot para que eu teste lá, porque eu testei no tfs 0.3.7 (baiak) e funcionou 100%, aguardo retorno EDITED Peço desculpas amigo, eu tenho um péssimo hábito de copiar e colar rápido e as vezes fica faltando código, no seu caso, faltou as 3 primeiras linhas, eu já editei o primeiro post meu arrumando o código, basta substituir o do seu ot por este.
    1 ponto
  15. Adiciona o maegin top embaixo do account, igual a opção do password.. To pelo cell:/
    1 ponto
  16. realmente, colocam uns caras de estagiário mais nunca fizeram o que vc disse.
    1 ponto
  17. Kissy. Eu acho que deveriam rever todos os estagiários. Achei vários estagiários que entram. Porém, nunca vi eles postando algo ou ajudando a galera.
    1 ponto
  18. Vamos lá, em relação a mudar para 500 e não voltar a outfit não aconteceu comigo, testei agora com 500, 700, 200 e 300 e em todos casos voltou ao normal, talvez seja problema no host. Em relação a usar 2 vezes a mesma talkaction eu resolvi acrescentando uma linha que remove a condição ao usar o comando. Editei o primeiro post com o código novo.
    1 ponto
  19. O tempo delay para verificar se saiu da posição está nessas duas linhas: addEvent(ver, 1000, cid, getCreaturePosition(cid)) addEvent(ver, 1000, cid, npos) O 1000 representa 1 segundo, basta diminuir este valor, se quiser a cada meio segundo coloque 500 e assim por diante.
    1 ponto
  20. Desculpe a demora, achei que havia postado o script e só quando dei F5 para ver se você havia respondido que vi que não. Crie um arquivo chamado transform.lua no diretório data\talkactions\scripts com este conteúdo: local outfit = {lookType = 399} local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, 42) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) local condition = createConditionObject(CONDITION_OUTFIT) setConditionParam(condition, CONDITION_PARAM_TICKS, 99999999999) addOutfitCondition(condition, outfit) setCombatCondition(combat, condition) local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_DISPEL, CONDITION_OUTFIT) setCombatParam(combat2, COMBAT_PARAM_EFFECT, 42) setCombatParam(combat2, COMBAT_PARAM_AGGRESSIVE, 0) function ver(cid,pos) local onl = getOnlinePlayers() for i=1,#onl do if getPlayerByName(onl[i]) == cid then local npos = getCreaturePosition(cid) if pos.x == npos.x and pos.y == npos.y and pos.z == npos.z then addEvent(ver, 500, cid, npos) else doCombat(cid, combat2,numberToVariant(cid)) end end end end function onSay(cid, words, param) doCombat(cid, combat2,numberToVariant(cid)) doCombat(cid, combat,numberToVariant(cid)) addEvent(ver, 500, cid, getCreaturePosition(cid)) return true end Em local outfit = {lookType = 399} no lugar de 399 você coloca o looktype que deseja que fique. Em setCombatParam(combat, COMBAT_PARAM_EFFECT, EFEITO_INICIAR) e em setCombatParam(combat2, COMBAT_PARAM_EFFECT, EFEITO_TERMINAR) no lugar de EFEITO_INICIAR e EFEITO_TERMINAR você coloca o combat effect que deseja que fique ao ativar a talkaction e ao voltar ao normal respectivamente. Caso não queira nenhum efeito, basta deletar estas linhas. Coloque a linha XML abaixo no arquivo talkactions.xml da pasta data\talkactions antes de </talkactions>: <talkaction words="!transform" event="script" value="transform.lua"/> ========== EDIT =========== Como conversamos em privado, para o seu servidor é um caso especial, então use o script abaixo: local outfit = {lookType = 222 , lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0} local function isOnline(cid) local onl = getOnlinePlayers() for i=1,#onl do if getPlayerByName(onl[i]) == cid then return true end end return false end local function ver(cid,pos) if isOnline(cid) then local npos = getCreaturePosition(cid) if pos.x == npos.x and pos.y == npos.y and pos.z == npos.z then addEvent(ver, 500, cid, npos) else doSetCreatureOutfit(cid, outfit, 0) end end end function onSay(cid, words, param) doSetCreatureOutfit(cid, outfit, -1) addEvent(ver, 500, cid, getCreaturePosition(cid)) return true end No lugar de 222 você coloca o looktype que deseja para a magia.
    1 ponto
  21. Antharaz

    Criar guild

    Manda link do teu site para ter uma idéia do que pode ser...
    1 ponto
  22. Akzs

    mensagem ao logar

    No login.lua
    1 ponto
  23. Vamos por parte, primeiro iremos fazer com que fique escrito "Player with this name already exist." quando usado o mesmo nome que um vip embaixo da box de onde se digita o nome. Para isto você irá abrir o arquivo check_name.php localizado na pasta htdocs\ajax do seu site e substituir esta parte: if($server_config['sqlType'] == "mysql") $ots->connect(POT::DB_MYSQL, array('host' => $mysqlhost, 'user' => $mysqluser, 'password' => $mysqlpass, 'database' => $mysqldatabase) ); elseif($server_config['sqlType'] == "sqlite") $ots->connect(POT::DB_SQLITE, array('database' => $config_ini['server_path'].$sqlitefile)); $name_db = new OTS_Player(); $name_db->find($name); if($name_db->isLoaded()) echo '<font color="red"><b>Player with this name already exist.</b></font>'; else echo '<font color="green">Good. Your name will be:<br />"<b>'.ucwords($name).'</b>"</font>'; ?> Por esta: if($server_config['sqlType'] == "mysql") $ots->connect(POT::DB_MYSQL, array('host' => $mysqlhost, 'user' => $mysqluser, 'password' => $mysqlpass, 'database' => $mysqldatabase) ); elseif($server_config['sqlType'] == "sqlite") $ots->connect(POT::DB_SQLITE, array('database' => $config_ini['server_path'].$sqlitefile)); $name_db = new OTS_Player(); $name_db->find($name); $name_db2 = new OTS_Player(); $name_db2->find('[VIP] '.$name); if(($name_db->isLoaded()) or ($name_db2->isLoaded())) echo '<font color="red"><b>Player with this name already exist.</b></font>'; else echo '<font color="green">Good. Your name will be:<br />"<b>'.ucwords($name).'</b>"</font>'; ?> Só isto não basta, pois esta é uma menssagem temporária que o site passa para o visitante, se ele clicar em "submit" ele conseguirá criar o char. Para evitarmos isto, vá na pasta htdocs e abra o arquivo accountmanagement.php, lá você substituirá esta parte: if(empty($newchar_errors)) { $check_name_in_database = $ots->createObject('Player'); $check_name_in_database->find($newchar_name); if($check_name_in_database->isLoaded()) $newchar_errors[] .= 'This name is already used. Please choose another name!'; $number_of_players_on_account = $account_logged->getPlayersList()->count(); if($number_of_players_on_account >= $config['site']['max_players_per_account']) $newchar_errors[] .= 'You have too many characters on your account <b>('.$number_of_players_on_account.'/'.$config['site']['max_players_per_account'].')</b>!'; } Por esta: if(empty($newchar_errors)) { $check_name_in_database = $ots->createObject('Player'); $check_name_in_database->find($newchar_name); if($check_name_in_database->isLoaded()) $newchar_errors[] .= 'This name is already used. Please choose another name!'; $check_name_in_database->find('[VIP] '.$newchar_name); if($check_name_in_database->isLoaded()) $newchar_errors[] .= 'This name is already used. Please choose another name!'; $number_of_players_on_account = $account_logged->getPlayersList()->count(); if($number_of_players_on_account >= $config['site']['max_players_per_account']) $newchar_errors[] .= 'You have too many characters on your account <b>('.$number_of_players_on_account.'/'.$config['site']['max_players_per_account'].')</b>!'; } Assim o player ficará impossibilitado de criar um char com o nome de algum vip e evitará todos seus problemas. Para finalizar, basta remover todos os players que já tem nome de vips da sua database, para isto fiz uma query que você irá executar apenas uma vez, visto que após modificar o site não terá como eles abusarem disto novamente, porém eu necessitaria saber qual seu sistema de vip para fazer isto, se é por database, por storage e quais as tabelas com colunas ou storages que se usa. Aguardo retorno.
    1 ponto
  24. tinha uma barra encerrando a primeira linha testa assim
    1 ponto
  25. Estou fazendo as modificações no site para não conseguirem criar chars com mesmo nome de quem já tem "[VIP]", mas gostaria de saber qual sistema do seu site, gesior, modernacc, ou qual?
    1 ponto
  26. O problema deste é que só funciona se o vip estiver online né... provavelmente você tem uma table somente com os vips ou então uma coluna na table players que indica se é vip ou não, a partir daí, vc manda filtrar todos que estão marcados como vip na tabela, depois manipula a string do nome retirando o [VIP] e deleta quando achar alguém com esse nome. Para evitar futuros problemas como este, você poderia criar uma regra no gesior que quando procura se já existe alguém com este nome, verifica também se existe alguém com "[VIP] " + o nome, eu não posso fazer isto agora, mas te dei um caminho, lá para as 22h entro denovo aqui e boto a mão na massa se ainda estiver aberto o tópico. Qualquer coisa me manda PM.
    1 ponto
  27. Wo11ven

    OTClient - 7.4 até 10.82

    Não sei não jovem, não testei com poketibia
    1 ponto
  28. você tem que mudar o id do item lá no phpmyadmin, na database tem a coluna shop_offer ai tu vai la clica no lápiz pra editar e no id vai ta números pequenos como 1,2,3,4,5,6,7,8,9 e tu tem que mudar este número para o id do item!! segue as fotos: 1° 2° 3° 4° 5°
    1 ponto
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...