SA-MP Forums Archive
Load Lockers - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Load Lockers (/showthread.php?tid=488906)



Load Lockers - AchievementMaster360 - 19.01.2014

Well i created a dynamic locker system for my server and it works well. The only thing that doesn't work so well is the color of the label for the locker. I tried everything and I don't know whats not letting it change colors it might be the LoadDynamicLocker. Any help? This only happens after the server restarts when you first change color it works wonder till you restart the server and load the lockers.

LoadDynamicLocker Code:

pawn Код:
LoadDynamicLocker()
{
    new arrCoords[25][64];
    new strFromFile2[256];
    new File: file = fopen("dynamiclockers.cfg", io_read);
    if (file)
    {
        new idx;
        while (idx < sizeof(LockerInfo))
        {
            fread(file, strFromFile2);
            splits(strFromFile2, arrCoords, '|');
            strmid(LockerInfo[idx][dlDescription], arrCoords[0], 0, strlen(arrCoords[0]), 128);
            LockerInfo[idx][dlExteriorVW] = strval(arrCoords[1]);
            LockerInfo[idx][dlExteriorInt] = strval(arrCoords[2]);
            LockerInfo[idx][dlExteriorX] = floatstr(arrCoords[3]);
            LockerInfo[idx][dlExteriorY] = floatstr(arrCoords[4]);
            LockerInfo[idx][dlExteriorZ] = floatstr(arrCoords[5]);
            LockerInfo[idx][dlExteriorA] = floatstr(arrCoords[6]);
            LockerInfo[idx][dlVIP] = strval(arrCoords[7]);
            LockerInfo[idx][dlFamily] = strval(arrCoords[8]);
            LockerInfo[idx][dlFaction] = strval(arrCoords[9]);
            LockerInfo[idx][dlAdmin] = strval(arrCoords[10]);
            LockerInfo[idx][dlColor] = strval(arrCoords[11]);
            strmid(LockerInfo[idx][dlPass], arrCoords[12], 0, strlen(arrCoords[12]), 24);
            LockerInfo[idx][dlLocked] = strval(arrCoords[13]);

            if(!IsNull(LockerInfo[idx][dlDescription]))
            {
                CreateDynamicLocker(idx);
            }

            idx++;
        }
        fclose(file);
    }
    return 1;
}
SaveDynamicLocker Code:

pawn Код:
SaveDynamicLocker() {

    new
        szFileStr[512],
        File: fHandle = fopen("dynamiclockers.cfg", io_write);

    for(new iIndex; iIndex < MAX_LOCKER; iIndex++) {
        format(szFileStr, sizeof(szFileStr), "%s|%d|%d|%f|%f|%f|%f|%d|%d|%d|%d|%s|%d\r\n",
            LockerInfo[iIndex][dlDescription],
            LockerInfo[iIndex][dlExteriorVW],
            LockerInfo[iIndex][dlExteriorInt],
            LockerInfo[iIndex][dlExteriorX],
            LockerInfo[iIndex][dlExteriorY],
            LockerInfo[iIndex][dlExteriorZ],
            LockerInfo[iIndex][dlExteriorA],
            LockerInfo[iIndex][dlVIP],
            LockerInfo[iIndex][dlFamily],
            LockerInfo[iIndex][dlFaction],
            LockerInfo[iIndex][dlAdmin],
            LockerInfo[iIndex][dlColor],
            LockerInfo[iIndex][dlPass],
            LockerInfo[iIndex][dlLocked]
        );
        fwrite(fHandle, szFileStr);
    }
    return fclose(fHandle);
}



Re: Load Lockers - AchievementMaster360 - 20.01.2014

I don't know what else it could be, I re-check today.


Re: Load Lockers - Smally - 21.01.2014

Can you show your CreateDynamicLocker function please?


Re: Load Lockers - AchievementMaster360 - 21.01.2014

pawn Код:
CreateDynamicLocker(lockerid)
{
    new string[128];
    format(string, sizeof(string), "%s\n{33FFFF}/locker {FFFF00}to use\n{FFFF00}ID: %d",LockerInfo[lockerid][dlDescription],lockerid);

    switch(LockerInfo[lockerid][dlColor])
    {
        case -1:{ /* Disable 3d Textdraw */ }
        case 1:{ LockerInfo[lockerid][dlTextID] = CreateDynamic3DTextLabel(string, COLOR_TWWHITE, LockerInfo[lockerid][dlExteriorX],  LockerInfo[lockerid][dlExteriorY],  LockerInfo[lockerid][dlExteriorZ]+1,10.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, LockerInfo[lockerid][dlExteriorVW], LockerInfo[lockerid][dlExteriorInt], -1);}
        case 2:{ LockerInfo[lockerid][dlTextID] = CreateDynamic3DTextLabel(string, COLOR_TWPINK, LockerInfo[lockerid][dlExteriorX],  LockerInfo[lockerid][dlExteriorY],  LockerInfo[lockerid][dlExteriorZ]+1,10.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, LockerInfo[lockerid][dlExteriorVW], LockerInfo[lockerid][dlExteriorInt], -1);}
        case 3:{ LockerInfo[lockerid][dlTextID] = CreateDynamic3DTextLabel(string, COLOR_TWRED, LockerInfo[lockerid][dlExteriorX],  LockerInfo[lockerid][dlExteriorY],  LockerInfo[lockerid][dlExteriorZ]+1,10.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, LockerInfo[lockerid][dlExteriorVW], LockerInfo[lockerid][dlExteriorInt], -1);}
        case 4:{ LockerInfo[lockerid][dlTextID] = CreateDynamic3DTextLabel(string, COLOR_TWBROWN, LockerInfo[lockerid][dlExteriorX],  LockerInfo[lockerid][dlExteriorY],  LockerInfo[lockerid][dlExteriorZ]+1,10.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, LockerInfo[lockerid][dlExteriorVW], LockerInfo[lockerid][dlExteriorInt], -1);}
        case 5:{ LockerInfo[lockerid][dlTextID] = CreateDynamic3DTextLabel(string, COLOR_TWGRAY, LockerInfo[lockerid][dlExteriorX],  LockerInfo[lockerid][dlExteriorY],  LockerInfo[lockerid][dlExteriorZ]+1,10.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, LockerInfo[lockerid][dlExteriorVW], LockerInfo[lockerid][dlExteriorInt], -1);}
        case 6:{ LockerInfo[lockerid][dlTextID] = CreateDynamic3DTextLabel(string, COLOR_TWOLIVE, LockerInfo[lockerid][dlExteriorX],  LockerInfo[lockerid][dlExteriorY],  LockerInfo[lockerid][dlExteriorZ]+1,10.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, LockerInfo[lockerid][dlExteriorVW], LockerInfo[lockerid][dlExteriorInt], -1);}
        case 7:{ LockerInfo[lockerid][dlTextID] = CreateDynamic3DTextLabel(string, COLOR_TWPURPLE, LockerInfo[lockerid][dlExteriorX],  LockerInfo[lockerid][dlExteriorY],  LockerInfo[lockerid][dlExteriorZ]+1,10.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, LockerInfo[lockerid][dlExteriorVW], LockerInfo[lockerid][dlExteriorInt], -1);}
        case 8:{ LockerInfo[lockerid][dlTextID] = CreateDynamic3DTextLabel(string, COLOR_TWORANGE, LockerInfo[lockerid][dlExteriorX], LockerInfo[lockerid][dlExteriorY],  LockerInfo[lockerid][dlExteriorZ]+1,10.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, LockerInfo[lockerid][dlExteriorVW], LockerInfo[lockerid][dlExteriorInt], -1);}
        case 9:{ LockerInfo[lockerid][dlTextID] = CreateDynamic3DTextLabel(string, COLOR_TWAZURE, LockerInfo[lockerid][dlExteriorX],  LockerInfo[lockerid][dlExteriorY],  LockerInfo[lockerid][dlExteriorZ]+1,10.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, LockerInfo[lockerid][dlExteriorVW], LockerInfo[lockerid][dlExteriorInt], -1);}
        case 10:{ LockerInfo[lockerid][dlTextID] = CreateDynamic3DTextLabel(string, COLOR_TWGREEN, LockerInfo[lockerid][dlExteriorX],  LockerInfo[lockerid][dlExteriorY],  LockerInfo[lockerid][dlExteriorZ]+1,10.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, LockerInfo[lockerid][dlExteriorVW], LockerInfo[lockerid][dlExteriorInt], -1);}
        case 11:{ LockerInfo[lockerid][dlTextID] = CreateDynamic3DTextLabel(string, COLOR_TWBLUE, LockerInfo[lockerid][dlExteriorX],  LockerInfo[lockerid][dlExteriorY],  LockerInfo[lockerid][dlExteriorZ]+1,10.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, LockerInfo[lockerid][dlExteriorVW], LockerInfo[lockerid][dlExteriorInt], -1);}
        case 12:{ LockerInfo[lockerid][dlTextID] = CreateDynamic3DTextLabel(string, COLOR_TWBLACK, LockerInfo[lockerid][dlExteriorX],  LockerInfo[lockerid][dlExteriorY],  LockerInfo[lockerid][dlExteriorZ]+1,10.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, LockerInfo[lockerid][dlExteriorVW], LockerInfo[lockerid][dlExteriorInt], -1);}
        case 13:{ LockerInfo[lockerid][dlTextID] = CreateDynamic3DTextLabel(string, COLOR_MW, LockerInfo[lockerid][dlExteriorX],  LockerInfo[lockerid][dlExteriorY],  LockerInfo[lockerid][dlExteriorZ]+1,10.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, LockerInfo[lockerid][dlExteriorVW], LockerInfo[lockerid][dlExteriorInt], -1);}
        default:{ LockerInfo[lockerid][dlTextID] = CreateDynamic3DTextLabel(string, COLOR_YELLOW, LockerInfo[lockerid][dlExteriorX],  LockerInfo[lockerid][dlExteriorY],  LockerInfo[lockerid][dlExteriorZ]+1,10.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, LockerInfo[lockerid][dlExteriorVW], LockerInfo[lockerid][dlExteriorInt], -1);}
        }
    }



Re: Load Lockers - AchievementMaster360 - 22.01.2014

Any ideas?