Loading doors..
#1

I've created a few saving/loading system for various things on my game mode, but only a few of them get called. I tested this using "printf":

Here is the loading of my house system (Which loads):
pawn Код:
for(new i = 0; i <= MAX_HOUSE; i++)
    {
        new gFile[35];
        format(gFile, 35, House_File ,i);
        INI_ParseFile(gFile, "LoadHouse", .bExtra = true, .extra = i);
        ReadHouse(i);
    }
And here is the door system (Which doesn't load):

pawn Код:
for(new i = 0; i <= MAX_DOORS; i++)
    {
        print( "Doors OnGameModeInit" );
        new ddFile[128];
        format(ddFile, 128, "/DynamicSystem/%d.ini" ,i);
        INI_ParseFile(ddFile, "LoadDoors", .bExtra = true, .extra = i);
        ReadDoors(i);
    }
I was thinking for ages trying to find out why my door system wasn't loading, it uses the same loading/saving as the house system though Y_INI, but it doesn't load, I added the "printf" and noticed that it doesn't show up, but on the house loading it does. Can anyone explain why it doesn't work? I'm confused..
Reply
#2

try this
pawn Код:
for(new i = 0; i <= MAX_DOORS; i++)
    {
        print( "Doors OnGameModeInit" );
        new ddFile[128];
        format(ddFile, 128, "dynamicSystem/%d.ini" ,i);
        INI_ParseFile(ddFile, "LoadDoors", .bExtra = true, .extra = i);
        ReadDoors(i);
    }
Reply
#3

No difference, I've noticed when I have the loading doors and houses OnGameModeInit, only the first one will load and the second wont, and if I put them at the top my mapping, vehicles and other things wont work. Anyone know a solution for this?
Reply
#4

Do you have defined MAX_DOORS with a number?
Post here LoadDoors.
Reply
#5

pawn Код:
#define MAX_DOORS 500
Reply
#6

Everything seems okay, but there might be a way that your ReadDoors/ReadHouse functions does this problem, as they are the last line, which breaks continuing properly.

EDIT: Post them both.
Reply
#7

LoadDoors:
pawn Код:
forward LoadDoors(id, name[], value[]);
public LoadDoors(id, name[], value[])
{
    INI_Float("ExteriorX", DoorInfo[id][ddExteriorX]);
    INI_Float("ExteriorY", DoorInfo[id][ddExteriorY]);
    INI_Float("ExteriorZ", DoorInfo[id][ddExteriorZ]);
    INI_Float("ExteriorA", DoorInfo[id][ddExteriorA]);
    INI_Float("InteriorX", DoorInfo[id][ddInteriorX]);
    INI_Float("InteriorY", DoorInfo[id][ddInteriorY]);
    INI_Float("InteriorZ", DoorInfo[id][ddInteriorZ]);
    INI_Float("InteriorA", DoorInfo[id][ddInteriorA]);
    INI_Int("Vip", DoorInfo[id][ddVip]);
    INI_Int("Faction", DoorInfo[id][ddFaction]);
    INI_Int("Int", DoorInfo[id][ddInt]);
    INI_Int("IntVW", DoorInfo[id][ddIntVW]);
    INI_Int("ExtVW", DoorInfo[id][ddExtVw]);
    INI_Int("ExtInt", DoorInfo[id][ddExtVw]);
    INI_String("Name", DoorInfo[id][ddName], 32);
    INI_Int("Level", DoorInfo[id][ddLevel]);
    INI_Int("Admin", DoorInfo[id][ddAdmin]);
    INI_Int("VehicleAble", DoorInfo[id][ddVehicleAble]);
    INI_Int("Pickuptype", DoorInfo[id][ddPickupType]);
    INI_Int("Color", DoorInfo[id][ddColor]);
    INI_Int("Lock", DoorInfo[id][ddLock]);
    return 1;
}
ReadDoors
pawn Код:
stock ReadDoors(i)
{
    new string[500];
    DestroyDynamicPickup(DoorInfo[i][ddCreate]);
    DestroyDynamic3DTextLabel(DoorInfo[i][ddLabel]);
    if(DoorInfo[i][ddExteriorX] != 0 && DoorInfo[i][ddExteriorY] != 0 && DoorInfo[i][ddExteriorZ] != 0 && DoorInfo[i][ddExteriorA] != 0)
    {
        switch(DoorInfo[i][ddPickupType])
        {
            case 0: { DoorInfo[i][ddCreate] = CreateDynamicPickup(1239,23,DoorInfo[i][ddExteriorX],DoorInfo[i][ddExteriorY],DoorInfo[i][ddExteriorZ],DoorInfo[i][ddExtVw],DoorInfo[i][ddExtInt],-1,100.0); }
            case 1: { DoorInfo[i][ddCreate] = CreateDynamicPickup(1241,23,DoorInfo[i][ddExteriorX],DoorInfo[i][ddExteriorY],DoorInfo[i][ddExteriorZ],DoorInfo[i][ddExtVw],DoorInfo[i][ddExtInt],-1,100.0); }
            case 2: { DoorInfo[i][ddCreate] = CreateDynamicPickup(1242,23,DoorInfo[i][ddExteriorX],DoorInfo[i][ddExteriorY],DoorInfo[i][ddExteriorZ],DoorInfo[i][ddExtVw],DoorInfo[i][ddExtInt],-1,100.0); }
            case 3: { DoorInfo[i][ddCreate] = CreateDynamicPickup(1272,23,DoorInfo[i][ddExteriorX],DoorInfo[i][ddExteriorY],DoorInfo[i][ddExteriorZ],DoorInfo[i][ddExtVw],DoorInfo[i][ddExtInt],-1,100.0); }
            case 4: { DoorInfo[i][ddCreate] = CreateDynamicPickup(1273,23,DoorInfo[i][ddExteriorX],DoorInfo[i][ddExteriorY],DoorInfo[i][ddExteriorZ],DoorInfo[i][ddExtVw],DoorInfo[i][ddExtInt],-1,100.0); }
            case 5: { DoorInfo[i][ddCreate] = CreateDynamicPickup(1313,23,DoorInfo[i][ddExteriorX],DoorInfo[i][ddExteriorY],DoorInfo[i][ddExteriorZ],DoorInfo[i][ddExtVw],DoorInfo[i][ddExtInt],-1,100.0); }
            case 6: { DoorInfo[i][ddCreate] = CreateDynamicPickup(1258,23,DoorInfo[i][ddExteriorX],DoorInfo[i][ddExteriorY],DoorInfo[i][ddExteriorZ],DoorInfo[i][ddExtVw],DoorInfo[i][ddExtInt],-1,100.0); }
            case 7: { DoorInfo[i][ddCreate] = CreateDynamicPickup(1318,23,DoorInfo[i][ddExteriorX],DoorInfo[i][ddExteriorY],DoorInfo[i][ddExteriorZ],DoorInfo[i][ddExtVw],DoorInfo[i][ddExtInt],-1,100.0); }
            case 8: { DoorInfo[i][ddCreate] = CreateDynamicPickup(1559,23,DoorInfo[i][ddExteriorX],DoorInfo[i][ddExteriorY],DoorInfo[i][ddExteriorZ],DoorInfo[i][ddExtVw],DoorInfo[i][ddExtInt],-1,100.0); }
            case 9: { DoorInfo[i][ddCreate] = CreateDynamicPickup(2894,23,DoorInfo[i][ddExteriorX],DoorInfo[i][ddExteriorY],DoorInfo[i][ddExteriorZ],DoorInfo[i][ddExtVw],DoorInfo[i][ddExtInt],-1,100.0); }
            case 10: { DoorInfo[i][ddCreate] = CreateDynamicPickup(1279,23,DoorInfo[i][ddExteriorX],DoorInfo[i][ddExteriorY],DoorInfo[i][ddExteriorZ],DoorInfo[i][ddExtVw],DoorInfo[i][ddExtInt],-1,100.0); }
            case 11: { DoorInfo[i][ddCreate] = CreateDynamicPickup(1274,23,DoorInfo[i][ddExteriorX],DoorInfo[i][ddExteriorY],DoorInfo[i][ddExteriorZ],DoorInfo[i][ddExtVw],DoorInfo[i][ddExtInt],-1,100.0); }
            case 12: { DoorInfo[i][ddCreate] = CreateDynamicPickup(1275,23,DoorInfo[i][ddExteriorX],DoorInfo[i][ddExteriorY],DoorInfo[i][ddExteriorZ],DoorInfo[i][ddExtVw],DoorInfo[i][ddExtInt],-1,100.0); }
            case 13: { DoorInfo[i][ddCreate] = CreateDynamicPickup(1316,23,DoorInfo[i][ddExteriorX],DoorInfo[i][ddExteriorY],DoorInfo[i][ddExteriorZ],DoorInfo[i][ddExtVw],DoorInfo[i][ddExtInt],-1,100.0); }
            case 14: { DoorInfo[i][ddCreate] = CreateDynamicPickup(1314,23,DoorInfo[i][ddExteriorX],DoorInfo[i][ddExteriorY],DoorInfo[i][ddExteriorZ],DoorInfo[i][ddExtVw],DoorInfo[i][ddExtInt],-1,100.0); }
        }
        format(string,sizeof(string),"\n %s \n ID : %d",DoorInfo[i][ddName],i);
        switch(DoorInfo[i][ddColor])
        {
            case 0: { DoorInfo[i][ddLabel] = CreateDynamic3DTextLabel(string,-1,DoorInfo[i][ddExteriorX],DoorInfo[i][ddExteriorY],DoorInfo[i][ddExteriorZ]+0.5,50.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,DoorInfo[i][ddExtVw],DoorInfo[i][ddExtInt],-1,25.0); }
            case 1: { DoorInfo[i][ddLabel] = CreateDynamic3DTextLabel(string,0x8000FFFF,DoorInfo[i][ddExteriorX],DoorInfo[i][ddExteriorY],DoorInfo[i][ddExteriorZ]+0.5,50.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,DoorInfo[i][ddExtVw],DoorInfo[i][ddExtInt],-1,25.0); }
            case 2: { DoorInfo[i][ddLabel] = CreateDynamic3DTextLabel(string,0xFFFF80FF,DoorInfo[i][ddExteriorX],DoorInfo[i][ddExteriorY],DoorInfo[i][ddExteriorZ]+0.5,50.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,DoorInfo[i][ddExtVw],DoorInfo[i][ddExtInt],-1,25.0); }
            case 3: { DoorInfo[i][ddLabel] = CreateDynamic3DTextLabel(string,0x80FF00FF,DoorInfo[i][ddExteriorX],DoorInfo[i][ddExteriorY],DoorInfo[i][ddExteriorZ]+0.5,50.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,DoorInfo[i][ddExtVw],DoorInfo[i][ddExtInt],-1,25.0); }
            case 4: { DoorInfo[i][ddLabel] = CreateDynamic3DTextLabel(string,0x00FFFFFF,DoorInfo[i][ddExteriorX],DoorInfo[i][ddExteriorY],DoorInfo[i][ddExteriorZ]+0.5,50.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,DoorInfo[i][ddExtVw],DoorInfo[i][ddExtInt],-1,25.0); }
            case 5: { DoorInfo[i][ddLabel] = CreateDynamic3DTextLabel(string,0x0080C0FF,DoorInfo[i][ddExteriorX],DoorInfo[i][ddExteriorY],DoorInfo[i][ddExteriorZ]+0.5,50.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,DoorInfo[i][ddExtVw],DoorInfo[i][ddExtInt],-1,25.0); }
            case 6: { DoorInfo[i][ddLabel] = CreateDynamic3DTextLabel(string,0xFF0000FF,DoorInfo[i][ddExteriorX],DoorInfo[i][ddExteriorY],DoorInfo[i][ddExteriorZ]+0.5,50.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,DoorInfo[i][ddExtVw],DoorInfo[i][ddExtInt],-1,25.0); }
            case 7: { DoorInfo[i][ddLabel] = CreateDynamic3DTextLabel(string,0x0000A0FF1,DoorInfo[i][ddExteriorX],DoorInfo[i][ddExteriorY],DoorInfo[i][ddExteriorZ]+0.5,50.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,DoorInfo[i][ddExtVw],DoorInfo[i][ddExtInt],-1,25.0); }
            case 8: { DoorInfo[i][ddLabel] = CreateDynamic3DTextLabel(string,0xFFFFFFFF,DoorInfo[i][ddExteriorX],DoorInfo[i][ddExteriorY],DoorInfo[i][ddExteriorZ]+0.5,50.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,DoorInfo[i][ddExtVw],DoorInfo[i][ddExtInt],-1,25.0); }
            case 9: { DoorInfo[i][ddLabel] = CreateDynamic3DTextLabel(string,0x000000FF,DoorInfo[i][ddExteriorX],DoorInfo[i][ddExteriorY],DoorInfo[i][ddExteriorZ]+0.5,50.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,0,DoorInfo[i][ddExtVw],DoorInfo[i][ddExtInt],-1,25.0); }
        }
    }
}
Edit:
Which ever function comes first (doors/houses) is the one that loads, the last one wont load no matter which way they are.
Reply
#8

Before we're actually gonna dig into those functions you made, erase those lines, and see if it continues. Post the results.
Reply
#9

Erase what lines?
Reply
#10

How come I haven't seen this last comment? ANYWAY; Erase ReadDoors and ReadHouse, loop without them both, and tell me if it continues.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)