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
 

Mister Silenzo - zdjęcie

Mister Silenzo

Rejestracja: 12.09.2013
Aktualnie: Nieaktywny
Poza forum Ostatnio: 12.02.2021 05:00
*****

Moje tematy

[MySQL] Odczytywanie wartości z tabel.

05.03.2014 21:08

Witam!
 
Postanowiłem pobawić się trochę pluginami z MySQL, a co za tym idzie, biblioteką "sqlx", już na samym początku napotykam problem, gdyż nie wiem w jaki sposób mam odczytać wartości z tabel i wypisać je w konsoli, a dokładniej, mam taki kod, który odpowiada za połączenie:
 
#include <amxmodx>
#include <sqlx>

new const HOST[] = "localhost";
new const USER[] = "root";
new const PASSWORD[] = "1234567";
new const DB[] = "cstrike_db";

new Handle:mysql;

public plugin_init() {
	register_plugin("TEST", "AUTORSKA", "MISTER SILENZO");
	
	mysql = SQL_MakeDbTuple(HOST, USER, PASSWORD, DB);
	
	new errcode, error[64];
	SQL_Connect(mysql, errcode, error, sizeof(error));
	
	if(errcode == 0) server_print("Polaczenie z baza nawiazane! Baza danych: %s!", DB);
	else {
		new string[128];
		formatex(string, sizeof(string), "Wystapil blad! Kod bledu %i o tresci %s!", errcode, error);
		server_print(string);
		set_fail_state(string);
	}
}
Bazę danych postawiłem na PC poprzez XAMPP'a a jako interfejsu graficznego bazy danych używam HeidiSQL. W interfejsie baza wygląda tak.

0ghdEhX.png

Jest stworzona baza danych o nazwie cstrike_db, w bazie jest tabela o nazwie "konta" a w tabeli są trzy rekordy o właściwościach podanych na screenie.

Teraz chcę ze wszystkich dostępnych rekordów odczytać wartość ID, nick i punkty i wypisać je w konsoli serwera (server_print) w takiej postaci "ID: %i ma nick %s. Jego punkty: %i". Proszę o dokładne wytłumaczenie wszystkich przeprowadzanych operacji, z góry dziękuję za pomoc :>

PS. Czytałem tematy typu "MySQL, z czym to się je", etc., lecz niezbyt do mnie przemówiły ;/

Zlecenie Zabójstwa

19.02.2014 01:29

opis

Plugin pozwala przy użyciu komendy przyjąć zlecenie na losowego gracza, po którego zabiciu otrzymujemy punkty, które potem możemy wydać w sklepie.

komendy
Plugin zawiera w sobie następujące komendy:

- /zlecenie - Pozwala nam przyjąć zlecenie (Aby przyjąć zlecenie na serwerze musi być co najmniej trzech graczy)

- /ztryb - Kiedy mamy już aktywne zlecenie, możemy użyć owej komendy, aby przełączać się między trybami zleceń, tj. jeżeli włączymy funkcję to po wykonaniu zlecenia automatycznie zostanie przydzielone nam następne, w przeciwnym wypadku ponownie należy wpisać komendę.

- /kogo - Jeżeli mamy aktywne zlecenie, owa komenda przy użyciu ColorChat'u wyświetli nam nick gracza, na którego aktualnie polujemy

- /porzuc - Jeżeli mamy aktywne zlecenie, przy użyciu tej komendy możemy je porzucić. Jeżeli użyliśmy komendy "/ztryb" i włączyliśmy automatyczne przyjmowanie zleceń to użycie tej komendy automatycznie wyłączy tę funkcję.

- /zshop, /zsklep - Otwiera menu sklepu, w którym możemy za zdobyte punkty kupować zlecenia na innych graczy, kupować zestawy broni, bądź zestaw granatów, które jak bronie dostajemy co rundę. Dodatkową opcją jest możliwość kupienia Admina/VIP'a z punkty, po wybraniu danej opcji wyświetla się nam stosowna wiadomość w ColorChacie.

komendy admina
- /zamenu - Otwiera menu admina, przez które możemy dodać bądź odjąć punkty, ustawić punkty gracza na daną wartość bądź je wyzerować. Ostatnią funkcją menu admina jest możliwość resetu pluginu, tj. resetuje wyniki graczy obecnie grających na serwerze i czyści plik .vault. Każda opcja wyświetla stosowny komunikat używającemu jak i osobie, na której dana funkcja została wykonana.

inne informacje
Plugin korzysta zarówno z CVAR'ów jak i definicji, które pozwalają konfigurować plugin główny i podpluginy.

#define PODBOTY 1 // Znajduje się w pluginie głównym oraz pluginie ze sklepem, pozwala zdefiniować nam czy chcemy grać z botami czy też nie, jeżeli nie chcesz to zakomentuj, bądź jeżeli grasz z botami zostaw tak jak jest.

#define VIP_FLAG ADMIN_LEVEL_H // Flaga "t", definicja flagi VIP'a jaka działa w pluginie, konieczne jest jej ustawienie ze względu na funkcje VIP zawarte w pluginie, które dla osób z taką flagą pozwalają zdobywać więcej punktów za wykonane morderstwa.

#define ADMIN_FLAG ADMIN_LEVEL_G // Flaga "s", definicja flagi Admina, która jest potrzebna do korzystania z komendy /zamenu.

wymagane moduly
- ColorChat
- nVault
- dhudmessage
- fun
- StripWeapons
- cstrike
- ZlecenieZabojstwa (biblioteka przygotowana na potrzeby pluginu - patrz download)

download
Changelog:
0.1a ----> 0.2a
Konfiguracje cvarami zastapiono konfiguracja czytana z pliku.


Załączony plik  Zlecenie_Zabojstwa_02a.sma   9,51 KB  280 Ilość pobrań
  Zlecenie_Zabojstwa_02a.amxx
Załączony plik  zlecenie_zabojstwa.cfg   136 bajtów  281 Ilość pobrań


Załączony plik  Zlecenie_Zabojstwa.sma   9,1 KB  254 Ilość pobrań
  Zlecenie_Zabojstwa.amxx

Załączony plik  Zlecenie_Zabojstwa_Admin.sma   4,9 KB  239 Ilość pobrań
  Zlecenie_Zabojstwa_Admin.amxx

Załączony plik  Zlecenie_Zabojstwa_Shop.sma   10,42 KB  233 Ilość pobrań
  Zlecenie_Zabojstwa_Shop.amxx

Załączony plik  ZlecenieZabojstwa.inc   393 bajtów  255 Ilość pobrań


 

PS. Nawet jeżeli plugin cię nie interesuje to przejrzyj pliki i w odpowiedzi powiedz mi co można poprawić bądź zmienić od strony samego kodu, z góry dziękuję :>

Kick All - wyrzucanie wszystkich graczy z powodem.

11.01.2014 17:17

opis
Plugin do celów administracyjnych. Jeżeli potrzebujesz w subtelny sposób poinformować graczy o chęci przeprowadzenia prac na serwerze, ten plugin jest dla ciebie. Plugin pozwala ustawić hasło na serwerze, podać powód wyrzucenia z serwera, a następnie zmienia mapę na obecną.


komendy admina
Aby użyć komendy musisz posiadać flagę ADMIN_IMMUNITY (Immunitet):
- kick_all


instalacja
Standardowa, plik ".amxx" wrzucamy do "plugins", ".sma" do "scripting" i dopisujemy "kick_all.amxx" do "plugins.ini".

inne informacje
Plugin stworzony dla amxx.pl, wrzucanie na inne serwisy bez zgody Autora - ZABRONIONE.

download
Załączony plik  kick_all.sma   2 KB  308 Ilość pobrań
  kick_all.amxx

[ROZWIĄZANE] W jaki sposób działają pluginy bez dopisywania ich do "plugins.ini"?

09.01.2014 23:01

Witam.


Od dłuższego czasu ciekawi mnie temat dopisywania pluginów właśnie do "plugins.ini" i to jak działają pluginy, które są aktywne, ale nie są tam wpisane, dla przykładu CoD by QTM.

[ROZWIĄZANE] Wytłumaczenie działania tablic

18.12.2013 23:53

Witam.

Piszę plugin i natrafiłem na pewien problem, nie potrafię używać tablic dwu i więcej wymiarowych (jeżeli niepoprawnie językowo to przepraszam xD). Powiedzmy, że jest taki kod:

#include <amxmodx>

new HudSyncObj

new kills

public plugin_init() {
	register_plugin("asd", "1.0", "Mister Silenzo")
	
	HudSyncObj = CreateHudSyncObj()
	
	register_clcmd("say /dodaj", "dodaj_h")
	
	set_task(0.1, "test", .flags="b")
}

public dodaj_h(id)
{
	kills += 50
}

public test(id)
{
	set_hudmessage(255, 0, 0, 0.45, 0.55, 0, 0.0, 0.0, 0.1, 0.1, 69);
	ShowSyncHudMsg(id, HudSyncObj, "Wartosc zmiennej: %i", kills);
}
I teraz moje pytanie, aktualnie działa to tak, że bez względu na wszystko jak wpiszę /dodaj to każdemu wartość zmiennej podniesie się o 50, a chciałem zrobić tak, że każdy ma swoją własną wartość na ekranie, jak to zrobić?