Tudo que faelzn69 postou
-
Skill em Stages para TFS 1.3
@beloria, coloque esta tabela
-
Skill em Stages para TFS 1.3
@Beloria, me manda todo script denovo. Preciso ver as linhas do erro.
-
Lost Account
Esquece, provavelmente não há a ser configurado. Estou olhando alguns post na internet... e parece que o seu linux está simplesmente bloqueando o seu acesso ao SMPTS da BOL. É uma pratica de segurança(configuração padrão em alguns VPS). Acho que você vai ter que usar um comando que adiciona um regra na tabela iptables que te permite conectar em IPs através da porta 587 Tente o seguinte comando: Ou então este: Boa sorte.
-
Tfs 0.4
É normal pesar bastante... principalmente se for mapa Global. Se não estou enganado a cada 100MB de mapa é necessário 3 ~ 4GB de RAM. Recomendo instalar o Windows 10, ele é muito mais rápido do que o Windows 7(se não estou enganado o suporte para ele já foi finalizado). Com o windows 10 e esses 16GB de RAM, da até pra você usar a ferramenta de virtualização de maquiná do próprio windows(Hyper-V), sem a necessidade de instalar VirtualBox, VMWare. Dica: utilize linux. É mais difícil de aprender e fazer manutenção mas é o mais leve para a memória RAM.
-
Client 11 carrega lista de personagens mas não entra no jogo
Sim. config.php ?PHP // ----Config Shop---- $outfits_list = array(); $loyalty_title = array(50 => 'Scout', 100 => 'Sentinel', 200 => 'Steward', 400 => 'Warden', 1000 => 'Squire', 2000 => 'Warrior', 3000 => 'Keeper', 4000 => 'Guardian', 5000 => 'Sage'); $config['shop']['newitemdays'] = 1; #days to item be new in shop # Pagseguro configs $config['pagseguro']['testing'] = false; $config['pagseguro']['tokentest'] = ""; $config['pagseguro']['email'] = ''; $config['pagseguro']['apitoken'] = ''; # Bank transfer data $config['banktransfer']['bank'] = "Caixa Econômica"; $config['banktransfer']['agency'] = ""; $config['banktransfer']['account'] = ""; $config['banktransfer']['name'] = ""; $config['banktransfer']['operation'] = 003; // 0 = no operation # PayPal configs $config['paypal']['email'] = ""; # Social Networks $config['social']['status'] = true; $config['social']['facebook'] = "https://www.facebook.com/tibia"; # PAGE: characters.php $config['site']['quests'] = array( "Demon Helmet" => 2213, "In Service of Yalahar" => 12279, "Pits Of Inferno" => 10544, "The Ancient Tombs" => 50220, "The Annihilator" => 2215, "The Demon Oak" => 1010, "Wrath Of The Emperor" => 12374); # time in days to show the former names $config['site']['formerNames'] = 10; $config['site']['formerNames_amount'] = 10; # Account Maker Config $config['site']['serverPath'] = "C:/Users/Franco/Desktop/ot/ombra-pack10x-master/"; $config['site']['useServerConfigCache'] = false; $towns_list = array( 1 => 'Venore', 2 => 'Thais', 3 => 'Kazordoon', 4 => 'Carlin', 5 => 'Ab\'Dendriel', 6 => 'Rookgaard', 7 => 'Liberty Bay', 8 => 'Port Hope', 9 => 'Ankrahmun', 10 => 'Darashia', 11 => 'Edron', 12 => 'Svargrond', 13 => 'Yalahar', 14 => 'Farmine', 28 => 'Gray Beach', 29 => 'Roshamuul', 33 => 'Rathleton', 34 => 'Krailos', 51 => 'Dawnport', 52 => 'Feyrist', ); # this is important if you want to use ajax check in your create account $config['site']['sqlHost'] = "localhost"; $config['site']['sqlUser'] = "root"; $config['site']['sqlPass'] = "YOUR DATABASE PASSWORD HERE"; $config['site']['sqlBD'] = "YOUR DATABASE NAME"; # Create Account Options $config['site']['one_email'] = true; $config['site']['create_account_verify_mail'] = true; $config['site']['verify_code'] = true; $config['site']['email_days_to_change'] = 7; $config['site']['newaccount_premdays'] = 0; $config['site']['send_register_email'] = true; # Create Character Options $config['site']['newchar_vocations'] = array(0 => 'Rook Sample'); // if you wan't use rook, put (1 => 'Sorcerer Sample', 2 => 'Druid Sample', 3 => 'Paladin Sample', 4 => 'Knight Sample'); $config['site']['newchar_towns'] = array(6, 51); $config['site']['max_players_per_account'] = 10; # Emails Config $config['site']['send_emails'] = true; $config['site']['mail_address'] = ""; $config['site']['mail_senderName'] = ""; $config['site']['smtp_enabled'] = true; $config['site']['smtp_host'] = "ssl://smtp.gmail.com"; $config['site']['smtp_port'] = 465; $config['site']['smtp_auth'] = true; $config['site']['smtp_user'] = ""; $config['site']['smtp_pass'] = ""; $config['site']['smtp_secure'] = true; # PAGE: accountmanagement.php $config['site']['send_mail_when_change_password'] = true; $config['site']['send_mail_when_generate_reckey'] = true; $config['site']['email_time_change'] = 7; $config['site']['daystodelete'] = 7; $config['site']['flash_client_enabled'] = false; # PAGE: guilds.php $config['site']['guild_need_level'] = 8; $config['site']['guild_need_pacc'] = false; $config['site']['guild_image_size_kb'] = 50; $config['site']['guild_description_chars_limit'] = 2000; $config['site']['guild_description_lines_limit'] = 6; $config['site']['guild_motd_chars_limit'] = 250; # PAGE: adminpanel.php $config['site']['access_admin_panel'] = 3; # PAGE: latestnews.php $config['site']['news_limit'] = 6; # PAGE: killstatistics.php $config['site']['last_deaths_limit'] = 40; # PAGE: team.php $config['site']['groups_support'] = array(2, 3, 4, 5, 6); # PAGE: highscores.php $config['site']['groups_hidden'] = array(3, 4, 5, 6); $config['site']['accounts_hidden'] = array(1); # PAGE: lostaccount.php $config['site']['email_lai_sec_interval'] = 180; # Pagseguro offers // ValorR$ => Qtd_coins $config['pagseguro']['offers'] = array( 500=>75, 800=>125, 1500=>250, 2800=>500, 4900=>1000 ); // Nome do produto $config['pagseguro']['produtoNome'] = 'Tibia Coins'; $config['pagseguro']['urlRedirect'] = 'https://127.0.0.1/'; $config['pagseguro']['urlNotification'] = 'https://127.0.0.1/retpagseguro.php'; # Layout Config $config['site']['layout'] = 'tibiarl'; $config['site']['vdarkborder'] = '#505050'; $config['site']['darkborder'] = '#D4C0A1'; $config['site']['lightborder'] = '#F1E0C6'; $config['site']['download_page'] = false; $config['site']['serverinfo_page'] = true; // ServerConfig $config['server']['serverName'] = "Nome do Seu Servidor"; $config['server']['ip'] = ""; //coloque o IP que você configurou no cliente Acho que tem q alterar essa linha também, e colocar o diretório do seu OTServer: $config['site']['serverPath'] = "C:/Users/Franco/Desktop/ot/ombra-pack10x-master/"; ----------------- login.php <?php /** * Created by Notepad++. * User: Malucooo - Erick Nunes * Remaked of login.php by JLCVP and parts of login.php by Monteiro. Thanks for both! * Date: 18/09/17 * Time: 03:01 */ require 'config/config.php'; // comment to show E_NOTICE [undefinied variable etc.], comment if you want make script and see all errors error_reporting(E_ALL ^ E_STRICT ^ E_NOTICE); // true = show sent queries and SQL queries status/status code/error message define('DEBUG_DATABASE', false); define('INITIALIZED', true); if (!defined('ONLY_PAGE')) define('ONLY_PAGE', true); // check if site is disabled/requires installation include_once('./system/load.loadCheck.php'); // fix user data, load config, enable class auto loader include_once('./system/load.init.php'); // DATABASE include_once('./system/load.database.php'); if (DEBUG_DATABASE) Website::getDBHandle()->setPrintQueries(true); // DATABASE END /*error example: { "errorCode":3, "errorMessage":"Account name or password is not correct." }*/ # Declare variables with array structure $characters = array(); $playerData = array(); $data = array(); $isCasting = false; # error function function sendError($msg){ $ret = array(); $ret["errorCode"] = 3; $ret["errorMessage"] = $msg; die(json_encode($ret)); } # getting infos $request = file_get_contents('php://input'); $result = json_decode($request, true); # account infos $accountName = $result["accountname"]; $password = $result["password"]; # game port $port = 7172; # check if player wanna see cast list if (strtolower($accountName) == "cast") $isCasting = true; if ($isCasting) { $casts = $SQL->query("SELECT `player_id` FROM `live_casts`")->fetchAll(); if (count($casts[0]) == 0) sendError("There is no live casts right now!"); foreach($casts as $cast) { $character = new Player(); $character->load($cast['player_id']); if ($character->isLoaded()) { $char = array("worldid" => 0, "name" => $character->getName(), "ismale" => (($character->getSex() == 1) ? true : false), "tutorial" => false); $characters[] = $char; } } $port = 7173; $lastLogin = 0; $premiumAccount = true; $timePremium = 0; } else { $account = new Account(); $account->find($accountName); if (!$account->isLoaded()) sendError("Failed to get account. Try again!"); if ($account->getPassword() != Website::encryptPassword($password)) sendError("The password for this account is wrong. Try again!"); foreach($account->getPlayersList() as $character) { $char = array("worldid" => 0, "name" => $character->getName(), "ismale" => (($character->getSex() == 1) ? true : false), "tutorial" => false); $characters[] = $char; } $lastLogin = $account->getLastLogin(); $premiumAccount = ($account->isPremium()) ? true : false; $timePremium = time() + ($account->getPremDays() * 86400); } $session = array( "fpstracking" => false, "isreturner" => true, "returnernotification" => false, "showrewardnews" => false, "sessionkey" => $accountName . "\n" . $password, "lastlogintime" => $lastLogin, "ispremium" => $premiumAccount, "premiumuntil" => $timePremium, "status" => "active" ); $world = array( "id" => 0, "name" => $config['server']['serverName'], "externaladdress" => $config['server']['ip'], "externalport" => $port, "previewstate" => 0, "location" => "BRA", "anticheatprotection" => false ); $worlds = array($world); $data["session"] = $session; $playerData["worlds"] = $worlds; $playerData["characters"] = $characters; $data["playdata"] = $playerData; $data["survey"] = $survey; echo json_encode($data);
-
Melhor Versão de OT em 2018
A minha resposta é não. Porque o player pensa que se ele vai jogar sem nenhum bot, é como se ele fosse jogar Tibia Original..."porque vou jogar jogar um ot sem bot? é como se fosse o tibia original... se eu quizesse jogar tibia original já tava la e não tava aqui"
-
Lost Account
O seu provedor pode estar bloqueando a conexão, pois você está acessando com um endereço de IP diferente do seu PC na sua casa. Olhe como está configurado esse email. Veja se possui algum tipo de configuração que habilite o acesso a esse email. Muitos sites fazem isso... eles sabem que seu IP é geralmente do provedor X(vivo, claro.. etc) ai quando você se conecta com um provedor totalmente diferente, eles te bloqueiam por segurança. Isso acontece muito por ai. A gmail ou facebook por exemplo te informa: tentativa de acesso, ip tal, hora tal e simplesmente não liberam o login a menos que você confirme aquele acesso.
-
Client 11 carrega lista de personagens mas não entra no jogo
Não, segue o exemplo do @francosilverio1 no post superior a este. É no arquivo config.php, e não login.php.
-
Melhor Versão de OT em 2018
Sim... mas isso é meio relativo não é mesmo? Que tipo de servidor você gostaria de ter? Apenas for fun e zuera? Ou um servidor mais sério onde os jogadores tem q ralar para conseguirem as coisas? Vou tentar colocar de outra forma dando exemplos: MMORPG = Tibia global ou otserver full global sem bot nenhum. MMOFUN = otserv global/baiak mais focado na diversão: evento, pvp, fastattack, fastup Eu particularmente... gosto do MMORPG. Gosto de me dedicar e ser o melhor através da minha habilidade e não porque o MageBot cura melhor do que eu...
-
Melhor Versão de OT em 2018
Amigo, eu já fiz o que lhe disse(apenas testes)... e o pessoal geralmente faz isso mas não para usar bot no seu servidor, e sim roubar suas sprites customizadas e vender depois. "Usar bot?" Não, ganhar dinheiro... imagine um otserv que nem o GLOBALWAR, vamos supor que lá não é permitido usar bot. Ai eu vou la e consigo fazer isso que acabei de dizer, e começo a vender o que eu fiz: "Quer usar bot? Eu tenho um cliente aqui que funciona com bot, cobro 10 reais." em um servidor de 1400 online... se 100 pessoas me pagarem 10 reais cada, mil reais no meu bolso fácil, fácil. A própria Cipsoft sofreu por anos por causa de bot e a Cip é gigante... eles tem desenvolvedores de muitas áreas diferentes trabalhando no Tibia, dinheiro pra gastar com desenvolvimento e tecnologia.... acha mesmo que uma criptografia doméstica inventada por mim ou por você, vai segurar os botteiros? Não segura mesmo. Argumentos da minha opinião: 1 - A Cipsoft se ferrou de todas as formas com os bots, eles sofreram por anos(o que é fato). Não vai ser uma criptografia qualquer que vai resolver isso 2 - Bot acaba com o RPG do server, e o que não falta é bot para a versão 8.6. Não é atoa que existem menos bots para versões 10.
-
Client 11 carrega lista de personagens mas não entra no jogo
Eu acho estranho esse código... pq ele tenta acessar duas propiedades do config.php: "name" => $config['server']['serverName'] "externaladdress" => $config['server']['ip'] Nenhuma dessas duas propiedades está definida no arquivo config.php, tente adicionar essas duas linhas no seu arquivo config/config.php: $config['server']['serverName'] = "Nome do Seu Servidor"; $config['server']['ip'] = "127.0.0.1";
-
Client 11 carrega lista de personagens mas não entra no jogo
No seu caso, está faltando configurar essas linhas. Elas são responsáveis por definir: $config['site']['sqlHost'] >> host onde se localiza o seu banco de dados MYSQL $config['site']['sqlUser'] >> usuario que irá se conectar no seu MySQL $config['site']['sqlPass'] >> senha do usuário que irá se conectar no mysql $config['site']['sqlBD'] >> nome do banco de dados que você irá se conectar Dica: nunca deixem o usuário root sem senha, e nunca usem ele no seu Banco de Dados. O usuário root tem muitas permissões que vão além do necessário para um OTServer. Criem um usuário exclusivo para operar no banco de dados do OTServer.
-
Skill em Stages para TFS 1.3
@Beloria, em primeiro lugar, apesar de ser programador eu não programo LUA ou seja posso estar errado em absolutamente tudo o que eu lhe falar. Vamos por partes, ok? Reconhecendo o erro: player.lua:1047: attempt to compare number with nil Significa que na linha 1047(arquivo player.lua), ele tentou comparar um número com um valor nulo(nil), segue a linha: if skillLevel >= level[1] and skillLevel <= level[2] then Qual número ele comparou? skillLevel Com o que ele comparou esse número? level[1] e level[2] Provavelmente level[1] ou level[2] estão nulos. ---------- Analisando o código: local function getSkillRate(player, skillId) local targetVocation = config[player:getVocation():getBase():getId()] if targetVocation then local targetSkillStage = targetVocation[skillId] if targetSkillStage then local skillLevel = player:getSkillLevel(skillId) for level, rate in pairs(targetSkillStage) do if skillLevel >= level[1] and skillLevel <= level[2] then return rate end end end end return skillId == SKILL_MAGLEVEL and configManager.getNumber(configKeys.RATE_MAGIC) or configManager.getNumber(configKeys.RATE_SKILL) end skillLevel = propiedades do player { player:getSkillLevel(skillId) } level = chave do par { pairs(targetSkillStage) } rate = valor da chave Na linha: for level, rate in pairs(targetSkillRate) do { O algoritmo está passando (em pares) por uma tabela pré definda(local config) na linha 986: local config = { -- base vocationId [1] = { -- skillId [SKILL_FIST] = { -- [{skillLevel}] = skillRate [{10, 19}] = 10, [{20, 29}] = 5 }, [SKILL_CLUB] = { [{10, 19}] = 10, [{20, 29}] = 5 }, [SKILL_SWORD] = { [{10, 19}] = 10, [{20, 29}] = 5 }, [SKILL_AXE] = { [{10, 19}] = 10, [{20, 29}] = 5 }, [SKILL_DISTANCE] = { [{10, 19}] = 10, [{20, 29}] = 5 }, [SKILL_SHIELD] = { [{10, 19}] = 10, [{20, 29}] = 5 }, [SKILL_FISHING] = { [{10, 19}] = 10, [{20, 29}] = 5 }, [SKILL_MAGLEVEL] = { [{10, 19}] = 10, [{20, 29}] = 5 } } } ao tentar acessar um valor da chave level na posição 1 e 2, ou seja level[1] e level[2], supostamente ele deveria retornar 10 e 19 respectivamente. Nosso erro está exatamente aqui. e finalmente baseando se nesses dois valores a função retorna a rate pré definida(linha 986). } Minha opinião: acredito que o erro seja a maneira como o código está programado para retornar os valores da tabela config(linha 986). Até onde eu sei for loops usando pairs em lua é mais ou menos assim: Minha possível solução(não testei) { Acredito que cada skill definida na tabela deveria ter sido escrita da seguinte maneira: [SKILL_MAGLEVEL] = { [1] = { "fromLevel" = 10, "toLevel" = 19, "rate" = 10 }, [2] = { "fromLevel" = 20, "toLevel" = 29, "rate" = 5 } } E a código da função getSkillRate: local function getSkillRate(player, skillId) local targetVocation = config[player:getVocation():getBase():getId()] if targetVocation then local targetSkillStage = targetVocation[skillId] if targetSkillStage then local skillLevel = player:getSkillLevel(skillId) for index,level in pairs(targetSkillStage) do if skillLevel >= level["fromLevel"] and skillLevel <= level["toLevel"] then return level["rate"] end end end end return skillId == SKILL_MAGLEVEL and configManager.getNumber(configKeys.RATE_MAGIC) or configManager.getNumber(configKeys.RATE_SKILL) end Note a diferença entre os códigos. Eu particularmente gosto de definir todas as coisas usando strings( "fromLevel" = 10 ).... acho mais fácil de programar, mais óbvio, mais simples de entender(no caso de divulgação do código). Talvez dessa forma funcione corretamente, eu não posso lhe garantir nada pois não testei meu código. Do pouco que sei de LUA e uma pesquisa breve de uma hora, esta é a minha opinião sobre o seu problema. Espero ter ajudado de alguma forma. Recomendo estudar um pouco mais de LUA. } Boa sorte amigo.
-
[AJUDA] REMOVER CODIGOS MODERN ACC
Sinto muito amigo, pra mim tudo isso é enrolação. Já existem códigos prontos que retornam as senhas para o email cadastrado... e agora vai minha pergunta para você. Se o cara foi hackeado, você acha que ele vai querer a senha que foi hackeada? Ou você acha que ele vai querer que você redefina essa senha para ele e envie uma nova? Ou até mesmo um link enviado por email para ele mesmo escolher uma senha nova? Não tem nexo o que você esta dizendo, nem o seu propósito(uma vez que as funções que vc descreveu já existem). Repito, pra mim é enrolação sua... baboseira, ainda mais vindo de um usuário que se registrou a 2 meses atras. Não irei responder novamente esse tópico e vou procurar algum ADM ou moderador.
-
[AJUDA] REMOVER CODIGOS MODERN ACC
Isso é a criptografia da senha dos seus players. As senhas não são autenticadas em plain text: "senha123" e sim em hashes(o que você chama de códigos). Exemplo: NÃO RECOMENDO você tirar a criptografia... por dois motivos: 1 - segurança dos seus jogadores. Se alguém hackear seu servidor, as contas estão protegidas devido a criptografia das senhas. 2 - privacidade. Você não tem o direito de saber quais são as senhas do seus jogadores. A senha é pra tornar a conta privada, e a criptografia é para tornar a senha privada, garantindo privacidade total e segurança para seus players. Eu não gostaria que o ADM soubesse qual é a minha senha... o que você quer é antiético(pra alguns), por isso: NÃO VOU LHE FALAR COMO FAZER. Sinto muito, boa sorte.
-
Client 11 carrega lista de personagens mas não entra no jogo
//Survey by: Cjaker $survey = array( "id" => rand(0, 999999), "invitationtext" => "Querido tibiano, obrigado por usar OTX, a base mais atualizada do Tibia Global.\n'Mensagem dita por Cjaker'.", "invitationtoken" => "1751f1beddf001e1d36dee78ace974", "endtimestamp" => 1510614000 ); $data["survey"] = $survey; O código acima não é necessário(não tenho certeza). Talvez faltou alguma configuração nesse arquivo ai. Ou talvez, você tenha configurado erro pelo Notepad++, vale a pena refazer isso. Um caractere(a mais ou a menos) errado já vai te impedir de logar.
-
Skill em Stages para TFS 1.3
Você setou o skill rate como 0 no config.lua e a função retorna esse zero que você configurou no config.lua, linha: return skillId == SKILL_MAGLEVEL and configManager.getNumber(configKeys.RATE_MAGIC) or configManager.getNumber(configKeys.RATE_SKILL) configManager.getNumber(configKeys.RATE_MAGIC) >> retorna o que vc definiu para Magic no config.lua configManager.getNumber(configKeys.RATE_SKILL) >> retorna o que vc definiu para Skill no config.lua As linhas acima estão retornando zero... e ai o algoritmo tenta calcular multiplicando por zero que resulta em zero novamente no código: function Player:onGainSkillTries(skill, tries) if not APPLY_SKILL_MULTIPLIER then return tries end return tries * getSkillRate(self, skill) end Altere esses valores, e coloque 1 em tudo. Teste e nos mostre o resultado.
-
[AJUDA] REMOVER CODIGOS MODERN ACC
Você quer mudar o nome da coluna é isso? De "password" para "codigos"? Bom se a resposta é sim: ALTER TABLE accounts CHANGE 'password' 'codigos' datatype(length); NÃO RECOMENDO FAZER ISSO. Toda programação provavelmente já está configurada para selecionar a coluna "password"... você vai ter UM TRABALHÃO olhando todo código novamente e substituir todas as QUERY com o novo nome da coluna. Novamente, NÃO FAÇA ISSO. Se o seu problema é segurança, existem outras formas de se proteger, começando por não postar fotos do seu Banco de Dados. Sem querer ser rude ou grosseiro com você, mas olha o tanto de informação que você vazou: account names, hashes de passwords, e até mesmo emails!
-
TFS 1.3 / Otx3 | Otg Server Global - 11x - 12.40 (SPRITES 13.40) (Updates Diarios)
Qual TFS ta rodando nessa distro? Alguém sabe dizer? Parece ser a TFS 1.3 Por favor sem MIMIMI de: não é TFS.... é OTX. SIM É OTX, mas por trás é TFS e eu queria saber qual é. Grato.
-
Melhor Versão de OT em 2018
Conheço essa prática que você está falando, mas nenhuma criptografia é 100% segura. Com o avanço da tecnologia seria possível descriptografar o cliente. Existem duas maneiras de quebrar criptografia: 1 - tentativa e erro(bruteforce): basicamente você precisará testar vários algoritmos e varias chaves até conseguir alguma coisa. (pouco eficiente e na maioria dos casos é perca de tempo) 2 - engenharia reversa: o cara precisa estudar sua aplicação(.exe .dll etc) pois ele sabe que por mais que seu cliente esteja criptografado, em algum momento a chave de criptografia estará presente na maquiná dele(pq afinal ele consegue abrir o cliente e jogar). É questão de tempo até ele encontrar a chave que pode ser: um pacote de rede que o cracker ta sniffando; uma string criptografada em HEX, BASE64 ou até mesmo em PLAIN TEXT; um vetor de bytes; Vou lhe provar o que estou falando, olhe este anuncio e o vídeo que contem nele: Quando o cara deleta o arquivo .dll, o EXE simplesmente para de funcionar. O motivo: porque a DLL provavelmente contem informações vitais como, a chave de criptografia utilizada pelo EXE. Basta um HEXEDITOR e fuçar dentro dessa DLL que você provavelmente encontrará algum tipo de dados que representa esse chave(vetores de byte por exemplo). Resumindo...não é 100% seguro... e provavelmente nunca será.
-
Melhor Versão de OT em 2018
É mais simples do que parece, uma hora você pegar o jeito e aprender. É um começo, você ta no caminho certo. É mais fácil resolver em equipe. Você vai precisar de uma equipe para administrar um OT Global É realmente muito trabalhoso.
-
Melhor Versão de OT em 2018
Exato... e se for algo relacionado a sua distro, vc provavelmente estará ferrado sou programador e não programo nada da distro do TFS. Programo apenas scripts em LUA e já acho complexo, imagine tem que mexer diretamente no código fonte do TFS: vai ser muito mais difícil, sem contar que é C++(o linguagem difícil). Já que você não tem conhecimento em programação, recomendo começar com o básico em outras linguagens. Depois que já tiver uma boa noção do que é programação, se aventure pelo fórum e comece a testar scripts mais simples como: addon doll, mount doll, spells, npcs, monstros.... depois que já tiver acostumado com a sintaxe .lua e as funções do TFS, vc começa a testar coisas mais complexas como sistemas personalizados. Boa sorte.
-
Melhor Versão de OT em 2018
A versão 8.6 é muito boa que nem você disse, mas sim já está manjada. Eu particularmente gosto das versões mais recentes(apesar de ser da velha guarda, 7.1) o único problema é os bots. Não gosto deles em servidores RPG, por isso escolho versões 11.xx para jogar. ------- Basicamente o que estou tentando fazer, unir o útil ao agradável... mas não é uma tarefa fácil. Eu não sei qual versão eu gostaria de usar no meu OTServer. Minhas opções são: - 8.6 usando TFS 0.x (ou similares). Atingir os "velha guarda" e trazer sistemas PvP customizados... o problema é competir com os grande servidores 8.6. - 11.++ usando TFS 1.x ou OTX. Tentar atingir todos e inovar o RPG com scripts customizados e otimizados... problema: bugs. Simples assim, servidores mais novos tendem a serem mais vulneráveis a bugs que podem levar a exploits. Esses possíveis bugs me preocupam e muito, vai saber o que pode acontecer. Aqui na TK tem um fix a venda de um bug(é old. autor: @vankk) :
-
Lockpick e Fishing OTC
@vyctor17, cara... você é um baita de um desenvolvedor. Parabéns, continue com seu trabalho. Tive algumas ideias para a dificuldade do peixe: velocidade de movimentação do peixe, coloca um delay antes dele mudar de posição. Resumindo, um peixe mais difícil se movimenta mais rápido, e mais vezes durante a pesca. Mais uma vez, Parabéns.
-
Lockpick e Fishing OTC
@vyctor17é difícil dar sugestões e pensar numa solução... eu não sei como ta seu código. Da próxima vez, explique um pouco mais do sistema(informações para desenvolvedores como nós entende?).