←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Wczytywanie danych z pliku.

  • +
  • -
Danny OK's Photo Danny OK 22.03.2014

Witam,

Nie mogłem znaleźć nigdzie opisu jak zrobić wczytywanie danych z pliku.

 

Wzór pliku:
"liczba" "ilosc" "nazwa"

"1" "255" "Romulus"

"2" "324" "Remus"

 

Przyjmijmy że "liczba" to u gracz liczba[id]

 

Jak zrobić pobieranie dpowiednich danych z pliku?

np. gracz ma liczba[id]=1

 

Jak pobrać pozostałe dane?

np. wpisze w say /idex

[Index] Twoja liczba: 1, Ilosc: 255 i nazywa sie Romulus.

 

Z gory dziękuję za pomoc. 

Naturalnie + dla każdego kto pomoże.

Quote

  • +
  • -
Ogen Dogen's Photo Ogen Dogen 22.03.2014

    new plik = fopen("nazwapliku.txt","r");
    new linia[100];
    if (plik) // poprawnie otwarty
    {
        while (!feof(plik)) // od poczatku do konca pliku
        {
            fgets(plik,linia,charsmax(linia)); // string w tablicy linia
            // twoje operacje na nim
        }
    }
    else log_amx("Brak pliku nazwapliku.txt !"); // jesli jest problem z otwarciem

Dalej żeby odczytać poszczególne dane możesz użyć funkcji split http://amxx.pl/dokum...cja/f1395/split

Tutaj masz inne operacje na plikach opisane :

http://amxx.pl/dokumentacja/s28/file

Quote

  • +
  • -
Danny OK's Photo Danny OK 22.03.2014

Ok chyba wiem jak zrobić pobieranie + odpowiednie dane, ale nie wiem jak wziąć dane z odpowiedniego wiersza.

 

Czyli jak masz: liczba[id]=1

to aby pobierało z pierwszego i tak dalej.

Quote

  • +
  • -
Klakier's Photo Klakier 22.03.2014

pobierasz dane i używasz

str_to_num(data)

i porownujesz ze swoim liczba

Quote

  • +
  • -
Danny OK's Photo Danny OK 23.03.2014

Dziękuję wszystkim za pomoc już zrobiłem.

Quote