Postado Setembro 30, 2017 7 anos Boa tarde Senhores. Estou usando o Servidor do Malucooo OTX - Versão 11.47, e o que acontece, no config.lua está setado assim: Citar freePremium = false E mesmo assim, quando cria uma conta no Servidor, com 0 dias de Premmy,, mostrando abaixo: Alguns falaram que é problema no login.php, porém, ja testei 2. Login.php 1 Citar <?php /** * Created by PhpStorm. * User: jlcvp - leu * Date: 07/06/17 * Time: 21:22 */ 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." }*/ //error function function sendError($error_msg,$code=3){ $retError = array(); $retError["errorCode"] = $code; $retError["errorMessage"] = $error_msg; die(json_encode($retError)); } $request_body = file_get_contents('php://input'); $result = json_decode($request_body, true); $acc = $result["accountname"]; $password = $result["password"]; $query = $SQL->prepare("SELECT `id`,`premdays` FROM `accounts` WHERE `name` = :acc AND `password` = SHA1(:pass) LIMIT 1"); $query->bindValue(":acc", $acc); $query->bindValue(":pass", $password); $dbResource = $query->execute(); if (!$dbResource) { sendError("failed to get account."); } $dbRet = $query->fetch(); if (!dbRet) { sendError("failed to fetch account data"); } $accId = $dbRet["id"]; $premdays = $dbRet["premdays"]; if (!$accId) { sendError("Account name or password is not correct."); } $dbResource = $SQL->query("SELECT `name`,`sex`,`lastlogin` FROM `players` WHERE `account_id` = $accId"); if (!$dbResource) { sendError("failed to get characters."); } $accArray = array(); $lastlogin=0; while ($dbRet = $dbResource->fetch()) { $dict = array( "worldid" => 0, "name" => $dbRet["name"], "ismale" => (($dbRet["sex"]==1)?true:false), "tutorial" => (($dbRet["lastlogin"]>0) ? false:true) ); $accArray[] = $dict; if($lastlogin<$dbRet["lastlogin"]){ $lastlogin = $dbRet["lastlogin"]; } } $data = array(); //TODO: Melhorar estrutura de dado aqui e preencher com os dados reais da account $session = array( "sessionkey" => $acc . "\n" . $password, "lastlogintime" => $lastlogin, "ispremium" => ($premdays > 0 || $config["server"]["freePremium"]) ? true : false, "premiumuntil" => ($freePremium) ? (time() + 365 * 86400) : (time() + $premdays * 86400), "status" => "active" ); $data["session"] = $session; $playerData = array(); //TODO: melhorar estrutura de dado aqui para permitir multiple worlds $world = array( "id" => 0, "name" => $config["server"]["serverName"], "externaladdress" => $config["server"]["ip"], "externalport" => $config["server"]["gameProtocolPort"], "previewstate" => 0, "location" => "BRA", "externaladdressunprotected" => $config["server"]["ip"], "externaladdressprotected" => $config["server"]["ip"] ); $worlds = array($world); $playerData["worlds"] = $worlds; $playerData["characters"] = $accArray; $data["playdata"] = $playerData; echo json_encode($data); login.php 2 Citar <?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; } 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(); } $session = array( "sessionkey" => $accountName . "\n" . $password, "lastlogintime" => $lastLogin, "ispremium" => true, "premiumuntil" => 0, "status" => "active" ); $world = array( "id" => 0, "name" => $config['server']['serverName'], "externaladdress" => $config['server']['ip'], "externalport" => $port, "previewstate" => 0, "location" => "BRA", "externaladdressunprotected" => $config["server"]["ip"], "externaladdressprotected" => $config["server"]["ip"] ); $worlds = array($world); $data["session"] = $session; $playerData["worlds"] = $worlds; $playerData["characters"] = $characters; $data["playdata"] = $playerData; echo json_encode($data); O meu intuito é deixar totalmente free, junto ao site, e adquirir premmy DENTRO do Jogo. Alguem poderia me ajudar por favor?
Postado Setembro 30, 2017 7 anos Já tentou desativar aqui: Citar "status" => "active" Outra sugestão é verificar no Creaturescripts/other/login.lua, pois lá fala sobre Premium Account também
Postado Setembro 30, 2017 7 anos Autor 13 minutos atrás, Leandro Marcondes disse: Já tentou desativar aqui: Outra sugestão é verificar no Creaturescripts/other/login.lua, pois lá fala sobre Premium Account também Então velhinho, ja desativei tbm, e nada aconteceu. E no login.lua fucei e soh mostra sobre a stamina em relação a premmy mano...
Postado Setembro 30, 2017 7 anos Área errada, deveria tentar editar o accountmanagement provavelmente, e não isso ai, e tem uma parte de ispremium nesse login.php q vc n testou.
Postado Setembro 30, 2017 7 anos Este tópico foi movido para a área correta. Esta é uma mensagem automática!Pedimos que leia as regras do fórum! Spoiler This topic has been moved to the correct area. This is an automated message!Please read the forum rules.
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.