Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Nvault zapis/odczyta 3 wym. tablica


  • Zamknięty Temat jest zamknięty
5 odpowiedzi w tym temacie

#1 Ortega

    mów mi Orti

  • Power User

Reputacja: 363
Wszechpomocny

  • Postów:640
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Sosnowiec
Offline

Napisano 19.12.2010 15:14

Witajcie. Mam taki głupi problem z nvault, ponieważ zaplątałem się gdzieś w zapisie i odczycie danych. Dokładniej mam oto taką tablicę:
g_szFactionFullName[ 20 ][ 12 ][ 20 ];

i za cholery nie wiem jak tu zapisywać i odczytywać dane. Nie wiem czy takie rozwiązanie jakie wymyśliłem do zapisu jest dobre :/
new Buffer[ 5042 ], iLen;
for( new i = 0; i < 20; i++ )
{
for( new j = 0; j < 12; j++ )
{
iLen += formatex( Buffer[ iLen ], charsmax( Buffer ) - iLen, "%s#", g_szFactionFullName[ i ][ j ] );
}
}

Do odczytuj to już w ogóle nie mam pomysłu.
  • +
  • -
  • 0

#2 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 981
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 19.12.2010 15:33


new Buffer[ 5042 ], iLen,iPosition = 0,sTrash[20];

        replace_all(Buffer,iLen,"#"," ");

        for( new i = 0; i < 20; i++ )

        {

                for( new j = 0; j < 12; j++ )

                {

                        sTrash = "";

                        while(Buffer[iPosition] != ' '){

                                add(sTrash,charsmax(sTrash),Buffer[iPosition],1);

                                iPosition++;

                        }

                        g_szFactionFullName[ i ][ j ] = sTrash;

                }

        }

  • +
  • -
  • 1

#3 Ortega

    mów mi Orti

  • Autor tematu
  • Power User

Reputacja: 363
Wszechpomocny

  • Postów:640
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Sosnowiec
Offline

Napisano 19.12.2010 15:41

Nie jestem przekonany czy to zadziała poprawnie xD
  • +
  • -
  • 0

#4 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

  • Postów:4 248
  • Lokalizacja:Nie
Offline

Napisano 19.12.2010 17:18

możesz być nieco bezpośredni i zapisywać tak:

nvault_set(nvault, "FFN[0][0][0]",  g_szFactionFullName[ 0 ][ 0 ][ 0 ] );
nvault_set(nvault, "FFN[0][0][1]",  g_szFactionFullName[ 0 ][ 0 ][ 1 ] );
...

  • +
  • -
  • 1

#5 G[o]Q

    I'm G[o]Q

  • Przyjaciel

Reputacja: 1 344
Godlike

  • Postów:3 563
  • Steam:steam
  • Imię:Krzysiek
  • Lokalizacja:C: / program Files / Valve / Cstrike / G[o]Q.dem
Offline

Napisano 19.12.2010 19:09

nvault_set(nvault, "FFN[0][0][0]", g_szFactionFullName[ 0 ][ 0 ][ 0 ] );
nvault_set(nvault, "FFN[0][0][1]", g_szFactionFullName[ 0 ][ 0 ][ 1 ] );
...


new txt[20];
for(int i=0;i<20;i++)
     for(int k=0;k<12;k++)
           for(int l=0;l<20;l++){
                     format(txt,20,"FFF[%d][%d][%d]",i,k,l);
                     nvault_set(nvault, txt,  g_szFactionFullName[ i ][ k ][ l ] );
            }

  • +
  • -
  • 1
Manual ponad wszystko, konsola ponad manual :D :&

Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka

GG:6022845 (nie pomagam za free osobom ponizej rangi MoD) :D

#6 Ortega

    mów mi Orti

  • Autor tematu
  • Power User

Reputacja: 363
Wszechpomocny

  • Postów:640
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Sosnowiec
Offline

Napisano 19.12.2010 20:41

G[o]Q, świetnie wymyślone ;) Jakbym zajrzał do dokumentacji to by było łatwiej :& Tak sobie poradziłem:
//zapis
new szVaultKey[ 20 ];
for( new i = 0; i < HOUSES_NUM; i++ )
{
for( new j = 0; j < FACTIONS_MAX; j++ )
{
format( szVaultKey, charsmax( szVaultKey ), "FFF[%d][%d]", i, j );
nvault_set( g_iNvaultData2, szVaultKey, g_szFactionFullName[ i ][ j ] );
}
}

//odczyt
new szVaultKey[ 20 ];
for( new i = 0; i < HOUSES_NUM; i++ )
{
for( new j = 0; j < FACTIONS_MAX; j++ )
{
format( szVaultKey, charsmax( szVaultKey ), "FFF[%d][%d]", i, j );
nvault_get( g_iNvaultData2, szVaultKey, g_szFactionFullName[ i ][ j ], 19 );
}
}

  • +
  • -
  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych