/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <amxmisc> #define PLUGIN "Plugin" #define VERSION "0.1" #define AUTHOR "Sn!ff3r" new lastUsed[33] new useDelay = 180 public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR); } public client_putinserver(id) { lastUsed[id] = 0; } public funkcjaLosujaca(id) { new timestamp = get_systime(); if(!lastUsed[id] || timestamp - lastUsed[id] > useDelay) { // tutaj funkcja losujaca itd lastUsed[id] = timestamp; } else { client_print(id, print_chat, "Ruletki mozesz uzyc ponownie za %d sekund", useDelay - (timestamp - lastUsed[id])) } }
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.
|
Puchate
Rejestracja: 17.06.2014Aktualnie: Nieaktywny
Poza forum Ostatnio: 19.07.2019 13:40
Statystyki
- Grupa: Użytkownik
- Całość postów: 433
- Odwiedzin: 8 193
- Tytuł: Wszechobecny
- Wiek: Wiek nie został ustalony
- Urodziny: Data urodzin nie została podana
-
Płeć
Mężczyzna
-
Lokalizacja
Polska
Kontakt
Narzędzia użytkownika
Ostatnio byli
#724590 Ustawianie timera na ruletke
Napisane przez Puchate w 11.04.2016 10:01
#723752 [ROZWIĄZANE] HAMSANDWICH - Ham_Spawn nie wykonuje funkcji
Napisane przez Puchate w 29.03.2016 08:55
#723244 Plugin, który czyści konsolę co 60 sekund
Napisane przez Puchate w 22.03.2016 16:32
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <amxmisc> #define PLUGIN "Autoclear player console" #define VERSION "0.1" #define AUTHOR "Sn!ff3r" public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) set_task(60.0, "task_clear", 0, .flags="b") } public client_authorized(id) { set_task(5.0, "task_clear", id) } public task_clear(id) { console_cmd(id, "clear") }
#722928 float przycięcie do 2 miejsc po przecinku
Napisane przez Puchate w 17.03.2016 11:47
Ewentualnie, aby po 2 przecinkach były zera. tj. 1.34(0) takie coś, a nie 1.00 jak mam 1.34516112131 (jak działają pow. funkcje).
Tego się nie da zrobić. To jest ten problem z przechowywaniem liczb zmiennoprzecinkowych o którym pisałem wyżej.
Te funkcje niczego nie zaokrąglają, bo nie da się trzymać zaokrąglonych liczb w pamięci. Można je zaokrąglić przy wyświetleniu.
1.50 to nic innego jak 1.5000000, lecz przy przechowywaniu ta liczba się "psuje" i zmienia swoją wartość.
Pomnóż te liczby i pozbądź się floatów na rzecz intów przy porównywaniu. Wartości typu float są wartościami przybliżonymi i nie powinno się ich porównywać gdy liczy się precyzja. Float to tylko 4 bajty, a nie mamy dostępu do double.
Nikt tutaj się nie spina tylko Ty wciąż nie rozumiesz sposobu zapisywania liczb zmiennoprzecinkowych w pamięci komputera. To nie jest takie łatwe. Podstawy działania komputera się kłaniają. Zamiast się oburzać to wpisz sobie w google np. "zmienna float dokładność" i poczytaj o tym. Przykładowa strona z informacjami.
#718742 Urywanie 0.1 z float.
Napisane przez Puchate w 22.01.2016 10:29
#715236 Plugin dający deff dla CT
Napisane przez Puchate w 26.11.2015 13:59
#715235 Program kompresji na liczbę binarna/szesnastkowa
Napisane przez Puchate w 26.11.2015 13:57
#714091 Problem z zapytaniem do bazy danych, błąd w zapytaniu
Napisane przez Puchate w 02.11.2015 15:24
Nawet nie raczyłeś zdebugować tego błędu... ani przyjrzeć się zapytaniu, eh
Wystarczyło zapisać zapytanie do pliku (bądź usunąć z pluginowego znaki \) i wykonać zapytanie do bazy danych przez narzędzie co lepiej zaraportuje błąd, np. phpmyadmin.
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DATETIME NOT NULL, date_ungag DATETIME NOT NULL, gag_seconds INT NOT NUL' at line 8
Mianowicie...
player_ip VARCHAR(15) NOT NULL, PRIMARY KEY\
nie w tym miejscu, nieprawdaż?
#713990 Event halloween.
Napisane przez Puchate w 30.10.2015 15:12
#713942 Serwer do przekierowywania
Napisane przez Puchate w 29.10.2015 11:24
#713773 Blokowanie komendy status
Napisane przez Puchate w 25.10.2015 17:50
#713686 Strona nie łączy się z bazą mysql
Napisane przez Puchate w 23.10.2015 12:16
#710645 [ROZWIĄZANE] "Sprite" wystrzelone z broni - jak zrobić?
Napisane przez Puchate w 25.08.2015 10:48
#700515 ReHLDS - optymalne engine HLDS + źródła
Napisane przez Puchate w 14.05.2015 13:58
ReHLDS
Reverse-engineered HLDS v0.1
1. Czym jest ReHLDS?
Reverse-engineered HLDS, w skrócie ReHLDS jest silnikiem serwera dla gier GoldSource, takich jak Counter-Strike 1.6. Nie jest to twór ze stajni Valve, autorem projektu jest osoba prywatna która udostępnia go na zasadach open source. Stworzony został poprzez inżynierię wsteczną na podstawie oryginalnego engine w wersji 6153 (plik engine_i486.so).
2. Co to zmienia?
Podczas analizowania kodu aplikacji zostało wykryte wiele błędów (w tym potencjalnych), co poskutkowało naprawieniem ich w wynikowej wersji. Dzięki temu zyskujemy zdecydowanie większą stabilność serwera oraz optymalizację wydajności. Dla przykładu przypomnę, iż oryginalny silnik gry powstał w 1999 roku, w momencie gdy nie istniało wiele powszechnych dziś rozszerzeń rozkazów dla procesorów, takich jak SSE. Nie jest żadną nowością fakt, że HLDS od Valve nie wykorzystuje dostępnych dziś instrukcji, co przyczynia się na niebywale niską wydajność serwerów zważając na moc obliczeniową dzisiejszych komputerów. Inaczej jest natomiast w ReHLDS, autor projektu deklaruje wsparcie dla nowych technologii w wielu przypadkach, takich jak np. obliczenia na wektorach. Jednakże należy pamiętać że jest to tylko podstawowy element silnika gry służący do jego uruchomienia, nie obsługuje on rozgrywki więc większość operacji wykonuje się w plikach od producenta które takiej optymalizacji nie mają. Nie należy zatem oczekiwać kosmicznych przyrostów.
Dodatkowym smaczkiem jest nowe API serwera które możemy wykorzystywać w pluginach.
3. Jak używać?
Jak już wcześniej wspominałem, jest to oprogramowanie z udostępnionymi źródłami więc najlepszym rozwiązaniem jest skompilowanie programu w środowisku w którym będzie używany. Jednakże, będąc realistą, wiem że nie jest to proste ze względu na zaawansowany proces kompilacji (dla osób nie mających wcześniej z tym styczności) bądź brak dostępu do kompilatora.
Rozwiązaniem tego problemu jest pobranie skompilowanych już plików oraz wysłanie ich na serwer.
4. Wersje ReHLDS
W chwili obecnej są dostępne dwie wersje:
- pure - jest to wersja "bezpieczna", która używa mechanizmów zawartych w oryginalnym HLDS lecz z przepisanym kodem na nowo
- bugfixed - wersja zoptymalizowana, w której poprawione jest wiele błędów oraz wykonane są dodatkowe optymalizacje wydajności
5. Problemy
Zasadniczo ReHLDS jest już przetestowany i wszystkie znalezione błędy zostały poprawione, lecz wciąż jest to projekt w początkowej fazie wzrostu i mogą pojawić się nieoczekiwane problemy.
Dodatkowo, ze względu na inny proces kompilacji i zmienony kod mogą nie działać dodatki opierające się na analizowaniu skompilowanego już kodu (wyszukiwaniu patternów). Przykładem takiego dodatku jest Orpheu bądź Okapi.
6. Download
Źródła: https://github.com/d...stalker/rehlds/
Skompilowany silnik: http://nexus.rehlds..../rehlds-0.1.zip
Załączone pliki
-
rehlds-0.1.zip 5,99 MB 816 Ilość pobrań
#700227 [ROZWIĄZANE] menu_create zawsze zwraca 0 (?) :O
Napisane przez Puchate w 10.05.2015 15:44
użyjemy menu_destroy, to możemy metody zerowej używać
Nie, nie możemy. ID menu nie są per plugin więc jeśli jakikolwiek inny plugin przed naszym menu zarejestruje (wbudowane w amxx pluginy nie używają nowego menu) to możemy z metodą zerową się pożegnać.
Jaki problem jest przechowywać handler? Po co tak kombinować?
Jaki problem jest przechowywać handler? Po co tak kombinować?
Pseudooptymalizacja, pamięć w serwerach liczymy w dziesiątkach GB a ludzie szukają optymalizacji w pamięci liczonej w dziesiątkach bitów bo ktoś im wmówił że to zmienne są nieoptymalne, a nikt nie wspomniał że najwięcej CPU zużywają pluginy których logika działania jest źle wykonana
- AMXX.pl: Support AMX Mod X i SourceMod
- → Przeglądanie profilu: Reputacja: Puchate
- Regulamin