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
 

olle - zdjęcie

olle

Rejestracja: 18.02.2015
Aktualnie: Nieaktywny
Poza forum Ostatnio: 18.08.2019 09:59
-----

#754197 Propozycje zmian w generatorze vip

Napisane przez Robiin w 14.12.2018 23:09

Na wstępie chciałbym prosić każdego czytelnika o dołożenie swojej wiedzy do tematu i podzielenie się doświadczeniem, żeby wspólnie udoskonalić generator.

 

Ode mnie takie info:

 

Usunąć makrodefinicję IsPlayer

Spoiler

 

Zależnie od tego, czy chcemy iść z tym wszystkim pod kod easy-to-read czy wydajny:

Zamiana bool'a g_Vip na bity

Spoiler

 

Zmiana syntaxu sprawdzania sumy bitowej flag gracza

Spoiler

 

Zmiana momentu i częstotliwości przypisywania dostępu do vipa

Spoiler

 

Jednorazowe pobranie nicku gracza, żeby uniknąć powtarzania się tego przy liście vipów, say'u etc.

Spoiler

 

Zmiana syntaxu w sayHandle na łatwy do odczytania przy prefixie

Spoiler

 

Przy okazji tego wszystkiego można by zmienić syntax kodu overall; usunąć zbędne spacje, ogarnąć powtarzający się kod, nazwy zmiennych z np. "g_Vip" na "hasVip" (tak, wiem, że są różne syntaxy pisania kodu i różne firmy wymagają różnych sposobów jego pisania, ale tutaj możemy śmiało powiedzieć, że sami będziemy na tym korzystać. Moim zdaniem łatwiej się czyta "hasVip" niż "g_Vip", ale to już preferencje personalne, ja tylko daję propozycję ;) ), usunąć zbędne przechodzenie do osobnych funkcji, usunąć brackety przy jednoliniowych funkcjach (tak, tutaj też wiem, że to ma swój cel i różni programiści [...]).


  • +
  • -
  • 11


#754004 potrzebuje vote na antyducka

Napisane przez Rivit w 08.12.2018 21:37

łap jakies moje archiwalne kody, których się wstydze. Oba mają vote. Wystarczy spiąć z antyduckiem, pauzować jakoś plugin albo dorobić komende tak jak w only hs zrobione jest

Załączone pliki


  • +
  • -
  • 1


#288481 Cod Mod Dark Edition - Wersja 3.5

Napisane przez DarkGL w 28.08.2011 17:03

Jako że w poprzednim temacie było dużo spamu zakładam nowy
Co przynosi wersja 3.5 ? Nie wgrywałem żadnych nowych rzeczy skupiłem się na
  • Poprawie bugów
  • Optymalizacji kodu
  • Jego czytelności
  • Większych możliwościach konfiguracji moda
Mod był sprawdzany przed wrzuceniem zapis sql i nvault działają jesli ci nie działają to jest to niestety twoja wina Dołączona grafika



Poniżej lista zmian
Link do poprzedniego tematu http://amxx.pl/topic...dition-wersja-3

Dołączona grafika
Jest to modyfikacja cod moda wykonana przeze mnie na potrzeby mojego dawnego serwera Dołączona grafika
Błędy i bugi a także pomysły co jeszcze dodać proszę zgłaszać w tym temacie Dołączona grafika

Co nowego posiada mod:
  • 40 nowych itemów w tym
  • Sila Pudzianowskiego
  • Narty Malysza
  • Naboje Weterana
  • Sandały murzyna
  • Tajemnica Krowy
i inne Dołączona grafika
  • Money mod
  • Sklepik z nowymi rzeczami
  • Podmianę modeli broni na te z prawdziwego call of duty
  • Ułatwienia dla vipów (flaga "r")
  • Maksymalny level to 300
  • Zapis sql
  • Całkowicie nowe klasy z unikalnymi właściwościami (stawianie działek , przegrzewająca się broń i inne Dołączona grafika )
    • Grom
    • Cichociemny
    • Wojska Rakietowe
    • Saper
    • Zmechanizowany
    • Inzynier
    • Partyzant
    • Snajper
    • Matrioszka (Premium)
    • Delta Force
    • Rangers
    • Zielony Beret
    • Screaming Eagles
    • All American
    • GSG-9
    • SOAR
    • SAS
    • Royal Air Force (Premium)
    Opis klas
    • Dostaje AK47 i Usp silna i szybka jednostka specjalna
    • Dostaje MP5 i Glock szybka jednostka posiada spadochron i ciche chodzenie
    • Dostaje RPG,Ump45 i Fiveseven powolna jednostka ale z duza sila razenia
    • Dostaje Dynamit,Miny,MAC10 i ELITE moze stawiac miny
    • Dostaje M249 szybka klasa z duzo iloscia armora i hp ma nieskonczona amunicji
    • Dostaje GALILA i p228 moze postawic dzialko
    • Dostaje AK47 i glock szybko jednostka z duzo ilosc hp posiada dynamit jest mniej widoczny
    • Dostaje AWP i deagle troche wiecej hp strzal z awp zabija zawsze
    • Dostaje M249 i usp wiecej hp armora i szybkosci klasa premium
    • Dostaje M4A1 i usp miny nie zadaja mu obrazen
    • Dostaje MP5 i glocka posiada wysoki skok i srednio ilosc hp
    • Dostaje GALILA i p228 moze zniknac na kilka sekund
    • Dostaje FAMASA i USP moze wejsc w furie
    • Dostaje AK47 i p90 posiada umiejetnosc pasywno lustrzane odbicie
    • Dostaje FAMASA i glock posiada granat ktory ma 1/3 szans na zabicie
    • Dostaje MP5 i deagle odnawia mu sie 5 hp co 3 sekundy
    • Dostaje UMP45 i P228 moze sie teleportowac PPM
    • Dostaje M4A1 i USP wiecej hp i armora szybka klasa , klasa premium
  • Sprint zintegrowany z cod modem
  • Nowe komendy
    • /vip pokazujący informacje o tym co ma vip
    • /hud pozwalający wyłączyć hud widać go tylko przy starcie rundy
  • Poprawki kodu standardowego cod'a
  • Nowe umiejętności
    • Grawitacja
    • Niewidzialność
    • Zdolność Generalska
  • Szybkie rozdawanie statystyk
  • Stawianie min i strzelanie rakietami wygląda bardziej realistycznie
  • Nowe modele postaci
  • Nowy sposób wybierania klasy
  • Nowy kolor(zielony) i miejsce wyświetlania hud
  • Dodana wytrzymałość przedmiotów
  • Jeśli mamy więcej niż 255 hp wyświetli się ono nam pod wytrzymałością przedmiotu
  • Komenda daj
  • I jeszcze kilka innych unikalnych rzeczy Dołączona grafika
Dodane w wersji 2:



  • Poprawki kodu
  • Naprawa stawiania działka
  • Od teraz item to perk Dołączona grafika
  • Exp za asystę (podziękowania dla cypisa Dołączona grafika )
  • Wybór zapisu SQL/NVAULT
  • Wybór zapisu na nick/steamid
  • Dodanie itemów
  • Zew Napierdalania
  • Tajemnica Tuska
  • Dodanie listy perków
    • /perki
    • /itemy
  • Poprawa literówek
  • Dodanie wymiany perkami




    [CoD Stary] Wymiana Itemami. - AMXX.pl: Support AMX Mod X
  • Dodanie możliwości wyłączenia całkowicie podmieniania modeli bron/graczy
  • Dodanie możliwości wyłączenia money moda
  • Kod został trochę ogarnięty
  • Statystyki www do tej modyfikacji będą dostępne w nowym pluginie R3X więc czekajcie cierpliwie Dołączona grafika
  • Poprawka zapisu nvault money moda
Dodane w wersji 3:
  • Naprawa sql i nvault
  • Możliwość wyłączenia sklepiku
  • Snajper ma 1/2 na natychmiastowe zabicie
  • Poprawki pokazywania hud'a
  • Naprawa komendy /daj
  • Naprawa asysty
  • Naprawa działania botów (tego nie testowałem więc nie daje pewności czy działa)
  • Naprawa stawiania działka
Dodane w wersji 3.5:
  • Naprawiony sklepik
  • Naprawione wróć przy wyborze klas
  • Naprawienie tego samego level na wszystkich klasach przy zapisie nvault
  • Naprawienie zgłoszonych error logów
  • Naprawienie ammo w bazooce
  • Naprawienie inżyniera
  • Dużo drobnych zmian optymalizacyjnych
  • Dalsze ogarnianie kodu Dołączona grafika
  • Bug z ciągłym rozdawaniem statystyk naprawiony

2 filmiki przedstawiające klasy inżynier i wojska rakietowe
http://www.youtube.com/watch?v=fqTQZK67DQU
http://www.youtube.com/watch?v=10lzfofZ7pQ
i item
http://www.youtube.com/watch?v=-B16aCNzDvg&feature=feedfbc

Dołączona grafika
//do zapisu sql
cod_sql_host "localhost"
cod_sql_user "user"
cod_sql_pass "pass"
cod_sql_db "database"
//reszta to standardowe cvary

jeśli chcemy coś włączyć to niestawiany przed tym //
jesli chcemy wyłączyć to stawiamy // przed #define
 
pod
#define PLUGIN "Call of Duty: MW Mod"
#define VERSION "0.7.9 Beta"
#define AUTHOR "QTM_Peyote & DarkGL"
 
znajdziecie
 
#define NEW_MODELS
#define NEW_PLAYER_MODELS
#define MAX 32
#define MONEY_MOD
#define SKLEP
//#define SAVE_NICK
#define SAVE_STEAM
//#define nvault
#define SQL
#define SPRINT
//#define BOTY
#define VIP_FLAG ADMIN_LEVEL_F
tutaj konfigurujemy moda
NEW_MODELS - czy nowe modele broni mają być włączone
NEW_PLAYER_MODELS - czy nowe modele postaci mają być włączone
MAX 32 - ilość slot&#243;w oszczędzamy pamięć <img src='http://img.amxx.pl//public/style_emoticons/default/smile.png' class='bbc_emoticon' alt=':)' />
MONEY_MOD - czy money mod ma być włączony (kasa przyznawana tylko przez cod moda 10 % szans na zdobycie 5 $ przy zabiciu)
SKLEP - czy ma być włączony sklepik
SAVE_NICK - zapis na nick
SAVE_STEAM - zapis na steamid
nvault - zapis nvault
SQL - zapis sql
SPRINT - czy sprint ma być włączony
BOTY - obsługa bot&#243;w
VIP_FLAG ADMIN_LEVEL_F - tutaj ustawiamy flage na kt&#243;rą jest vip
tak jak m&#243;wiłem // przed wyłącza a jeśli ma być włączone to #define bez niczego przed

Statystyki www które obsługują te wersje moda
Statystyki - Call of Duty MW Mod - AMXX.pl: Support AMX Mod X

Dołączona grafika

Standardowa

Tabela z wersji 1 nie jest kompatybilna z wersją 2 , wersją 3 i wersją 3.5 należy usunąć starą tabele z bazy danych
cvary sql się nie zmieniły

Dołączona grafika
Troche statystyki Dołączona grafika :
Wersja 1 łącznie 230 ściągnięć
Wersja 2 nie wiadomo
Wersja 3 łącznie 413 ściągnięć

plik z modelami i dźwiękami 354 ściągnięć

Wersja 3.5:
Załączony plik  cod.sma   147,65 KB  439 Ilość pobrań
  cod.amxx
Załączony plik  cod.amxx   149,02 KB  51 Ilość pobrań

Modele i dźwięki są takie same dla wszystkich wersji:
Załączony plik  modele i dzwieki.rar   27,19 MB  370 Ilość pobrań

  • +
  • -
  • 13


#700695 Szukam modelu sakiewki małej, woreczka

Napisane przez White w 16.05.2015 08:54

Kolory możesz sobie zmienić.

 

3lp3.png

 

 

Załączone pliki


  • +
  • -
  • 2


#700341 Ninja Turtles Mod[1.2] by Z!3L0ny

Napisane przez MAGNET w 11.05.2015 22:06

Czekam na GdzieJestNemoMOD
  • +
  • -
  • 4


#665145 Short nade - rzucanie ganatu jak na CS:GO (PPM)

Napisane przez ^Grzyboo w 25.09.2014 17:02

opis

Jako, że ostatnio sporo pogrywam w CS:GO to wpadłem na pomysł, żeby zrobić rzut granatem taki, jaki mamy w tej oto grze.

 

Pod prawym przyciskiem myszy możemy rzucić granat, który leci dużo bliżej i można regulować szybkość z jaką wybuchnie.

 

Działa na wszystkie granaty.

 

cvary

amx_shortnade_blow "1.0" - skrócenie czasu wybuchu. 1.0 jest wartością normalną. Dając tutaj 0.5 skracamy czas wybuchu granatu o połowę. (Wartości: 0.1 - 1.0)

 

 

 

Załączone pliki


  • +
  • -
  • 12


#699721 CoD Mod II Wojna Światowa od Epal

Napisane przez Epal w 05.05.2015 16:05

Przedstawiam wam paczke Nowy CoD Mod II Wojna Światowa mojego autorstwa. Paczka jest  zrobiona w atmosferze II Wojny Światowej co pokaże za chwile:

 

opis

 

W paczce znajduje się 54 klas w 4 frakcjach Alianci, Niemcy, ZSRR i Polska. W każdej frakcji jest kilkanaście klas w tym 2 Premium (flaga H).

 

plugins-codmod:

Spoiler

 

 

Opisy klas:

Spoiler

 

 

plugins.ini

Spoiler

 

 

komendy

say /klasa - Otwiera menu wyboru klasy.
say /klasy - Otwiera menu opisów klas.
say /perk - Pokazuje informacje o posiadanym perku.
say /perki - Otwiera menu opisów perków.
say /wyrzuc - Wyrzuca aktualny perk.
say /reset - Resetuje statystyki.
say /statystyki - Pokazuje aktualne statystyki.
say /pomoc - pokazuje komendy

say /resetscore - resetuje statystyki

say /opis - pokazuje opis w motd

 

cvary

//CVARY Call of Duty Mod II Wojna Swiatowa
//-----------------------
 
cod_killxp 10 // doswiadczenie za zabojstwo
cod_winxp 50 // doswiadczenie za wygrana
cod_damagexp 1 // doswiadczenie za 20 obrazen
cod_savetype 1 // 1- Nick 2-SteamID 3-IP
cod_maxlevel 350 // Maksymalny poziom
cod_levelratio 35 // ustawia ile doswiadczenia potrzebne do zdobycia 1 poziomu
cod_weaponsblocking 1 //ustawia blokowanie podnoszenia broni
pallets_wbags_nroundrem 1 // czy kasowac worki po rundzie 1 tak 0 nie, domyślnie 1
pallets_wbags_health 0 // hp workow jesli damy 0 będa niesmiertelne, domyślnie 0
cod_law_damage "120.0" - ile ma zadawać dmg rakieta
cod_law_radius "250.0" - odległość rażenia rakiety
cod_law_rockets "15" - ile rakiet posiada bazuka 
 
 
//CVARY zalecane
//--------------
 
sv_maxspeed 9999
 
 

screenshot

Zamieniłem też prawie wszystkie modele broni na te z II WŚ

Spoiler

 

Opisy zamienionych broni:

 

Spoiler

 

 

Podmieniłem też modele graczy:

 

Spoiler

 

Dodałem też plugin który po wpisaniu komendy /opis wyświetla w motd opisy broni razem z zdjęciami:

Spoiler

 

instalacja

Wystarczy wszystko skompilować, powrzucać do odpowiednich folderów i dopisać do plugins.ini to

Spoiler

 

 

download

Wszystkie potrzebne pliki są w załączniku odzieliłem tylko modele od pluginów. Gdyby coś brakowało albo było nie tak proszę napisać o tym. Zachęcam także wszystkich do oceniania paczki. :D

 

Załączone pliki


  • +
  • -
  • 28


#700071 Nowa skrzynia (cod_paczka)

Napisane przez Epal w 08.05.2015 20:12

Przedstawiam wam skrzynie którą zrobiłem własnoręcznie programem MilkShape 3D. Ostatnio ucze sie go obsługiwać i pomyślałem że jak zrobie taką skrzynie to se potrenuje. To jest dopiero pierwsza skrzynia ale jak wam sie spodoba to zrobie inne czekam tylko na propozycje.

 

screenshot

wr05zn.jpg

Załączone pliki


  • +
  • -
  • 3


#697503 Sklep za monety by oeN.

Napisane przez oeN. w 15.04.2015 15:01

Kilka zmian.

Czekam na edycję pierwszego posta przez moderatora, post będzie bardziej czytelny.

Dodaję jeszcze nowe wersje sklepów.

 

Sklep na Cod z 1 slotem na perk

Załączony plik  sklep_monety.sma   12,61 KB  166 Ilość pobrań
  sklep_monety.amxx

 

Sklep na Cod z 2 slotami na perk

Załączony plik  sklep_monety.sma   12,74 KB  113 Ilość pobrań
  sklep_monety.amxx

 

Sklep na Cod z 3 slotami na perk

Załączony plik  sklep_monety.sma   12,86 KB  158 Ilość pobrań
  sklep_monety.amxx

 

P.S Proszę moderatora o dodanie tych .sma do pierwszego posta pod logiem Download i usunięcie starego .sma


  • +
  • -
  • 2


#690588 Kantor Wymiany $ na Ammo packi

Napisane przez Alelluja w 27.02.2015 19:18

opis.png

Witam Was Chciałbym wam przedstawić Kantor czyli Wymiana Dolarów na Ammo Packi | Ammo Packi na dolary. Myślę że nie będzie w nim żadnych błędów. Zapraszam do Testowania.
 
Dzięki NieWiemMamMac@ za kod :D
komendy.png

/kantor

Wymagane Pluginy:

Wymagany plugin http://amxx.pl/topic...-mod-plague-50/
 

 

Załączone pliki


  • +
  • -
  • 3


#697052 Sklep za monety by oeN.

Napisane przez oeN. w 12.04.2015 09:07

opis.png
Sklep za monety używający System Monet lub własny system z tymi samymi natywami.
Co go wyróżnia od innych sklepów?
+ Estetyka wykonania
+ Ładnie wygląda na serwerze
+ Łatwy w nawigacji

ss.png
8GtFZiz.png

komendy.png




/sklep

inneinformacje.png
Jeśli ktoś ma problem z kompilacją z powodu cod_get_user_coins lub cod_set_user_coins to proszę postąpić według tego:

Spoiler

download.png

Załączone pliki


  • +
  • -
  • 7


#69839 Tworzenie menu

Napisane przez R3X w 27.06.2009 17:39

Tworzenie menu

Stary temat składa się tylko z jednej części i autor chyba nie zamierza kontynuować, więc opiszę tworzenie menu od podstaw.

Kilka słów wstępu.
Najpierw zajrzyj do komend i operacji bitowych. Pisząc tutorial zakładam, że czytelnik wie jak budować komendy i co to jest suma bitowa.
W przykładowych źródłach celowo pomijam stałe nagłówki (#include, #define) w celu zmniejszenia objętości tekstu. Kod bez nich się nie skompiluje!


Po pierwsze trzeba wiedzieć, że mamy do dyspozycji 2 metody tworzenia menu:
  • tzw. stara↵ - ręczna, wymaga więcej przygotowania, ale jest elastyczniejsza
  • tzw. nowa↵ - korzystamy z przygotowanych zasobów, za organizację menu odpowiadają natywne funkcje AMXX

Formatowanie

Niezależnie od metody, treść menu formatujemy tymi samymi znakami, a oto one:

^n - nowa linia
^t - tabulator
\w - dalszy tekst będzie miał kolor biały
\y - dalszy tekst będzie miał kolor z&#243;łty
\r - dalszy tekst będzie miał kolor czerwony
\d - dalszy tekst będzie miał kolor szary
\R - dalszy tekst będzie wyr&#243;wnany do prawej

Przykładowe (stare) menu

\yWidzisz to menu?^n^n\w1. Tak^t2. Nie

na początku y, więc tekst do następnego znaku zmiany koloru będzie żółty
jako kolejne rozpoznajemy ^n, czyli po nagłówku "Widzisz to menu?" przechodzimy do nowej linii
następny ^n tworzy linijkę odstępu
teraz mamy w, czyli dalszy tekst będzie biały
ostatni jest ^t, który oddzieli opcję 'tak' od 'nie'

Efekt:

Załączony plik  menu1.JPG   4,42 KB  3186 Ilość pobrań






Metoda 1

Nasze menu jest pokazywane przy użyciu funkcji
show_menu ( index, keys, const menu[], time = -1, title[] = "" )
index - id gracza
keys - suma odpowiadająca używanym klawiszom, tylko te, które się w niej zawierają będą rozpoznawane przez menu
const menu[] - treść menu, czyli to co zostanie pokazane graczowi
time - czas utrzymania menu na ekranie w sekundach, -1 oznacza, aż do naciśnięcia klawisza z menu
title[] - tytuł, potrzebny do rozpoznania menu

Korzystając z wcześniejszego przykładu menu:
public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_clcmd("mymenu","mymenu");
}
public mymenu(id){
	show_menu(id, MENU_KEY_1| MENU_KEY_2, "yWidzisz to menu?^n^nw1. Tak^t2. Nie");
	return PLUGIN_HANDLED;
}
Z nowości mamy:

MENU_KEY_1| MENU_KEY_2

jest to suma bitowa stałych MENU_KEY_1 i MENU_KEY_2. Pierwsza odpowiada klawiszowi 1 (slot1), druga klawiszowi 2 (slot2). Razem stanowią zbiór klawiszy przechwytywanych przez menu.

Ogólnie mamy do dyspozycji 10 klawiszy:
#define MENU_KEY_1		(1<<0)
#define MENU_KEY_2		(1<<1)
#define MENU_KEY_3		(1<<2)
#define MENU_KEY_4		(1<<3)
#define MENU_KEY_5		(1<<4)
#define MENU_KEY_6		(1<<5)
#define MENU_KEY_7		(1<<6)
#define MENU_KEY_8		(1<<7)
#define MENU_KEY_9		(1<<8)
#define MENU_KEY_0		(1<<9)

Ok, pokazaliśmy graczowi menu, zdefiniowaliśmy klawisze, na które menu reaguje. Pora na przechwycenie zdarzeń menu.

Najpierw musimy przypisać naszemu menu jakąś publiczną funkcję. Służy do tego funkcja z
register_menu ( title[], keys, function[], outside=0 )
title - tytuł, potrzebny do rozpoznania menu, musi być dokładnie taki sam jak w show_menu
keys - suma klawiszy, powinna zawierać wszystkie możliwe do użycia w naszym menu klawiszy (np. gdy jedna z opcji jest dostępna tylko dla żywych graczy, jej klawisz również powinien być zsumowany)
function - nazwa publicznej funkcji, do której zostanie przekazane id i klawisz
outside - zmienimy na 1, gdy menu będzie z zewnętrznego źródła (inny plugin, silnik gry)

Kod powinien wyglądać tak:
public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_clcmd("mymenu","mymenu");
	
	register_menu("MyMenu",MENU_KEY_1|MENU_KEY_2,"cbMyMenu");
}
public mymenu(id){
	show_menu(id,MENU_KEY_1|MENU_KEY_2, "yWidzisz to menu?^n^nw1. Tak^t2. Nie",-1,"MyMenu");
	return PLUGIN_HANDLED;
}
public cbMyMenu(id, key){
}

Suma klawiszy powtarza się, więc użyjmy stałej. Argumenty funkcji cbMyMenu to id gracza i użyty klawisz. Przyciski numerowane są od zera, więc naciśnięcie 1 prześle key=0, naciśnięcie 2 prześle key=1 itd. Dość mylące rozwiązanie, zwłaszcza patrząc na klawisz 0, dla którego key=9 Dołączona grafika
#define MYMENU_KEYS MENU_KEY_1|MENU_KEY_2
 
public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_clcmd("mymenu","mymenu");
	
	register_menu("MyMenu",MYMENU_KEYS,"cbMyMenu");
}
public mymenu(id){
	show_menu(id, MYMENU_KEYS, "yWidzisz to menu?^n^nw1. Tak^t2. Nie", -1, "MyMenu");
	return PLUGIN_HANDLED;
}
public cbMyMenu(id, key){
	client_print(id, print_chat, "Wybrales opcje: %d", key+1);
}
Aby przypisać operacje danemu klawiszowi wygodnie jest zastosować switch().
#define MYMENU_KEYS MENU_KEY_1|MENU_KEY_2
 
public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_clcmd("mymenu","mymenu");
	
	register_menu("MyMenu",MYMENU_KEYS,"cbMyMenu");
}
public mymenu(id){
	show_menu(id,MYMENU_KEYS, "yWidzisz to menu?^n^nw1. Tak^t2. Nie",-1,"MyMenu");
	return PLUGIN_HANDLED;
}
public cbMyMenu(id, key){
	switch(key){
		case 0:{
			client_print(id, print_chat, "Wybrales opcje Tak");
		}
		case 1:{
			client_print(id, print_chat, "Wybrales opcje Nie");
		}
	}
}

Oczywiście można dodać opcję Anuluj, dodając do sumy klawisz 0 i zmienić nieco treść menu. Nie trzeba dodawać case 9:, gdyż menu automatycznie zamknie się po złapaniu klawisza i nie ma potrzeby wykonywania innych czynności. Gdy chcesz zachować menu na wierzchu nawet po naciśnięciu klawisza za strukturą switch wywołaj funkcję mymenu(id), która ponownie je wyświetli.

------------------------------------------------------------------------------------------------------------------------------------------------


Metoda 2

Nowy styl stworzenia menu pozwala na dynamiczne nim zarządzanie. Tworzeniem treści menu zajmują się przygotowane funkcję, nasza praca polega na dostarczeniu informacji.

Pierwszą operacją jest stworzenie uchwytu. Pozostałe operacje wymagają do niego odwołania. Jeśli pokazujemy wszystkim to samo menu uchwyt może mieć zasięg globalny, a menu utworzone w plugin_init(). W innym razie menu tworzymy tuż przed wyświetleniem. Główna funkcja to:
menu_create ( title[], handler[], ml=0 )
title[] - tytuł, tutaj służy również za nagłówek menu (jeśli nie podamy własnego)
handler[] - nazwa publicznej funkcji, do której przekazywane będą informacje z menu
ml=0 - przestało być używane, nie podajemy

Podawanie klawiszy, na które reaguje menu jest niepotrzebne. Funkcja wyświetlająca potrafi rozpoznać niezbędne klawisze, zależnie od dostępnych opcji.

new gMyMenu
 
public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	gMyMenu=menu_create("Jak sie przywitasz?","cbMyMenu");	
}
public cbMyMenu(id, menu, item){
 
}

Tym razem funkcja cbMyMenu ma aż 3 argumenty: id - index gracza, menu - uchwyt menu, oraz item. Ten ostatni argument zawiera numer wybranej opcji (numerowane od zera). Pozwala np. za pomocą switch() przyporządkować operacje danej opcji. Jest to szczególnie wygodne przy menu wielostronnym. Trzeba pamiętać, że wartość item może być mniejsza od zera - opcja wyjścia z menu to item=-3.

Do dodawania opcji służy funkcja:
menu_additem(menu, const name[], const info[]="", paccess=0, callback=-1);
menu - uchwyt menu
const name[] - tekst opcji
const info[] - informacja wewnętrzna, w większości menu wartość nieistotna
paccess - poziom dostępu do menu, tak samo jak w przypadku komend, np. ADMIN_BAN
callback - w tym miejscu możemy przypisać funkcję kontrolną, o której później

new gMyMenu;
 
public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	gMyMenu=menu_create("Jak sie przywitasz?","cbMyMenu");
	menu_additem(gMyMenu,"Witam");//item=0
	menu_additem(gMyMenu,"Czesc");//item=1
	menu_additem(gMyMenu,"Przyszedl Admin :D","",ADMIN_CHAT);//item=2
}
public cbMyMenu(id, menu, item){
	switch(item){
		case 0:{
			client_cmd(id, "say Witam");
		}
		case 1:{
			client_cmd(id, "say Czesc");
		}
		case 2:{
			client_cmd(id, "say Przyszedl Admin :D");
		}
	}
}

Mamy menu pokażmy je graczowi.
menu_display(id, menu, page=0);
id - index gracza
menu - uchwyt menu
page - podstrona menu

new gMyMenu;
 
public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_clcmd("mymenu","mymenu");
	
	gMyMenu=menu_create("Jak sie przywitasz?","cbMyMenu");
	menu_additem(gMyMenu,"Witam");//item=0
	menu_additem(gMyMenu,"Czesc");//item=1
	menu_additem(gMyMenu,"Przyszedl Admin :D","",ADMIN_CHAT);//item=2
		
}
public mymenu(id){
	menu_display(id, gMyMenu,0);
	return PLUGIN_HANDLED;
}
public cbMyMenu(id, menu, item){
	switch(item){
		case 0:{
			client_cmd(id, "say Witam");
		}
		case 1:{
			client_cmd(id, "say Czesc");
		}
		case 2:{
			client_cmd(id, "say Przyszedl Admin :D");
		}
	}
}

Załączony plik  menu2.JPG   6,62 KB  2975 Ilość pobrań





Żeby pokazać więcej o nowym stylu menu przeniosę uchwyt i tworzenie do mymenu(id). Podstawą różnicą jest potrzeba zniszczenia menu po zakończeniu pracy.
menu_destroy ( menu )
menu - uchwyt menu

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_clcmd("mymenu","mymenu");	
}
public mymenu(id){
	new MyMenu=menu_create("Jak sie przywitasz?","cbMyMenu");
	
	menu_additem(MyMenu,"Witam");//item=0
	menu_additem(MyMenu,"Czesc");//item=1
	menu_additem(MyMenu,"Przyszedl Admin :D","",ADMIN_CHAT);//item=2
	
	menu_display(id, MyMenu,0);
	return PLUGIN_HANDLED;
}
public cbMyMenu(id, menu, item){
	switch(item){
		case 0:{
			client_cmd(id, "say Witam");
		}
		case 1:{
			client_cmd(id, "say Czesc");
		}
		case 2:{
			client_cmd(id, "say Przyszedl Admin :D");
		}
	}
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}

menu_destroy() sprawia, że nasz uchwyt staje się bezużyteczny, czyści pamięć zajmowaną dotychczas przez menu. Oczywiście zamiast go niszczyć, możemy zostawić menu na ekranie. Wystraczy w cbMyMenu ponownie wywołać menu_display(). Wtedy nie powinniśmy dopuścić do wywołania menu_destroy a zwrócić nie PLUGIN_HANDLE tylko PLUGIN_CONTINUE, np. tak:

public cbMyMenu(id, menu, item){
	switch(item){
		case 0:{
			client_cmd(id, "say Witam");
			menu_display(id, menu);
			return PLUGIN_CONTINUE;
		}
		case 1:{
			client_cmd(id, "say Czesc");
		}
		case 2:{
			client_cmd(id, "say Przyszedl Admin :D");
		}
	}
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
Efekt: Gdy wybierzemy "Witam" menu pozostanie na ekranie.


Funkcja kontrolna

Do każdej z opcji możemy przypisać taką funkcję. Będzie ona decydować czy dana opcja jest aktywna (biała) czy nieaktywna (szara, bez reakcji na swój przycisk).

Najpierw utwórzmy uchwyt, tym razem dla publicznej funkcji.
menu_makecallback(const function[])
zwróconą wartość przekażemy do menu_additem:

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_clcmd("mymenu","mymenu");	
}
public mymenu(id){
	new MyMenu=menu_create("Jak sie przywitasz?","cbMyMenu");
	new MyMenuFun=menu_makecallback("mcbMyMenu");
	
	menu_additem(MyMenu,"Witam","",0,MyMenuFun);//item=0
	menu_additem(MyMenu,"Czesc","",0,MyMenuFun);//item=1
	menu_additem(MyMenu,"Przyszedl Admin :D","",ADMIN_CHAT,MyMenuFun);//item=2
	
	menu_display(id, MyMenu,0);
	return PLUGIN_HANDLED;
}
public cbMyMenu(id, menu, item){
	switch(item){
		case 0:{
			client_cmd(id, "say Witam");
		}
		case 1:{
			client_cmd(id, "say Czesc");
		}
		case 2:{
			client_cmd(id, "say Przyszedl Admin :D");
		}
	}
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
public mcbMyMenu(id, menu, item){
	return ITEM_ENABLED;
}
Przypisana funkcja ma taką postać. Zwracana wartość decyduje o aktywności opcji. Ta funkcja sprawi, że wszystkie opcje będą aktywne. Zwrócenie ITEM_DISABLED spowoduje brak aktywności wszystkich/danej opcji zależnie od zastosowania.
public mcbMyMenu(id, menu, item){
	return ITEM_ENABLED;
}

Np. przez taką funkcję
public mcbMyMenu(id, menu, item){
	if(item==1)
		return ITEM_DISABLED;
	return ITEM_ENABLED;
}
Opcja "Czesc" będzie nieaktywna:

Załączony plik  menu3.JPG   7,16 KB  3051 Ilość pobrań






Dostosowanie

W starym stylu wygląd menu znacznie bardziej zależy od nas, jednak projektowanie menu o kilku stronach może być kłopotliwe. Nowa metoda tworzenia mimo schematycznej budowy ma kilka opcji, które pozwalają dostosować treść menu, ale oczywiście w mniejszym stopniu.

Potrzebuje nowej funkcji:
menu_setprop(menu, prop, ...);
menu - uchwyt menu
prop - wartość z listy:
#define MPROP_PERPAGE	1		/* Liczba opcji na stronę (param1 = liczba, 0=bez stronnicowania, 7=domyślnie) */
#define MPROP_BACKNAME	2		/* Nazwa opcji Back/Wstecz (param1 = tekst) */
#define MPROP_NEXTNAME	3		/* Nazwa opcji Next/Dalej (param1 = tekst) */
#define MPROP_EXITNAME	4		/* Nazwa opcji Exit/Wyjście (param1 = tekst) */
#define MPROP_TITLE	5		/* Nagł&#243;wek menu (param1 = tekst) */
#define MPROP_EXIT	6		/* Opcja wyjścia? (param1 = liczba, MEXIT_ALL - zawsze, MEXIT_NEVER- nidgy) */
#define MPROP_NOCOLORS	8		/* Czy usunąć automatyczne kolory(param1 = liczba, 0=domyślnie) */
#define MPROP_NUMBER_COLOR	10	/* Kolor opis&#243;w przycisk&#243;w (param1 = tekst, "r"=domyślny) */

Przykład użycia:
public mymenu(id){
	new MyMenu=menu_create("Jak sie przywitasz?","cbMyMenu");
	new MyMenuFun=menu_makecallback("mcbMyMenu");
	
	menu_additem(MyMenu,"Witam","",0,MyMenuFun);//item=0
	menu_additem(MyMenu,"Czesc","",0,MyMenuFun);//item=1
	menu_additem(MyMenu,"Przyszedl Admin :D","",ADMIN_CHAT,MyMenuFun);//item=2
	
	//opcja wyjścia "Wyjście" zamiast "Exit"
	menu_setprop(MyMenu,MPROP_EXITNAME,"Wyjscie");
 
	//zawsze pokaż opcję wyjścia
	menu_setprop(MyMenu,MPROP_EXIT,MEXIT_ALL);
 
	//kolor cyfry przycisku zmień na ż&#243;łty
	menu_setprop(MyMenu,MPROP_NUMBER_COLOR,"y");
	
	
	menu_display(id, MyMenu,0);
	return PLUGIN_HANDLED;
}

Rezultat:

Załączony plik  menu4.JPG   7,37 KB  2740 Ilość pobrań






Podsumowanie

Stare menu jest znacznie elastyczniejsze, pozwala nam wpłynąć bezpośrednio na całą treść menu, jednak wymaga więcej pracy. Nowy styl menu, zwłaszcza połączony z globalnymi tablicami standardowymi/dynamicznymi, pozwala nam znacznie zautomatyzować menu. Musimy wybrać między metodami zależnie od zapotrzebowania. Obie są składnikiem biblioteki , więc ma problemu wyboru modułów.

Początkującym programistom Pawna pod AMXX polecam nowy styl - unikniecie wielu błędów.

PS. Do zamknięcia obu menu możemy użyć funkcji:
#define hide_menu(%1) show_menu(%1,0,"^n")
/*
To samo co
public hide_menu(id)
	show_menu(id,0,"^n");
*/



Dodatek

W przykładach menu otwierało się na komendę. Aby pokazać je zaraz po wejściu na serwer należy użyć kodu:
#define TASK_SHOWMENU 12000
 
public client_putinserver(id)
	set_task(1.0, "show_menu_", id+TASK_SHOWMENU);
	
public show_menu_(tid){
	new id=tid-TASK_SHOWMENU;
	new iTeam=get_user_team(id);
 
	new menu_id, keys;
	new menuUp = player_menu_info( id, menu_id, keys );
 
	if ( iTeam && (menuUp <= 0 || menu_id < 0) )
		//Tu pokazujemy menu
		mymenu(id);
	else
		set_task(1.0, "show_menu_", tid);
}
który nie pozwoli nadpisać menu wyboru drużyny i modelu.
  • +
  • -
  • 64


#697281 Mix modeli graczy do cs 1.6

Napisane przez Epal w 13.04.2015 15:57

W paczce znajdują się modele których nie znajdziecie na gamebanana, są rózne modele postaci z gwiezdnych wojen, piraci z karaibów, piłkarze i inne.

 

     screenshot

5tmfxdgmg8ta.png

 

 

 

 

download

http://przeklej.org/....graczy.mix.rar


  • +
  • -
  • 4


#697005 Rozjaśnienie DarkQ - Hitu "GO:MOD"

Napisane przez sharkowy w 11.04.2015 19:49

Super, za tak sprawnie i szybko przeprowadzone śledztwo łap tu zdjęcie banana.

 

banan-1.jpg


  • +
  • -
  • 12


#284825 Klasa Pomagier

Napisane przez A może sma? w 18.08.2011 20:46

Cześć :]
Klasa to modyfikacja tego pluginu:
Pallets with Bags - AMXX.pl: Support AMX Mod X

Jak ona działa?
Po wciśnięciu E mamy do wyboru 3 tryby:
  • Tryb strzelania - możemy w nim normalnie strzelać
  • Tryb stawiania worków - strzelanie zablokowane; worki stawiamy strzałem; po skończeniu się nam worków automatycznie jest przełączany tryb na strzelanie
  • Tryb usuwania worków - strzelanie zablokowane; worki usuwamy strzałem; jeżeli nie postawiliśmy worków żadnych automatycznie jest przełączany tryb na strzelanie

Opcje konfiguracji (w sma):
/* ***** KONFIGURACJA ***** */
#define ILOSC_WORKOW_GRACZA 5 // ilość worków na rundę
//#define PREMIUM // od komentuj, jeżeli klasa ma być premium
#define ODDAJWORKI // jeżeli od komentowane to będzie oddawać worki przy ich usuwaniu
/* ***** KONFIGURACJA ***** */


Klasa:

Załączony plik  codclass_hud_p_pomagier.sma   11,34 KB  451 Ilość pobrań
  codclass_hud_p_pomagier.amxx
Modele:
[CoD Nowy] Klasa Pomagier - AMXX.pl: Support AMX Mod X

Klasa jest zintegrowana z pluginem pozwalającym na wyświetlenie ilości rakiet/min itd w HUD, którego dziś zaktualizowałem do wersji 1.3 :]
  • +
  • -
  • 11