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

Zawsze wyświetla to samo słowo.


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

#1 GoldeN

    Wszechmogący

  • Zbanowany

Reputacja: 69
Pomocny

  • Postów:676
  • Imię:Kamil
  • Lokalizacja:DG
Offline

Napisano 25.04.2011 23:31

Witam, mam taką funkcję czytającą plik:

public ZaladujPlik(){
new szDir[128],Linia[64],sz1[64],sz2[64];

get_configsdir(szDir,charsmax(szDir));
format(szDir,charsmax(szDir),"%s/plik.ini",szDir)

new pFile = fopen(szDir,"rt")

if(!pFile){
log_amx("BRAK PLIKU!")
}
while(!feof(pFile)){
fgets(pFile,Linia,charsmax(Linia));
parse(Linia, sz1, 63, sz2, 63);
ArrayPushString(words2,sz1);
ArrayPushString(words3,sz2);
}
}


Pokazanie:

public function()
{
static linia;
if(++linia >= ArraySize(words2)){
ktore = 0;
}
ArrayGetString(words2,ktore,szword2,charsmax(szword2));
ArrayGetString(words3,ktore,szword3,charsmax(szword3));

client_print(0, print_center, "%s", szword2)

format(word4, 511, "%s", szword3);
}


Wszystko pięknie, słowa w plik.ini mam w takiej formie:

"Slowo nr 1" "Slowo1"
"Slowo nr 2" "Slowo2"
"Slowo nr 3" "Slowo3"

Lecz po pokazaniu słowa nie przechodzi do kolejnej linii i wyświetla znów to samo, dlaczego?

Oczywiście wszystko mam wszędzie dobrze dodane, tylko tych słów nie odczytuje, odczytuje pierwszy i drugi cudzysłów, ale nie przechodzi do następnej linii.

#2 Knopers

    Nie patrz tak na mnie !

  • Przyjaciel

Reputacja: 588
Wszechwiedzący

  • Postów:2 013
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Cz-wa
Offline

Napisano 26.04.2011 08:00

Zrób to tym sposobem będzie na pewno działało :

new line=0, file, text[128],chars
do{
line = read_file(file,line,text,127,chars)
/*
TWOJ KOD
*/
}
while(line!=0)


  • +
  • -
  • 1

#3 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

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

Napisano 26.04.2011 09:03


public function()

{

        static linia;

        if(++linia >= ArraySize(words2)){

                 linia = 0;

        }

        ArrayGetString(words2,linia,szword2,charsmax(szword2));

        ArrayGetString(words3,linia,szword3,charsmax(szword3));

        

        client_print(0, print_center, "%s", szword2)

        

        format(word4, 511, "%s", szword3); 

}

  • +
  • -
  • 1

#4 GoldeN

    Wszechmogący

  • Autor tematu
  • Zbanowany

Reputacja: 69
Pomocny

  • Postów:676
  • Imię:Kamil
  • Lokalizacja:DG
Offline

Napisano 26.04.2011 19:47

public function()
{
        static linia;
        if(++linia >= ArraySize(words2)){
                 linia = 0;
        }
        ArrayGetString(words2,linia,szword2,charsmax(szword2));
        ArrayGetString(words3,linia,szword3,charsmax(szword3));
        
        client_print(0, print_center, "%s", szword2)
        
        format(word4, 511, "%s", szword3); 
}



Przecież to jest to samo..

@Knopers, Twój kod w które miejsce? Tam w Loadzie?

Dodano 26 kwiecień 2011 - 20:37:
Działa rozwiązanie Knopersa.

Tylko czemu jak jest pokazanie danego słowa, to jest to losowe?




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

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