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
*****

#622607 [ROZWIĄZANE] Sprawdzenie poprawności pluginu, szybko :P

Napisane przez Mister Silenzo w 04.03.2014 21:59

#include <amxmodx>
#include <fun>
#include <colorchat>

public plugin_init() {
	register_plugin("2 Fragi", "Autorska", "Mister Silenzo");
	register_event("DeathMsg", "EventDeath", "a"); // Wydarzenie odpowiedzialne za wyłapywanie zabójstw
}

public EventDeath() {
	new kid = read_data(1); // Numer ID osoby, która zabiła 
	new vid = read_data(2); // Numer ID osoby, która ZOSTAŁA zabita
	new hs = read_data(3); // Zwraca 1 jeżeli zabójstwo było przez headshot, lub 0 gdy było strzałem/kosą w ciało
	// read_data() służy do odczytywania parametrów wydarzenia, jeżeli użyłem złego słowa do opisania tej funkcji i jej funkcji to proszę o poprawienie mnie xd
	
	if(kid == vid || kid == 0) return; // Jeżeli OFIARĄ jest ZABÓJCA (czyt. samobójstwo) lub ZABÓJCA jest zerem (KID jest równe 0 gdy spada się z wysokości, lub admin używa SLAY ;-;)
	
	new name[2][32]; // Tablica dwuwymiarowa o dwóch polach z indeksami od 0 do 31 (Jeżeli źle wytłumaczyłem to proszę o poprawienie mnie ;/)
	if(get_user_weapon(kid) == CSW_KNIFE) { // Jeżeli bronią ZABÓJCY jest NÓŻ
		get_user_name(kid, name[0], 31); // Pobierz nick ZABÓJCY do pierwszego pola tablicy.
		get_user_name(vid, name[1], 31); // Pobierz nick OFIARY do drugiego pola tablicy.
		ColorChat(kid, RED, "^1Zdobywasz dodatkowego fraga za zabicie ^4%s^1 z ^4NOZA^1!", name[1]); // Wyświetl ZABÓJCY informację o dodaniu fraga
		for(new i = 0; i < get_maxplayers(); i++) { /* Tutaj spotykamy się ze słowem kluczowym "for", które definiuje pętlę. 
								W pętli tworzymy nową zmienną "new i" i przypisujemy jej wartość zero "new i = 0;". 
								Warunek obrotu pętli, czyli "i < get_maxplayers();", co ma się stać po obrocie pętli, czyli "i++".*/
				if(!is_user_connected(i) || is_user_bot(i) || is_user_hltv(i) || i == kid) continue; /* I jest numerem ID gracza w tej pętli, 
														więc jeżeli gracz z pętli jest zabójcą, jest niepołączony, jest botem lub hltv to go pomijamy :P
														Pomijamy zabójcę w pętli, ponieważ dla niego wiadomość została wyświetlona wcześniej, więc nie ma potrzeby pokazywać mu
														po raz kolejny tego samego, prawda? :P*/
				ColorChat(i, RED, "^4%s ^1zdobywa dodatkowego fraga za zabicie ^4%s ^1NOZEM!", name[0], name[1]);
		}
		set_user_frags(kid, get_user_frags(kid) + 1); // Dodajemy do obecnej ilości fragów ZABÓJCY jednego fraga.
		return; // Przerywa dalsze działanie kodu, gdyż gdyby zabójstwo nożem odbyło by się poprzez HS gracz dostał by dwa dodatkowe fragi zamiast jednego.
	}
	// Tutaj robimy to samo co powyżej z tą różnicą, że funkcja nie rozpoczyna się od sprawdzenia czy gracz ma nóż, lecz czy zabójstwo odbyło się poprzez HS.	
	if(hs == 1) {
		get_user_name(kid, name[0], 31);
		get_user_name(vid, name[1], 31);
		ColorChat(kid, RED, "^1Zdobywasz dodatkowego fraga za zabicie ^4%s HEADSHOTEM^1!", name[1]);
		for(new i = 0; i < get_maxplayers(); i++) {
				if(!is_user_connected(i) || is_user_bot(i) || is_user_hltv(i) || i == kid) continue;
				ColorChat(i, RED, "^4%s ^1zdobywa dodatkowego fraga za zabicie ^4%s ^1HEADSHOTEM!", name[0], name[1]);
		}
		set_user_frags(kid, get_user_frags(kid) + 1);
		return;
	}
	/*
	Mam nadzieję, że nauczyłeś się czegokolwiek XD Jeżeli czegoś nie wiesz to zapraszam na PW, bądź pisz w temacie, chętnie "pouczę" podstaw, gdyż jak na razie sam znam tylko podstawy :P
	*/
}
Proszę, oto kompletny kod z komentarzami, miłej lektury (o ile chcesz się czegoś nauczyć xD Jeżeli nie to wrzuć w kompilator i tyle :P).
  • +
  • -
  • 1


#619259 [ROZWIĄZANE] Przywileje Ustawione

Napisane przez Mister Silenzo w 22.02.2014 23:03

Kod skompiluj sobie tutaj http://amxx.pl/kompilator/

 

Nie musisz mieć rCon'a bo plugin działa tak, że przy każdym nowym połączeniu się gracza z serwerem, tj. wpisaniu przez gracza "connect ip" w konsoli, admini zostają wczytani ponownie poprzez wysłanie do serwera komendy, "amx_reloadadmins", czyli nie jest to robione przez gracza, a przez serwer, który tak jakby wywołuje komendę sam na sobie, a sama komenda ma za zadanie ponowne wczytanie pliku "users.ini".


  • +
  • -
  • 1


#617963 Zlecenie Zabójstwa

Napisane przez Mister Silenzo w 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ę :>


  • +
  • -
  • 11


#611148 [ROZWIĄZANE] Magiczny Marker na flage

Napisane przez Mister Silenzo w 30.01.2014 19:02

jumper343 , jest moim znajomym, napisał do mnie na PW, zrobiłem mu ten plugin już, więc raczej do zamknięcia :D


  • +
  • -
  • 1


#607651 [ROZWIĄZANE] [Szukam] Pluginu /przenies level na inna klase

Napisane przez Mister Silenzo w 20.01.2014 22:14

#include <amxmodx>
#include <codmod>
#include <tutaj_include> // musisz podac nazwe include, gdyz nie widzialem go w temacie XD

public plugin_init() {
	register_plugin("Przenies lvl klasy", "1.0", "Mister Silenzo")
	
	register_clcmd("say /przenies", "wybierz_klase");
	register_clcmd("say_team /przenies", "wybierz_klase");
}

public wybierz_klase(id)
{
	if(!is_user_connected(id)) return PLUGIN_CONTINUE;
	
	if(cod_get_user_coins(id) >= 15000) {
		new tytul[64], nazwa_klasy[256];
		format(tytul, sizeof(tytul), "\rNa jaka klase :");
		new menu = menu_create(tytul, "wybierz_klase_handler");
		for(new i=1; i<=cod_get_classes_num(); i++)
		{
			cod_get_class_name(i, nazwa_klasy, 255)
			menu_additem(menu, nazwa_klasy)
		}
		
		menu_display(id, menu);
		return PLUGIN_HANDLED;
	}
	client_print(id, print_chat, "Nie masz wystarczajacej ilosci monet!");
	return PLUGIN_HANDLED;
}

public wybierz_klase_handler(id, menu, item)
{
	if(item++ == MENU_EXIT)
	{
		menu_destroy(menu)
		return PLUGIN_CONTINUE;
	}
	new klasa[2][65];
	
	new exp = cod_get_user_xp(id);
	new coiny = cod_get_user_coins(id);
	cod_get_class_name(cod_get_user_class(id), klasa[0], 64);
	cod_set_user_xp(id, 0);
	cod_set_user_class(id, item, 1);
	cod_get_class_name(cod_get_user_class(id), klasa[1], 64);
	cod_set_user_xp(id, exp);
	cod_set_user_coins(id, coiny-15000);
	client_print(id, print_chat, "Przeniosles sobie lvl z klasy %s na klase %s za 15000 monet!", klasa[0], klasa[1]);
	return PLUGIN_CONTINUE;
}
Proszę, tak jak chciałeś, koszt 15000 monet :D
  • +
  • -
  • 1


#607644 [ROZWIĄZANE] [Szukam] Pluginu /przenies level na inna klase

Napisane przez Mister Silenzo w 20.01.2014 21:48

Musiałbym mieć plugin na monety jaki używasz, bądź natywy z niego jeżeli jakieś są :/ Tylko nie wiem czy modyfikacja co do monet nie będzie już offtopem xD
  • +
  • -
  • 1


#607639 [ROZWIĄZANE] [Szukam] Pluginu /przenies level na inna klase

Napisane przez Mister Silenzo w 20.01.2014 21:33

Nie musisz mnie od razu wyzywać >.<
 
#include <amxmodx>
#include <codmod>

public plugin_init() {
	register_plugin("Przenies lvl klasy", "1.0", "Mister Silenzo")
	
	register_clcmd("say /przenies", "wybierz_klase");
	register_clcmd("say_team /przenies", "wybierz_klase");
}

public wybierz_klase(id)
{
	new tytul[64], nazwa_klasy[256];
	format(tytul, sizeof(tytul), "\rNa jaka klase :");
	new menu = menu_create(tytul, "wybierz_klase_handler");
	for(new i=1; i<=cod_get_classes_num(); i++)
	{
		cod_get_class_name(i, nazwa_klasy, 255)
		menu_additem(menu, nazwa_klasy)
	}
	
	menu_display(id, menu);
}

public wybierz_klase_handler(id, menu, item)
{
	if(item++ == MENU_EXIT)
	{
		menu_destroy(menu)
		return PLUGIN_CONTINUE;
	}
	new klasa[2][65];
	
	new exp = cod_get_user_xp(id);
	cod_get_class_name(cod_get_user_class(id), klasa[0], 64);
	cod_set_user_xp(id, 0);
	cod_set_user_class(id, item, 1);
	cod_get_class_name(cod_get_user_class(id), klasa[1], 64);
	cod_set_user_xp(id, exp);
	client_print(id, print_chat, "Przeniosles sobie lvl z klasy %s na klase %s", klasa[0], klasa[1]);
	return PLUGIN_CONTINUE;
}
Proszę, powinno działać, nie sprawdzałem, ale wygląda dobrze.
  • +
  • -
  • 1


#607634 [ROZWIĄZANE] [Szukam] Pluginu /przenies level na inna klase

Napisane przez Mister Silenzo w 20.01.2014 21:18

Proszę bardzo http://amxx.pl/topic...dmin-menu-v-15/
  • +
  • -
  • 1


#607498 [ROZWIĄZANE] zmienne w nowym menu (zmieniajaca sie tresc)

Napisane przez Mister Silenzo w 20.01.2014 16:32

#include <amxmodx>

new g_zmienna[2], bool:zaglosowal[33];

public plugin_init() {
	register_plugin("test", "1.0", "Mister Silenzo");
	
	register_clcmd("say /test", "Menu_");
}

	
public Menu_(id) {
	new menu = menu_create("TEST", "Menu_H");
	
	new napis[2][16];
	
	format(napis[0], 15, "Tak (%i)", g_zmienna[0]);
	format(napis[1], 15, "Nie (%i)" , g_zmienna[1]);
	
	if(!zaglosowal[id]) {
		menu_additem(menu, napis[0]);
		menu_additem(menu, napis[1]);
	} else {
		set_task(1.0, "Wyswietl_menu", 53, .flags="b");
		set_task(11.0, "Wylacz_wyswietlanie");
	}
}

public Wyswietl_menu(id) {
	new menu = menu_create("TEST", "Menu_H");
	
	new napis[2][16]
	
	format(napis[0], 15, "Tak (%i)", g_zmienna[0]);
	format(napis[1], 15, "Nie (%i)" , g_zmienna[1]);
	
	menu_addtext(menu, napis[0]);
	menu_addtext(menu, napis[1]);	
}

public Wylacz_wyswietlanie() remove_task(53);
Jak na moje to będzie coś takiego, ale jeżeli jest to totalną głupotą to proszę nie warnować ;/ Musisz sobie dorobić handler i w nim ustawić zaglosowal[id] na true i ponownie wywolac Menu_(id) aby odpalily sie taski (wiem, głupie bo można odpalić je w handlerze po wybraniu tak/nie, ale nie chciało mi się już przepisywać xD). I dodaj sobie profilaktykę, czyli sprawdź czy jest podłączony, etc. (Ale chyba nie trzeba o tym przypominać :D)
  • +
  • -
  • 2


#605977 /sklep za jakieś kosmiczne monety itd

Napisane przez Mister Silenzo w 16.01.2014 14:52

Ale potrzebujesz tego pluginu tutaj czy prywatnie?


  • +
  • -
  • 2


#604133 Kick All - wyrzucanie wszystkich graczy z powodem.

Napisane przez Mister Silenzo w 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
  • +
  • -
  • 2


#603519 [ROZWIĄZANE] W jaki sposób działają pluginy bez dopisywania ich do "plugi...

Napisane przez Mister Silenzo w 09.01.2014 23:45

sebul, nazwałem to "plugins-*.ini", gdyż nazwa po myślniku może być jakakolwiek, a najważniejszy jest fragment "plugins-". Dodatkowo potwierdzone info, stworzyłem plik "plugins-test.ini" w katalogu "configs" i dopisałem do niego plugin "test.amxx". Plugin wczytał się zaraz po pluginach z "plugins.ini". Dzięki za szybką odpowiedź i proszę o zamknięcie :>


PS. DarkGL przegląda mój temat wow, taki fejm, wow, uszanowanko ;-;
  • +
  • -
  • 2


#603478 Nóż na komendę /noz

Napisane przez Mister Silenzo w 09.01.2014 21:19

Testowane, działa :P

Załączone pliki


  • +
  • -
  • 3


#602554 Zmiana koloru napsiów w say

Napisane przez Mister Silenzo w 06.01.2014 20:08

    ColorChat(0, GREEN,"^4 Nazwa sieci^1: Najlepszy gracz w tej rundzie: ^3%s", name)
    if(iKills >= 5 || iKills == 0)
    {
        ColorChat(0, GREEN, "^4 Nazwa sieci^1: Zdobyl ^3%d ^1fragow", iKills)
    }
    else if(iKills > 1 && iKills < 5)
    {
        ColorChat(0, GREEN, "^4 Nazwa sieci^1: Zdobyl ^3%d ^1fragi", iKills)
    }
    else if(iKills == 1)
    {
        ColorChat(0, GREEN, "^4 Nazwa sieci^1: Zdobyl ^31 ^1fraga")
    }
    ColorChat(0, GREEN, "^4 Nazwa sieci^1: Ustrzelil ^3%d ^1hsow", iHS) //W każdym miejscu nazwa sieci na zielono, nick/liczba będzie kolorem drużyny, a reszta napisów pozostaje zwykła (w CS żółta)
Liczę na + ;-;
  • +
  • -
  • 1


#601299 [ROZWIĄZANE] Ruletka JailBreak

Napisane przez Mister Silenzo w 04.01.2014 19:21

Dodałem info w HUD o sVIP, resztę sprawdzę jutro, bo dzisiaj nie jestem w stanie (wyjazd rodzinny i nie jestem na swoim PC xD)

 

 

PS. Daj ocenę bo będzie mi smutno ;-;

Załączone pliki


  • +
  • -
  • 2