Jump to content


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

Posted Image Posted Image

Guest Message by DevFuse
 

Problem z dodaniem liczby do pobranego stringa czasu.Chciałbym by string "rok" po wykonaniu pobrania liczby dodawał "zawsze" po prostu o 1 większą liczbę.

string problem rok formattime dodawanie +1

Best Answer StoDwaJeden, 07.11.2015 09:00

new String:godzina_str[8];
FormatTime(godzina_str, sizeof(godzina_str), "%H", GetTime());
new godzina = StringToInt(godzina_str);
godzina +=1;

CPrintToChat(client, "Rok: %d .",godzina);

Go to the full post


  • You cannot start a new topic
  • You cannot reply to this topic
12 replies to this topic

#1 Bezustanny

    Nowy

  • Zbanowany

  • Reputacja: 0
    Nowy

  • Postów:8
  • Imię:Łukasz
  • Lokalizacja:Polska
Offline

Posted 05.11.2015 16:49

Chciałbym prosić Was o pomoc, nie umiem poradzić sobie z tym jakże wydający się prostym problemem.

new String:rok[10]; 

FormatTime(rok, sizeof(rok), "%Y"); // Pobrana informacja %Y o danym roku.
CPrintToChat(client, "Rok: %s .",rok);

Chciałbym by string "rok" po wykonaniu pobrania liczby dodawał "zawsze" po prostu o 1 większą liczbę.

 

Czyli jakby string rok + 1

 

 

Dziękuję za pomoc.

Męczę się już z tym tydzień..


Edited by Bezustanny, 05.11.2015 16:52.


#2 Kowalsky

    master of disaster

  • Użytkownik

  • Reputacja: 136
    Zaawansowany

  • Postów:424
  • Lokalizacja:San José
Offline

Posted 05.11.2015 21:59

Próbowałeś tak?
new String:rok[10]; 

FormatTime(rok, sizeof(rok), "%Y"); // Pobrana informacja %Y o danym roku.
CPrintToChat(client, "Rok: %s .",rok+1);

  • +
  • -
  • 1

#3 Bezustanny

    Nowy

  • Autor tematu
  • Zbanowany

  • Reputacja: 0
    Nowy

  • Postów:8
  • Imię:Łukasz
  • Lokalizacja:Polska
Offline

Posted 06.11.2015 06:36

Próbowałeś tak?

new String:rok[10]; 

FormatTime(rok, sizeof(rok), "%Y"); // Pobrana informacja %Y o danym roku.
CPrintToChat(client, "Rok: %s .",rok+1);

 

Tej opcji także próbowałem.

Wtedy w CPrintToChat szuka stringa o nazwie "rok+1".

 

Probowałem też zrobić coś takiego. Nie jestem aktualnie w domu ale mniej więcej napiszę co wymyśliłem i niby kompilacja wszystko pobrała dobrze.

Był problem tylko z wyświetleniem tej liczby. ( albo jej nie było albo w ogóle jakieś cuda )

new String:rok[10]; 

new czas = FormatTime(rok, sizeof(rok), "%Y");
czas += 1;

CPrintToChat(client, "Rok: %s .",czas );

lub

 

new czas = FormatTime(rok, sizeof(rok), "%Y");
new liczba = 1;
new pobrana = czas + liczba;

CPrintToChat(client, "Rok: %s .",pobrana);

 

Jak dobrze pamiętam to jeszcze taką opcje robiłem.

new String:czas[10] = FormatTime(rok, sizeof(rok), "%Y");
new String:liczba[10] = 1;
new String:pobrana[10] = czas[10] + liczba[10];

CPrintToChat(client, "Rok: %s .",pobrana);

Próbowałem też robić to za pomocą stringów.

Każda pomoc jest bardzo przydatna.

 

 

Dziękuję, że ktoś zainteresował się tym tematem.

proszę o pomoc lub chociaż naprowadzenie. :(


Edited by Bezustanny, 06.11.2015 06:45.


#4 StoDwaJeden

    Pomocny

  • Użytkownik

  • Reputacja: 15
    Początkujący

  • Postów:68
  • Imię:Fajne
  • Lokalizacja:Daleka
Offline

Posted 06.11.2015 14:41

Zmień string rok na liczbę i wtedy dodawaj do niej 1.


  • +
  • -
  • 0

#5 Bezustanny

    Nowy

  • Autor tematu
  • Zbanowany

  • Reputacja: 0
    Nowy

  • Postów:8
  • Imię:Łukasz
  • Lokalizacja:Polska
Offline

Posted 06.11.2015 15:37

Nie chcę zmieniać string roku na aktualny rok, tylko by rok pobierało na bieżąco po wykonaniu tego kodu.

Nie potrzebuję takiego kodu gdzie po każdych 12 miesiącach będę musiał go ponownie kompilować. ( Co to za logika ? )

 

 

Dalej brak rozwiązania. :/



#6 StoDwaJeden

    Pomocny

  • Użytkownik

  • Reputacja: 15
    Początkujący

  • Postów:68
  • Imię:Fajne
  • Lokalizacja:Daleka
Offline

Posted 06.11.2015 20:02

Pobierz rok, a gdy go pobierzesz zamień go na liczbę, bo teraz robisz tak że do np słowa "kot" chcesz dodać 1.


  • +
  • -
  • 0

#7 Bezustanny

    Nowy

  • Autor tematu
  • Zbanowany

  • Reputacja: 0
    Nowy

  • Postów:8
  • Imię:Łukasz
  • Lokalizacja:Polska
Offline

Posted 06.11.2015 21:25

Pobierz rok, a gdy go pobierzesz zamień go na liczbę, bo teraz robisz tak że do np słowa "kot" chcesz dodać 1.

 

Zaprezentuj część kodu, na tą chwilę rozumiem, że źle używam string'a.

 

 

Ma to związek z tym ?

%d - liczba dziesietna
%6d - liczba dziesietna zajmujaca co najmniej 6 znakow
%f - liczba zmiennopozycyjna
%6f - liczba zmiennopozycyjna zajmujaca conajmniej 6 znakow
%.2f - liczba zmiennopozycyjna z 2 miejscami po kropce dziesietnej
%6.2f - liczba zmiennopozycyjna z 2 miejscami po kropce zajmujaca conajmniej 6
znakow
%o - liczba osemkowa
%x - liczba szesnastkowa
%c - znak( char)
%s - napis(string)

Liczę na jakieś bardziej konkretne podpowiedzi lub kod, bym mógł sobie go potem przestudiować po swojemu.

Czy funkcja StringToInt będzie do tego potrzebna ?



#8 Linux'

    Pan Pomocny

  • Power User

  • Reputacja: 549
    Wszechwiedzący

  • Postów:1,501
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:AmxMod i SourceMod
Offline

Posted 06.11.2015 21:58

Nie rozumiem co chcesz uzyskac? Przeciez data (minuta, godzina, rok) pobierana jest z srcds a on pobiera ja z maszyny na ktorej stoi. Wiec jezeli na maszynie rok ulegnie zmianie to na serwerze tez.
  • +
  • -
  • 0

b35020692_qesnxqa.png


#9 Bezustanny

    Nowy

  • Autor tematu
  • Zbanowany

  • Reputacja: 0
    Nowy

  • Postów:8
  • Imię:Łukasz
  • Lokalizacja:Polska
Offline

Posted 06.11.2015 22:08

Nie rozumiem co chcesz uzyskac? Przeciez data (minuta, godzina, rok) pobierana jest z srcds a on pobiera ja z maszyny na ktorej stoi. Wiec jezeli na maszynie rok ulegnie zmianie to na serwerze tez.

 

Chcę uzyskać liczbę o jeden większą niż pobrana.

W tym przypadku dany rok + jeden.

Czyli zakładając, że pobrana pobierze 2015 to chce mieć przykładowo w informacji 2016.



#10 Linux'

    Pan Pomocny

  • Power User

  • Reputacja: 549
    Wszechwiedzący

  • Postów:1,501
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:AmxMod i SourceMod
Offline

Posted 06.11.2015 22:25

new String:godzina_str[8];
FormatTime(godzina_str, sizeof(godzina_str), "%H", GetTime());
new godzina = StringToInt(godzina_str);
godzina +〓1;
Sprawdz tak.
// tel.
  • +
  • -
  • 2

b35020692_qesnxqa.png


#11 Bezustanny

    Nowy

  • Autor tematu
  • Zbanowany

  • Reputacja: 0
    Nowy

  • Postów:8
  • Imię:Łukasz
  • Lokalizacja:Polska
Offline

Posted 07.11.2015 08:11

new String:godzina_str[8];
FormatTime(godzina_str, sizeof(godzina_str), "%H", GetTime());
new godzina = StringToInt(godzina_str);
godzina +〓1;
Sprawdz tak.
// tel.

 

 

Użyłem tej funkcji. Po wykonaniu pojawia coś takiego:

 

e94bd6.jpg

 

Strig czytany jest jako błąd. 

 

Nie wiem, może to ma związek z tym %s ?

Po wykonaniu kodu w CPrintToChat w ogóle nic nie wyświetla.

 

 
new String:godzina_str[8];
FormatTime(godzina_str, sizeof(godzina_str), "%H", GetTime());
new godzina = StringToInt(godzina_str);
godzina +=1;

CPrintToChat(client, "Rok: %s .",godzina);
 

Albo jestem jakiś ułomny i tego nie widzę.

Proszę mnie poprawić jeżeli coś źle napisałem.

 

String jest używany tylko do:

CPrintToChat ( zapis na czacie ) oraz WriteFileLine ( zapis w pliku ) < = Format pliku UTF-8 ( Bez-BOM )

Myślę, że format pliku tutaj chyba nie ma znaczenia skoro w zapisie na czacie w ogóle nie pojawia się informacja.


Edited by Bezustanny, 07.11.2015 08:17.


#12 StoDwaJeden

    Pomocny

  • Użytkownik

  • Reputacja: 15
    Początkujący

  • Postów:68
  • Imię:Fajne
  • Lokalizacja:Daleka
Offline

Posted 07.11.2015 09:00   Best Answer

new String:godzina_str[8];
FormatTime(godzina_str, sizeof(godzina_str), "%H", GetTime());
new godzina = StringToInt(godzina_str);
godzina +=1;

CPrintToChat(client, "Rok: %d .",godzina);


  • +
  • -
  • 1

#13 Bezustanny

    Nowy

  • Autor tematu
  • Zbanowany

  • Reputacja: 0
    Nowy

  • Postów:8
  • Imię:Łukasz
  • Lokalizacja:Polska
Offline

Posted 07.11.2015 10:19

Poradziłem sobie z tym problemem. Podziękowania dla wszystkich.

Reputacje dodane.






  


1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users

Coinsy CSGOPolygon Za SMS, PSC , Przelew - CoinSell.pro
Skiny do CS:GO za SMS, PSC, Przelew - CSGOPaka.com
Automatyczny Bot Levelowania Steam - LVLUPSteam.com
CSGO Gambling Sites and Free Betting Codes - DreamCodes.gg

Sign In