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
 

ShooK - zdjęcie

ShooK

Rejestracja: 29.12.2010
Aktualnie: Nieaktywny
Poza forum Ostatnio: 03.01.2014 13:52
-----

#316583 Statystyki Diablo Mod WWW by Gh0st

Napisane przez Gh0st w 01.11.2011 19:46

Polecam zacząć korzystać z tych statystyk: http://amxx.pl/topic/103969-statystyki-diablo-mod/page__pid__506380#entry506380


Statystyki Diablo Mod By Gh0st:
Witam mam do zaprezentowania wam zupełnie nową wersje statystyk diablo mod.
Statystyki te są lepsze od poprzednich dlatego między innymi że za pomocą dodania jednej linijki w kodzie można zarejestrowac nową klase wyświetlaną w statystykach, różnią się też tym że są napisane obiektowo. U dołu zamieszę co trzeba zrobić żeby mieć wszystko klasy z diablo mod by onyke.
Mimo jednego kolesia który nalegał abym tego nie wstawiał na amxx.pl to ja i tak wstawię :)
Demo : Diablo Mod Stats


Panel Admina Zawiera:
  • Resetowanie Leveli
  • Edycja Danych gracza
  • Sumowanie Expa z klasy x na klase y
  • Dodawanie expa graczowi x na klase y ( jeżeli gracz ma np 200 expa a my wpiszemy 150 to ten gracz będzie miał w sumie 350 expa )
  • i wylogowywanie ^^
Klasy dodajemy tylko w jednym miejscu, bo parę osób się mnie już oto pytało. Niżej jest opisane jak dodać.



Instalacja:
Otwieramy Plik:
inidata.php
i wszystkie dane zamieniamy na swoje. Pola są popodpisywane więc problemów z uzupełnianiem nie będzie.
Aby zmienić styl wchodzimy do folderu
templates/
i tam edytujemy wybrany przez siebie element.

Jak dodać nową klase do statystyk www by Gh0st :o :
Wchodzimy do folderu
/kernel/
otwieramy plik
class.Stats.php
Następnie szukamy linijki
	var $klasy = array(
i tutaj dodajemy Nowe klasy
jako pierwszy argument podajemy ID klasy a jako drugi jej nazwę.
Pamiętaj... Po ostaniej klasie nie może być przecinka.

aby ustawić hasło adminowi należy otworzyć folder
./kernel/class.Stats.php
znaleść
var $admin = array(
		'login' => 'Admin',
		'haslo' => '12345'
	);
i zamienić na swoje dane.

Aby zmienić ilość graczy na stronie głównej należy otworzyć plik:
inidata.php
znajdź linijkę :
	define('ILE_GRACZY_NA_STRONE', 250);
i zamień liczbę 250 na taką jaką wolisz

SS:
Dołączona grafika

Klasy dla diablo mod by Onyke:

var $klasy = array(
1 => "Czarodziejka",
2 => "Druid",
3 =>  "Paladyn",
4 => "Zabojczyni",
5 =>  "Nekromanta",
6 => "Barbarzynca",
7 => "Ninja",
8 =>"Amazonka",
9 => "Andariel",
10 => "Duriel",
11 => "Mefisto",
12 => "Hefasto",
13 => "Diablo",
14 => "Baal",
15 => "Upadly",
16 => "Imp",
17 => "Izual",
18 => "Skoczek",
19 => "Zniewolony",
20 => "Zgniatacz",
21 => "Pijawka",
22 => "Gigantyczny Pajak",
23 => "Sniegowy Tulacz",
24 => "Griswold",
25 => "Kowal",
26 =>"Demonolog"
);

Download:

Załączone pliki


  • +
  • -
  • 23


#330967 [ROZWIĄZANE] Program się wyłącza i nie działa poprawnie

Napisane przez -PainKiller- w 06.12.2011 18:26

po pierwsze, zadeklaruj że używasz przestrzeni std bo aż żal na to patrzeć:
#include <iostream>
using namespace std;
int main()
{
        int wys;
        int punkty_karne;
  
        cout << "Na jakiej wysokosci lecimy?";
        cin>>wys;
  
        if(wys > 500)
        {
                   cout << "\n" << wys << " metrow za nisko! \n";
                   punkty_karne = 1;
        }
        else
        {
                cout << "\n Na wysokosci " << wys << " metrow jestes juz bezpieczny \n";
                punkty_karne = 0;
         }

        cout << "Masz" << punkty_karne << "punktow karnych. \n";

        punkty_karne = 0;
        system("pause")
;}



#326091 [ROZWIĄZANE] Kilka rzeczy / pytań których nie rozumiem w c++

Napisane przez Onyke w 24.11.2011 12:12

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, Dołączona grafika raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 1


#304391 Saw Mod 2.0 + JiggMode

Napisane przez dasiek w 08.10.2011 11:56

to może tak po staremu.... ;)

Dołączona grafika

Witaj graczu. Zagrajmy sobie w pewną grę...
Do tej pory biegałeś bez celu nabijając fragi bronią, którą kupowałeś za kolejne zabójstwa lub za pieniądze, które dostawałeś co rundę. Celem do tej pory było jedynie mieć pierwsze miejsce na serwerze które dawało Ci jedynie satysfakcje. Czy tu będziesz miał tą samą satysfakcje w tym, co Cię tu spodka?
Otóż u mnie dostajesz broń. Zasada gry się nie zmienia. Musisz iść i zabić. Jednak żyjesz tylko 30 sekund. Jak je wykorzystasz? Czy pobiegniesz w wir walki i przeżyjesz czy będziesz kampił oczekiwaniu na innego gracza który ma takie same cele jak Ty?
Za każde zabójstwo dostaniesz 20 sekund dodatkowego życia. Jednak czy w wirze walki starczy Tobie jeden magazynek? Możesz dokupić kolejne magazynki jednak kosztują Cię one życiem. Konkretniej 20 HP. Będziesz w stanie oddać cześć siebie żeby ułatwić sobie rozgrywkę?

i Tu nowość :)

W trakcie gry wybiorę sobie spośród graczy jednego, którego zadaniem będzie przetrwać z kluczem. Ale aż tak łatwo dla innych nie będzie. Mój pomocnik ma minute by rozstawić pułapki. Gdy to zrobi gracze muszą go złapać i zabić. Wtedy osoba która go zabije otrzyma więcej doświadczenia. Czy jednak będziecie działać w grupie, czy ktoś się zbuntuje? nie wiadomo. W tym czasie każdy może zabić kogo chce nawet osobe z tej samej drużyny.

Życie lub śmierć - Twój wybór.

instalacja

Modele do modeli, dzwieki do dzwiekow, pluginy do plugins

Dodatkowo plik plugins-saw.ini do addons/amxmodx/configs

plik sawmod.inc do addons/amxmodx/scripting/include

w paczce jest wszystko na swoim miejscu.

komendy

saw_setlvl "nick" "ile"

ustawia Lvl

cvary

saw_xp_kill - xp za zabicie.

inne informacje

Obecnie Wersja 2.0 Modu ma Biblioteke. Pozwala ona na pisanie Pułapek i Dodatków do Modu. Powodzenie ich wczytania wyskakuje na początku mapy w konsoli. Jest to moja pierwsza "poważna akcja" więc w razie jakichkolwiek błędów proszę pisać w temacie. Będe poprawiał ;)

Biblioteka


/* Ustawianie */
native saw_set_jigg_points(id,ile) // Ustawia Punkty Jiggsawa
native saw_set_xp(id,ile) // ustawia Exp
native saw_set_money(id,ile) // ustawia Monety
native saw_set_time(id,ile,falga)
//Ustawia czas graczowi o podanym indeksie i wg danej flagi
//flaga 0 - Ustawia mu czas
//flaga 1 - dodaje mu czas do obecnego
//flaga 2 - dodaje do glownego czasu (30 sek)
/* Pobieranie */
native saw_get_money(id) //monety
native saw_get_jigg_points(id) //punkty Jigg
native saw_get_xp(id) // exp/* Inne */
native saw_remove_time(id) // ustawa czas graczowinative saw_start_jiggmode() // Startuje JiggsawMode

native saw_addtrap(nazwa[],koszt) // Rejestruje Pulapke (w plugin_init) koszt w JiggPoints
native saw_add_plugin(nazwa[],autor[]) // Rejestruje Plugin do Sawa
native bool:is_jigg_mode() // true gdy jest tryb JiggsawMode
native bool:is_user_jiggsaw(id) // true gdy gracz jest Jiggsawem//
// Forwardy
//
forward saw_put_trap(id)
//wykonywane po wyborze pulapki (polozenie, zmiana itp)
forward saw_use(id)
//wykonywany gdy gracz wcisnie "use" (domyslnie e)

Proszę o komentarze i co można dodać lub poprawić oraz inne uwagi. Mam w planach dalsze update'y ;)

Pozdrawiam ;)



UPDATE!

1)Usunięte monety. JiggMode nie wywala serwera:)


Wersja 2.23 - Dodane Info o grze Jiggsawa. Do ściągnięcia w załączniku.


ps - Można by prefix zrobić dla moda. :P

Załączone pliki


  • +
  • -
  • 40


#320071 poroblem frakcje by cypis

Napisane przez Goliath w 10.11.2011 18:35

Dokonaj zmiany z tego postu:
http://amxx.pl/topic...post__p__319938
  • +
  • -
  • 1


#319938 [ROZWIĄZANE] Awanse Klas - Problem

Napisane przez Goliath w 10.11.2011 13:58

Nie jestem pewien, ale wina może leżeć po stronie frakcji, a nie awansów. Zmień funkcję loadfile na:
public loadfile()
{
new configfile[200];
get_configsdir(configfile,charsmax(configfile));
format(configfile, charsmax(configfile), "%s/cod_frakcje.ini", configfile);
if(file_exists(configfile)){
new row[200], left[64], trash, right[64];
new size=file_size(configfile,1);
for(new i=0;i<size;i++){
new klasa[32], frakcja[32];
read_file(configfile,i,row,200,trash);
if((contain(row,";")!=0) && strlen(row) && klasid<MAX_ILOSC_KLAS+1){
replace_all(row, 199, " ", "_");
replace(row, 199, "[klasa]", " ");
replace(row, 199, "[frakcja]", " ");

strbreak(row,left,63,right,63);
format(row, 199, "%s", right);
format(klasa, charsmax(klasa), "%s", left);
replace_all(klasa, 63, "_", " ")

strbreak(row,left,63,right,63);
format(row, 199, "%s", right);
format(frakcja, charsmax(frakcja), "%s", left);
replace_all(frakcja, 63, "_", " ")

format(nazwa_klasy[klasid], charsmax(nazwa_klasy), "%s", klasa);
format(nazwa_frakcji[klasid], charsmax(nazwa_frakcji), "%s", frakcja);
klasid++;
}
}
}
}

  • +
  • -
  • 2


#318946 HP przy nazwie klasy i perku

Napisane przez HaDeS From HELL w 07.11.2011 12:29

masz:
http://amxx.pl/topic/62492-hp-w-hud/
  • +
  • -
  • 1


#319012 QTM_CodMod czysty!

Napisane przez Najkon w 07.11.2011 16:05

1 pkt zdrowia to 1 hp. Z szybkoscia wydaje mi sie ze ... 110% biegu to w nowym bedzie 10 pkt dodatkowe, gdyż komandos w starym mial 140% a w nowym na 40 pkt dodatkowe :)
  • +
  • -
  • 1


#318985 QTM_CodMod czysty!

Napisane przez Najkon w 07.11.2011 14:54

http://amxx.pl/topic...-mw-mod-update/

Nie ma 'czystszego' od tego :P
  • +
  • -
  • 2


#71277 Konwersja nVault -> MySQL

Napisane przez Portek w 07.07.2009 14:37

Szeroko zakrojone pojęcie spamu dosięgło mojego GG i PW, więc postanowiłem opisać sposób konwersji vNault -> MySQL. Konwersja jest szczególnie ważna przy wszelkiego typu modach, które oferują dwa rodzaje zapisu, a my z nieznanego powodu wybraliśmy akurat vNault.

I. Wstęp
Poziom trudności: średni+
Wymagane programy
- Mozilla Firefox - http://www.mozilla-e...org/pl/firefox/
- Wtyczka SQLite Manager - https://addons.mozil...efox/addon/5817
- Jakiś edytor tekstu, ja działałem na Notepad++ który polecam - http://notepad-plus....net/uk/site.htm

Konwersja w poradniku zostanie opisana na pliku vNault z serwera z modem War3FT, choć wszędzie wygląda ona podobnie.

II. Wyciąganie bazy z zakodowanego pliku
Każdy kto próbował wyedytować plik vNault w zwykłym edytorze tekstu wie iż nie zobaczy nic prócz całej masy krzaczków:
Dołączona grafika

Plik ten jest tworzony przy wykorzystaniu SQLite 3, system ten zabezpiecza plik przed wścibskimi to raz, a dwa znacznie ogranicza jego wagę, dla przykładu plik vNault warzący 0,5mb, w wersji MySQL może osiągnąć nawet 1,5mb. Jednym z powodów takiej różnicy jest usunięcie wszystkich tabel które są zupełnie zbędne jeśli chodzi o zapis do pliku.

Żeby zobaczyć odpowiedni kod należy posłużyć się kilkoma sztuczkami, instalujemy program MozillaFirefox, a następnie doinstalowujemy wtyczkę SQLite Manager. Następnie wchodzimy odpowiednio w zakładkę Narzędzia i otwieramy okno wtyczki:
Dołączona grafika

Naszym oczom ukarze się okno programu w którym od tej pory będziemy pracować, wskazujemy plik z bazą danych którą chcemy wyedytować:
Dołączona grafika

Po otworzeniu ukarze się nam struktura pliku i prawie idealna składnia zapytań które musimy wydać, wybieramy z menu po lewej stronie którąś z tabel, ja jako przykład wybiorę wc3_player
Dołączona grafika

Jak widać na screenie program daje nam możliwość bezpośredniej edycji rekordów, usuwanie obecnych, edycji, czy dodania nowych, nas jednak interesuje przycisk Export
Wybieramy odpowiednio zakładkę SQL -> Zaznaczamy obie dostępne opcje -> Klikamy przycisk OK.
Dołączona grafika
Ukarze nam się okno w którym wybieramy gdzie ma być wgrana już prawie gotowa kopia bazy danych (dlaczego prawie, o tym potem), żeby było prosto i żebyśmy nie musieli szukać wybieramy Pulpit i klikamy Zapisz.

III. Poprawa zapytań
Odnajdujemy zapisany plik i otwieramy go w dowolnym edytorze tekstu (w przykładzie użyłem Notepad++
Dołączona grafika
Widzimy już rozkodowaną składnie MySQL, 90% prac już za nami, jednak żeby poprawnie wgrać taką baze należy ją edytować, zapytanie niestety są źle wydane, stąd błąd który będzie pojawiał się przy imporcie w PhpMyAdminie.

Zacznijmy od zapytania które odpowiada za usunięcie tabeli (jeśli istnieje) i utworzenie nowej.
DROP TABLE IF EXISTS "wc3_player";
CREATE TABLE `wc3_player` ( `player_id` INTEGER PRIMARY KEY AUTOINCREMENT, `player_steamid` varchar(25) NOT NULL default '', `player_ip` varchar(20) NOT NULL default '', `player_name` varchar(35) NOT NULL default '', `time` timestamp(14) NOT NULL DEFAULT CURRENT_TIMESTAMP );

Bardziej doświadczeni użytkownicy i Ci którzy mieli styczność z bazami danych na pierwszy rzut oka zauważą błędy w składni, jednak żeby nie było masy pytań "co jest nie tak" zaznaczę błędne elementy

DROP TABLE IF EXISTS "wc3_player";

W tej lini wystarczy usunąć znaki ", tak aby zapytanie wyglądało następująco:

DROP TABLE IF EXISTS wc3_player;


W kolejnej lini:

CREATE TABLE `wc3_player` ( `player_id` INTEGER PRIMARY KEY AUTOINCREMENT, `player_steamid` varchar(25) NOT NULL default '', `player_ip` varchar(20) NOT NULL default '', `player_name` varchar(35) NOT NULL default '', `time` timestamp(14) NOT NULL DEFAULT CURRENT_TIMESTAMP );

Na zielono zaznaczony jest błąd składni, zaznaczony tekst należy zamienić na auto_increment
Zaznaczone na czerwono zapytania należy usunąć, bowiem parametr default trzeba czymś zapełnić, w naszym przypadku jest to zbędne. Poprawne zapytanie wygląda tak:
CREATE TABLE `wc3_player` ( `player_id` INTEGER PRIMARY KEY auto_increment, `player_steamid` varchar(25) NOT NULL, `player_ip` varchar(20) NOT NULL, `player_name` varchar(35) NOT NULL, `time` timestamp(14) NOT NULL DEFAULT CURRENT_TIMESTAMP );

Myślę że większego problemu z edycją kodu w/w zapytań nie będzie, więcej zabawy może być z edycją zapytań rekordów. Niestety wyeksportowane rekordy są źle sformułowane, brakuje w nich odpowiednio zdefiniowanych pól, stąd błąd przy imporcie. Podstawową kwestią jest wyciągnięcie z zapytania tworzącego tabele nazw pól, które musimy osadzić w zapytaniu. Na przykładzie zaznaczyłem pola na kolor zielony:

CREATE TABLE `wc3_player` ( `player_id` INTEGER PRIMARY KEY auto_increment, `player_steamid` varchar(25) NOT NULL, `player_ip` varchar(20) NOT NULL, `player_name` varchar(35) NOT NULL, `time` timestamp(14) NOT NULL DEFAULT CURRENT_TIMESTAMP );


Skoro mamy już nazwy tabel zajmijmy się edycja rekordów, świeżo rozkodowana baza wygląda mniej więcej tak:
INSERT INTO "wc3_player" VALUES(1,'','','Portek',07.07.2009);
Brakuje w niej tak jak pisałem wcześniej zdefiniowanych pól do których maja być dodane dane, poprawiamy więc odpowiednio kod:

INSERT INTO `wc3_player` (`player_id` ,`player_steamid` ,`player_ip` ,`player_name` ,`time`)VALUES(1,'','','Portek',07.07.2009);

Na pierwszy rzut oka widać co zostało dodane, "wc3_player" zostało zamienione na 'wc3_player', oraz dodane zostały nazwy pól (UWAGA! Ważne żeby nazwy pól były podawane między znakami 'a', oraz było w dokładnie takiej samej kolejności jak w zapytanie tworzącym tabele!).
Nie pozostało nam nic innego jak edycja wszystkich zapytań, ręczna edycja wszystkiego mija się z celem, komu chciało by się to wszystko wstawiać, posłużymy się więc opcją "Zamień". Edytujemy odpowiednio pierwszą linijkę, zaznaczamy stary kod który musimy zamienić, naciskamy klawisze CTRL+H, w pierwszym polu powinien pojawić się stary kod, następnie klikamy na pole poniżej, oraz zaznaczamy wyedytowaną i poprawna już część kodu, ukarze się ona w polu poniżej. Nie pozostaje już nic innego jak kliknąć przycisk Zamień wszystkie
Dołączona grafika

Wyedytowany cały kod, który można poprawnie i bez problemów importować do bazy danych wygląda tak:
DROP TABLE IF EXISTS wc3_player;
CREATE TABLE `wc3_player` ( `player_id` INTEGER PRIMARY KEY auto_increment, `player_steamid` varchar(25) NOT NULL, `player_ip` varchar(20) NOT NULL, `player_name` varchar(35) NOT NULL, `time` timestamp(14) NOT NULL DEFAULT CURRENT_TIMESTAMP );
INSERT INTO `wc3_player` (`player_id` ,`player_steamid` ,`player_ip` ,`player_name` ,`time`)VALUES(1,'','','Portek',07.07.2009);
INSERT INTO `wc3_player` (`player_id` ,`player_steamid` ,`player_ip` ,`player_name` ,`time`) VALUES(2,'','','Portek2',07.07.2009);
INSERT INTO `wc3_player` (`player_id` ,`player_steamid` ,`player_ip` ,`player_name` ,`time`) VALUES(3,'','','Portek3',07.07.2009);
INSERT INTO `wc3_player` (`player_id` ,`player_steamid` ,`player_ip` ,`player_name` ,`time`) VALUES(4,'','','Portek4',07.07.2009);
INSERT INTO `wc3_player` (`player_id` ,`player_steamid` ,`player_ip` ,`player_name` ,`time`) VALUES(5,'','','Portek5',07.07.2009);
INSERT INTO `wc3_player` (`player_id` ,`player_steamid` ,`player_ip` ,`player_name` ,`time`) VALUES(6,'','','Portek6',07.07.2009);
INSERT INTO `wc3_player` (`player_id` ,`player_steamid` ,`player_ip` ,`player_name` ,`time`) VALUES(7,'','','Portek7',07.07.2009);
INSERT INTO `wc3_player` (`player_id` ,`player_steamid` ,`player_ip` ,`player_name` ,`time`) VALUES(8,'','','Portek8',07.07.2009);
INSERT INTO `wc3_player` (`player_id` ,`player_steamid` ,`player_ip` ,`player_name` ,`time`) VALUES(9,'','','Portek9',07.07.2009);

Poradnik uważam za skończony, nie należy on do łatwiejszych bo i cała operacja nie jest łatwa. Wymagana jest znajomość struktury baz danych, zapytań SQL. W razie problemów proszę o kontakt w tym temacie lub poprzez Prywatną Wiadomość, będę pomagał :-)

Poradnik wykonany dla www.amxx.pl
Copyright � 2009 Portek. Kopiowanie zabronione.

Mówi o tym USTAWA ART.16
  • +
  • -
  • 22


#297012 Deathrun autobh

Napisane przez BaQStiC w 17.09.2011 12:41

mi pomoglo? :)
  • +
  • -
  • 1


#297009 Deathrun autobh

Napisane przez ogury w 17.09.2011 12:27

wystarczy wpisac w server.cfg
sv_airaccelerate 2000
Używa się wartości 10 lub 100. Między 100 a 999999 nie ma różnicy :)


#292664 Pare pytań

Napisane przez DanGe w 04.09.2011 19:10

No to tak:
1. Gdzie w JBextreme zmienić aby FreeDay był co 7dni
2. Co pare rund na moim Jailu CT przenoszone jest do Terro. Dlaczego?
3. Jak zrobić aby były dni typu: KillDay, Chowany, Zoombie Day, Ganiany?
4. Ma ktoś może model broni na jb? Mianowicie pałke policyjną dla CT?
5. Ostatnie: Mam JBextreme menu edytowane przezemnie i JailRadio. Chce aby jailradio było w moim menu. Gdy dodaje je a potem w grze klikam opcje Radio (bo tak ją nazwałem) włącza mi się standardowe radio CS'a które jest na klawiaturze pod literką C
na razie tyle Chyba ;>
Za pomoc dam +, reputa


2. Sprawdz może masz ustawiony cvar, że w CT mozesz być tylko przez XX rund.
3. Musisz znaleźć te pluginy :) Ganiany, chowany i KillDay znajdziesz na necie, ale np jezeli chodzi o unikalne jak "Dzieci Wojny", "Wojny ganów" to są unikalne pluginy (tworzone tylko dla pewnej sieci serwerów)
4. Na necie jest tego pełno poszukaj ;)


#291951 Plugin JB Mikrofon

Napisane przez A może sma? w 03.09.2011 18:42

A wczoraj byłem po nowe okulary. Jutro pójdę jeszcze raz do okulisty, bo za cholerę nie mogę zobaczyć linku.
  • +
  • -
  • 1


#208606 Pluginy na DM

Napisane przez EsVu96 w 23.01.2011 15:46

Only HeadShot - Nieoficjalny polski support AMX Mod X
BF2 Rank Mod PL v1.5.3 - Nieoficjalny polski support AMX Mod X

Tutaj masz ode mnie.
  • +
  • -
  • 1