Cita de: Bangaran en Junio 17, 2021, 03:50:52 PMCorrecto, por cierto, esto es algo que podrías haber probado tu mismo usando ese código que pusiste. Si bien acá siempre estamos dispuestos a responder las dudas de los miembros del foro, un poco de experimentación por cuenta propia va a ser esencial si realmente quieres aprender.
Entonces si quiero que otro ítem sea apilable en ese script lo colocaría
Ir ítem==1||ítem==2||ítem==3|| etc etc ...???
Cita de: Bangaran en Junio 17, 2021, 08:07:19 PMSi quieres que una variable number determine la cantidad de items que se agregan al inventario por instancia entonces tienes que cambiar la función scr_agregar para que tome en cuenta dicho valor:
Amigo si quisiera que por ejemplo una de las pociones Rojas tenga por por ejemplo 5
Tendría que agregarle en el create code del la instancia algún number= 5
Algo asi??
[gml]function scr_agregar(){
//scsr_agregar(item)
var _item = argument0;
var _number = argument1;
with obj_inventario {
//Busca si el item ya existe en el inventario y es apilable
for ( i = 1; i <= slotT; i++;) {
if scr_stackable(i,_item) {
slot = _item;
slot_n+=_number;
return(1);
}
}//Busca si hay un espacio vacio para poner el item
for ( i = 1; i <= slotT; i++;) {
if slot = 0{
slot = _item;
slot_n = _number;
return(1);
}
}
return(0);
}
}[/gml]
Ahí se le estaría pasando el número de items a agregar como argument1, y en lugar de aumentar el valor de un slot de 1 en 1 se aumenta de acuerdo a dicho valor. Solo quedaría cambiar la llamada de scr_agregar para agregar la nueva variable:
[gml]if scr_agregar(item,number) {
instance_destroy();
}[/gml]
Algo a tener en cuenta es que esto hace que la variable number sea obligatoria y deberá agregarse al evento create del objeto, o al create code de cada instancia.