Przedstawiam wam malucha którego przekonwektorowałem z gta sa i porawiłem w nim niektóre rzeczy. To jest piersza wersja jeszcze zrobie wersje hard tunning z bogatym wnętrzem itd.
To równanie zostało stworzone przy pomocy kodu LaTeX:
Edytor LaTeX online: CodeCogs.com/latex/eqneditor.php
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.
|
Bad HypnotiC nie posiada znajomych
Napisane przez Epal
w 18.05.2015 09:57
Przedstawiam wam malucha którego przekonwektorowałem z gta sa i porawiłem w nim niektóre rzeczy. To jest piersza wersja jeszcze zrobie wersje hard tunning z bogatym wnętrzem itd.
Napisane przez QTM. Peyote
w 18.11.2010 18:56
Nowa wersja modyfikacji Call of Duty: MW. Główną zmianą jest budowa moda. Teraz wszystkie perki(przedmioty) i klasy są oddzielnymi pluginami. Podziękowania dla: MieTeK - za grafa. Szyfrant - za testa.
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 - Tajne.
cod_killxp 10 - Doswiadczenie za zabojstwo. cod_winxp 50 - Doswiadczenie za wygrana. cod_damagexp 1 - Doswiadczenie za 20 obrazen. cod_savetype 1 - Typ zapisu 1- Nick 2-SteamID 3-IP. cod_maxlevel 200 - Maksymalny poziom. cod_levelratio 35 - Ustawia ile doswiadczenia potrzebne do zdobycia 1 poziomu. cod_weaponsblocking 1 - blokowanie podnoszenia broni
Kopiujemy zawartość folderu cstrike z CodMod.rar do folderu cstrike na serwerze.Nic nie trzeba dopisywać do plugins.ini!
forward cod_perk_changed(id, perk); /*------------------------------ Forward wysylany do wszystkich pluginów w momencie zmiany perku ------------------------------*/ forward cod_class_changed(id, klasa); /*------------------------------ Forward wysylany do wszystkich pluginów w momencie zmiany klasy ------------------------------*/ forward cod_perk_enabled(id, wartosc); /*------------------------------ Forward wysylany do pluginu z ktorego zarejestrowany jest perk w momencie aktywacji ------------------------------*/ forward cod_perk_disabled(id); /*------------------------------ Forward wysylany do pluginu z ktorego zarejestrowany jest perk w momencie dezaktywacji ------------------------------*/ forward cod_perk_used(id); /*------------------------------ Forward wysylany do pluginu z ktorego zarejestrowany jest perk w momencie uzycia perku ------------------------------*/ forward cod_class_enabled(id); /*------------------------------ Forward wysylany do pluginu z ktorego zarejestrowana jest kasa w momencie aktywacji ------------------------------*/ forward cod_class_disabled(id); /*------------------------------ Forward wysylany do pluginu z ktorego zarejestrowana jest kasa w momencie dezaktywacji ------------------------------*/
native cod_get_user_xp(id); /*------------------------------ Zwraca doswiadczenie gracza ------------------------------*/ native cod_get_user_level(id); /*------------------------------ Zwraca poziom gracza ------------------------------*/ native cod_get_user_points(id) /*------------------------------ Zwraca punkty gracza ------------------------------*/ native cod_set_user_xp(id, wartosc); /*------------------------------ Ustawia doswiadczenie gracza ------------------------------*/ native cod_get_user_class(id); /*------------------------------ Zwraca klase gracza ------------------------------*/ native cod_set_user_class(id, klasa, zmien=0); /*------------------------------ Ustawia klase gracza, jezeli zmien=1 zmienia ja natychmiast ------------------------------*/ native cod_get_user_perk(id, &wartosc=0); /*------------------------------ Zwraca perk gracza, oraz przypisuje zmiennej wartosc wartosc perku ------------------------------*/ native cod_set_user_perk(id, perk, wartosc=-1, pokaz_info=1); /*------------------------------ Ustawia perk gracza. Jezeli wartosc = -1, wartosc perku bedzie losowa. Jezeli perk = -1 perk bedzie losowy ------------------------------*/ native cod_get_user_health(id, zdrowie_zdobyte=1, zdrowie_klasy=1, zdrowie_bonusowe=1); /*------------------------------ Zwraca punkty statystyki zdrowie ------------------------------*/ native cod_set_user_bonus_health(id, wartosc); /*------------------------------ Ustawia dodatkowe punkty statystyki zdrowie ------------------------------*/ native cod_get_user_intelligence(id, inteligencja_zdobyta=1, inteligencja_klasy=1, inteligencja_bonusowa=1); /*------------------------------ Zwraca punkty statystyki inteligencja ------------------------------*/ native cod_set_user_bonus_intelligence(id, wartosc); /*------------------------------ Ustawia dodatkowe punkty statystyki inteligencja ------------------------------*/ native cod_get_user_trim(id, kondycja_zdobyta=1, kondycja_klasy=1, kondycja_bonusowa=1); /*------------------------------ Zwraca punkty statystyki kondycja ------------------------------*/ native cod_set_user_bonus_trim(id, wartosc); /*------------------------------ Ustawia dodatkowe punkty statystyki kondycja ------------------------------*/ native cod_get_user_stamina(id, wytrzymalosc_zdobyta=1, wytrzymalosc_klasy=1, wytrzymalosc_bonusowa=1); /*------------------------------ Zwraca punkty statystyki wytrzymalosc ------------------------------*/ native cod_set_user_bonus_stamina(id, wartosc); /*------------------------------ Ustawia dodatkowe punkty statystyki wytrzymalosc ------------------------------*/ native cod_points_to_health(id, ilosc); /*------------------------------ Przydziela punkty do statystyki zdrowie ------------------------------*/ native cod_points_to_intelligence(id, ilosc); /*------------------------------ Przydziela punkty do statystyki inteligencja ------------------------------*/ native cod_points_to_trim(id, ilosc); /*------------------------------ Przydziela punkty do statystyki kondycja ------------------------------*/ native cod_points_to_stamina(id, ilosc); /*------------------------------ Przydziela punkty do statystyki wytrzymalosc ------------------------------*/ native cod_inflict_damage(atakujacy, ofiara, Float:obrazenia, Float:czynnik_inteligencji=1.0, byt_uszkadzajacy=0, dodatkowe_flagi=0); /*------------------------------ Zadaje obrazenia z uwzglednieniem inteligencji ------------------------------*/ native cod_get_perkid(const nazwa_perku[]); /*------------------------------ Zwaca numer perku o podanej nazwie ------------------------------*/ native cod_get_perks_num(); /*------------------------------ Zwaca ilosc perkow ------------------------------*/ native cod_get_perk_name(perk, Return[], len); /*------------------------------ Kopiuje nazwe perku do Return ------------------------------*/ native cod_get_perk_desc(perk, Return[], len); /*------------------------------ Kopiuje opis perku do Return ------------------------------*/ native cod_get_classid(const nazwa_klasy[]); /*------------------------------ Zwaca numer klasy o podanej nazwie ------------------------------*/ native cod_get_classes_num(); /*------------------------------ Zwaca ilosc klas ------------------------------*/ native cod_get_class_name(perk, Return[], len); /*------------------------------ Kopiuje nazwe klasy do Return ------------------------------*/ native cod_get_class_desc(perk, Return[], len); /*------------------------------ Kopiuje opis klasy do Return ------------------------------*/ native cod_give_weapon(id, bron); /*------------------------------ Daje okreslona bron oraz pozwala na jej posiadanie ------------------------------*/ native cod_take_weapon(id, bron); /*------------------------------ Zabiera okreslona bron oraz zabrania jej posiadania ------------------------------*/ native cod_set_user_shield(id, wartosc); /*------------------------------ Ustawia tarcze gracza. ------------------------------*/ native cod_set_user_nightvision(id, wartosc); /*------------------------------ Ustawia noktowizor gracza. ------------------------------*/ native cod_register_perk(const nazwa[], const opis[], min_wartosc=0, max_wartosc=0); /*------------------------------ Rejestruje nowy perk oraz zwraca jego numer ------------------------------*/ native cod_register_class(const nazwa[], const opis[], bronie, punkty_zdrowia, punkty_kondycji, punkty_inteligencji, punkty_wytrzymalosci); /*------------------------------ Rejestruje nowa klase oraz zwraca jej numer ------------------------------*/ native cod_get_level_xp(poziom); /*------------------------------ Zwraca ilosc potrzebnego doswiadczenia do przejscia danego poziomu ------------------------------*/
Napisane przez Ventri
w 01.06.2014 15:13
Zainstaluj w cstrike amxmod'a. (http://www.amxmodx.o...aller-1.8.2.exe)
Pobierz/zrób paczkę Call Of Duty Mod (http://amxx.pl/paczki/)
Dodaj PodBoty (http://darkgl.amxx.p...lacja-podbotow/)
Wgraj ją do folderu cstrike.
Ciesz się grą.
Napisane przez wonsz żeczny
w 17.01.2016 15:12
Witam.
W tym poradniku zaprezentuję Ci jak pisać pluginy i jeżeli nigdy nie napisałeś żadnego pluginu to będzie to twój pierwszy dobry plugin.
A teraz rozluźnij się, włącz cichą muzykę oraz zadbaj aby w twoim otoczeniu nikt Ci nie przeszkadzał.
Jeżeli chcesz naprawdę się czegoś nauczyć to przeczytaj cały post dokładnie i staraj się wszystko zrozumieć.
Gotowy? Do dzieła!
Stwórz sobie plik .sma
Aby to zrobić stwórz zwykły plik tekstowy i otwórz go po czym w lewym górnym rogu wybierz Zapisz jako.
W pole Nazwa pliku wpisz ExpMod.sma a niżej w typ zaznacz Wszystkie pliki.
Okej. Otwórz go i dodaj podstawową biblioteke
#include <amxmodx>
dalej zadefiniuj nazwę pluginu, wersję oraz autora.
#define PLUGIN "ExpMod" #define VERSION "1.0" #define AUTHOR "Nick"
Jako Nick wpisz swoją nazwę, tak ty będziesz autorem tego pluginu.
Teraz trzeba zapublikować podstawową funkcję czyli
public plugin_init() {
tutaj najpierw rejestrujemy to co zadefiniowaliśmy.
register_plugin( PLUGIN, VERSION, AUTHOR )
Okej. Jako, że to jest Exp Mod musimy też zarejestrować Zabicie gracza aby dostawać exp za zabicie.
Robimy to za pomocą tego:
register_event( "DeathMsg", "DeathMsg", "a" )
Drugie DeathMsg odnosi nas do zapublikowania tej rejestracji, więc robimy to.
public DeathMsg() {
Dobrze Ci idzie!
Teraz tworzymy zmienne przechowujące informacje o osobie która Zabija oraz Ginie.
new Zabojca = read_data( 1 ) new Ofiara = read_data( 2 )
Teraz bardzo ważna rzecz. Trzeba stworzyć warunek.
if( Zabojca == Ofiara ) return PLUGIN_HANDLED
Pytanie. Kiedy Zabójca jest Ofiarą? Jest wtedy gdy popełnia samobójstwo np. spadając z dużej wysokości lub ginie poprzez elementy na mapie jak lawa czy jakieś kolce.
A co robi return PLUGIN_HANDLED ? Linijka ta "zatrzymuje" działanie pluginu jeżeli Zabójca jest Ofiarą.
Wszystko jasne? Lecim dalej.
Teraz trzeba stworzyć warunek czy osoba zabijająca jest "Graczem". Wygląda to tak.
if( Gracz( Zabojca ) ) {
Zaraz zaraz. Skąd silnik ma to wiedzieć? Dowiesz się w dalszej części poradnika. Gracz() odpowiednio zapublikujemy!
Teraz jeżeli te warunki są spełnione możemy dodać graczowi Exp.
DodajExp( Zabojca )
To też zapublikujemy.
Ale też po dodaniu Expa trzeba sprawdzić czy czasem nie trzeba dodać poziomu. Więc dodajemy linjke
SprawdzPoziom( Zabojca )
oraz
return PLUGIN_CONTINUE }
Sprawę zabijania mamy za sobą!
Teraz publikujemy dodawanie expa.
public DodajExp( id ) {
Pokażę ci jak również dodać exp dla vipa!
if(get_user_flags(id) & ADMIN_LEVEL_H) { Exp[ id ] = Exp[ id ] + 20 } else { Exp[ id ] = Exp[ id ] + 10 } }
Jak widzisz dodaliśmy warunek, jeżeli gracz posiada flage ADMIN_LEVEL_H dostanie 20 expa.
po czym dałem "else" znaczy ono dokładnie "jeśli nie" czyli jeśli gracz nie ma tej flagi dostanie 10 expa.
Pokazała się nowa rzecz czyli Exp[ id ]
Na samej górze pod definiami dodajemy więc
new Exp[33]
Zmienna która będzie przechowywała informacje o naszym expie.
Teraz publikujemy sprawdzanie naszego expa.
public SprawdzPoziom( id ) {
pod czym dodajemy też warunek ale troszeczkę inny ale nie będę Ci nim mieszał w głowie i mówił dlaczego on tutaj się znajduje.
while( Exp[ id ] >= POZIOMY[ Poziom[ id ] ] && Poziom[ id ] < MAXPOZIOM ) Poziom[ id ] ++
Co tu się dzieje?
Oznacza to, jeśli Exp gracza jest "większy lub równy" od wymaganego poziomu to doda nam poziom w góre.
Jest też drugi warunek po && oznacza on, że doda nam poziom tylko wtedy gdy poziom ma być mniejszy niż maxymalny poziom.
Pokazały się nowe rzeczy jak m.in. Poziom[ id ]
Przechowuje on informacje o naszym poziomie więc musimy dodać zmienną. Wiesz gdzie ją dodać z przykładu zmiennej expa.
new Poziom[33]
Pokazało się nawet MAXPOZIOM
To już rzeba zadefiniować
#define MAXPOZIOM 100
Oraz coś jak POZIOMY[ Poziom[ id ] ]
Do tego też trzeba stworzyć zmienną do przechowywania tych informacji.
//Wygenerowane na amxx.pl new const POZIOMY[ MAXPOZIOM ] = { 0, 81, 102, 251, 475, 766, 1120, 1577, 2093, 2644, 3263, 4040, 4888, 5785, 6745, 7829, 8926, 10119, 11340, 12809, 14402, 16042, 17686, 19365, 21050, 22818, 24625, 26584, 28702, 30985, 33332, 35762, 38212, 40758, 43443, 46212, 49003, 51956, 54933, 58010, 61135, 64261, 67489, 70734, 74087, 77444, 80864, 84447, 88269, 92166, 96063, 100095, 104191, 108329, 112555, 116927, 121347, 125838, 130332, 134840, 139401, 144071, 148823, 153579, 158594, 163792, 169027, 174347, 179702, 185179, 190663, 196194, 201775, 207372, 213145, 218925, 224925, 230931, 237143, 243361, 249714, 256163, 262627, 269118, 275795, 282515, 289287, 296152, 303085, 310096, 317283, 324512, 331833, 339156, 346534, 354000, 361544, 369225, 376999, 384826 }
Zaraz zaraz.. tutaj mamy POZIOMY[ MAXPOZIOM ] a tam POZIOMY[ Poziom[ id ] ]
To określa jaki mamy poziom czyli np. mamy poziom expa 102 czyli poziom 2 bodajże
Teraz jescze zamykamy naszą publikacje SprawdzPoziom( id ) za pomocą tego
return PLUGIN_CONTINUE }
Okej. Mieliśmy jeszcze zapublikować Gracza.
public Gracz( id ) {
i dodajemy waruneczek
if( is_user_connected( id ) && is_user_alive( id ) ) return true return false }
Oznacza on, że jeżeli gracz jest połączony oraz gracz jest żywy to wtedy zwraca "true" czyli prawdziwość.
Po czym jeżeli to się stało zwracamy fałszywość.
Szkielet expa mamy za sobą, zmienne przechowują informacje ale chwilowo czyli na 1 mape.
Trzeba je zapisać na kolejne mapy, użyjemy do tego zapis nvault na nick.
Jest to już w innej bibliotece niż <amxmodx> więc dodajemy ją na górze.
#include <nvault>
Potem dodajemy 2 publikacje.
public client_connect( id ) { WczytajExp( id ) }
Czyli przy połączeniu się gracza z serwerem wczyta exp, oczywiście musimy to potem zapublikować.
Ale teraz dodajmy jeszcze
public client_disconnect( id ) { ZapiszExp( id ) }
Zapisujemy exp przy rozłączeniu gracza z serwerem.
Teraz nasze kochane publikacje:
public WczytajExp( id ) {
Pod czym dodajemy nasz zapis na nick
new name[ 35 ] new vaultdata[ 256 ] new vaultkey[ 64 ] get_user_name( id, name, 34 ) format( vaultkey, 63, "%s-NAME", name ) format( vaultdata,255, "%i#%i#", Poziom[ id ], Exp[ id ] ) nvault_get( vault, vaultkey, vaultdata, 255 ) replace_all( vaultdata , 255, "#", " " ) new poziom[ 32 ], exp[ 32 ] parse( vaultdata, poziom, 31, exp, 31 ) Poziom[ id ] = str_to_num( poziom ) Exp[ id ] = str_to_num( exp ) return PLUGIN_CONTINUE }
O co tutaj chodzi..
Na początku mamy zmienne które przechowają informacje o nazwie gracza oraz dane nvault po czym te informacje zostaną zapisane w pliku na serwerze.
Dalej tworzymy tzw. format czyli co ma się znajdować w tym pliku. Znajdować się będzie np. takie coś:
Wonsz żeczny-name
oraz
10#1346
czyli mamy 10 poziom i 1347 expa. (przykład)
Te informacje będą wczytywane.
Publikujemy
public ZapiszExp( id ) {
pod czym znów zmienne oraz dane do zapisywania
new name[ 35 ] get_user_name( id, name, 34 ) new vaultdata[ 256 ] new vaultkey[ 64 ] format( vaultkey, 63, "%s-NAME", name ) format( vaultdata, 255, "%i#%i#", Poziom[ id ], Exp[ id ] ) nvault_set( vault , vaultkey, vaultdata ) }
Mamy też rzecz nową czyli vault
Chwilowa informacja, musimy oczywiście stworzyć z tym zmienną na samej górze czyli
new vault
Teraz zajmiemy się utworzeniem pliku na serwerze w którym zapisywać się będą dane.
Robimy to w publikacji plugin_init
vault = nvault_open( "ZapisExpMod" )
Gdzie "ZapisExpMod" to będzie nazwa pliku.
Okej mamy piękny zapis a teraz stworzymy sobie napis na ekranie gdzie będzie pokazywany nasz poziom oraz exp.
Do tego tworzymy od razu zmienną do przechowania informacji o tym
new HUD
oraz użwamy tego
HUD = CreateHudSyncObj()
Dodajemy to do publikacji plugin_init
Publikujemy naszego huda np. tak:
public PokazHUD( id ) {
oraz dodajemy warunek aby wszystko pięknie grało:
if( !Gracz( id ) ) return PLUGIN_HANDLED
A po co tam ten wykrzyknik? Wykrzyknik przed daną rzeczą oznacza jego przeciwność. Czyli jeżeli osoba nie jest graczem to
zatrzymujemy plugin za pomocą return PLUGIN_HANDLED
Teraz tworzymy informacje o położeniu naszych napisów:
set_hudmessage(255, 0, 0, 0.03, 0.30, 0, 0.0, 0.3, 0.0, 0.0)
Informacje o tym znajdziecie tutaj: http://amxx.pl/topic...domości-na-hud/
A dalej lecimy z napisami jakie mają być na tym ekranie
ShowSyncHudMsg(id, HUD , "Poziom: %d ^nExp: %d / %d", Poziom[ id ], Exp[ id ], POZIOMY[ Poziom[ id ] ] )
%d przenosi nas poza napisy i bierze informacje z danej zmiennej.
A dlaczego nie %s ? Z literką s bierzemy "słowa" a literka %d lub %i liczby.
Zamykamy teraz naszą publikację
return PLUGIN_HANDLED }
Zatrzymujemy działanie huda, ponieważ został on wyświetlony wiec aby się nie wyświetlał on nam cały czas.
Teraz musimy pokazać ten hud w danym momencie.
My pokażemy ten hud przy odrodzeniu gracza czyli w publikacji plugin_init rejestrujemy to odrodzenie
RegisterHam( Ham_Spawn, "player", "Odrodzenie", 1 )
Pokazała się rejestracja z nowej biblioteki więc na samej górze dodajemy
#include <hamsandwich>
A teraz nasze Odrodzenie zapublikujemy:
public Odrodzenie( id ) { set_task( 0.1, "PokazHUD", id, _, _, "b" ) }
W środku znajduje się set_task czyli po 0.1 sekundzie przejdzie do publikacji PokazHUD która nam ten hud wyświetli.