Foros del Web » Programando para Internet » PHP »

Ayuda con condiciones

Estas en el tema de Ayuda con condiciones en el foro de PHP en Foros del Web. Hola a todos, tengo un pequeño problema con un trozo de código que no me hace lo que quiero. Me explico, es un juego online, ...
  #1 (permalink)  
Antiguo 20/11/2010, 12:00
 
Fecha de Ingreso: marzo-2009
Ubicación: España
Mensajes: 371
Antigüedad: 15 años
Puntos: 5
Ayuda con condiciones

Hola a todos, tengo un pequeño problema con un trozo de código que no me hace lo que quiero.

Me explico, es un juego online, el usuario puede comprar por medio de la tienda que tiene extras para su cuenta, pues bien hay extras que no se pueden comprar si tiene actividad algunas de las zonas del juego, le he incluido en el if que condiciona un aspecto de la compra esta otra condición pero no consigo que funcione, la única menar que lo he logrado ha sido concatenando pero creo que no sería correcto.

Os dejo el code bueno y el malo a ver si me podéis ayudar por favor.

Con este no me funciona

Código PHP:
if(( $Mode == 'pack26') && ($darkmatter >= 20000) && ($tecno == 0) && ($minas == 0)){

//restamos la materia oscura
doquery("UPDATE {{table}} SET `darkmatter`=darkmatter-20000 WHERE id={$user['id']}",'users');

//ponemos las minas
doquery("UPDATE {{table}} SET `nano_factory`=nano_factory+1
                               WHERE `galaxy`='"
.$planetrow['galaxy']."'
                               AND `system` ='"
.$planetrow['system']."'
                               AND `planet` ='"
.$planetrow['planet']."'
                               AND `planet_type` ='"
.$planetrow['planet_type']."'
                               "
,'planets');

//imprimimos el mensaje de adhision o error
message ('Se ha añadido<br /><div style="text-align:left;"> +1 Nivel en la Fábrica de Nanobots</div>
         <br /> A cambio de 20.000 de Materia Oscura.'
,"game.php?page=packplanetas"4);
}elseif(
$darkmatter <20000 && $Mode == 'pack26'){
message ('No tienes suficiente Materia Oscura, necesitas 20.000. <br /><br />Tienes '.$user['darkmatter'].' de Materia Oscura',"game.php?page=achatbonus"3);
}elseif((
$tecno != 0) && ($minas != 0) && ($Mode =='pack26')) {
message ('No puedes comprar este paquete si estás construyendo algún edificio',"game.php?page=achatbonus"3);

Con este otro sí pero creo que no es correcto concatenar de esta forma:
Código PHP:
if( $Mode == 'pack26' && $darkmatter >= 20000 && $tecno$minas == 0){

//restamos la materia oscura
doquery("UPDATE {{table}} SET `darkmatter`=darkmatter-20000 WHERE id={$user['id']}",'users');

//ponemos las minas
doquery("UPDATE {{table}} SET `nano_factory`=nano_factory+1
                               WHERE `galaxy`='"
.$planetrow['galaxy']."'
                               AND `system` ='"
.$planetrow['system']."'
                               AND `planet` ='"
.$planetrow['planet']."'
                               AND `planet_type` ='"
.$planetrow['planet_type']."'
                               "
,'planets');

//imprimimos el mensaje de adhision o error
message ('Se ha añadido<br /><div style="text-align:left;"> +1 Nivel en la Fábrica de Nanobots</div>
         <br /> A cambio de 20.000 de Materia Oscura.'
,"game.php?page=packplanetas"4);
}elseif(
$darkmatter <20000 && $Mode == 'pack26'){
message ('No tienes suficiente Materia Oscura, necesitas 20.000. <br /><br />Tienes '.$user['darkmatter'].' de Materia Oscura',"game.php?page=achatbonus"3);
}elseif(
$tecno$minas != && $Mode =='pack26') {
message ('No puedes comprar este paquete si estás construyendo algún edificio',"game.php?page=achatbonus"3);

Lo que tiene que hacer este código es permitir comprar un nivel más en la factoria de nanobots pero la condición solo lo puede permitir si tiene más o = de 20000 $darkmatter continua, luego comprobamos si $tecno !=0 y las $minas !=0 entonces si puede ejecutar el pack26 si no $message.

He cambiado la forma de hacerlo pero no lo logro.

Espero vuestra ayuda por favor.

Un saludo.
  #2 (permalink)  
Antiguo 20/11/2010, 13:13
 
Fecha de Ingreso: diciembre-2007
Ubicación: Valencia
Mensajes: 92
Antigüedad: 16 años, 3 meses
Puntos: 3
Respuesta: Ayuda con condiciones

Comprueba las variables
$tecno y $minas
Que devuelvan la cantidad de construcciones y tecnos que estas haciendo...

Etiquetas: condiciones
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:16.