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
 

Puchate - zdjęcie

Puchate

Rejestracja: 17.06.2014
Aktualnie: Przegląda temat Błąd przy kompilacji
Poza forum Ostatnio: 19.07.2019 13:41
*****

#724590 Ustawianie timera na ruletke

Napisane przez Puchate on 11.04.2016 10:01

/* 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]))
	}
}

  • +
  • -
  • 1


#723752 [ROZWIĄZANE] HAMSANDWICH - Ham_Spawn nie wykonuje funkcji

Napisane przez Puchate on 29.03.2016 08:55

Zaktualizuj moduł hamsandwitcha i jego plik konfiguracyjny do wersji pasującej do Twojego engine hlds.


  • +
  • -
  • 1


#723244 Plugin, który czyści konsolę co 60 sekund

Napisane przez Puchate on 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")
}

  • +
  • -
  • 1


#722928 float przycięcie do 2 miejsc po przecinku

Napisane przez Puchate on 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.


  • +
  • -
  • 1


#718742 Urywanie 0.1 z float.

Napisane przez Puchate on 22.01.2016 10:29

Standardowy problem, ja dodawałem sobie  0.000001

 

 

Ew spróbuj tego

stock Float:round(Float:value, decimals)
{
    new Float:p = float(power(10, decimals));
    return float(floatround(value * p, floatround_floor)) / p;
}

  • +
  • -
  • 1


#715236 Plugin dający deff dla CT

Napisane przez Puchate on 26.11.2015 13:59


Wszystko działa

Ciekawe w jaki sposób :P

 


get_user_team != 2)

  • +
  • -
  • 1


#715235 Program kompresji na liczbę binarna/szesnastkowa

Napisane przez Puchate on 26.11.2015 13:57

https://www.google.p...57j0l5.2958j0j8


  • +
  • -
  • 2


#714091 Problem z zapytaniem do bazy danych, błąd w zapytaniu

Napisane przez Puchate on 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ż?

 


  • +
  • -
  • 1


#713990 Event halloween.

Napisane przez Puchate on 30.10.2015 15:12

Ciekawa inicjatywa - ma ktoś jakieś interesujące pomysły ? :)


  • +
  • -
  • 1


#713942 Serwer do przekierowywania

Napisane przez Puchate on 29.10.2015 11:24

Ustawić maksymalnie długi czas rundy i mapy, załadować mapy z małą ilością entity, można kombinować w tą stronę


  • +
  • -
  • 1


#713773 Blokowanie komendy status

Napisane przez Puchate on 25.10.2015 17:50

Nie da się pluginem.

 

https://forums.allie...441&postcount=2


  • +
  • -
  • 1


#713686 Strona nie łączy się z bazą mysql

Napisane przez Puchate on 23.10.2015 12:16

Dowiedz sie jaki jest adres serwera mysql.


  • +
  • -
  • 1


#710645 [ROZWIĄZANE] "Sprite" wystrzelone z broni - jak zrobić?

Napisane przez Puchate on 25.08.2015 10:48

Moze podejrzyj jak wyglada sprawa w paintball modzie.


  • +
  • -
  • 1


#700515 ReHLDS - optymalne engine HLDS + źródła

Napisane przez Puchate on 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


  • +
  • -
  • 10


#700227 [ROZWIĄZANE] menu_create zawsze zwraca 0 (?) :O

Napisane przez Puchate on 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  ;)


  • +
  • -
  • 5