Autor Tema: [Ayuda] Código [Entren Porfavor]  (Leído 967 veces)

Desconectado .-Havox-.

  • PHPerit@
  • *
  • Mensajes: 31
  • Karma: 0
    • Ver Perfil
[Ayuda] Código [Entren Porfavor]
« en: 19 de Julio de 2008, 11:04:05 am »
Hola, esto es un código que he creado yo y cuando tengo 52$ y siempre me sale que no tengo créditos suficientes.

Es después del function onUse(), es todo echo por mi, os puse comentarios.

Ayudenme.

<?php
if (!defined(&#39;SMF&#39;))
	
die(&
#39;Hacking attempt...&#39;);

class item_Imperiales extends itemTemplate
{
	
function 
getItemDetails()
	
{
	
	
$this->authorName = &#39;Havox&#39;;
	
	
$this->authorWeb = &#39;http://www.solotrades.com/&#39;;
	
	
$this->authorEmail = &#39;javi_lagoteta@hotmail.com&#39;;

	
	
$this->name = &#39;Imperiales&#39;;
	
	
$this->desc = &#39;¡Gana X créditos, pierde o teleporta X a un usuario online al azar! &#39;;
	
	
$this->price 100;

	
	
$this->require_input false;
	
	
$this->can_use_item true;
	
	
$this->addInput_editable true;
	
}
	
// The additional parameters (see &#39;getAddInput&#39; above) are in the $item_info array.
	
// Make sure to make it global (like shown here) otherwise you won&#39;t be able to access
	
// its contents. THE ARRAY IS 1-BASED (1 IS THE FIRST ITEM) NOT 0-BASED!
	
	
function 
getAddInput()
	
{
	
	
global 
$item_info;
	
	
if (
$item_info[1] == 0$item_info[1] = 500;
	
	
if (
$item_info[2] == 0$item_info[2] = 100;
	
	
return &
#39;Escriba aquí lo máximo que puede Ganar:<input type="text" name="info1" value="&#39; . $item_info[1] . &#39;" /><br>Escriba aquí lo mínimo que puede Ganar:<input type="text" name="info2" value="&#39; . $item_info[2] . &#39;" />&#39;;
	
}
	

	
// The additional parameters (see &#39;getAddInput&#39; above) are in the $item_info array.
	
// Make sure to make it global (like shown here) otherwise you won&#39;t be able to access
	
// its contents. THE ARRAY IS 1-BASED (1 IS THE FIRST ITEM) NOT 0-BASED!
	
function 
onUse()
	
{
	
	
global 
$db_prefix$ID_MEMBER$item_info;
	
	
$select mysql_query("SELECT * FROM {$db_prefix}members WHERE ID_MEMBER = &#39;".$ID_MEMBER."&#39;") or die(mysql_error());
	
	
$myarray mysql_fetch_array($select);
	
    
$necesidad mysql_query("SELECT ID_MEMBER FROM {$db_prefix}log_online ORDER BY RAND()") or die(mysql_error());
	
	
$rand mysql_fetch_array($necesidad);
	
	
$user mysql_query("SELECT * FROM {$db_prefix}members WHERE ID_MEMBER = &#39;".$rand[&#39;ID_MEMBER&#39;]."&#39;") or die(mysql_error());
	
	
$da mysql_fetch_array($user);
	
	
if(
$myarray[&#39;money&#39;] > $item_info[2]){ // Comprobamos que tiene más créditos que el premio mínimo
	
	
// Comentarios para un mejor uso.
	
	
// Función 1: Le da el premio gordo sin darle nada a nadie
	
	
$var1 "UPDATE {$db_prefix}members SET money = {money} + ".$item_info[1]." WHERE ID_MEMBER = &#39;".$ID_MEMBER."&#39;";
	
	
// Función 2: Perdio el lo mínimo y se lo dio a otro usuario conectado.
	
	
$var2 "UPDATE {$db_prefix}members SET money = {money} - ".$item_info[2]." WHERE ID_MEMBER = &#39;".$ID_MEMBER."&#39;";
	
	
$var2 "UPDATE {$db_prefix}members SET money = {money} + ".$item_info[2]." WHERE ID_MEMBER = &#39;".$rand[&#39;ID_MEMBER&#39;]."&#39;";
	
	
// Función 3: Perdio los créditos mínimo y no se los da a nadie.
	
	
$var3 "UPDATE {$db_prefix}members SET money = {money} - ".$item_info[2]." WHERE ID_MEMBER = &#39;".$ID_MEMBER."&#39;";
	
	
// Función 4: Gano el premio gordo y le da el premio mínimo a un usuario conectado.
	
	
$var4 "UPDATE {$db_prefix}members SET money = {money} + ".$item_info[1]." WHERE ID_MEMBER = &#39;".$ID_MEMBER."&#39;";
	
	
$var4 "UPDATE {$db_prefix}members SET money = {money} + ".$item_info[2]." WHERE ID_MEMBER = &#39;".$rand[&#39;ID_MEMBER&#39;]."&#39;";
	
	
// Termino las funciones, dudas ¡Havox! en ST.
	
	
	
$array = array($var1,$var2,$var3,$var4); // Hacemos un array con las variables
            
shuffle($array); // Cambiamos el orden de las variables al azar [Explicado por Aéropostale]
	
	
	
if(
$array[0] == $var1){ // Comprobamos que la var que toco es la $var1
	
	
	
if(
mysql_query($var1)){
            return 
"¡Enhorabuena! <b>".$myarray[&#39;membername&#39;]."</b> ha ganado el premio gordo son: <b>".$item_info[1]."</b>";
	
	
	
}
	
	
	
} else {
	
	
	
if(
$array[0] == $var2){ // Comprobamos que la var que toco es la $var2
	
	
	
if(
mysql_query($var2)){
	
	
	
return 
"<b>Lo sentimos ".$myarray[&#39;membername&#39;]."</b>, usted perdiste <b>".$item_info[2]." créditos</b> y le enviaste esos créditos al usuario <b>".$da[&#39;membername&#39;]."</b>, le inviaste un MP vertificandolo";
	
	
	
// Enviamos MP
	
	
	
$titulo "Felicidades ".$da[&#39;membername&#39;]." usted ha recibido ".$item_info[2]." créditos.";
	
	
	
$cuerpo "Los créditos le han llegado debido a que <b>".$myarray[&#39;membername&#39;]."</b> utilizó el furni imperiales y usted fue elegid@ al azar para recibir los créditos. ¡Enhorabuena!";
	
	
	
$mod mysql_query("UPDATE {$db_prefix}members SET instantMessages = {instantMessages} + 1, unreadMessages = {unreadMessages} + 1 WHERE ID_MEMBER = &#39;".$da[&#39;ID_MEMBER&#39;]."&#39;");
	
	
	
$mod2 mysql_query("INSERT INTO {$db_prefix}personal_messages (ID_MP,ID_MEMBER_FROM,deletedBySender,fromName,msgtime,
	
subject,body) VALUES (&#39;NULL&#39;,&#39;"
.$myarray[&#39;ID_MEMBER&#39;]."&#39;,&#39;1&#39;,&#39;".$myarray[&#39;membername&#39;]."&#39;,&#39;".time()."&#39;,&#39;".$titulo."&#39;,&#39;".$cuerpo."&#39;)") or die(mysql_error());
	
	
	
$meter mysql_query("INSERT INTO {$db_prefix}pm_recipients (ID_MP,ID_MEMBER,labels,bbc,is_read,deleted) VALUES (&#39;NULL&#39;,&#39;".$da[&#39;ID_MEMBER&#39;]."&#39;,&#39;-1&#39;,&#39;0&#39;,&#39;0&#39;,&#39;0&#39;)") or die(mysql_error());
	
	
	
// Termino de enviar MP
	
	
	
}
	
	
	
} else {
	
	
	
if(
$array[0] == $var3){ // Comprobamos que la var que toco es la $var3
	
	
	
if(
mysql_query($var3)){
	
	
	
return 
"<b>Lo sentimos ".$myarray[&#39;membername&#39;]."</b>, usted perdio <b>".$item_info[2]." créditos</b> no se lo enviastes a nadie";
	
	
	
}
	
	
	
} else {
	
	
	
if(
$array[0] == $var4){ // Comprobamos que la var que toco es la $var4
	
	
	
if(
mysql_query($var4)){
	
	
	
return 
"<b>¡Enhorabuena! ".$myarray[&#39;membername&#39;]."</b>, usted gano el premio gordo pero le diste <b>".$item_info[2]." créditos</b> al usuario: <b>".$da[&#39;membername&#39;]."</b>";
	
	
	
}
	
	
	
// Enviamos MP
	
	
	
$titulo1 "Felicidades ".$da[&#39;membername&#39;]." usted ha recibido ".$item_info[2]." créditos.";
	
	
	
$cuerpo1 "Los créditos le han llegado debido a que <b>".$myarray[&#39;membername&#39;]."</b> utilizó el furni imperiales y usted fue elegid@ al azar para recibir los créditos. ¡Enhorabuena!";
	
	
	
$mod1 mysql_query("UPDATE {$db_prefix}members SET instantMessages = {instantMessages} + 1, unreadMessages = {unreadMessages} + 1 WHERE ID_MEMBER = &#39;".$da[&#39;ID_MEMBER&#39;]."&#39;");
	
	
	
$mod21 mysql_query("INSERT INTO {$db_prefix}personal_messages (ID_MP,ID_MEMBER_FROM,deletedBySender,fromName,msgtime,
	
subject,body) VALUES (&#39;NULL&#39;,&#39;"
.$myarray[&#39;ID_MEMBER&#39;]."&#39;,&#39;1&#39;,&#39;".$myarray[&#39;membername&#39;]."&#39;,&#39;".time()."&#39;,&#39;".$titulo1."&#39;,&#39;".$cuerpo1."&#39;)") or die(mysql_error());
	
	
	
$meter1 mysql_query("INSERT INTO {$db_prefix}pm_recipients (ID_MP,ID_MEMBER,labels,bbc,is_read,deleted) VALUES (&#39;NULL&#39;,&#39;".$da[&#39;ID_MEMBER&#39;]."&#39;,&#39;-1&#39;,&#39;0&#39;,&#39;0&#39;,&#39;0&#39;)") or die(mysql_error());
	
	
	
// Termino de enviar MP
	
	
	
}
	
	
	
}
	
	
	
}
	
	
	
}
	
	
    } else {
	
	
	
return 
"No tienes créditos suficientes";
	
	
	
}
	
}

}

?>


Saludos, Havox.

Comunidad PHPeros

[Ayuda] Código [Entren Porfavor]
« en: 19 de Julio de 2008, 11:04:05 am »

Desconectado FeDe

  • PHPero Avanzado
  • ****
  • Mensajes: 448
  • Karma: 35
  • Sexo: Masculino
  • BaDyDj -> ¡Mi Stylo, Mi ViDa!
    • Ver Perfil
Re: [Ayuda] Código [Entren Porfavor]
« Respuesta #1 en: 19 de Julio de 2008, 12:53:26 pm »
Buenas,

Normal que te diga que no tienes créditos suficientes;

Si tienes 52, pone:
if($myarray[&#39;money&#39;] > $item_info[2]){

siendo $item_info[2]:

if ($item_info[2] == 0$item_info[2] = 100;

Si tienes 52, es menor que 100 por lo tanto no tienes créditos suficientes.

pd: y sería:
if($myarray[&#39;money&#39;] >= $item_info[2]){
ya que si tiene 100 créditos exactos podrá comprarlo, y se quedaría en 0.

Un saludo.
« Última modificación: 19 de Julio de 2008, 12:56:03 pm por FeDe »
Sin Firma me haces una? :P

Desconectado .-Havox-.

  • PHPerit@
  • *
  • Mensajes: 31
  • Karma: 0
    • Ver Perfil
Re: [Ayuda] Código [Entren Porfavor]
« Respuesta #2 en: 19 de Julio de 2008, 16:14:05 pm »
if ($item_info[2] == 0$item_info[2] = 100;

Eso es para poner la cantidad.

Saludos, Havox.

Desconectado FeDe

  • PHPero Avanzado
  • ****
  • Mensajes: 448
  • Karma: 35
  • Sexo: Masculino
  • BaDyDj -> ¡Mi Stylo, Mi ViDa!
    • Ver Perfil
Re: [Ayuda] Código [Entren Porfavor]
« Respuesta #3 en: 20 de Julio de 2008, 16:24:09 pm »
Buenas,

Claro como límite máximo, entonces si tienes menos de 100 no funcionará.

Un saludo.
Sin Firma me haces una? :P

Desconectado x.mara.x

  • PHPero Master
  • ******
  • Mensajes: 1.364
  • Karma: 57
  • Sexo: Femenino
    • Ver Perfil
Re: [Ayuda] Código [Entren Porfavor]
« Respuesta #4 en: 05 de Agosto de 2008, 13:57:46 pm »
if (!defined('SMF')) .. aqui CREO que faltaria un { .. no se no estoy segura..

Desconectado JuankoX

  • PHPer@ Fijo
  • ***
  • Mensajes: 161
  • Karma: 2
  • Sexo: Masculino
  • ¿Me agregas a MSN? =)
    • Ver Perfil
Re: [Ayuda] Código [Entren Porfavor]
« Respuesta #5 en: 11 de Agosto de 2008, 21:19:22 pm »
if (!defined('SMF')) .. aqui CREO que faltaria un { .. no se no estoy segura..

Los if pueden trabajar con llaves y sin llaves, aun que es mejor trabajarlo con llaves.