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
 

KoRrNiK - zdjęcie

KoRrNiK

Rejestracja: 26.12.2017
Aktualnie: Przegląda temat Plugin uses an unknown function
Dostępny Ostatnio: 21 minut temu
-----

#770743 Plugin ograniczający podwójne skoki

Napisane przez KoRrNiK on 22.02.2021 23:42

#include <amxmodx>
#include <fakemeta>
#include <hamsandwich> 

#pragma semicolon 	1

new const PLUGIN[] 	 = 	"Limit skokow";
new const VERSION[] 	 = 	"v1.0";
new const AUTHOR[] 	 = 	"KoRrNiK";

new userJump[33];
new userLimitJump[33];

new const additionalJump = 	1;   // Ilość dodatkowych skoków
new const limitJump 	 = 	3;           // Ilość powtórzeń

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR);
	
	register_forward(FM_CmdStart, "cmdStart");
	RegisterHam(Ham_Spawn, "player", "spawnHam", 1);
}

public spawnHam(id){ 
	
	if(!is_user_alive(id)) return;
	
	userLimitJump[id] = limitJump;
	userJump[id] = additionalJump;
	
}

public cmdStart(id, uc_handle){
	
	if (!is_user_alive(id)) return FMRES_IGNORED;
	
	static Float:velocity[3], button, oldButton, flags;

	button 		= 	get_uc(uc_handle, UC_Buttons);
	oldButton 	= 	pev(id, pev_oldbuttons);
	flags 		= 	pev(id, pev_flags);
	
	if ((button & IN_JUMP) && !(flags & FL_ONGROUND) && !(oldButton & IN_JUMP) && userJump[id]) {
		if(userLimitJump[id] >= 0){
			userJump[id]--;
			pev(id, pev_velocity, velocity);
			velocity[2] = random_float(265.0, 285.0);
			set_pev(id, pev_velocity, velocity);
		}
	} else {
		if (flags & FL_ONGROUND){
			if(!userJump[id]) userLimitJump[id]--;
			userJump[id] = additionalJump;
		}
	}
	return FMRES_IGNORED;
}
Trzymaj :)
  • +
  • -
  • 1


#770417 BaseBuilder TurboBB

Napisane przez KoRrNiK on 09.02.2021 13:50

Najnowszy release - wszystkie potrzebne pliki. Najnowsza wersja paczki :)


  • +
  • -
  • 2


#770408 Problem z itemem | O'zone

Napisane przez KoRrNiK on 09.02.2021 07:28

A sprawdź tak.

public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR);

	cod_register_item(NAME, DESCRIPTION, _, _, FLAG);
}

  • +
  • -
  • 3


#770378 [ROZWIĄZANE] granat zabija własnego siebie

Napisane przez KoRrNiK on 08.02.2021 09:15

public act_explode(ent){
	
	if (!pev_valid(ent)) return;

	new origin[3], Float:forigin[3], colors[4], owner = pev(ent, pev_owner), user_team = get_user_team(owner);

	colors = (user_team == 1) ? { 255, 0, 247, 70} : { 0, 255, 208, 30};
	pev(ent, pev_origin, forigin);
	FVecIVec(forigin, origin);

	new id, Float:distance = float(get_pcvar_num(radius)), Float:porigin[3];

	while (id++ < MaxPlayers){
	
		if(!is_user_alive(id) || user_team == get_user_team(id) || owner == id ) continue;
	
		message_begin(MSG_ONE_UNRELIABLE, SVC_TEMPENTITY, _, id);
		write_byte(TE_LAVASPLASH);
		write_coord(origin[0]);
		write_coord(origin[1]);
		write_coord(origin[2] - 50);
		message_end();

		message_begin(MSG_ONE_UNRELIABLE, SVC_TEMPENTITY, _, id);
		write_byte(TE_BLOODSPRITE);
		write_coord(origin[0]);
		write_coord(origin[1]);
		write_coord(origin[2] + 20);
		write_short(blood2);
		write_short(blood1);
		write_byte(colors[2]);
		write_byte(30);
		message_end();

		message_begin(MSG_ONE_UNRELIABLE, SVC_TEMPENTITY, _, id);
		write_byte(TE_DLIGHT);
		write_coord(origin[0]);
		write_coord(origin[1]);
		write_coord(origin[2]);
		write_byte(40);
		write_byte(colors[0]);
		write_byte(20);
		write_byte(colors[1]);
		write_byte(8);
		write_byte(60);
		message_end();
		
		pev(id, pev_origin, porigin);
		if (get_distance_f(forigin, porigin) <= distance){
			if (fm_is_visible(ent, id))
				ExecuteHam(Ham_TakeDamage, id, ent, owner, (id != owner) ? 30000.0 : 30000.0, 0);
		}
	}					

	emit_sound(ent, CHAN_AUTO, "weapons/sg_explode.wav", 1.0, ATTN_NORM, 0, PITCH_NORM);

	engfunc(EngFunc_RemoveEntity, ent);
} 

  • +
  • -
  • 1


#769886 BaseBuilder TurboBB

Napisane przez KoRrNiK on 18.01.2021 19:29

Cześć, a też udostępnię swoją paczkę basebuilder ponieważ nie chce mi się już trochę jej rozwijać a komuś może się przydać :) 
Jak Zuzia udostępniła to ja też hehe. Paczka posiada np Grzybki stworzone przez Zuzię tak jak kilka rzeczy :D Pozdrawiam Cieplutko  ;> 
Pisząc tą paczkę bardzo dużo przy niej się nauczyłem(chyba) i może być w mniej trochę bałaganu i dziwnych rozwiązań ale działa :P

opis
Silnik BaseBuilder posiada w sobie:

  • Kopiowanie klocków 
  • Obracanie klocków 
  • Sklep-SMS
  • Anty-Reconnect
  • Anty-AFK
  • Ogranicznik fps ( MAX: 101fps ) 
  • System Czapek ( 98 czapek, 5 tylko ma jakiś bonus jeśli ktoś jej użyje będzie mógł sobie dodać do reszty )
  • HappyHourTime ( Nazwa trochę wprowadza w błąd ponieważ bonus jest na jedną mapę ) ( 7 rodzajów happy ) Większe obrażenia, więcej bryłek, expa itp.
  • Klany ( Możliwość ulepszania )
  • Płacenie za swoją śmierć ( Możesz wybrać jakie zombie może Ciebie zabić do której minuty/sekundy oraz czy może godować i po zabiciu zombie dostaje z Ciebie odpowiednią ilość bryłek )
  • System Ulepszania/Levelowania Broni ( Możliwość zresetowania poziomu: Otrzymujesz jakieś tam bonusy )
  • System Ulepszania Zombie ( Każdy zombie jest od danego poziomu + danej ilości przegranej godzin na serwerze )
  • System Klas Budowniczych - Każda klasa posiada własną kosę ( model )
  • System Levelowania Klas Budowniczych ( Każda klasa posiada inną umiejętność oraz bonus który ulepsza się podczas levelowania klasy ) 
  • Misje Podstawowe, Sekretne, Profesjonalne ( Podstawowe to sama nazwa już daje dużo za siebie, sekretnych nikt nie wie oprócz osoby która je wykona, profesjonalne dodają bonusy po wykonaniu dla np: klas budowniczych, lub zombie )
  • Jetpack ( Umożliwia latania podczas budowania )
  • Kopalnia ( Możliwość ulepszenia swojej kopali która umożliwia kopanie Bryłek ( Waluta )
  • System Bryłek ( 6 rodzajów bryłek każdy kolor jest innej wartości ) Za bryłki możesz ulepszać klan / kopalnie / bronie
  • Waluta dla zombie: Kości wypadają jak zombie zabije budowniczych oraz jak zginie ( Umożliwia ulepszanie zombie )
  • System ostrzeżeń dla adminów ( Admin może nadać ostrzeżenie graczowi jak złamie regulamin ) 
  • Menu Admina ( God, Noclip, Budowanie, God + Budowanie na 20sek, Zatrzymywanie czasu budowania, przywracanie bloków, odpychanie zombie aby nie mogło podejść ) I jeszcze kilka rzeczy
  • System przenoszenia graczem ( Admin może złapać gracza i go przenieść )
  • Możliwość przesuwania całych kamp przez Admina(chyba działa) / może zaznaczyć całą kampe oraz ją usunąć )
  • System kont ( Oraz automatycznego logowanie )
  • Możliwość zmiany ustawień pod /konto ( np: Koloru hud, prędkości jetpacka, renderingu klocków, możesz też wyłączyć modele kos, zmiana fovu, wyłączenie widzenia osób z twojego teamu, widok z 3 osoby )
  • Przywracanie kamp Budowniczych gdy on zginie
  • System Logów dla [email protected] prawie do wszystkiego.
  • Pomoc ( Gracz może poprosić o pomoc admina podczas przygotowania )
  • Top 10 ( 7 różnych topek np: Punktów, Czasu, Poziomu Budowniczych, Poziomu Postaci, Obrażeń, Klanów, Poziomów Broni )
  • Nagroda ( Odbieranie nagrody co 5godzin przegranych na serwerze )
  • Darmowa Nagroda ( Codziennie po odbieraniu nagród dostajesz nową nagrodę do odebrania kolejnego dnia )
  • Powolne przesuwanie klocków pod T
  • Grzybki ( Filmik z jego działania znajdziesz pod tematem Zuzi z BaseBuilder CoinBB lub RPG(to była paczka) )
  • Vip ( Więcej Expa / Bryłek, Czas mocy skrócony o 5%, Więcej HP ( Budowniczy + 25, Zombie +500) Większe obrażenia o 5%, Lepsze nagrody, Limit klocków zwiększony o 5 )

Prawdopodobnie o czymś zapomniałem ale większość opisałem  ^D^

Opis klas Budowniczych:

- Budowniczy: Posiada szanse na dodatkowe Bryłki podczas strzelania
- Lekarz: Posiada więcej HP + większy DMG! Możliwość uleczenia sojuszników
- Elektryk: Posiada szanse, ze strzelisz piorunem oraz Posiada Stojak Elektryczny
- Naukowiec: Posiada butelkę z trucinza! Oraz szanse na odnowienie
- Myśliwy: Posiada pułapkę z kolcami na zombie! Oraz szanse na spowolnienie
- Strzelec: Posiada szanse na dodatkowa amunicje! Posiada stacyjkę z amunicja!
- Buldożer: Posiada szanse na odepchniecie Zombie! Posiada pierścień odpychający!
- Mag Ognia: Posiada kule ognia i może nią strzelić! Posiada szansę na podpalenie Zombie!
- Lodowy Mag: Posiada kule lodowa i może nią strzelić! Posiada szansę na zamrożenie Zombie!
- Aimer: Posiada 100% na HSA po odpaleniu mocy oraz kilka % na trafienie w głowę strzelając gdzieś indziej!
- BomberMan: Posiada Bombe która wybucha! Oraz na pojawienie się pułapki po zabiciu Zombie
- Truposz: Może właczyć DMG x2! Wbudowany rykoszet + krytyk
- Poszukiwacz: Posiada większa szanse na dropnięcie skrzyni! Oraz rakietę którą można sterować
- Górnik: Ma szanse na wypadniecie bryłek podczas strzelania! Oraz szybkostrzelność

* Klasy Levelujesz wraz z poziomem są mocniejsze.

Opis klas Zombie:

- Klasyczny: Klasyczne Zombie | Balans
- Szybkie: Bardzo szybkie
- Grube: Posiada dużo HP, otrzymuje mniej obrażeń
- Tank: Posiada Bardzo dużo HP ale jest powolne
- Dracula: Gdy ma zginąć zaczyna się leczyć szansa 25%!
- Bałwan: Odporny na granaty zamrażające + wszystkie rodzaje zamrożeń!
- Płomyk: Odporny na granaty podpalające + wszystkie rodzaje podpaleń!
- Pielęgniarka: Po śmierci ulecza dookoła siebie zombie 250HP z szansa 15%
- Truciciel: Zatruwa CT na 5sek 2dmg/s - Nie zabija zostaje min-hp | Leczy go Fiolka
- Śmierć: Posiada 5% na zabicie Budowniczego 1/1
- Terminator: Posiada szybsze ręce zadaje po 10dmg
- Demon: Dostaje 15% mniej obrażenia 

*Każda klasa jest od jakiegoś poziomu oraz przegranych godzin na serwerze
**Klasy Zombie ulepsza się poprzez Kości 

Opis Klanu:

- Awansowanie klanu: Potrzebne bryłki, luzaczki, oraz zabójstwa klanowe ( Po ulepszeniu trzeba odczekać X minut aby ulepszyć ponownie )
- Ulepszenia klanu: Exp, Bryłki, HP, Krytyki, Obrażenia, Obrażenia klasy, CoolDown aby to ulepszyć potrzeba punktów klanu które dostaje się za awansowanie klanu ) 
- Możliwość dania klanowej informacji: pod /klan w pierwszej linijce jest ogłoszenie napisane przez lidera klanu 
- Każdy klan może umieścić własne zdjęcie klanowe za pomocą zdjęcia umieszczonego na ( imgur podając nazwę danego zdjęcia wszystko jest opisane na zdjęciu umieszczonym w plikach ) 
- Opcja resetu klanu: jeśli źle rozdałeś punkty możesz je zresetować za daną liczę bryłek - Możliwość sprawdzenia ile ktoś wpłacił bryłek * Ulepszasz poprzez Bryłki

Opis ulepszeń w kopalni:

- Kilof: Umożliwia wykopanie większej ilości Minerałów ( Bonus )
- Wyczerpanie: Gobliny mogą dłużej kopać w kopalni
- Szczęście: Szansa na poczwórne wykopki ( Wykopane bryłki x4 z Minerałów)
- Gobliny: Im więcej posiadasz goblinów tym szybciej kopiesz Minerały!
- Końcówka Kilofa: Zwiększa Moc kopania
- Szukanie: Pozwala Ci znajdywać więcej rodzajów Minerałów
- Wózek: Posiadasz większy wózek ( Większy magazyn Minerałów )

* Ulepszasz poprzez Bryłki

Działanie kopalni: Codziennie możesz opłacić swoje gobliny aby kopały minerały które możesz sprzedać. 
Gobiliny nie będa ciągle kopać one też mają swoje życie i muszą czasem odpocząć dlatego jest system wyczerpania
codziennie o 24 goblinom resetuje się wyczerpanie i mogą znów wrócić do pracy :D

komendy admina
 

- KOMENDY DLA FLAGI "a"
/clone - menu do zablokowania klocków / ustawienia obracania ( Sposób ustawiania klocków oraz obracania jest opisany w temacie Zuzi ( CoinBB )
/runhappy - możliwość zmiany happyhour albo odpalenie jego
/hp nick ilosc - dodaje danemu graczowi hp
/tp nick - teleportujesz się do gracza
/tome nick - teleportujesz gracza do siebie (zamiast nicku wpiszujesz to: #tt, #ct, #all - teleportujesz do siebie: zombie, budowniczych, albo wszystkich )
/swiatlo - możesz zmienić odcień jasności światła na mapie
/sms -> 6. znajduje się menu dodawania wszystkich walut, leveli itp )

- KOMENDY DLA FLAGI "d"
/admin - menu Admina
/warn - możliwość dodawania ostrzeżeń graczowi
/revive nick - ożywia gracza
/release - rozpoczyna rundę przed czasem 
/swap nick - przenosi gracza do przeciwnej drużyny 
​/mute nick ilosc - mutuje gracza na x minut ( po wpisaniu tylko /mute nick gracz zostaje odmutowany

bb_barrier - komenda do konsoli ( Otwiera menu do tworzenia barrier )

komendy

/konto - główne menu konta 
/sklep - sklep dla zombie lub dla budowniczych 
/czas - pokazuje twój aktualny przegrany czas na serwerze 
/team - menu drużyny 
/bron - menu broni 
/happy - możliwość sprawdzenia czy jest aktualnie happyhour
/menu - główne menu serwera
/drop - pokazuje szanse na drop skrzyni 
/klasa - odpala menu klas dla budowniczych albo zombie 
/pomoc - możliwość wezwania admina do siebie
/misje - główne menu misji
/respawn - no po prostu respawn
/vip - opis vipa
/vips - aktualni gracze którzy posiadają vipa 
/rank - twój aktualny rank
/top - menu topek
/odblokuj - odblokowujesz się gdy jesteś zablokowany 
/info nick - informacje o danym graczu
/maxdmg - pokazuje twój największy dmg
/resetdmg - resetuje twój największy dmg
/nagroda - komenda do odebrania nagrody
/regulamin - menu regulaminów serwera
/bind - najpotrzebniejsze bindy
/admins - pokazuje adminów którzy są na serwerze
/klan - menu klanu 
/free - odbieranie darmowej jednej nagrody dziennie
/hide - możliwość wyłączenia widzenia osób z swojego teamu
/exp - pokazuje aktualny twój stan expa
/daj - wysyłanie waluty serwerowej ( Menu z graczami ) lub /daj nick ilość
/wycisz - umożliwia do wyciszenia dowolnego gracza na serwerze
/kostium - komenda do sprawdzenia swoich kostiumów 
/kolor - tylko dla VIPA ( możliwość malowania klocków )
 
bind "klawisz" "moc" - odpala twoją moc klasy budowniczego
say_team - znajduje się czat klanowy.

*Prawie każda komenda ma jakieś skróty pisowni ( np: /menu możesz wpisać /me, /odblokuj -> /o | itd..itd..itd

screenshot
 
pcoVBHa.png
Skrzynka z amunicją - Posiada ją klasa strzelec ( odnawia amunicję )
O59nL5m.png
Bomba - Posiada ją klasa bomberman ( Odbija się kilka razy i wybucha lub jak w kogoś uderzy )
UQ5YMfo.png
Pułapka Wybuchowa - Posiada ją klasa bomberman ( Po wejściu na nią wybucha ona )
Q4zoIah.png
Fiolka - Posiada ją klasa Naukowiec ( Po zderzeniu rozbija się i zadaje x dmg )
bhqyOM3.png
Skrzynka - Po otworzeniu otrzymujesz losową ilość bryłek ( Waluty serwerowej )
6YNirUf.gif
Bryłka - Każdy kolor posiada inną wartośc 
9GOHVLk.png
Stojak Elektryczny - Razi prądem dookoła siebie w zombie  
kZAROTA.png
FireBall - Posiada ją Mag Ognia ( Po uderzeniu wybucha oraz podpala
hP7MMZr.png
IceBall - Posiada ją Mag Lodu ( Po uderzeniu wybucha oraz zamraża )

To są przykładowe modele które znajdują się w paczce.
 
konfiguracja
 
Pierwsza linijka w basebuilder.sma odpowiada za ilość slotów na serwerze + 1. Jeśli posiadasz 20 slotów wpisz 21
 

#define maxPlayers 21

 
Paczka posiada sklepsms dla ( CSSETTI ) aby zmienić id użytkownika wystarczy zmienić w pliku vars.inl linijkę 6

new const APISMS[]	=	"16103";

Oraz trzeba jeszcze zmienić linijkę 8 - 11 czyli dane do bazy danych w pliku vars.inl + ip serwera w pliku sqlFile.inl linijka 32
 

// linia ↓ 8 - 11
new const DB_HOST[] = "127.0.0.1";
new const DB_USER[] = "user";
new const DB_PASS[] = "pass";
new const DB_NAME[] = "db";

// linia ↓ 32
if(equal(szIp, "91.224.117.226:27015")){

 
Jeśli będziesz chciał ją odpalić na innym ip np na localhoscie wystarczy zmienić linijkę 37 w pliku sqlFIle.inl

sql = SQL_MakeDbTuple("127.0.0.1", "user", "pass", "db");

Tabelka z graczami nigdy się nie chciała tworzyć sama więc będziesz musiał ją ręcznie stworzyć:

CREATE TABLE IF NOT EXISTS `players`( 
	`idplayer` INT NOT NULL AUTO_INCREMENT, 
	`name` varchar(33) NOT NULL, 
	`pass` varchar(12) NOT NULL DEFAULT '_', 
	`kills` INT NOT NULL DEFAULT 0, 
	`deaths` INT NOT NULL DEFAULT 0, 
	`points` INT NOT NULL DEFAULT 0, 
	`timePlay` INT NOT NULL DEFAULT 0, 
	`firstlogin` DATETIME DEFAULT NOW(), 
	`lastlogin` DATETIME DEFAULT NOW(), 
	`maxDamage` INT NOT NULL DEFAULT 0, 
	`clan` INT NOT NULL DEFAULT 0, 
	`flag` INT NOT NULL DEFAULT 0, 
	`clannugget` INT NOT NULL DEFAULT 0, 
	`ipLogin` varchar(32) NOT NULL DEFAULT '_', 
	`sidLogin` varchar(35) NOT NULL DEFAULT '_', 
	`nuggets` INT NOT NULL DEFAULT 45, 
	`bones` INT NOT NULL DEFAULT 10, 
	`level` INT NOT NULL DEFAULT 1, 
	`xp` FLOAT NOT NULL DEFAULT '0.00', 
	`reset` INT NOT NULL DEFAULT 0, 
PRIMARY KEY (`idplayer`))

 
Reszta tabel stworzy się sama po zmienieniu mapy. 
 

Aby paczka działała musisz przekompilować i wgrać te pluginy:
- basebuilder.amxx
- frostNadeTURBO.amxx
- napalmNadeTURBO.amxx
- granadePushTURBO.amxx
- blockBarrierTURBO.amxx

 
Paczka nie posiada żadnych cvarów wszystko musisz zmienić ręcznie sam w .sma oraz .inl
 
download
 
Zamieszczam wszystko do jednego pliku. 
 

- Silnik BB
- Granaty ( Zamrażający, podpalający oraz odpychający )
- Barriere ( Taka sama co u Zuzi lecz posiada kilka zmian oraz szybciej się tworzy w niej barriery )
- Model / sprites / sound 
- Pliki .txt ( MOTD )
- Pliki .psd aby przerobić sobie grafiki ( format pliku do photoshopa ) 
- Opis gdzie wrzucić folder z logami

inne informacje

 
Jeśli czegoś będzie brakowało to piszcie pod postem :)
Na szybko przeliczyłem ile paczka ma lini kodu i wyszło ~23k dla kogoś może to być dużo a dla innego mało (takie małe info xD)
Może wreszcie powstaną jakieś inne ciekawe serwery bb po udostępnieniu paczek Zuzi i tej

Załączone pliki

  • Załączony plik  pliki.rar   28,16 MB  44 Ilość pobrań

  • +
  • -
  • 8


#769264 Odliczanie czasu po zdobyciu perku

Napisane przez KoRrNiK on 14.12.2020 22:31

Twoje sekundy są przechowywane w tej zmiennej:

Odliczanie[id]

Więc robisz 

show_hudmessage(id, "Za %02d Godzin %02d Minut %02d Sekund stracisz Perk", Odliczanie[id] / 3600, (Odliczanie[id] % 3600) / 60, Odliczanie[id] % 60);

  • +
  • -
  • 1


#769247 Odliczanie czasu po zdobyciu perku

Napisane przez KoRrNiK on 14.12.2020 10:07

Trzymaj :)

show_hudmessage( id, "Za %dgodz %s%dmin %s%dsek stracisz Perk!", Odliczanie[id]/3600, (Odliczanie[id]/60)<10?"0":"",Odliczanie[id]/60%60, Odliczanie[id]%60<10?"0":"", Odliczanie[id]%60 )

  • +
  • -
  • 1


#768608 Ent widoczny dla jednego gracza

Napisane przez KoRrNiK on 30.10.2020 14:46

Użyj do tego np: register_forward(FM_AddToFullPack, "fw_addtofullpack", 1)

 

 


  • +
  • -
  • 1


#767663 Hud

Napisane przez KoRrNiK on 02.07.2020 20:58

Łapaj :) Powinno działać.

 

Załączone pliki


  • +
  • -
  • 1


#767508 edytowanie ochrony poczatkowej

Napisane przez KoRrNiK on 25.06.2020 01:39

Łapaj :)

Załączone pliki


  • +
  • -
  • 1