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

Operacje na plikach problem.


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

#1 dram

    Wszechwidzący

  • Użytkownik

Reputacja: 16
Początkujący

  • Postów:277
  • Lokalizacja:xxxx
Offline

Napisano 23.07.2010 23:44

Witajcie. Pisze pierwszy raz na tym forum w dodatku w problemie.

Mianowicie:

//new Float:szLine[9999]
   new Float:szLine[9999]

   new szLines[32], iLen;
for(new i=0;read_file("zp_settings.txt", i, szLines, 31, iLen);i++){
copy (szLine, 16, szLines)
}

O to mój kod który ma pobierać każdą linie z kolejna z pliku zp_settings ,a następnie zapisywać do tablicy szLine.

Mam w pliku zp_settings przykładowo coś takiego:

linijka1
linijka2
linijka3

Chcę aby te wszystkie linijki znalazły się w tabeli szLine .

W moim kodzie znajduje się tylko linjka3 czyli ostatnia.

Myślę ,że zrozumieliście mój problem. Bardzo mi się śpieszy w razie czego podam moje gg: 2881130
  • +
  • -
  • 0
Co oferuje?

Pisanie pluginów amxx/modow itd
Skryptow php

Kontakt na PW LUB GG

#2 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

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

Napisano 24.07.2010 00:07

Taki myk z indexowaniem możesz zastosować
if(file_exists("zp_settings.txt")){
	new szLines[1024], iLen, index = 0;
	for(new i=0;read_file("zp_settings.txt", i, szLines[index], 31, iLen);i++){
		index += iLen;
		if((index + 31) > charsmax(szLines)) break;

	}
}

  • +
  • -
  • 1

#3 dram

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 16
Początkujący

  • Postów:277
  • Lokalizacja:xxxx
Offline

Napisano 24.07.2010 00:21

Bardzo dziękuje za odpowiedź ale bym bardzo był wdzięczny gdybyś napisał na moje gg:2881130 jestem początkujący w programowaniu i ten błąd rodzi kolejny problem. A bardzo szybko na odpowiedzi mi zależy.
  • +
  • -
  • 0
Co oferuje?

Pisanie pluginów amxx/modow itd
Skryptow php

Kontakt na PW LUB GG

#4 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

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

Napisano 24.07.2010 00:32

Może być za mało miejsca w tablicy, więc potrzeba ogranicznka do tamtego kodu;
for(new i=0;read_file("zp_settings.txt", i, szLines[index], 31, iLen);i++){
	index += iLen;	
	if((index + 31) > charsmax(szLines)) break;
}

Napisz tu jak masz problem :)
  • +
  • -
  • 0

#5 dram

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 16
Początkujący

  • Postów:277
  • Lokalizacja:xxxx
Offline

Napisano 24.07.2010 00:41

Ale ty nie jestes non stop. Dobra to wale w takim bądź razie. Wolałbym na gg ci pospamić no ale cóż :(

trochę o skrypcie : Mój skrypt sprawdza użytkownika ip.

Wiem że prościej było by ustawić ip w skrypcie ale za dużo "pieprz*** sie"

new ip [32]
    get_user_ip(id, ip, 31, 1)

// to kod który pobiera ip gracza

new szLine[1024], iLen, index = 0;

if(file_exists("zp_settings.txt")){
	for(new i=0;read_file("zp_settings.txt", i, szLine[index], 31, iLen);i++){
		index += iLen;
	}
}

to kod który z pliku tekstowego pobiera ip

if (equal(ip, szLine))
{
// moj kod
}

Ten kod sprawdza ip gracza czy jest takie same jak w pliku tekstowym. I własnie to nie śmiga bo mi nie wykrywa mojego ip (ip jest podane prawidłowo.)
192.168.1.100
192.168.1.101
192.168.1.102

A to 3 przykładowe adresy ip z zp_settings.txt wszystko powinno działać tylko coś z tym importowaniem jest nie tak.

24 lipiec 2010 - 00:48:

Ale ty nie jestes non stop. Dobra to wale w takim bądź razie. Wolałbym na gg ci pospamić no ale cóż :(

trochę o skrypcie : Mój skrypt sprawdza użytkownika ip.

Wiem że prościej było by ustawić ip w skrypcie ale za dużo "pieprz*** sie"

new ip [32]
    get_user_ip(id, ip, 31, 1)

// to kod który pobiera ip gracza

new szLine[1024], iLen, index = 0;

if(file_exists("zp_settings.txt")){
	for(new i=0;read_file("zp_settings.txt", i, szLine[index], 31, iLen);i++){
		index += iLen;
	}
}

to kod który z pliku tekstowego pobiera ip

if (equal(ip, szLine))
{
// moj kod
}

Ten kod sprawdza ip gracza czy jest takie same jak w pliku tekstowym. I własnie to nie śmiga bo mi nie wykrywa mojego ip (ip jest podane prawidłowo.)
192.168.1.100
192.168.1.101
192.168.1.102

A to 3 przykładowe adresy ip z zp_settings.txt wszystko powinno działać tylko coś z tym importowaniem jest nie tak.



// edyt
A odnośnie sprawdzania czy jest ten plik mam odpowiednią komendę. Tylko też nie wiem jak zrobić komende która np po wpisaniu w konsoli amx_usun "tutaj adres ip" znajduje i usuwa ip z pliku tekstowego. Programuje w tym tak naprawdę od 4 dni wybacz za może moje beznadziejne oraz głupie pytania

// ps nie wiem czemu nie mogłem posta z edytować sorry za duble post
  • +
  • -
  • 0
Co oferuje?

Pisanie pluginów amxx/modow itd
Skryptow php

Kontakt na PW LUB GG

#6 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

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

Napisano 24.07.2010 00:56

Aha, to nie trzeba całego pliku w jednej tablicy. Przeczytaj linijkę, sprawdź, przeczytaj, sprawdź
new szLine[32], iLen;
for(new i=0;read_file("zp_settings.txt", i, szLine, 31, iLen);i++){
	if(equal(szLine, ip)){
		//jest w pliku!
		break;
	}
}

http://amxx.pl/komendy-t4724.html
Co do usuwania to trochę bardziej skomplikowane ;P tak na początek to możesz wyszukać IP tak jak wyżej i zrobić
write_file("zp_settings.txt", "", i);
w momemcie wykrycia
  • +
  • -
  • 1

#7 dram

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 16
Początkujący

  • Postów:277
  • Lokalizacja:xxxx
Offline

Napisano 24.07.2010 01:08

Ale czy byłbyś tak miły i dał mi swoje gadu na przyszłość ?:) Serdecznie proszę
  • +
  • -
  • 0
Co oferuje?

Pisanie pluginów amxx/modow itd
Skryptow php

Kontakt na PW LUB GG

#8 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

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

Napisano 24.07.2010 01:11

Od kilku miesięcy łatwiej mnie złapać tu na forum niż na gg, a i chciałbym trochę prywatności, więc nie podam.
  • +
  • -
  • 0

#9 dram

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 16
Początkujący

  • Postów:277
  • Lokalizacja:xxxx
Offline

Napisano 24.07.2010 01:28

To chociaż akcept na steam:P Zaproszenie zostało wysłane :) Zrób jak uważasz

//

Masz na prawde nie pojętą wiedze na ten temat do swojego kodu dorzuciłem swoje 3 grosze i zadziałało wielkie dzięki:)

//
Tylko jak byś dał rade dobrze by było jak byś napisał mi komende do usuwania danej linijki z tekstu.
Po wpisaniu ip wyszukuje w moim pliku txt, sprawdza czy istnieje, jeżeli tak to usuwa jeżeli nie wywala komunikat.

Jak zrobisz to by była 3 pochwała w 1 godzine:D Tyle ci mogę jedynie zaoferować :( Pozdrawiam i jeszcze raz dziękuje

/////
Dałem rade nie wierze. Dzięki temu "write_file("zp_settings.txt", "", i);" To było łatwiejsze niż to co wcześniej robiłem, czyli sprawdzanie ip. Wielkie dzięki ;)

Tylko jeden minus ponieważ zostają puste linijki ale to nie przeszkadza;)

Użytkownik dram edytował ten post 24.07.2010 03:18

  • +
  • -
  • 0
Co oferuje?

Pisanie pluginów amxx/modow itd
Skryptow php

Kontakt na PW LUB GG

#10 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

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

Napisano 24.07.2010 17:56

Ta funkcja usuwa podaną linijkę bez zostawiania śmieci. Możesz jej użyć np. tak
delete_from_file("zp_settings.txt", "89.120.123.23");

a to wrzuć do kodu
stock delete_from_file(const szFile[], const szLine2Delete[]){
if(!file_exists(szFile)) return 0;

static szFile2[256];
formatex(szFile2, charsmax(szFile2),"%s.temp", szFile);

new fp = fopen(szFile2, "w");
if(!fp) return 0;
fclose(fp);

static szLine[256], iLen;
for(new i=0;read_file(szFile, i, szLine, charsmax(szLine), iLen);i++){
if(!equal(szLine, szLine2Delete))
write_file(szFile2, szLine);
}


if(unlink(szFile) && rename_file(szFile2, szFile, 1))
return 1;
return 0;
}

  • +
  • -
  • 1

#11 dram

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 16
Początkujący

  • Postów:277
  • Lokalizacja:xxxx
Offline

Napisano 24.07.2010 19:18

Co nie zmienia faktów ,że nadal chce mieć twoje gg bo mam pare drobnych pytań które wstydzę się zamieszczać na forum:D
  • +
  • -
  • 0
Co oferuje?

Pisanie pluginów amxx/modow itd
Skryptow php

Kontakt na PW LUB GG

#12 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

  • Postów:3 066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 24.07.2010 19:28

Zamieść na forum, od tego ono jest. Napiszesz na GG to tylko Ty skorzystasz, a jak spytasz na forum to może się znajdzie ktoś inny z tym problemem.
  • +
  • -
  • 0

NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark





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

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