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. _ .-'` `} _./) / } .'o \ | } '.___.'`.\ {` /`\_/ , `. } ME DA UMA NOZ! \=' .-' _`\ { `'`;/ `, } _\ @ ; } /__`;-...'--' Cluck!
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. _ .-'` `} _./) / } .'o \ | } '.___.'`.\ {` /`\_/ , `. } ME DA UMA NOZ! \=' .-' _`\ { `'`;/ `, } _\ @ ; } /__`;-...'--' Cluck!
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.