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

Problem z nadpisaniem pliku


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
17 odpowiedzi w tym temacie

#1 csMaster

    Wszechwiedzący

  • Power User

Reputacja: 14
Początkujący

  • Postów:542
  • Lokalizacja:localhost
Offline

Napisano 27.08.2019 19:49

L 08/27/2019 - 20:45:59: Couldn't write file "cstrike/pddons/amxmodx/data/auth.txt"
L 08/27/2019 - 20:45:59: [AMXX] Displaying debug trace (plugin "code.amxx", version "1.0")
L 08/27/2019 - 20:45:59: [AMXX] Run time error 10: native error (native "write_file")
L 08/27/2019 - 20:45:59: [AMXX]    [0] code.sma::func (line 209)
L 08/27/2019 - 20:45:59: [AMXX]    [1] code.sma::func_task (line 79)

Wtf ? Co tu może być błędem ? Ścieżkę do pliku podałem dobra, w folderze 'addons/' a pisze 'pddons/' ...

Dodam że na innym serwerze ten plugin działa.


Użytkownik csMaster edytował ten post 27.08.2019 20:01

  • +
  • -
  • 0

#2 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 27.08.2019 20:20

100% ścieżka dobra?

zawsze jak uzywalem write_file to dawałem "addons/amxmodx/data/auth.txt"

Zarzuć większy kawałek kodu czy coś


  • +
  • -
  • 0

#3 csMaster

    Wszechwiedzący

  • Autor tematu
  • Power User

Reputacja: 14
Początkujący

  • Postów:542
  • Lokalizacja:localhost
Offline

Napisano 27.08.2019 21:34

Spoiler

 

Jednak jak już mówiłem, na innym serwerze ten kod działa normalnie.

Może rehlds powoduje ten błąd tak jak z metamodem ? Nazwa była dobra ale plugin metamoda się nie ładował, dopiero kiedy przez konsole podałem dokładną ścieżkę zadziałał.

Drugi serwer działa na hlds, na pierwszym z rehlds plik się zapisywał, ale po mapie przestał i wywala taki error.


  • +
  • -
  • 0

#4 Robiin

    Godlike

  • Support Team

Reputacja: 1 107
Super Hero

  • Postów:2 051
  • Imię:Robert
  • Lokalizacja:Wrocław
Offline

Napisano 27.08.2019 21:58

L 08/27/2019 - 20:45:59: Couldn't write file "cstrike/pddons/amxmodx/data/auth.txt"

pddons?

 

Client_authorized na client_putinserver.

 

Jaką wartośc ma 'line'?


  • +
  • -
  • 0

Nie dołączam do żadnej sieci, nie pomagam z tworzeniem paczek, nie napisze pluginów za zero.


#5 csMaster

    Wszechwiedzący

  • Autor tematu
  • Power User

Reputacja: 14
Początkujący

  • Postów:542
  • Lokalizacja:localhost
Offline

Napisano 27.08.2019 22:02

'line' ma... numer linii w pliku od 0. Ale na -1 jako trzeci argument write_file() wywala ten sam błąd.

Mam zamienić client_authorized() na client_putinserver() ? Po co ? Co to zmienia ?


Użytkownik csMaster edytował ten post 27.08.2019 22:03

  • +
  • -
  • 0

#6 Robiin

    Godlike

  • Support Team

Reputacja: 1 107
Super Hero

  • Postów:2 051
  • Imię:Robert
  • Lokalizacja:Wrocław
Offline

Napisano 27.08.2019 22:08

Putinserver wykona się później, kiedy dane gracza są już wczytane, przez co nie musisz robić taska. (o ile nie jest tylko poglądowy)

 

Jeszcze raz, ścieżka na pewno poprawna? Jaki błąd teraz wyrzuca?

 

On the side notes, proponuję też wielkość tablicy z nickami zamienić na 33, ale to już bycie skrupulatnym.


  • +
  • -
  • 0

Nie dołączam do żadnej sieci, nie pomagam z tworzeniem paczek, nie napisze pluginów za zero.


#7 csMaster

    Wszechwiedzący

  • Autor tematu
  • Power User

Reputacja: 14
Początkujący

  • Postów:542
  • Lokalizacja:localhost
Offline

Napisano 27.08.2019 22:13

I tak będę musiał zrobić task. W dalszej części kodu w wyżej podanym func() jest fragment sprawdzający czy gracz ma immunitet. Oba client_ muszą się wykonać.

Nick gracza może mieć maksymalnie 31 znaków, raczej nie ma potrzeby zwiększania wielkości tablicy do 33.

Ścieżka jest zapisana w tablicy const[] jak podałem w poście wyżej i nie napisałem przez przypadek 'p' zamiast 'a'.


  • +
  • -
  • 0

#8 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 28.08.2019 06:13

Jak formarujesz szSave to na pewno wszystko jest stringiem? Nie piszesz coś po pamięci używając niewłaściwych tagów?
  • +
  • -
  • 0

#9 csMaster

    Wszechwiedzący

  • Autor tematu
  • Power User

Reputacja: 14
Początkujący

  • Postów:542
  • Lokalizacja:localhost
Offline

Napisano 28.08.2019 12:01

Wszystko jest stringiem. Wyżej podałem fragment kodu w którym to widać.

Nawet jeśli bym się tu gdzieś pomylił to przecież na jednym serwerze wszystko się zapisuje ale na drugim raz kilka linijek się zapisze a raz nic...


  • +
  • -
  • 0

#10 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 28.08.2019 12:19


Wyżej podałem fragment kodu w którym to widać.

 

Nie, na nim nie widać czy to sa stringi. Nie widac enuma, który ma jakieś tam pola.

 

 


Nawet jeśli bym się tu gdzieś pomylił to przecież na jednym serwerze wszystko się zapisuje ale na drugim raz kilka linijek się zapisze a raz nic...

Sprawdzałeś czy bez innych pluginów to samo się dzieje? W sensie, jak masz włączony tylko ten plugin, bo skoro mówisz, że kod dobry to musi być coś namieszane w czymś innym.


  • +
  • -
  • 0

#11 csMaster

    Wszechwiedzący

  • Autor tematu
  • Power User

Reputacja: 14
Początkujący

  • Postów:542
  • Lokalizacja:localhost
Offline

Napisano 28.08.2019 12:28

 


Wyżej podałem fragment kodu w którym to widać.

 

Nie, na nim nie widać czy to sa stringi. Nie widac enuma, który ma jakieś tam pola.

 

No masz racje nie wysłałem enum.

enum { nonsteam[32] = 0, steam[32], ip[16], userinfo[19], polykeep[12], line, size } 

Hmm... no ciężko by było teraz wyłączyć resztę pluginów skoro na serwerze jest kilkanaście osób...

Ale na drugim serwerze mam dokładnie takie same pluginy i jakoś wszystko działa. Jedyne różnice to: hlds zamiast rehlds, amxx 1.8.2 zamiast 1.8.3 i mniejsza ilość graczy przez co teoretycznie jest mniejsza szansa na wystąpienie takiego błędu.

Nie chciałbym zmieniać hlds ani amxx o ile to nie byłoby konieczne.


Użytkownik csMaster edytował ten post 28.08.2019 12:32

  • +
  • -
  • 0

#12 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 28.08.2019 12:39


Hmm... no ciężko by było teraz wyłączyć resztę pluginów skoro na serwerze jest kilkanaście osób...

 

Nie jest trudno skopiować pliki serwerowe i odpalić u siebie. Nawet linux na wirtualnej maszynie. Nie ma tam dużo pracy.

 

Chociaż kto wie czy między wersjami amxx sie coś nie pochrzaniło z tym.

 

A błąd występuje zależnie od graczy? Czy sam go możesz wytriggerować?

 

Jeszcze jeden pomysł to użycie fopen, fprintf, fclose zamiast write_file, bo on pod spodem robi i tak to samo. 


  • +
  • -
  • 0

#13 csMaster

    Wszechwiedzący

  • Autor tematu
  • Power User

Reputacja: 14
Początkujący

  • Postów:542
  • Lokalizacja:localhost
Offline

Napisano 28.08.2019 12:59

Sam próbowałem wywołać błąd i na rehlds nic nie musiałem robić, sam się pojawiał, a na hlds np. zawaliłem sobie całe setinfo ale i tak żadnego błędu nie było.

Błąd już naprawiłem, zamiast const save_file[] wpisałem do write_file() od razu string ze ścieżką do pliku i teraz już nie ma tego problemu. Tylko zastanawia mnie co to za różnica czy jako ścieżkę do pliku wstawiłem tablice czy od razu wpisałem string...

Podobnie zresztą było z metamodem, ścieżka na pewno dobra ale mimo to pisało że zła. Zastanawiam się czy już hlds nie byłby lepszy...


  • +
  • -
  • 0

#14 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 28.08.2019 13:22

a z ciekawości sprawdzałes z const i bez const?


  • +
  • -
  • 0

#15 csMaster

    Wszechwiedzący

  • Autor tematu
  • Power User

Reputacja: 14
Początkujący

  • Postów:542
  • Lokalizacja:localhost
Offline

Napisano 28.08.2019 13:23

Nie sprawdzałem i nawet mi się nie chce, wreszcie ten plugin działa i nie chce żeby znowu przestał :P


  • +
  • -
  • 0

#16 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 28.08.2019 13:28

weź zobacz, bo aż ciekaw jestem.


  • +
  • -
  • 0

#17 csMaster

    Wszechwiedzący

  • Autor tematu
  • Power User

Reputacja: 14
Początkujący

  • Postów:542
  • Lokalizacja:localhost
Offline

Napisano 28.08.2019 14:06

write_file(const file[], const text[], line=-1)

Zgaduje że byłoby to samo skoro pierwszy parametr i tak jest const[]. Chociaż kto wie jak zachowałby się serwer skoro z const[] wywalał błędy.

Nie mogę sprawdzić czy dalej byłby ten błąd. Musiałbym wrzucić kod, poczekać na zmiane mapy a później żeby znowu zaczął działać czekać kolejne 25 minut na zmiane.

Miałem już dawno wrzucić ten plugin i teraz nie powinienem znowu go wyłączać.

Jeśli chcesz mogę ci wysłać ten kod na pw i sobie sprawdzisz.

 

ps. Jeżeli masz czas, mógłbyś zobaczyć ten temat ? https://amxx.pl/topi...y-zmianie-mapy/


  • +
  • -
  • 0

#18 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 28.08.2019 14:32

wrzuc na pw kod wersje amxx i hlds. Chociaż nie wiem skąd wydre amxx 1.8.3 :/


  • +
  • -
  • 0




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

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