Click para cerrar esto Registrarse en Todo-Mods
Portal    Foro    Buscar    FAQ    Registrarse    Conectarse
Publicar Nuevo Tema  Responder al Tema Página 1 de 1
 
Cambiar aleatorio por funcion proporcional
Autor Mensaje
Responder al Tema Responder Citando  
Mensaje Cambiar aleatorio por funcion proporcional 
 
Hola, buenas tardes. A ver si consigo explicarme con lo que quiero, que tiene tela. Asi que primero introduzco qué es lo que tengo y luego ya planteo qué es lo que quiero.

He instalado en mi foro el Vault MOD (en su version bbtonuke, pues yo uso un phpbb integrado en nuke), el cual incluye una seccion en que se puede simular un juego de bolsa (el MOD lo llama originalmente stock). Se crean empresas, se les pone un precio inicial, se establece un minimo y máximo de variacion por unidad de tiempo (tambien definible) y los valores de las acciones se mueven de forma aleatoria cada vez q transcurre esa unidad de tiempo, siempre respetando los limites minimos y maximos de variacion. Asi de esta forma los usuarios pueden comprar y vender acciones (con dinero del cashmod) como en un juego de bolsa.

El problema es que las variaciones son totalmente aleatorias, y no responden a ningun tipo de logica, lo cual está frenando un poco la participación en el juego. Mi idea seria cambiar esa aleatoriedad por una funcion proporcionalmente directa al numero de acciones compradas de la empresa, es decir, a mayor demanda (nº de usarios q compran acciones) mayor precio; y a mayor oferta (nº de usuarios que venden acciones) menor precio (aunqe en la realidad no contabiliza las ventas, sino solo la cantidad de acciones que se posee).

Pongo el MOD entero por si alguien necesita (o quiere) exar un vistazo más en profundidad, pero basicamente voy a desgranar las partes que realmente afectan (o eso creo) a lo que quiero hacer:

El MOD original (el archivo de lenguaje está traducido por mi): AQUI

LINEAS DE CODIGO RESPONSABLES: en el functions_vault.php

 <?php

if ( $vault_general['stock_min_change'] > $vault_general['stock_max_change'] )
       {
           $vault_general['stock_min_change'] = $vault_general['stock_max_change'];
       }
       $variation = rand($vault_general['stock_min_change'] , $vault_general['stock_max_change']);
       $hazard = rand(1,2);
       if ( $hazard == '2' )
       {
           $variation = - $variation ;
       }
       $new_price = ceil($exchange[$i]['stock_price'] * ( 1 + ( $variation / 100 )));
       $old_price = $exchange[$i]['stock_price'] ;
       $best_price = ( $new_price > $exchange[$i]['stock_best_price'] ) ? $new_price : $exchange[$i]['stock_best_price'];
       $worst_price = ( $new_price < $exchange[$i]['stock_worst_price'] ) ? $new_price : $exchange[$i]['stock_worst_price'];


Más concretamente estaríamos hablando de la linea 5 donde define la variable $variation como un random que varia entre el minimo y maximo preestablecido. Habría que redefinir esa variacion en funcion de los parametros que he dicho de demanda/oferta.

Luego se encuentra en la linea 11 la variable $new_price que es la que realmente define el precio, y que aquí lo hace multiplicando el precio actual por la variacion anteriormente definida.

Entre las lineas 6 y 10 creo que lo que intenta definir es la posibilidad de una variación negativa, pero no reconozco bien el codigo.

Los usuarios y nº de acciones poseidas se obtienen de la tabla nuke_bbvault_exchange_users que tiene las siguientes variables:

  stock_id --------------------> esta es la empresa (esta definida en otra tabla) de la cual se posee acciones
  user_id ---------------------> el id del usuario que tiene acciones
  stock_amount --------------> cantidad de acciones q tiene de esa empresa
  price_transaction ----------> precio al que se compró la acción





Bueno, como lo veis? Tiene facil solucion??





¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬ FIRMA ¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬
Image
Desconectado Ver perfil del usuario Enviar Mensaje Privado
Descargar Mensaje Volver arriba Página Inferior
Responder al Tema Responder Citando  
Mensaje Re: Cambiar aleatorio por funcion proporcional 
 
Joer, esperaba poca ayuda con este problema, pero tanto como no responder nadie al mensaje...  





¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬ FIRMA ¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬
Image
Desconectado Ver perfil del usuario Enviar Mensaje Privado
Descargar Mensaje Volver arriba Página Inferior
Responder al Tema Responder Citando  
Mensaje Re: Cambiar aleatorio por funcion proporcional 
 
trapis tienes que dar tiempo, supongo que es dificil, yo personalmente quede con dolor de cabeza despues de ller tu post, no entendi NADA





¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬ FIRMA ¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬
Image
URL: www.tecno-sence.net
Plantilla: Vista Teal
Mods: Los que trae ademas del Mouse Hover Description mod, karma mod, y no recuerdo los otros...
Version de icy: 1.2.0.27b
Desconectado Ver perfil del usuario Enviar Mensaje Privado
Descargar Mensaje Volver arriba Página Inferior
Responder al Tema Responder Citando  
Mensaje Re: Cambiar aleatorio por funcion proporcional 
 
Trapis, yo lo he leido dos o tres veces y estaba a la espera de una lucidez divina pero nada, no sé por donde atacarle porque no conozco el MOD y del funcionamiento solo lo que tu has explicado.





¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬ FIRMA ¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬
Webmaster de Todo-Mods -- Webmaster de Todoelbarco.com -- Webmaster de NosQuejamos.com
-------------------------------------------------------------------------------
Image
ImageImage
Desconectado Ver perfil del usuario Enviar Mensaje Privado Visitar sitio Web del Usuario
Descargar Mensaje Volver arriba Página Inferior
Mostrar mensajes anteriores:   

Publicar Nuevo Tema  Responder al Tema  Página 1 de 1
 

Usuarios navegando en este Tema: 0 Registrados, 0 Ocultos y 1 Invitado
Usuarios Registrados conectados: Ninguno


 
Lista de Permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
No Puede descargar archivos
No Puede enviar eventos al Calendario