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

[ROZWIĄZANE] Tablica wynikowa jako jeden z parametrów w formatex


Najlepsza odpowiedź DarkGL, 21.11.2013 17:28

Dlatego że w drugim przypadku nie zostanie znalezione nigdy \0 ( koniec ciągu ) kopiowanie będzie czytać z początku stringa i dopisywać w pewnym miejscu w pamięci ( jako że już zapisaliśmy jakieś zmienne dane etc. to miejsce do zapisu przesuneło się do przodu ) które jest dalej od początku \0 zostanie nadpisane , będziemy powtarzac nadpisywanie jakiegos ciągu bez końca

to w drugim przypadku

 

w pierwszym czytamy i zapisujemy do tej samej komórki pamięci więc \0 zostanie znalezione

Przejdź do postu


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

#1 szelbi

    Hero

  • Power User

Reputacja: 373
Wszechpomocny

  • Postów:1 032
  • Steam:steam
  • Imię:Norbert
  • Lokalizacja:Częstochowa
Offline

Napisano 21.11.2013 13:33

W dokumentacji mamy napisane coś takiego:

Szybsza wersja funkcji format, lecz nie zadziała gdy tablica wynikowa jest użyta również jako jeden z parametrów.

 

Więc dlaczego poniższy kod działa mi bez najmniejszych problemów, skoro kierując się dokumentacją nie powinien?

formatex(lista_nickow, 189, "%s%s%s", lista_nickow, nicki_vipow[x], x<(count-1)?", ":"");

  • +
  • -
  • 0

#2 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

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

Napisano 21.11.2013 14:30

Jaka wersja amxxa ?


  • +
  • -
  • 0

#3 Droso

    Dawniej HubertTM

  • Support Team

Reputacja: 1 291
Godlike

  • Postów:2 371
  • Steam:steam
  • Imię:Hubert
  • Lokalizacja:Wrocław
Offline

Napisano 21.11.2013 15:00

Owszem to działa:

formatex(lista_nickow, 189, "%s%s%s", lista_nickow, nicki_vipow[x], x<(count-1)?", ":"");

ale już (zamiana miejscami)

formatex(lista_nickow, 189, "%s%s%s", nicki_vipow[x], lista_nickow, x<(count-1)?", ":"");

Będzie działać źle.

 

P.S Nie jestem pewien, ale chyba tak to było ;)


  • +
  • -
  • 2

Piszę pluginy pod: AMX MOD X oraz SOURCE MOD!

Na zlecenie i bez zlecenia zresztą też!


#4 szelbi

    Hero

  • Autor tematu
  • Power User

Reputacja: 373
Wszechpomocny

  • Postów:1 032
  • Steam:steam
  • Imię:Norbert
  • Lokalizacja:Częstochowa
Offline

Napisano 21.11.2013 15:48

Jaka wersja amxxa ?

Currently loaded plugins:
      description      stat pend  file              vers      src   load  unlod
 [ 1] AMX Mod X        RUN   -    amxmodx_mm.dll    v1.8.1.3  ini   Start ANY  
 [ 2] POD-Bot mm       RUN   -    podbot_mm.dll     v3.0B19d  ini   Chlvl ANY  
 [ 3] Fun              RUN   -    fun_amxx.dll      v1.8.1.3  pl1   ANY   ANY  
 [ 4] CStrike          RUN   -    cstrike_amxx.dll  v1.8.1.3  pl1   ANY   ANY  
 [ 5] CSX              RUN   -    csx_amxx.dll      v1.8.1.3  pl1   ANY   ANY  
5 plugins, 5 running

  • +
  • -
  • 0

#5 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 21.11.2013 17:09

Owszem to działa:

formatex(lista_nickow, 189, "%s%s%s", lista_nickow, nicki_vipow[x], x<(count-1)?", ":"");
ale już (zamiana miejscami)
formatex(lista_nickow, 189, "%s%s%s", nicki_vipow[x], lista_nickow, x<(count-1)?", ":"");
Będzie działać źle.
 
P.S Nie jestem pewien, ale chyba tak to było ;)

Już gdzieś o tym komuś pisałem.

P.S. Tak to było.
  • +
  • -
  • 1

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo


#6 dasiek

    Nie wiem, nie znam się, nie orientuję się, zarobiony jestem.

  • Junior Admin

Reputacja: 2 077
Godlike

  • Postów:5 706
  • Imię:Adaś
  • Lokalizacja:No teraz trochę dalej od WWy
Offline

Napisano 21.11.2013 17:28

Otworzyłem temat na prośbę Darka. 


  • +
  • -
  • 0

#7 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

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

Napisano 21.11.2013 17:28   Najlepsza odpowiedź

Dlatego że w drugim przypadku nie zostanie znalezione nigdy \0 ( koniec ciągu ) kopiowanie będzie czytać z początku stringa i dopisywać w pewnym miejscu w pamięci ( jako że już zapisaliśmy jakieś zmienne dane etc. to miejsce do zapisu przesuneło się do przodu ) które jest dalej od początku \0 zostanie nadpisane , będziemy powtarzac nadpisywanie jakiegos ciągu bez końca

to w drugim przypadku

 

w pierwszym czytamy i zapisujemy do tej samej komórki pamięci więc \0 zostanie znalezione


Użytkownik DarkGL edytował ten post 21.11.2013 17:29

  • +
  • -
  • 1




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

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