El nombre de la variable debe ser algo diferente a var, ya que var se usa para declarar variables temporales, mejor usa algo simple como
[gml]
pagina = 1;
[/gml]
Calcula el número de paginas
[gml]
numitems = ds_list_size(list);
numpags = ceil(numitems * 4);
[/gml]
Si los valores son texto, puedes dibujarlos de esta forma
[gml]
// Dibujar 4 items
index = (pagina - 1) * 4;
yy = y; //posición inicial
repeat(4)
{
draw_text(x,yy, lista[|index]);
index ++; //pasar al sig item
yy += 15; //dibujar más abajo
//si ya no hay más items, terminar ciclo
if (index >= numitems) break;
}
[/gml]
Recuerda que en las listas los elementos se numeran desde el cero.
Edit: Corregí un error, para calcular index se necesita una multiplicación y había puesto una división.
Para cambiar de página puedes usar algo como esto
[gml]
// Ir a la pagina anterior
if keyboard_check_pressed(vk_left)
{
if (pagina > 1) pagina --; //pagina anterior
else pagina = numpags; //ultima pagina
}
// Ir a la pagina siguiente
if keyboard_check_pressed(vk_right)
{
if (pagina < numpags) pagina ++; //pagina siguiente
else pagina = 1; //primera pagina
}
[/gml]
[gml]
pagina = 1;
[/gml]
Calcula el número de paginas
[gml]
numitems = ds_list_size(list);
numpags = ceil(numitems * 4);
[/gml]
Si los valores son texto, puedes dibujarlos de esta forma
[gml]
// Dibujar 4 items
index = (pagina - 1) * 4;
yy = y; //posición inicial
repeat(4)
{
draw_text(x,yy, lista[|index]);
index ++; //pasar al sig item
yy += 15; //dibujar más abajo
//si ya no hay más items, terminar ciclo
if (index >= numitems) break;
}
[/gml]
Recuerda que en las listas los elementos se numeran desde el cero.
Edit: Corregí un error, para calcular index se necesita una multiplicación y había puesto una división.
Para cambiar de página puedes usar algo como esto
[gml]
// Ir a la pagina anterior
if keyboard_check_pressed(vk_left)
{
if (pagina > 1) pagina --; //pagina anterior
else pagina = numpags; //ultima pagina
}
// Ir a la pagina siguiente
if keyboard_check_pressed(vk_right)
{
if (pagina < numpags) pagina ++; //pagina siguiente
else pagina = 1; //primera pagina
}
[/gml]