AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Array Help (Array 'Bumping' ?) (https://forums.alliedmods.net/showthread.php?t=89985)

Drak 04-12-2009 16:58

Array Help (Array 'Bumping' ?)
 
Code:
enum STUFF {     STUFF_1,     STUFF_2 } new g_UserIDs[33] new g_Stuff[33][33][STUFF] Print(id) {     g_Stuff[id][0][STUFF_1] = 1     g_Stuff[id][1][STUFF_1] = 2     g_Stuff[id][2][STUFF_1] = 3     g_Stuff[id][3][STUFF_1] = 4         // We have 4 id's     g_UserIDs[id] = 4         for(new Count;Count < g_UserIDs[id];Count++)         server_print("ID: %d - Count: %d",g_Stuff[id][Count][STUFF_1],Count); }
The output of "server_print" would be
Code:

ID: 1 - Count: 0
ID: 2 - Count: 1
ID: 3 - Count: 2
ID: 4 - Count: 3

I want to remove the 'id' '1' so the output would be like:
Code:

ID: 2 - Count: 0
ID: 3 - Count: 1
ID: 4 - Count: 2

But how can i do this? I tried something like this:
Code:
RemoveID(id,Id2Remove) {     for(new Count;Count < g_UserIDs[id];Count++)     {         if(g_Stuff[id][Count][STUFF_1] = Id2Remove)         {             g_Stuff[id][Count][STUFF_1] = 0             g_UserIDs[id] -= 1         }     } }
But that didn't work

Exolent[jNr] 04-12-2009 17:02

Re: Array Help (Array 'Bumping' ?)
 
Code:
RemoveID(id, remove) {     if( remove < 0 ) return;         new total = g_UserIDs[id];     if( remove >= total || total <= 0 ) return;         for( new i = remove; i < total; i++ )     {         if( (i + 1) == total )         {             g_Stuff[id][i][STUFF_1] = 0;         }         else         {             g_Stuff[id][i][STUFF_1] = g_Stuff[id][i + 1][STUFF_1];         }     }         g_UserIDs[id]--; }

Drak 04-12-2009 18:17

Re: Array Help (Array 'Bumping' ?)
 
Works :D
Thanks


All times are GMT -4. The time now is 02:16.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.