bueno lo siguiente es que en el juego existen diversas formas de aculmular o sumar el score una comiendo monedas u otra coalisionando con dos  objetos el primero eleva auna potencia el score, el otro hace una multiplicacion entre score y le suma 10.
ahora el problema es que al manejar esto en la puntacion se ve hacen cantidades de 8 o mayor cifras y yo unicamnete quiero manejar 5 cifras 99999.
ya probe poniendo un if (score<=99999) o un for pero no me funciona pero yo creo que es mas que no se bien la ubicacion en donde debe ir  o como declarar mejor la validacion; para especificar manejo un  game start donde se inicializan el score y los lives. espero su ayuda

Hola, que tal spiderman, aqui te dejo el procedimiento aunque se puede acortar un poco mas.

Ev. Create:

scoremax = 99999


Ev. End Step:

if score >= scoremax { score = scoremax}


PD: Talvez alguien tenga una mejor opci?n, pero como hace
ya tiempo que no programo, por eso
no se si este completamente bien.

Saludos y Suerte. ;)

hola el procedimiento esta bien luisyx...
tambien se puede hacer asi

step

if !variable_local_exists("scoremax")
{scoremax=99999}

score=min(score,scoremax)


salu2 ;D

Orgulloso veterano de CGM
El poder de hacer un buen juego esta en tus manos.

hey gracias a los dos la verdad si era facil y absurdo como lo pense en un principio pero lo que no tenia claro en que evento se debia colocar , hoy si ay no se ve va a llenar la pantalla con tantas monedas cabaltopa en 99999 , nuevamente gracias.........

Yo uso un code que me dieron y ayuda mucho

variable = min(100, variable + 10) //para sumar 10 puntos a variable sin pasarse de 100

variable = max(0, variable - 10) //para restarle 10 puntos a variable sin bajar de 0

no se muy bien como funciona deberia mirar las funciones min, max en el manual
con esto usa este code siempre que tengas que sumar o restar para hacerlo con un limite


kakashinga
if !variable_local_exists("scoremax")
{scoremax=99999}

score=min(score,scoremax)

este codigo intente usarlo pero no me funciono
como le ago

#6 Julio 12, 2012, 09:25:58 PM Ultima modificación: Julio 12, 2012, 09:29:44 PM por MaanuRP
Cita de: Kirlian en Julio 12, 2012, 09:17:06 PM

kakashinga
if !variable_local_exists("scoremax")
{scoremax=99999}

score=min(score,scoremax)

este codigo intente usarlo pero no me funciono
como le ago

Lo estas poniendo bien?

[gml]
//En el evento create de algun objeto controlador:
if !variable_local_exists("scoremax")
{
scoremax=99999
}
//Tambien puedes hacer que sea global, para que sea mas comodo usarlo, pero es lo mismo.

//Evento step:
score=min(score,scoremax)
[/gml]

Nota del ejemplo: Cuidado, cuando se le da valores muy grandes (Por el metodo que yo te estoy mostrando) no funciona bien, por alguna razon salen numeros negativos, pero para irle sumando puntaje si sirve.

if (score > 99999)
{
     score = 99999;
}
no hay misterio no tiene porque fallarte... en tu explicación pusiste  score <= 99999 y no se pone menor, se pone mayor y el igual no hace falta... y for, pues como que también te lo puedes ahorrar, con esa linea basta.... sí o sí

y no importa si unos te dan más monedas o menos, no falla NUNCA, sea score, sea cualquier variable... vigila tu sintaxi porque no hace falta complicarse la vida como se empieza a intentar por lo que veo xd
en http://krstudyos.blogspot.com solo hay basura... mejor que ni entres...

 :GM7:Gracias por el ejemplo pero me podrias explicar como funciona este codigo ya lo estube analizanddo con el manual pero no le entiendo


if !variable_local_exists("scoremax")
{
scoremax=10
}

se que indica el maximo pero no comprendo su fumcionamiento es decir porque lleva el signo de expresion

!: not, convierte un valor verdadero en falso y uno falso en verdadero

variable_local_exists (scoremax) Devuelve si una variable local con el nombre (una cadena) que existe para la instancia actual.

por ejemplo el valor min escoje el valor menor que seria score = 0 ya que el scoremax es mayor pero que pasaria si enves de porer 2 valores en score =min( pongo 4 valores distintos) 

pero por qué se complican la vida? xd
en http://krstudyos.blogspot.com solo hay basura... mejor que ni entres...

#10 Julio 13, 2012, 02:14:05 AM Ultima modificación: Julio 13, 2012, 02:16:29 AM por MaanuRP
Cita de: Kirlian en Julio 12, 2012, 10:42:49 PM
:GM7:Gracias por el ejemplo pero me podrias explicar como funciona este codigo ya lo estube analizanddo con el manual pero no le entiendo


if !variable_local_exists("scoremax")
{
scoremax=10
}

se que indica el maximo pero no comprendo su fumcionamiento es decir porque lleva el signo de expresion

!: not, convierte un valor verdadero en falso y uno falso en verdadero

variable_local_exists (scoremax) Devuelve si una variable local con el nombre (una cadena) que existe para la instancia actual.

por ejemplo el valor min escoje el valor menor que seria score = 0 ya que el scoremax es mayor pero que pasaria si enves de porer 2 valores en score =min( pongo 4 valores distintos) 

[gml]
variable_local_exists(var) //Devuelve un 1 si la variable "var" existe, sino devuelve un 0.
not //Niega el valor (Si es 0 lo hace 1, si es 1 lo hace 0).
scoremax=10 //Setea la variable "scoremax" en 10.
min(val1,val2,val3,...) //Devuelve el valor mas chico introducido en sus argumentos, tiene un maximo de 16 argumentos. Ejemplo: min(5,7,3) va a devolver el numero 3.

if !(variable_local_exists("scoremax")) //Si la variable "scoremax" NO existe.
{
scoremax = 10 //Setear la variable "scoremax" en 10.
}
score = min(score,scoremax) //Setea la variable "score" con el valor de la variable "score" o "scoremax", dependiendo de cual es la menor.
[/gml]




Cita de: SobacoEnLlamas en Julio 12, 2012, 10:53:39 PM
pero por qué se complican la vida? xd

Nadie se complica nada, es solo una variable, no veo que le ves de complicado.

Igualmente, aunque solo segui el ejemplo que ya estaba en cuestion, yo tambien prefiero usar variables a numeros. ¿Por que? Porque si escribes mal una variable, sale un error de GM, si escribes mal un numero, quizas nunca sepas de donde salio el error. Si debes escribir muchas veces en muchos lugares el mismo numero, con una variable es mucho mas sencillo y mas facil para cambiar si en un futuro deseas cambiar ese numero, etc.

Que en este caso se haga mas largo y QUIZAS sin fundamento, tienes razon. Quizas la variable scoremax no la necesites en ningun otro lado ni nada, y hacer el codigo mas extenso (Vamos, que no es nada mucho mas extenso, pero bueno xD) no serviria de nada.
Pero hay en otros casos, como ya te explique arriba, que es preferible usar una variable.
Obviamente que cada uno tiene que programar como mas se sienta comodo! Cada loco con su locura ^^

lo unico que tiene que hacer es que antes de decir score+=1 coloque la siguiente condicion
if score < 999999 then {score+=1;} de esta manera solo sumara score si no ha llegado al maximo.,

es lo que estoy diciendo yo... para qué tantas lineas de código si con eso basta y sobra... sea la variable que sea...
en http://krstudyos.blogspot.com solo hay basura... mejor que ni entres...

gracias maanuRP

por la explicacion are unas pruebas  con el codigo vasandome en tu explicacion

sobaco en llamas aveces los codigos pueden ser mas complicados que otros pero al saver como funcionan  pueden ser mas util que el mas sencillo y optener otros resultados que no podras tener con codigos sencillos.



pues claro kirlian, pero lo que tú pides es solo eso... cuando pusiste aquello que no te iba, almenos en el post lo pusiste mal, entonces no me extraña que no te funcionase :/
en http://krstudyos.blogspot.com solo hay basura... mejor que ni entres...