Ir para conteúdo
  • Cadastre-se
  • 0

(Resolvido) Painel de Trocaa


Vulto

Pergunta

Entao, eu preciso colocar uma condição nesse script .

 

A condição que eu preciso é a seguinte, que quando o Cliente logar sua conta, o script busque a Tabela "Characters" e verefique na Coluna "level" se o level for menor que "40" ele retorne erro: "Seu level nao Permite a troca" e se o level for maior que "40" ele de continuação no script.

 

Script:

<?php
if(isset($_POST['usuario']) && isset($_POST['senha'])){
$usuario = mysql_real_escape_string(trim($_POST['usuario']));
$senha = base64_encode(pack('H*', sha1($_POST['senha'])));

$checar = mysql_query("SELECT login,level,password FROM accounts WHERE login = '".$usuario."' AND password = '".$senha."'");

if(mysql_num_rows($checar) > 0){
	$_SESSION['usuario'] = $usuario;
	$_SESSION['acesso_troca'] = true;
  	 echo '<script type="text/javascript">alert("Bem Vindo ao Painel de Trocas!");location.href="?secao=trocas"</script>';
}else {
	session_destroy();
	unset($_SESSION['usuario']);
	unset($_SESSION['acesso_troca']);
	echo '<script type="text/javascript">alert("Aviso: Você digitou seus dados erradamente, por favor corrija!");history.back();</script>';
}

}
?> 

<?php

class trocas{

/*

Autor : Llairenm Ilai

Direitos © : Madjirus

 

-- Script para troca pontos de PvP, PK, Tempo Online e Raid Points

-- Caso queira editar o script fique a vontade no entando os créditos

-- devem ser mantidos assim o autor terá maior controle e podera assim

-- fazer correções e "postalas" nos respequitivos lugares.

*/

private $query;

private $mysql;

private $usuario;

public $charId = "obj_Id"; // Coloque como na está na sua tabela characters

 

// Configuracoes - Trocas

var $pagIni = "index.php?secao=trocas";

var $tipo;

var $char;

 

var $numeroUm = "1"; // Não alterar

var $zero = "0"; // Não Alterar

var $mil = "1000"; // Não Alterar

var $adutor = "10000"; // Adutor usado em calculo de ID ( NÃO ALTERAR )

 

// Configurações - Trocar Tempo Online

var $QTtempo = "3.6"; // Minutos pagos por lote de item

var $itensporTP = "1"; // Quantidade de itens por tempo trocado

var $itembonusTP = "Festival Adena"; // Nome do item que receberá ao trocar o tempo

var $itemTP = "6673"; // ID do item que o char ganha pelos minutos

 

// Configurações - Trocar PvPs e PKs

/*var $itemPK = "53"; // ID do item do PK

var $itembonusPK = "Quick Healer[PK]"; // Nome do item que receberá por PK

var $QTitemPK = "2"; // PKs pagos por item

 

var $itemPVP = "53"; // ID do Item do PVP

var $itembonusPVP = "Quick Healer[PVP]"; // Nome do item que receberá por PvP

var $QTitemPVP = "1"; // PVPs pagos por item

 

// Configurações - Trocar Raid Points

var $QTraidpoints = "200"; // Raids points pagos por lote de item

var $itensporRP = "1"; // Quantidade de itens por raid points trocado

var $itembonusRP = "Ancient Adena"; // Nome do item que receberá

var $itemRP = "53";// ID do item que o char ganha*/

 

public function __construct(){

$this->tipo = htmlentities(trim($_POST['tipo_troca']));

$this->char = htmlentities(trim($_POST['char_troca']));

$this->usuario = mysql_real_escape_string(trim($_SESSION['usuario']));

}

 

public function mostrarPontos(){

$this->query = "SELECT login FROM accounts WHERE login='".$this->usuario."'";

$this->mysql = mysql_query($this->query) or die('Conta não confere! ' . mysql_error());

 

if (mysql_num_rows($this->mysql) > 0){

$sql_query = mysql_query("SELECT * FROM characters WHERE account_name = '".$this->usuario."'");

 

while($row = mysql_fetch_array($sql_query)){

$t_sql = mysql_query("SELECT pvpkills,pkkills,onlinetime,raid_points FROM pontos_trocados WHERE charId='".$row[$this->charId]."'");

$t_row = mysql_fetch_row($t_sql);

 

$tempo = round(($row['onlinetime']/$this->mil) - ($t_row[2]/$this->mil));

$calct = floor($tempo / $this->QTtempo);

 

$pvp = ($row['pvpkills'] - $t_row[0]);

$pk = ($row['pkkills'] - $t_row[1]);

$pvpQt = floor($pvp / $this->QTitemPVP);

$pkQt = floor($pk / $this->QTitemPK);

 

$r_sql = mysql_query("SELECT SUM(points) FROM character_raid_points WHERE ".$this->charId."='".$row[$this->charId]."'");

$r_row = mysql_fetch_row($r_sql);

$raid_p = ($r_row[0] - $t_row[3]);

$raid_points = floor($raid_p / $this->QTraidpoints);

 

echo '<tr>

<td><input type="radio" name="char_troca" value="'.$row[$this->charId].'" id="'.$row['char_name'].'" /></td>

<td><label for="'.$row['char_name'].'">'.$row['char_name'].'</label></td>

<td>[ <strong>'.$tempo.'</strong> ] - ( <em>'.$calct.'</em> )</td>

</tr>';

}

}else echo "Erro !!!";

}

 

// Trocar Raid Points por Itens

public function trocarPontos(){

if(!empty($this->tipo) && !empty($this->char)){

// Buscando ID do char

$sqlChar = "SELECT * FROM characters WHERE ".$this->charId."='".$this->char."'";

$iChar = mysql_query($sqlChar) or die('Erro Characters !!!\n'.mysql_error());

$char_row = mysql_fetch_array($iChar);

// Character ID

$idcharac = $char_row[$this->charId];

 

// Buscando RaidPoints e Calculando Pontos Gastaveis

/*$rpS = "SELECT SUM(points) FROM character_raid_points WHERE ".$this->charId."='".$this->char."'";

$rpQ = mysql_query($rpS) or die('Erro ao somar pontos !!!\n'.mysql_error());

$rowrp = mysql_fetch_row($rpQ);

$rpchar = $rowrp['0'];*/

 

$pQ = "SELECT pvpkills,pkkills,onlinetime,raid_points FROM pontos_trocados WHERE charId='".$this->char."'";

$pS = mysql_query($pQ) or die('Erro Pontos !!!'.mysql_error());

$rowB = mysql_fetch_row($pS);

 

// Calculando PvP e PK

$pvp = ($char_row['pvpkills'] - $rowB[0]);

$pk = ($char_row['pkkills'] - $rowB[1]);

$pvpQt = floor($pvp / $this->QTitemPVP);

$pkQt = floor($pk / $this->QTitemPK);

$pvpkills = ($pvpQt * $this->QTitemPVP)+$rowB[0];

$pkkills = ($pkQt * $this->QTitemPK)+$rowB[1];

 

// Calculando Tempo

$tempo = round(($char_row['onlinetime']/$this->mil) - ($rowB[2]/$this->mil));

$tempoQt = floor($tempo / $this->QTtempo);

$tempo_atual = ($this->QTtempo*($this->mil*$tempoQt))+$rowB[2];

 

// Calculando Raid Points

$raid_p = ($rpchar - $rowB[3]);

$raid_points = floor($raid_p / $this->QTraidpoints);

$raidQT = ($raid_points*$this->QTraidpoints)+$rowB[3];

 

// Buscando ID do Item

$idMax = mysql_query("SELECT MAX(object_id) AS max FROM items") or die('Erro ao calcular ID Maximo!!!\n'.mysql_error());

$fetch = mysql_fetch_array($idMax);

$idnova = $this->adutor + $fetch['max'];

 

// Buscando location na WH

$id_ware = "SELECT MAX(loc_data) AS max FROM items WHERE owner_id='".$idcharac."' AND loc='WAREHOUSE'";

$result = mysql_query($id_ware) or die(mysql_error());

$fetch = mysql_fetch_array($result);

$warehouseloc = $this->numeroUm + $fetch['max'];

 

// Verificando Tipo da Troca

switch($this->tipo){

case 'onlinetime':

$qt_bonus = $tempoQt;

$item = $this->itemTP;

$item_bonus = $this->itembonusTP;

$col = 'onlinetime';

$ins_t = $tempo_atual;

$quantTr = $tempo-($tempo % $this->QTtempo);

$dividir = '6';

break;

}

 

// Verificar se existem valores a serem trocados

if($qt_bonus > $this->zero){

// Inserindo Itens no Banco de Dados

$insInto = "owner_id,object_id,item_id,count,enchant_level,loc,loc_data,time_of_use,custom_type1,custom_type2,mana_left";

$values = "'$idcharac','$idnova','$item','$qt_bonus','0','WAREHOUSE','$warehouseloc',NULL,'0','0','-1'";

$query = "INSERT INTO items (".$insInto.") VALUES (".$values.")";

$result = mysql_query($query) or die('Error Inserting Items into DB !!!\n'.mysql_error());

 

// Checando se o char ja recebeu algum bonus por algum dos sistemas de troca

$resulta = mysql_query("SELECT charId FROM pontos_trocados WHERE charId='".$idcharac."'") or die(mysql_error());

 

if (mysql_num_rows($resulta) > 0){

$upQ = "UPDATE pontos_trocados SET ".$col."='".$ins_t."' WHERE charId='".$idcharac."'";

$update = mysql_query($upQ) or die('Error Updating Pontos Trocados !!!'.mysql_error());

}else{

$inQ = "INSERT INTO pontos_trocados (account_name,charId,".$col.") VALUES ('".$char_row['account_name']."','".$idcharac."','".$ins_t."')";

$insert = mysql_query($inQ) or die('Error Inserting Pontos Trocados !!!'.mysql_error());

}

 

echo '<script type="text/javascript">alert("O Char ' . $char_row['char_name'] . ' recebeu ';

echo $qt_bonus . ' ( ' . $item_bonus . ' )\nPor ' . $quantTr.' '. $this->tipo;

echo ' trocados.");document.location.replace("'.$this->pagIni.'");</script>';

}else {

echo '<p class="min_req">Você não tem o minimo de <strong>';

echo $this->tipo.'</strong> requeridos para troca !!!</p>';

}

}

}

}

?>

Editado por Vulto
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts recomendados

Isso é fácil de se fazer, é só você colocar um if, +ou- assim:

 

if($char_level > '40'){

echo"Seu level Permite a troca"; // Aqui vai todo o script que vai fazer a troca

}else{

echo"Seu level nao Permite a troca"; // Aqui é a mensagem de erro que vai aparecer para o player quando ele tentar trocar os pontos com um char com level menor que 40

}

 

=)

Editado por Ivan Pires

 

 

 

Link para o comentário
Compartilhar em outros sites


sim blza colocar a condicao e facil dificil era eu fazer as varaiveis, mais ai peguei uma linha q estava pronta e so adicionei a tabela LEVEL e a condicao.

Aqui ela:

$sqlChar = "SELECT *,level FROM characters WHERE ".$this->charId."='".$this->char."' AND level > '40'";

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
  • Registre-se

    Faça parte da maior e  mais antigas comunidades sobre Lineage2 da América Latina.





×
×
  • Criar Novo...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.