MYSQL Loading below ID
#1

My MYSQL is loading my factions wrong and my other things, but the faction code is below:


pawn Код:
case THREAD_LOAD_FACTIONS:
        {
            new szLabel[128];

            for(new row = 0; row < szRows; ++row)
            {
                cache_get_field_content(row,"badge_colour", szResult); FactionInfo[row][fI_bColour] = strval(szResult);
                cache_get_field_content(row,"name", szResult); format(FactionInfo[row][fI_Name], 40, szResult);
                cache_get_field_content(row,"motd", szResult); format(FactionInfo[row][fI_MOTD], 64, szResult);
                cache_get_field_content(row,"leader", szResult); format(FactionInfo[row][fI_Leader], 24, szResult);
                cache_get_field_content(row,"type", szResult); FactionInfo[row][fI_iType] = strval(szResult);
                cache_get_field_content(row,"leader_rank", szResult); FactionInfo[row][fI_LRank] = strval(szResult);
                cache_get_field_content(row,"balance", szResult); FactionInfo[row][fI_vBalance] = strval(szResult);
                cache_get_field_content(row,"lock_stock", szResult); FactionInfo[row][fI_wStock] = strval(szResult);
                cache_get_field_content(row,"lock_vw", szResult); FactionInfo[row][fI_vVW] = strval(szResult);
                cache_get_field_content(row,"lock_intid", szResult); FactionInfo[row][fI_vIntID] = strval(szResult);
                cache_get_field_content(row,"lock_posX", szResult); FactionInfo[row][fI_vPos][0] = floatstr(szResult);
                cache_get_field_content(row,"lock_posY", szResult); FactionInfo[row][fI_vPos][1] = floatstr(szResult);
                cache_get_field_content(row,"lock_posZ", szResult); FactionInfo[row][fI_vPos][2] = floatstr(szResult);

                for(new r = 0; r < MAX_FACTION_RANK; r++) { format(szLabel, sizeof(szLabel), "rank_%d", r); cache_get_field_content(row, szLabel, FactionRanks[szRows][r], MainPipeline); }
                for(new w = 0; w < MAX_FACTION_WEAPON; w++) { format(szLabel, sizeof(szLabel), "weapon_%d", w+1); cache_get_field_content(row, szLabel, szResult); FactionInfo[row][fI_Weapons][w] = strval(szResult); }
                for(new d = 0; d < MAX_FACTION_DIVISION; d++) { format(szLabel, sizeof(szLabel), "division_%d", d+1); cache_get_field_content(row, szLabel, FactionDivisions[szRows][d], MainPipeline); }
                for(new pay = 0; pay < MAX_FACTION_RANK; pay++) { format(szLabel, sizeof(szLabel), "pay_%d", pay+1); cache_get_field_content(row, szLabel, szResult);  FactionPay[szRows][pay] = strval(szResult); }

                DestroyDynamic3DTextLabel(FactionInfo[row][fI_vLabel]);
                format(szLabel, sizeof(szLabel), "[ %s Locker ]", FactionInfo[row][fI_Name]);
                FactionInfo[row][fI_vLabel] = CreateDynamic3DTextLabel(szLabel, COLOR_WHITE, FactionInfo[row][fI_vPos][0], FactionInfo[row][fI_vPos][1], FactionInfo[row][fI_vPos][2],  10.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1,FactionInfo[row][fI_vVW], FactionInfo[row][fI_vIntID], -1);
                FactionInfo[row][fI_vPickup] = CreateDynamicPickup(1239, 23, FactionInfo[row][fI_vPos][0], FactionInfo[row][fI_vPos][1], FactionInfo[row][fI_vPos][2], FactionInfo[row][fI_vVW]);
                FactionInfo[row][fI_vLabel] = CreateDynamic3DTextLabel(szLabel, COLOR_WHITE, FactionInfo[row][fI_vPos][0], FactionInfo[row][fI_vPos][1], FactionInfo[row][fI_vPos][2], 10, -1, -1, 1,FactionInfo[row][fI_vVW], FactionInfo[row][fI_vIntID], -1);
            }
            print("[SERVER]: Factions have been loaded.");
        }
Basically, in my table I have the first faction which is listed under "faction_id" and the value for that is 1 but when that faction loads in-game it loads into faction id 0
Reply
#2

ID's starts from 1 and rows stats from 0.

So basically use row + 1.

pawn Код:
FactionInfo[row+1][...] = ...
Reply
#3

Worked, thank you!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)