Alles anzeigenChar Arrays
...
Spoiler anzeigen Das ist ein Thema was ich wirklich jedem ans Herz lege !
Spoiler anzeigen Jeder kennt folgendes:
Spoiler anzeigen new var[MAX_PLAYERS];
Spoiler anzeigen if(var[playerid] == 1)
Nun das ist aber verdammt schlecht !
Spoiler anzeigen Jede Zelle bzw Spalte im Array verbraucht 4 Bytes, da MAX_PLAYERS (ohne das Makro zu verändern) eine größe von 500 hat, würde diese Variable:
Spoiler anzeigen verbrauchen !
Aus diesem Grund sogenannte char-Arrays verwenden, dass sähe dann so aus:
Spoiler anzeigen new var[MAX_PLAYERS char];
Spoiler anzeigen if(var{playerid} == 1) //Vorsicht: Hier { } verwenden anstatt [ ] !!!
Hier würde jede Zelle bzw Spalte im Array nur 1nen Byte verbrauchen !
Sprich wir verbrauchen 500 Bytes anstatt 2000 !
Spoiler anzeigen Wichtig noch zu beachten, das geht nur bei 1 dimensionalen Arrays und auch nur bei Integern, wenn man das mit strings machen will muss man strpack benutzen (aber das ist eine andere Geschichte)...
Spoiler anzeigen Außerdem ist zu beachten, dass nur Werte von 0-255 möglich sind!
Sprich:
Spoiler anzeigen new test[MAX_PLAYERS char];
test{0} = 259; //Ist nicht möglich, da größer 255!
Kann ich char-Arrays auch ganz normal per "format" formatieren, oder muss ich das iwie anders machen