Lepiej postawić serwer na VPS/VDS
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.
|
NwNwH
Rejestracja: 29.11.2023Aktualnie: Nieaktywny
Poza forum Ostatnio: 14.04.2025 23:05





Statystyki
- Grupa: Użytkownik
- Całość postów: 18
- Odwiedzin: 694
- Tytuł: Początkujący
- Wiek: Wiek nie został ustalony
- Urodziny: Data urodzin nie została podana
-
Płeć
Mężczyzna
Kontakt
Narzędzia użytkownika
Znajomi
NwNwH nie posiada znajomych
Ostatnio byli
Moje posty
W temacie: AceHost.pl - Hosting serwerów CS 1.6
10.12.2024 15:28
W temacie: Bugujące się dane w fvault
15.08.2024 18:28
Ogółem to problem naprawiony, po prostu nie dałem szHelp do parse(szData,
Dzięki za pomoc w innych rzeczach.
W temacie: Bugujące się dane w fvault
13.08.2024 22:50
Dlaczego lepiej rozdzielać pluginy i robić natywy? Jest to czasochłonne i niewygodne bo trzeba otwierać ciągle jakiś plik żeby coś innego zedytować
Z konwencji, chociażby. Teorytycznie można zrobić jeden mega wielki plugin, który będzie zawierał w sobie dosłownie wszystko co tylko się da, ale będzie to powodowało błędy chociażby z nazwami zmiennych itd. Podejrzewam, że sam compilator amxxpc ma jakąś ograniczoną liczbę znaków do wykorzystania, ale nigdy się aż tak nie wgłębiałem. Przez dzielenie pluginów łatwiej można zlokalizować błąd (tak jak w twoim przypadku), więc w skrócie: "mniej kodu = szybsze znalezienie błędu (z reguły)".
zresztą chodzi mi po prostu o to że tworze np public loadSystem, public loadMisje, public loadOther, tak samo z save i robie to po prostu pod inny plik fvault i wtedy działa. Resetować czyli ustawiać 0 tak?
zapisujesz dane i resetujesz zmienne (czyli ustawiasz 0 / false / 0.0 / "")
register_clcmd było by o wiele gorsze, a takto sobie zrobie register_clcmd tylko na say'a i potem equal'em sprawdzam co gracz wpisal i jak nie rozponaje nic to printuje ze nie znaleziono komendy tez mam system mute i prefixy co wlasnie w tej klasie dzialaja
czyli dajesz dodatkowo-zbędną robotę, pobierasz say i co każde wpisanie sprawdzasz kilkanaście razy ifami daną rzecz. Jak dla mnie zbędna rzecz, czasochłonna i nieefektywna.
Jak wszystko dasz do jednego sma i będzie tego bardzo duzo to kompilator moze sie zacinac, ale ja mam po prostu rozrzucone to tak jak napisałem wyżej dla mnie to jest o wiele lepsze niz robienie natywów itd. Nie wiem jakie błędy z nazwami zmiennymi ci chodzi, i te "itd", nigdy nie miałem takiego problemu.
Z racji że mod który robię nie należy do najprościejszych to mam bardzo dużo komend, robienie każdej komendy na register_clcmd by kosztowało o wiele więcej czasu bo nie każda komenda kieruje do jakiejś innej klasy tylko od razu mogę w tym equal'u np wyświetlić motd i po co mam robić specjalnie nową klasę żeby taką drobnostkę zrobić, na serwerze również mam system autoryzacji więc musiałbym w każdej klasie każdej komendy robic warunek czy gracz jest zalogowany a zrobienie tego od razu przy rejestracji clcmd jest chyba niemożliwe ale tego nei jestem pewien, plusem tez jest ze moge zrobic komendy na ! jak w cs go albo na inny prefix taka tam drobnostka.
W temacie: Bugujące się dane w fvault
13.08.2024 20:09
+ słyszałem żeby mieć w jednym pliku wszystko a nie rozdzielać.
To źle słyszałeś. W zasadzie to właśnie powinno się rozdzielać pluginy, a zmienne przekazywać sobie natywami.
Generalnie zaleca się resetować zmienne przy wyjściu gracza na serwerze, a nie zerować w momencie nie znalezienia klucza vault.
Poza tym, wie ktoś jak przechować czas w PlayedAllTime[id], bo zrobiłem dodawanie w client_disconnect ale jak wschodze znowu i wychodze to ustawia sie czas jaki spedzilem na sesji a nie zlicza się
if(equal(szMessage, "/eloelo")){
new iTime;
iTime = str_to_num(PlayedAllTime[id]) + (playedTime(id));
ColorChat(id, GREEN, "Czas aktualnej sesji: %d", playedTime(id));
ColorChat(id, GREEN, "Przegrany czas allTime: %d", iTime);
return PLUGIN_HANDLED
}
tak samo komenda mi printuje tylko ten czas z playedTime
w zapisie który wysłałeś nie widzę tam chociażby linijki z kodem od zapisu czasu.
przed zapisem:
PlayedAllTime[id] += get_user_time(index, 0/1)
no i zamiast sprawdzać czy gracz wpisał komendę, to po prostu lepiej jest ją zarejestrować przez register_clcmd
Dlaczego lepiej rozdzielać pluginy i robić natywy? Jest to czasochłonne i niewygodne bo trzeba otwierać ciągle jakiś plik żeby coś innego zedytować, zresztą chodzi mi po prostu o to że tworze np public loadSystem, public loadMisje, public loadOther, tak samo z save i robie to po prostu pod inny plik fvault i wtedy działa. Resetować czyli ustawiać 0 tak?
przed zapisem czyli w client_disconnect przed saveSystem(id) ?
Staram się trzymać prawie wszystko w jednym sma i rozdzielać sobie na inne pliki w takim sensie ze np #include "files/saveload.inl" więc register_clcmd było by o wiele gorsze, a takto sobie zrobie register_clcmd tylko na say'a i potem equal'em sprawdzam co gracz wpisal i jak nie rozponaje nic to printuje ze nie znaleziono komendy tez mam system mute i prefixy co wlasnie w tej klasie dzialaja
W temacie: Bugujące się dane w fvault
12.08.2024 22:33
[quote name="Deus Vult" post="778749" timestamp="1723367785"]
Z tego kodu raczej nic nie wynika, poza tym że jest słabej jakości. Wyślij całość najlepiej.
To znaczy ze zmienne są alokowane daleko poza rzeczywisty rozmiar tablicy. Pokaz fragment kodu który odpowiada za wyświetlenie expa i lvl. Może tam jest problem z błędną konwersją danych?
jeżeli jest problem tylko z dwoma zmiennymi w zapisie to raczej nie szukał bym tu problemu
No z deklarowaniem rozmiaru tablicy to fakt, jak robiłem ten zapis to myślałem ze 33 to id , ale nie oznacza to ze od razu jest słabej jakości. To nie jest błąd z konwersją danych, bo wszędzie tak wyświetla ten exp i lvl i w menu broni się zgadza wszystko, gdy rozdzieliłem zapis na 3 pliki fvault to teraz działa prawidłowo, ale wole mieć to w jednym i poznać problem + słyszałem żeby mieć w jednym pliku wszystko a nie rozdzielać.
- AMXX.pl: Support AMX Mod X i SourceMod
- → Przeglądanie profilu: Posty: NwNwH
- Regulamin