problema con funciуn para cargar propiedades.
#1

Bueno lo que sucede es que la funciуn solo carga la propiedad/casa de ID 0, osea carga solo una casa. Busco alguna soluciуn a este problema, no logro entender muy bien el codigo porque no es mio, dejo el codigo por si alguien sabe como solucionarlo.

pawn Код:
forward CargarPropiedades();
public CargarPropiedades()
{
new Archivo[70];
print("Propiedades cargadas.");
for(new i = 0; i < M_PROPIEDADES; i++) {
format(Archivo,sizeof(Archivo),"Propiedades/%i.ini",i);
if(!dini_Exists(Archivo)) continue; if(dini_Exists(Archivo)) {
PropiedadI[i][PP] = dini_Int(Archivo,"Precio");
PropiedadI[i][PInt] = dini_Int(Archivo,"Int");
PropiedadI[i][PID] = dini_Int(Archivo,"PropiedadID");
PropiedadI[i][Cerrada] = dini_Int(Archivo,"Cerrada");
PropiedadI[i][Comprada] = dini_Int(Archivo,"Comprada");
PropiedadI[i][PXE] = dini_Float(Archivo,"X");
PropiedadI[i][PYE] = dini_Float(Archivo,"Y");
PropiedadI[i][PZE] = dini_Float(Archivo,"Z");
PropiedadI[i][PVW] = dini_Int(Archivo,"VirtualWorld");
format(PropiedadI[i][Propietario],24,"%s",dini_Get(Archivo,"Propietario"));
PE[i] = CreatePickup(1273,1,PropiedadI[i][PXE],PropiedadI[i][PYE],PropiedadI[i][PZE],PropiedadI[i][PVW]);
new String[350];
switch(PropiedadI[i][Comprada]) {
case 0:{format(String,sizeof(String),"{FF4000}[EN VENTA]{FFFFFF}\nPrecio:{00FF40} $%d",PropiedadI[i][PP]);}
case 1:{format(String,sizeof(String),"{FFFFFF}[Propietario: {DF0174}%s]",PropiedadI[i][Propietario]);}
}
PropiedadI[i][PLabel] = Create3DTextLabel(String,COLOR_BLANCO,PropiedadI[i][PXE],PropiedadI[i][PYE],PropiedadI[i][PZE],25.0,PropiedadI[i][PVW]);
CP ++;
}
}
return 1;
}
Aquн en donde se hace llamar a la funcion.
pawn Код:
public OnGameModeInit()
{
CargarPropiedades();
return 1;
}
Reply
#2

Prueba esto:
pawn Код:
forward CargarPropiedades();
public CargarPropiedades()
{
    new string[350], archivo[70];
    for(new i = 0; i < M_PROPIEDADES; i ++)
    {
        format(archivo, sizeof(archivo),"Propiedades/%i.ini", i);
        if(dini_Exists(archivo))
        {
            PropiedadI[i][PP] = dini_Int(archivo, "Precio");
            PropiedadI[i][PInt] = dini_Int(archivo, "Int");
            PropiedadI[i][PID] = dini_Int(archivo, "PropiedadID");
            PropiedadI[i][Cerrada] = dini_Int(archivo, "Cerrada");
            PropiedadI[i][Comprada] = dini_Int(archivo, "Comprada");
            PropiedadI[i][PXE] = dini_Float(archivo, "X");
            PropiedadI[i][PYE] = dini_Float(archivo, "Y");
            PropiedadI[i][PZE] = dini_Float(archivo, "Z");
            PropiedadI[i][PVW] = dini_Int(archivo, "VirtualWorld");

            format(PropiedadI[i][Propietario], 24, "%s", dini_Get(archivo, "Propietario"));
            PE[i] = CreatePickup(1273, 1, PropiedadI[i][PXE], PropiedadI[i][PYE], PropiedadI[i][PZE], PropiedadI[i][PVW]);
           
            switch(PropiedadI[i][Comprada])
            {
                case 0: format(string, sizeof(string), "{FF4000}[EN VENTA]{FFFFFF}\nPrecio:{00FF40} $%d", PropiedadI[i][PP]);
                case 1: format(string, sizeof(string), "{FFFFFF}[Propietario: {DF0174}%s]", PropiedadI[i][Propietario]);
            }

            PropiedadI[i][PLabel] = Create3DTextLabel(string, COLOR_BLANCO, PropiedadI[i][PXE], PropiedadI[i][PYE], PropiedadI[i][PZE], 25.0, PropiedadI[i][PVW]);
        }
    }

    print("Propiedades cargadas.");
}
Si no te funciona, verifica cuanto tiene asignado "M_PROPIEDADES".
Reply
#3

Muchas gracias, pero ya encontre el error.

Lo que pasaba es que las casas se iban a otro mundo segъn su id, pero ya lo solucione. Gracias de todas maneras
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)