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.
|
Juma
Rejestracja: 31.12.2009Aktualnie: Nieaktywny
Poza forum Ostatnio: 08.05.2014 23:41
Statystyki
- Grupa: Użytkownik
- Całość postów: 373
- Odwiedzin: 12 281
- Tytuł: Wszechpomocny
- Wiek: 28 lat
- Urodziny: Lipiec 24, 1995
-
Imię
Arek
-
Płeć
Mężczyzna
-
Lokalizacja
Haynau
#521018 Tabelka serwerów IPB golus
Napisane przez JaBydlak w 02.03.2013 18:10
#488422 Tworzenie nowych klas w DiabloMOD Core by DarkGL
Napisane przez Onyke w 08.12.2012 23:08
W tym poradniku pokażę jak zrobić nowe klasy do DiabloMOD Core by DarkGL.
Nie jest to nic trudnego ale w temacie z modem pojawiło się już pytanie dotyczące tworzenia nowych klas.
Klasa w tym poradniku będzie mieć następujące moce:
- zadaje dodatkowe obrażenia
- otrzymuje mniejsze obrażenia
- posiada mniejszą grawitację
- posiada mniejszą widoczność
- posiada większą prędkość
- za zabicie odnawia sobie HP
- na nożu odnawia sobie HP
diablo_damage_class_do(iVictim,iAttacker,&Float:fDamage);
diablo_damage_class_taken(iVictim,iAttacker,&Float:fDamage);
diablo_set_user_grav(id,Float:fGrav);
diablo_set_user_render(id, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16 , Float:fTime = 0.0 )
diablo_add_speed(id,Float:fAmount);
diablo_add_hp(id,iHp);
diablo_death(iKiller , killerClass , iVictim , victimClass );
Float:diablo_cast_time(id,Float:standardTime );
diablo_call_cast(id);
Nie wiedziałem w jakiej postaci napisać ten poradnik więc postanowiłem zrobić w postaci komentów w kodzie klasy.
Przykładowa klasa (Wersja z komentami):
/* Script generated by Pawn Studio */ #include <amxmodx> #include <amxmisc> #include <diablo_nowe.inc> /*Plik z ktorego sa wczytywane natywy i forwardy*/ #define PLUGIN "Poradnik" #define AUTHOR "Onyke" #define VERSION "1.0" new bool:bKlasa[33] public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) diablo_register_class("Nazwa klasy",120,"Opis",FLAG_ALL, "Frakcja") /* * Nazwa klasy - tutaj podajemy nazwe klasy * 120 - Ilosc bazowego HP * Opis - Tutaj podajemy opis klasy, jesli nie chcesz miec opisu to zostawiasz puste cudzyslowia * FLAG_ALL - Tutaj mozemy ustawic klase zeby byla premium. np ADMIN_LEVEL_H, jesli chcesz zeby klasa byla dostepna dla kazdego to zostawiasz FLAG_ALL * Frakcja - Do jakiej frakcji ma nalezec klasa * * Jesli chcesz zrobic klase np bez opisu, frakcji oraz nie ma byc ona premium to mozesz dodac krotsza linijke, ktora wyglada tak: * diablo_register_class("Nazwa Klasy",HP) * Jesli chcesz zrobic klase bez opisu, premium i bez frakcji to linijka ma wygladac np tak: * diablo_register_class("Nazwa Klasy",HP,"",ADMIN_LEVEL_H) */ } public diablo_class_enabled(id){ /* Wykonuje sie po wybraniu klasy. * Tutaj ustawiamy rozne zmienne oraz obowiazkowo ustawiamy bKlasa na true */ bKlasa[id] = true; } public diablo_class_disabled(id){ /* Wykonuje sie po zmienieniu klasy oraz rozlaczeniu z serwerem * Tutaj zerujemy rozne zmienne oraz obowiazkowo ustawiamy bKlasa na false */ bKlasa[id] = false; } public diablo_clean_data(id){ /*Czyszczenie wewnetrznych zmiennych klasy * Wykonuje sie przy starcie rundy, rozlaczeniu z serwerem, smierci oraz przy zmienieniu klasy*/ diablo_reset_grav(id) /*Resetujemy grawitacje*/ diablo_render_cancel(id) /*Resetujemy render. Mozemy tez zrobic to tak: * diablo_set_user_render(id,.render = kRenderTransAlpha,.amount = 255) * Czyli ustawic na standardowa wartosc 255*/ diablo_reset_speed(id) /*Resetujemy predkosc*/ } public diablo_set_data(id){ /*Ustawianie wewnetrznych zmiennych klasy * Wykonuje sie po wybraniu klasy oraz przy spawnie*/ diablo_set_user_grav(id,0.60); /*Ustawiamy grawitacje. 0.60 wynosi 480 poniewaz 60 procent z 800 (standardowa grawitacja) to wlasnie 480*/ diablo_set_user_render(id,.render = kRenderTransAlpha,.amount = 31) /*Ustawiamy render na 31*/ diablo_add_speed(id,24.00) /*Dodajemy 24 PKT Speeda*/ } public diablo_death(iKiller,killerClass,iVictim,victimClass){ /*Wykonuje sie co kazde zabojstwo * iKiller - ID zabojcty * killerClass - Klasa zabojcy[*] * iVictim - ID ofiary * victimClass - Klasa ofiary[*] * [*] - 0 to brak klasy, oraz o ile dobrze zauwazylem to klasa pierwsza w plugins-diablomod.ini bedzie miala 1, druga 2 itp * */ if(get_user_team(iVictim) != get_user_team(iKiller)){ /*Sprawdzenie czy ofiara i zabojca sa w innych druzynach*/ if(bKlasa[iKiller]){ /*Sprawdzenie czy mamy klase*/ diablo_add_hp(iKiller,10) /*Odnowienie 10 HP*/ } } } public diablo_damage_class_do(iVictim,iAttacker,&Float:fDamage){ /*Wykonuje sie gdy ZADAJEMY obrazenia * iVictim - ID ofiary * iAttacker - ID atakujacego (nasze) * &Float:fDamage - obrazenia * */ if(get_user_team(iVictim) != get_user_team(iAttacker)){ /*Sprawdzenie czy ofiara i atakujacy sa w innych druzynach*/ fDamage += 10.0 /*Zadajemy dodatkowe 10 DMG*/ } } public diablo_damage_class_taken(iVictim,iAttacker,&Float:fDamage){ /*Wykonuje sie gdy OTRZYMUJEMY obrazenia * iVictim - ID ofiary (nasze) * iAttacker - ID atakujacego * &Float:fDamage - obrazenia * */ if(get_user_team(iVictim) != get_user_team(iAttacker)){/*Sprawdzenie czy ofiara i atakujacy sa w innych druzynach*/ fDamage -= 10.0 /*Redukujemy 10 DMG (otrzymujemy obrazenia o 10 mniejsze)*/ } } public Float:diablo_cast_time(id,Float:standardTime){ /*Tutaj ustawiamy czas ladowania na nozu * standardTime jest to podstawowy czas ladowania na nozu ktory standardowo wynosi: 5.0-(float(getUserInt( id ))/30.0)*/ return standardTime * 2.0; /*W tym przypadku czas ladowania bedzie 2x wiekszy niz standardowy. Mozemy tez ustawic konkretny czas ladowania robiac tak: * return 3.0 * Wtedy czas ladowania bedzie wynosil 3 sekundy*/ } public diablo_call_cast(id){ /*Wykona sie po zaladowaniu przez nas noza. Tutaj dajemy bonusy za zaladowanie*/ diablo_add_hp( id , 100 ); /*Odnowienie 100 HP*/ show_hudmessage(id, "Zregenerowales sobie 100 HP") /*Informacja w HUD*/ }
Przykładowa klasa (Wersja bez komentów):
* Script generated by Pawn Studio */ #include <amxmodx> #include <amxmisc> #include <diablo_nowe.inc> #define PLUGIN "Poradnik" #define AUTHOR "Onyke" #define VERSION "1.0" new bool:bKlasa[33] public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) diablo_register_class("Nazwa klasy",120,"Opis",FLAG_ALL, "Frakcja") } public diablo_class_enabled(id){ bKlasa[id] = true; } public diablo_class_disabled(id){ bKlasa[id] = false; } public diablo_clean_data(id){ diablo_reset_grav(id) diablo_render_cancel(id) diablo_reset_speed(id) } public diablo_set_data(id){ diablo_set_user_grav(id,0.60); diablo_set_user_render(id,.render = kRenderTransAlpha,.amount = 31) diablo_add_speed(id,24.00) } public diablo_death(iKiller,killerClass,iVictim,victimClass){ if(get_user_team(iVictim) != get_user_team(iKiller)){ if(bKlasa[iKiller]){ diablo_add_hp(iKiller,10) } } } public diablo_damage_class_do(iVictim,iAttacker,&Float:fDamage){ if(bKlasa[iAttacker]){ if(get_user_team(iVictim) != get_user_team(iAttacker)){ fDamage += 10.0 } } } public diablo_damage_class_taken(iVictim,iAttacker,&Float:fDamage){ if(bKlasa[iVictim]){ if(get_user_team(iVictim) != get_user_team(iAttacker)){ fDamage -= 10.0 } } } public Float:diablo_cast_time(id,Float:standardTime){ return standardTime * 2.0; } public diablo_call_cast(id){ diablo_add_hp( id , 100 ); show_hudmessage(id, "Zregenerowales sobie 100 HP") }
Oba przykłady klas zamieszczam także do załącznika!
Jeśli macie jakieś pytania dotyczące tworzenia klas zadawajcie je w tym temacie! (Nie pisać na PW, tam udzielam jedynie pomocy odpłatnej)
Załączone pliki
-
Wersja_Z_Komentami.sma 4,33 KB 194 Ilość pobrań
Wersja_Z_Komentami.amxx -
Wersja_Bez_Komentow.sma 1,41 KB 207 Ilość pobrań
Wersja_Bez_Komentow.amxx
#515906 Dokumentacja Diablo Mod Core by DarkGL
Napisane przez glut w 16.02.2013 13:01
Forward wysyłany do pluginu w momencie wybrania klasy
Typ: Forward
Składnia:
diablo_class_enabled(id);
Notatki:
- id - index
Przykład
public diablo_class_enabled(id)
{
client_print(id,print_chat,"Aktywowales klase")
}
diablo_class_disabled
Forward wysyłany do pluginu w momencie dezaktywacji klasy
Typ: Forward
Składnia:
diablo_class_disabled(id);
Notatki:
- id - index
Przykład
public diablo_class_enabled(id)
{
client_print(id,print_chat,"Dezaktywowales klase")
}
diablo_class_spawned
Forward wywołany przy spawnie Klasy
Typ: Forward
Składnia:
diablo_class_spawned(id);
Notatki:
- id - index gracza
Przykład
public diablo_class_spawned( id ){
set_user_armor( id , 100 );
}
diablo_class_killed
Forward wysyłany do pluginu w chwili zabicia klasy
Typ: Forward
Składnia:
diablo_class_killed(id);
Notatki:
- id - index gracza
Przykład
public diablo_class_killed(id);
{
client_print(id,print_chat,"Zostales zabity")
}
Później dodam więcej
#487930 Diablo Mod Core 1.1.0 PL
Napisane przez DarkGL w 07.12.2012 20:22
Diablo Mod Core jest całkowicie nowym silnikiem Diablo Mod'a napisanym przezemnie jakiś czas temu ( dawno )
Dzięki zastosowaniu Forwardów i Natywów uzyskujemy łatwą możliwość rozbudowy moda bez zmian w głównym silnikiem
co przekłada się na możliwość łatwiejszej rozbudowy naszego serwera ( klas , itemów itp. )
Posiada on w sobie funkcje które nie są zaimplementowane w oryginalnej wersji diablomoda a które po prostu muszą być na serwerze DiabloMod
Co możemy znaleźć w silniku
- Klasy i itemy to odzielne pluginy
- System zarządzania renderem gracza
- Nowy system zapisu sql
- Dynamiczny zapis sql ( klasy mogą być dowolnie dodawane i usuwane )
- Wbudowane anty kopiowanie leveli
- Możliwość zapisu na steamid , nick , mieszane ( steamid dla steam i nick dla ns )
- Prefixy w say
- Większe możliwości konfiguracji
- Poprawiony kod kuszy , granatów na ziemi i rzucanych nozy
- Zestaw natywów i forwardów do rozbudowy moda
- Wbudowany anty 0 HP Bug
- Lista itemów
- Kod jest znacznie lepszy od wersji diablo Micza
- Dodatkowe opcje w menu rozdawania punktów
- Informacje o awansie gracza w say
- Poprawiony wygląd motd
- Nowy system itemów
- Wbudowana nowa wymiana itemami
- Komendy na dawanie itemów i expa
- Menu moda
- Szybkie rozdawanie statystyk
- Obsługa botów
- Komenda /exp
- Dwie nowe statystyki Pancerz i Szczescie
- Event Diablo
- System frakcji
- Komendy /daj i /oddaj
- Ustawianie nazwy gry
- Zabezpieczenie przeciwko nabijaniu expa ( wymagana ilość graczy na serwerze ustawiane cvarem )
- Krótkie komendy
- Damage jest teraz modyfikowane w lepszy sposób niż poprzez event Damage
- Wytrzymałość itemu
- Event Diablo jest to tryb w którym wybierany jest jeden gracz i staje się on "Diablo" reszta graczy musi go zabić jeśli to się uda otrzymają oni dodatkowy exp. Oczywiście Diablo ma ułatwienia tzn. dużą ilość hp , fireballe , ma on też inny model
- I jeszcze kilka innych rzeczy
Takie komendy jak
- /czary
- /skille
- /exp
- /menu
- /wymiana
- /wymien
- /item
- /przedmiot
- /klasy
- /klasa
- /reset
- /drop
- /rune
- /daj
- /komendy
- /event
- /k
- /r
- /d
- /p
- /i
- /g
- /ru
- /w
- /p
- /h
- /ko
- /m
Opisy klas
http://amxx.pl/topic...549-opisy-klas/
Jak napisałem wcześniej siłą tego moda jest możliwość konfiguracji więc teraz zajmiemy się tym
Najpierw konfiguracja w sma
#define HUD_TEXT "" #define SQL_TABLE "diablo_nowe_klasy" #define MAX_LEN_NAME 128 #define MAX_LEN_DESC 256 #define MAX_LEN_NAME_PLAYER 64 #define MAX_LEN_FRACTION 128 #define MAX 32 #define MAX_LEVEL 200 #define MAX_SKILL 100 #define BASE_SPEED 250.0 #define TASK_DEATH 100 #define TASK_RENDER 200 #define THROW_KNIFE_MODEL "models/diablomod/w_throwingknife.mdl" #define THROW_KNIFE_CLASS "throwing_knife" #define CLASS_NAME_CORSPE "fakeCorpse" #define XBOW_ARROW "xbow_arrow" #define TIME_HUD 1.0 #define GAME_DESCRIPTION "Diablo Mod" #define ADMIN_FLAG_GIVE ADMIN_IMMUNITY #define HELP_TASK_ID 91321 #define DIABLO_EVENT_SOUND "sound/diablo_taunt.mp3"jest tego trochę ale najważniejsze dla nas to
HUD_TEXT
w którym ustawiamy czy jakiś tekst ma się wyświetlić nad hudem z informacjami gracza ( klasa etc. )
możemy tu dodać np. "Forum Serwera www.xyz.pl"
SQL_TABLE
Nazwa tabeli w sql
MAX
Ilość slotów dzięki tej opcji oszczędzimy pamięć serwerowi a i mod będzie działał lepiej
MAX_LEVEL
Maksymalny level
MAX_SKILL
Maksymalny poziom skilli ( umiejętności zręczność etc. )
ADMIN_FLAG_GIVE
Flaga którą musi mieć admin aby używać komend na dawanie Expa i Itemów
#define BOTY //#define DEBUG #define DEBUG_LOG "addons/amxmodx/logs/debug.log"#define BOTY
zakomentuwujemy jeśli nie mamy botów na serwerze
usuwamy komentarz jeśli mamy ( komentarz czyli // )
#define DEBUG
Tryb debug dostajemy więcej informacji co aktualnie robi mod używane raczej tylko jeśli coś nie działa
jeśli wszystko jest ok lepiej to zakomentować
Możemy znaleźć jeszcze coś takiego
#define PREFIX_SAY "^x04[ DiabloMOD ]^x01"jest to prefix jaki mają wiadomości wysyłane przez mod
Cvary
//sql diablo_host host diablo_user user diablo_pass pass diablo_db db //typ zapisu 1 - nick 2 - steam id 3 - steamid lub nick zalezy czy gracz ma steam czy nie diablo_save_type 3 //sredni level dla nowego gracza diablo_avg 1 //ustawienia maga flashlight_custom 1 flashlight_drain 1.0 flashlight_charge 0.5 flashlight_radius 8 flashlight_decay 90 //minimalna ilosc graczy aby dostawac exp diablo_player_num 2 //ilosc dmg aby dostac 1 exp'a diablo_dmg_exp 20 //xpbonus diablo_xpbonus 5 /xpbonus2 diablo_xpbonus2 100 //ustawienia nekromanty czas odradzania diablo_revival_time 3 //hp po ozywieniu ( + inteligencja wskrzeszajacego ) diablo_revival_health 25 //minimalny dystans od zwlok diablo_revival_distance 70.0 //szybkosc rzuconego noza diablo_knife_speed 1000 //dmg zadawane przez rzucony noz diablo_knife 80.0 //dmg strzaly z kuszy diablo_arrow 120.0 //mnoznik dla inteligencji przy obliczaniu dmg diablo_arrow_multi 2.0 //szybkosc strzaly z kuszy diablo_arrow_speed 1500 //ilosc wytrzymalosci itemu zabieranej przy zginieciu diablo_durability 10 //koszt expa w rune diablo_exp_price 14500 //koszt losowego przedmiotu w rune diablo_random_price 9000 //koszt ulepszenia w rune diablo_upgrade_price 5000 //koszt w /daj diablo_price_daj 5000 //event on/off diablo_event 1 //ilosc wymaganych dropow diablo_drop_need 100 //hp diablo ( mnozone przez ilosc graczy ) diablo_diablo_hp 1000 //ilosc xp rozdzielane na tych ktozy zabija diablo diablo_event_exp 10000 //kamera przy diablo 1 - widok zza plecow diablo_camera 1 //ilosc punktow do rozdania za lvl diablo_points 2 //ile hp za jeden punkt sily diablo_strength_power 2 //ile reduckji za jeden punkt zrecznosci diablo_reduce_power 0.03 //Miejsce wyświetlania informacji o klasie itemie etc. 0 - standardowy lewy dolny róg 1 - informacja hud ( podobnie jak w cod mod ) diablo_hud_mode 1Cvary ustawiamy w pliku diablomod.cfg
Komendy admina
- amx_giveexp - daje exp graczowi Użycie amx_giveexp <nick> <ile>
- amx_giveitem - daje item graczowi Użycie amx_giveitem <nick> <iditemu>
- diablomod_version - zwraca używana wersję diablomoda
- /klasy - otwiera listę klas
- /klasa - otwiera menu klas do wyboru
- /reset - resetuje rozdane punkty umiejętności
- /drop - wyrzuca aktualnie posiadany przedmiot
- /item - opis aktualnie posiadanego przedmiotu
- /przedmiot - takie samo działanie jak /item
- /gracze - lista graczy wraz z ich levelami i klasami
- /czary - twoje statystyki
- /skille - tak jak /czary
- /rune - menu gdzie można kupić różne rzeczy
- /wymiana - wymiana itemami
- /wymien - tak jak /wymiana
- /daj - oddaj item za kasę
- /pomoc - krotka notatka o modzie
- /komendy - ta lista
- /exp - informacje o stanie twojego expa
- /menu - menu moda
- diablomod_version - wersja diablomoda używana na serwerze
Jeżeli ktoś jest zainteresowany tworzeniem nowych itemów , klas lub dodatków radzę zapoznać się z dostepnymi sma i plikiem diablo_nowe.inc gdzie znajdziecie opis natywów i forwardów.
Natywy
- rejestruje klase
diablo_register_class(const szNazwa[],const iHealth,const szOpis[] = "" , iFlags = FLAG_ALL , const szFraction[] = ""); - zwraca klase gracza
diablo_get_user_class(id); - nazwe klasy pobiera
diablo_get_class_name(classID , Return[] , len); - zwraca level
diablo_get_user_level(id); - zwraca exp
diablo_get_user_exp(id); - zwraca points
diablo_get_user_points(id); - zwraca punkty agi
diablo_get_user_agi(id); - zwraca punkty str
diablo_get_user_str(id); - zwraca punkty dex
diablo_get_user_dex(id); - zwraca punkty int
diablo_get_user_int(id); - czy klasa gracza to klasa z tego pluginu
diablo_is_class_from(id); - ustawia rendering graczowi
diablo_set_user_render(id, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16 , Float:fTime = 0.0 ) - diablo_add_extra_str( id , iIle );
- diablo_add_extra_int( id , iIle );
- diablo_add_extra_agi( id , iIle );
- diablo_add_extra_dex( id , iIle );
- czy ma taka klase
diablo_is_this_class(id,szClass[]); - dodawanie speed graczowi
diablo_set_speed(id,Float:fAmount); - ustawianie speed
diablo_add_speed(id,Float:fAmount); - pobranie speed
Float:diablo_get_speed(id) - pobranie dodatkowe speed
Float:diablo_get_speed_extra(id); - diablo_reset_speed( id );
- zadanie dmg
diablo_damage(iVictim,iKiller,Float:fDamage,DiabloDamageBits:damageBits); - zabij
diablo_kill(iVictim,iKiller,DiabloDamageBits:damageBits); - zadanie dmg w zasiegu
diablo_create_explode(iKiller,Float:fOrigin[3],Float:fDamage,Float:fDist,bool:bExplode); - dodaje hp
diablo_add_hp(id,iHp); - czy jest freezetime
diablo_is_freezetime(); - uruchom write hud
diablo_write_hud_(id); - diablo_get_xpbonus();
- diablo_get_xpbonus2();
- daje xp
diablo_add_xp(id,ile); - zabiera xp
diablo_take_xp(id,ile); - dodaje noze
diablo_add_knife(id,iIle); - diablo_set_user_grav(id,Float:fGrav);
- diablo_add_user_grav(id,Float:fGrav);
- Float:diablo_get_user_grav(id)
- diablo_reset_grav( id );
- diablo_give_user_trap(id,bool:give = true);
- diablo_give_user_bow(id,bool:give = true);
- diablo_show_hudmsg( id , Float:fTime , const szMessage[] , any:... );
- diablo_render_cancel( id );
- diablo_display_icon( id , enable , szNameIcon[] , red , green , blue );
- diablo_display_fade( id,duration,holdtime,fadetype,red,green,blue,alpha );
- diablo_give_xp( id , ile );
- diablo_add_max_hp( id , ile );
- diablo_register_item( Name[] , durability = 250 );
- diablo_screen_shake( id , amplitude , duration , frequency );
- diablo_set_max_hp( id , ile );
- diablo_get_max_hp( id );
- gdy klasa zostanie wybrana
diablo_class_enabled(id); - gdy klasa zostanie zmieniona
diablo_class_disabled(id); - przy zmianie broni
diablo_weapon_deploy(id,wpnID,weaponEnt); - czyszczenie wewnetrznych zmiennych klasy
diablo_clean_data(id); - ustawianie wewnetrznych zmiennych klasy
diablo_set_data(id); - prethink gracza
diablo_preThink(id); - diablo_preThinkItem(id);
- posthink gracza
diablo_postThink(id); - podczas zmiany renderu wysylany do wszystkich pluginów
diablo_render_change(id); - zwracasz czas call cast 0.0 powoduje zatrzymanie
Float:diablo_cast_time(id,Float:standardTime ); - call cast wykonany niech plugin dziala
diablo_call_cast(id); - ustawiania speed
diablo_speed_change(id); - przy spaawnie klasy
diablo_class_spawned(id); - przy zabiciu klasy
diablo_class_killed(id); - przy exp killu zwracaj 0 jak nic nie robisz
diablo_kill_xp(id,iIle); - przy exp damage 0 jak nic nie robisz
diablo_exp_damage(id,iIle); - przy uzyciu skillu klasy
diablo_class_skill_used(id); - when cast stop can return diablo_stop
diablo_cast_stop(id); - can move when cast
diablo_cast_move(id); - write hud
diablo_hud_write(id,szMessage[],iLen); - damage
diablo_damage_taken_post(iKiller,iVictim,iDamage); - diablo_damage_taken_pre(iKiller , iVictim , &Float:fDamage );
- zmiana damage klasy dostaje
diablo_damage_class_taken(iVictim,iAttacker,&Float:fDamage,damageBits); - zmiana damage klasy zadaje
diablo_damage_class_do(iVictim,iAttacker,&Float:fDamage,damageBits); - gracz zespawnowany
diablo_player_spawned(id); - diablo_user_change_class( id , class )
- diablo_death(iKiller , killerClass , iVictim , victimClass );
- diablo_item_give( id , szRet[] , iLen );
- diablo_item_reset( id );
- diablo_item_drop( id );
- diablo_item_info( id , szMessage[] , iLen , bool:bList );
- diablo_upgrade_item( id );
- diablo_item_set_data( id );
- diablo_damage_item_taken(iVictim,iAttacker,&Float:fDamage,damageBits);
- diablo_damage_item_do(iVictim,iAttacker,&Float:fDamage,damageBits);
- diablo_item_skill_used( id );
- diablo_item_player_spawned( id );
- gravity zmieniona
diablo_grav_change(id); - diablo_new_round();
- wymiana itemami
diablo_copy_item( iFrom , iTo );
- Diablo Questy
- Exp od godzinny
Instalacja odbywa się poprzez wrzucenie plików z paczki na serwer
Jeżeli doceniasz ilość pracy włożoną w ten mod nie usuwaj drobnej informacji o autorze wyświetlanej graczowi , dla osób które chcą to ukryć podpowiadam linijka 4719
Zapraszam też na DarkGL Blog | Programowanie Python , Pawn , C++ i Webdeveloping oraz Kanał użytkownika GitzZz14 - YouTube ewentualnie DarkGL3 - YouTube
Tutoriale
- http://amxx.pl/topic...core-by-darkgl/
- http://amxx.pl/topic...-core-by-darkgl
- http://amxx.pl/topic...core-by-darkgl/
#314485 SMS_SHOP v1.0 BETA
Napisane przez Gh0st w 28.10.2011 16:48
SMS_SHOP v1.1 BETA
O Sklepie:Sklep Jest Kontynuacją tego oto sklepu http://amxx.pl/topic...mins-wersja-15/. Ale dlaczego zrobiłem nowy temat. oto jest pytanie. Zrobiłem ten temat dlatego iż ten sklep bardzo różni się od tego wymienionego wyżej.
DEMO : http://4strike.pl/index.php
Co Posiada Nowego
- System Modułów ( Gotowy Przykład jak zrobić Kupno Premium )
- Panel Admina ( na razie jest tam parę opcji ale obiecuję że będę szybko dawał następne )
- No i główny powód to w dużej większości napisany obiektowo co daje mam nadzieje większą efektywność i szybkość pracy.
- Możliwość edycji menu
- Możliwość dodawanie i usuwania administratorów
- System Raportowania błędów na stronie. Pojawia się z prawej strony belki podczasz przeglądania modułów z sekcji globalnej
Instalacja jest banalnie prosta!, Postępujemy zgodnie z następującymi poleceniami
- Pobieramy paczkę która znajduje się w załączniku
- Otwieramy plik data.php
- Następnie zmieniamy dane na swoje
- A potem wchodzimy : adresstrony.pl/install.php
- Wymagany amxbans +1.6 GM
- Po poprawnym zainstalowaniu wchodzimy do panelu administracyjnego na stronie danymi:
Hasło: Podane Podczas Instalowania
Sklep nie potrzebuje żadnej instalacji ze strony serwera, Poprostu korzysta on z amxbansa.
O Modułach/Aplikacjach:
Moduły znajdują się w folderze aplications, dzielimy na :
- Global - dostępne dla wszystkich
- Private - dostępne tylko dla zalogowanego administratora
?app=global&mdl=nazwa_plikuLink do aplikacji prywatynych
?app=private&mdl=nazwa_pliku
Jak dodać np. Kupno Premium/vipa:
- Wchodzimy do folderu aplications/global/.
- Następnie otwieramy przykładowy plik kup_premium ( skąd wziąć $serwer_id ?, wchodzimy do phpmyadmin, w tabeli amx_serverinfo mamy id serwera )
- W tym Pliku jest wszystko opisane
- Wchodzimy do folderu style_templates
- I edytujemy wybrany przez siebie plik
SS:
W nowszej wersji mozilli i opery widać cień dookoła strony, niestety ss robiłem na komputerze a tutaj mam starą wersje.
Change Log:
Wersja v1.1:
- *Nowy moduł* - sprawdzanie id serwerów aktualnie zapisanych w amxbans. Id serwera potrzeba do napisania swojego własnego modułu np kupna premium
- Nowy Plik install.php by Hiroshima Dodano Wpisywania własnego loginu i hasła którego potem trzeba użyć do zalogowania się
- Dodano demo: http://4strike.pl/index.php
- Poprawiono Plik class.shop.php
- Poprawiono Plik Kup_premium ( Przykład )
- Aby Zrobić Update należy podmienić wszystkie plik z folderu ./update/
SMS SHOP.rar 12,05 KB 593 Ilość pobrań
SMS_SHOP v1.1.rar 16,96 KB 2035 Ilość pobrań
#488746 Dokumentacja Diablo Mod Core by DarkGL
Napisane przez Fili:P w 09.12.2012 16:24
Póki co nie ma jeszcze wszystkich funkcji, z czasem uzupełnię resztę.
diablo_register_class
Typ: Natyw
Argumenty:
const szNazwa[]Jest to nazwa naszej klasy, którą rejestrujemy
const iHealthJest to ilość punktów zdrowia na start naszej klasy
const szOpis[] = ""Jest to opis naszej klasy ( nie jest wymagany )
iFlags = FLAG_ALLJest to flaga, która wyznaczacza dostęp do naszej klasy, ten argument pozwala tworzyć klasy premium. Jeżeli chcesz mieć klasę premium podaj tu flagę, na którą będzie ta klasa. Jeżeli chcesz mieć normalną klasę wpisz -1, FLAG_ALL lub _. Jeśli jednak nie chcesz wykorzystać późniejszych argumentów zostaw to pole pustę ( jakby nie istniało, ponieważ jest domniemane ).
const szFraction[] = ""Jest to frakcja naszej klasy, która nie jest wymagana. Jeżeli pozostawimy to pole puste to po prostu klasa nie będzie miała w menu przydziału do żadnej frakcji. Jeżeli chcemy mieć własną frakcję to po prostu podajemy tutaj jej nazwe.
Gdzie używać: plugin_init
Przykładowe użycie:
diablo_register_class( "Demon", 150, "Jest demonem i boja sie go inni", _, "Piekielni" );
diablo_get_user_class
Typ: Natyw
Argumenty:
idJest to index naszego gracza, czyli jakby numer jego slotu na serwerze.
Gdzie używać: W dowolnej funkcji, lecz musimy pamiętać, aby podać id, bo inaczej funkcja zwróci 0. Również musimy pamiętać, aby sprawdzić czy gracz jest połączony z serwerem, tak profilaktycznie dla bezpieczeństwa.
Przykładowe użycie:
new iClassId = diablo_get_user_class( id );
diablo_get_class_name
Typ: Natyw
Argumenty:
classIdJest to identyfikator naszej klasy, zwracany przez diablo_register_class.
Return[]Jest to tablica, do której zostanie przypisana nazwa klasy
lenJest to wielkość tablicy, do której zostanie przypisana nazwa klasy, czyli wielkość tablicy - 1
Gdzie używać: W dowolnej funkcji
Przykładowe użycie:
new szClassname[64];
diablo_get_class_name( cid, szClassname, 63 );
diablo_get_user_level
Zwraca: Poziom doświadczenia gracza
Typ: Natyw
Argumenty:
idJest to identyfikator naszego gracza, czyli jakby numer jego slotu na serwerze
Gdzie używać: W dowolnej funkcji
Przykładowe użycie:
new iLevel = diablo_get_user_level( id );
diablo_get_user_exp
Zwraca: Ilość punktów doświadczenia gracza
Typ: Natyw
Argumenty:
idJest to identyfikator naszego gracza, czyli jakby numer jego slotu na serwerze
Gdzie używać: W dowolnej funkcji
Przykładowe użycie:
new iXp = diablo_get_user_exp( id );
diablo_get_user_points
Zwraca: Ilość punktów statystyk gracza
Typ: Natyw
Argumenty:
idJest to identyfikator naszego gracza, czyli jakby numer jego slotu na serwerze
Gdzie używać: W dowolnej funkcji
Przykładowe użycie:
new iPoints = diablo_get_user_points( id );
diablo_get_user_agi
Zwraca: Ilość punktów statystyk, którymi gracz ulepszył agility
Typ: Natyw
Argumenty:
idJest to identyfikator naszego gracza, czyli jakby numer jego slotu na serwerze
Gdzie używać: W dowolnej funkcji
Przykładowe użycie:
new iPointsAgi = diablo_get_user_agi( id );
diablo_get_user_str
Zwraca: Ilość punktów statystyk, którymi gracz ulepszył "strendż" - siłe
Typ: Natyw
Argumenty:
idJest to identyfikator naszego gracza, czyli jakby numer jego slotu na serwerze
Gdzie używać: W dowolnej funkcji
Przykładowe użycie:
new iPointsStr = diablo_get_user_str( id );
diablo_get_user_dex
Zwraca: Ilość punktów statystyk, którymi gracz ulepszył dex ( chyba dexterity ) - zręczność
Typ: Natyw
Argumenty:
idJest to identyfikator naszego gracza, czyli jakby numer jego slotu na serwerze
Gdzie używać: W dowolnej funkcji
Przykładowe użycie:
new iPointsDex = diablo_get_user_dex( id );
diablo_get_user_int
Zwraca: Ilość punktów statystyk, którymi gracz ulepszył inteligencji
Typ: Natyw
Argumenty:
idJest to identyfikator naszego gracza, czyli jakby numer jego slotu na serwerze
Gdzie używać: W dowolnej funkcji
Przykładowe użycie:
new iPointsInt = diablo_get_user_int( id );
diablo_is_class_from
Zwraca: Czy gracz ma obecnie klasę, która jest tworzona. Zwraca prawde lub fałsz.
Typ: Natyw
Argumenty:
idJest to identyfikator gracza
Gdzie używać: W pluginie, w którym tworzymy klasę.
Przykładowe użycie:
if( diablo_is_class_from( id ) )[/spoiler]
diablo_set_user_render
[spoiler][b]Funkcja:[/b] diablo_set_user_render
[b]Typ:[/b] Natyw
[b]Argumenty:[/b] __CODEBOX_6__[i]Jest to identyfikator naszego gracza, czyli jakby numer jego slotu na serwerze[/i]
[sma]fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16 [/sma][i]Te argumenty są dokładnie opisane tu: [url="http://amxx.pl/dokumentacja/f970/set-user-rendering"]http://amxx.pl/dokum...-user-rendering[/url][/i]
[sma]Float:fTime = 0.0[/sma][i]Jest to czas trwania ustawianego efektu renderowania, jeżeli damy 0.0 lub nie ustawimy efekt będzie trwał, aż do zastąpienia go.[/i]
[b]Gdzie używać:[/b] [i]W dowolnej funkcji[/i]
[b]Przykładowe użycie:[/b] [sma]new iPointsInt = diablo_get_user_int( id );[/sma][/spoiler]
diablo_add_extra_str/int/agi/dex
[spoiler][b]Funkcje:[/b] diablo_add_extra_str/int/agi/dex
[b]Zwraca:[/b] Dodaje punkty do konkretnej statystyki ( zależy od użytej funkcji )
[b]Typ:[/b] Natyw
[b]Argumenty:[/b] [sma]id[/sma][i]Jest to identyfikator naszego gracza, czyli jakby numer jego slotu na serwerze[/i]
[sma]ille[/sma][i]Tu podajemy ile chcemy dodać extra punktów.[/i]
[b]Gdzie używać:[/b] [i]W dowolnej funkcji[/i]
[b]Przykładowe użycie:[/b] [sma]diablo_add_extra_int( id, 12 );[/sma][/spoiler]
diablo_is_this_class
[spoiler][b]Funkcja:[/b] diablo_is_this_class
[b]Zwraca:[/b] Czy gracz gra obecnie podaną klasą
[b]Typ:[/b] Natyw
[b]Argumenty:[/b] [sma]id[/sma][i]Jest to identyfikator naszego gracza, czyli jakby numer jego slotu na serwerze[/i]
[sma]szClass[][/sma][i]Jest to nazwa naszej klasy[/i]
[b]Gdzie używać:[/b] [i]W dowolnej funkcji[/i]
[b]Przykładowe użycie:[/b] [sma]if( diablo_is_this_class( id, "Barbarzynca" ) )[/sma][/spoiler]
diablo_set_speed
[spoiler][b]Funkcja:[/b] diablo_set_speed
[b]Co robi:[/b] Ustawia graczu prędkość poruszania się.
[b]Typ:[/b] Natyw
[b]Argumenty:[/b] [sma]id[/sma][i]Jest to identyfikator naszego gracza, czyli jakby numer jego slotu na serwerze[/i]
[sma]Float:fAmount[/sma][i]Prędkość poruszania się jaką ustawimy.[/i]
[b]Gdzie używać:[/b] [i]W dowolnej funkcji[/i]
[b]Przykładowe użycie:[/b] [sma]diablo_set_speed( id, 321.0 );[/sma][/spoiler]
diablo_add_speed
[spoiler][b]Funkcja:[/b] diablo_add_speed
[b]Co robi:[/b] Dodaje do obecnej prędkości poruszania się gracza, prędkość podaną w drugim argumencie.
[b]Typ:[/b] Natyw
[b]Argumenty:[/b] [sma]id[/sma][i]Jest to identyfikator naszego gracza, czyli jakby numer jego slotu na serwerze[/i]
[sma]Float:fAmount[/sma][i]Prędkość poruszania się jaką chcemy dodać.[/i]
[b]Gdzie używać:[/b] [i]W dowolnej funkcji[/i]
[b]Przygładowe użycie:[/b] [sma]diablo_add_speed( id, 100.0 );[/sma][/spoiler]
diablo_get_speed
[spoiler][b]Funkcja:[/b] diablo_get_speed
[b]Zwraca:[/b] Prędkość gracza ( tą bez używania diablo_add_speed lub diablo_set_speed )
[b]Typ:[/b] Natyw
[b]Argumenty:[/b] [sma]id[/sma][i]Jest to identyfikator naszego gracza, czyli jakby numer jego slotu na serwerze[/i]
[b]Gdzie używać:[/b] [i]W dowolnej funkcji[/i]
[b]Przykładowe użycie:[/b] [sma]new Float:fSpeed = diablo_get_speed( id );[/sma][/spoiler]
diablo_get_speed_extra
[spoiler][b]Funkcja:[/b] diablo_get_speed_extra
[b]Zwraca:[/b] Prędkość gracza ( tą z używaniem diablo_add_speed lub diablo_set_speed nie wliczająca standardowej prędkości )
[b]Typ:[/b] Natyw
[b]Argumenty:[/b] [sma]id[/sma][i]Jest to identyfikator naszego gracza, czyli jakby numer jego slotu na serwerze[/i]
[b]Gdzie używać:[/b] [i]W dowolnej funkcji[/i]
[b]Przykładowe użycie:[/b] [sma]new Float:fSpeedEx = diablo_get_speed_extra( id );[/sma][/spoiler]
diablo_reset_speed
[spoiler][b]Funkcja:[/b] diablo_reset_speed
[b]Co robi:[/b] Resetuje prędkość poruszania się gracza
[b]Typ:[/b] Natyw
[b]Argumenty:[/b] [sma]id[/sma][i]Jest to identyfikator naszego gracza, czyli jakby numer jego slotu na serwerze[/i]
[b]Gdzie używać:[/b] [i]W dowolnej funkcji[/i]
[b]Przykładowe użycie:[/b] [sma]diablo_reset_speed( id );[/sma][/spoiler]
diablo_damage
[spoiler][b]Funkcja:[/b] diablo_damage
[b]Co robi:[/b] Zadaje obrażenia.
[b]Typ:[/b] Natyw
[b]Argumenty:[/b] [sma]iVictim[/sma][i]Jest to identyfikator osoby, która otrzyma obrażenia[/i]
[sma]iKiller[/sma][i]Jest to identyfikator osoby, która zada obrażenia[/i]
[sma]Float:fDamage[/sma][i]Jest to ilość obrażeń jakie będą zadane[/i]
[sma]DiabloDamageBits:damageBits[/sma][i]Jest to typ obrażeń, które będą zadane[/i]
Mamy jak na razie do dyspozycji 3 typy obrażeń:
[sma]diabloDamageKnife[/sma][i]Obrażenia zadawane od noży[/i]
[sma]diabloDamageGrenade[/sma][i]Obrażenia zadawane od granatów[/i]
[sma]diabloDamageShot[/sma][i]Obrażenia zadawane od strzałów[/i]
[b]Gdzie używać:[/b] [i]W dowolnej funkcji[/i]
[b]Przykładowe użycie:[/b] [sma]diablo_damage( vid, kid, 23.0, diabloDamageShot );[/sma][/spoiler]
diablo_kill
[spoiler][b]Funkcja:[/b] diablo_kill
[b]Co robi:[/b] Zabija gracza.
[b]Typ:[/b] Natyw
[b]Argumenty:[/b] [sma]iVictim[/sma][i]Jest to identyfikator osoby, która zginie.[/i]
[sma]iKiller[/sma][i]Jest to identyfikator osoby, która zabije.[/i]
[sma]DiabloDamageBits:damageBits[/sma][i]Jest to typ obrażeń, od których ktoś zginie.[/i]
Mamy jak na razie do dyspozycji 3 typy obrażeń:
[sma]diabloDamageKnife[/sma][i]Obrażenia zadawane od noży[/i]
[sma]diabloDamageGrenade[/sma][i]Obrażenia zadawane od granatów[/i]
[sma]diabloDamageShot[/sma][i]Obrażenia zadawane od strzałów[/i]
[b]Gdzie używać:[/b] [i]W dowolnej funkcji[/i]
[b]Przykładowe użycie:[/b] [sma]diablo_kill( vid, kid, diabloDamageShot );[/sma][/spoiler]
diablo_create_explode
[spoiler][b]Funkcja:[/b] diablo_create_explode
[b]Co robi:[/b] Zadaje obrażenia w zasięgu
[b]Typ:[/b] Natyw
[b]Argumenty:[/b] [sma]iKiller[/sma][i]Jest to identyfikator osoby, którazada obrażenia.[/i]
[sma]Float:fOrigin[3][/sma][i]Miejsce, w którym rozpoczyna się eksplozja[/i]
[sma]Float:fDamage[/sma][i]Ilość obrażeń jaka zostanie zadana graczą w zasięgu fDist od fOrigin[/u]
[sma]Float:fDist[/sma][i]Dystans w jakim zostaną zadane obrażenia od fOrigin[/i]
[sma]bool:bExplode[/sma][i]Czy wykonać efekt eksplozji[/i][/i]
[b]Gdzie używać:[/b] [i]W dowolnej funkcji[/i][/i]
[b]Przykładowe użycie:[/b] [sma]diablo_create_explode( kid, fOrigin, 100.0, 250.0, true );
#412812 Aktualizacja do 3.3.2
Napisane przez Gość w 20.05.2012 22:14
Najpierw powiązać konto, później się logować, nie na odwrót. I logujesz się tym małym logiem Steam, a nie przyciskiem "Rejestracja".@BaQStiC: musisz najpierw powiązać konto ze Steamem, jeśli już masz założone (AMXX.pl - Support AMX Mod X).
edit.
Poradnik "Jak się zalogować na forum AMXX.pl" by benio101 specjalnie dla BaQStiC:
1. Wchodzimy w ustawienia konta. W tym celu należy:
- Kliknąć na swój w prawym górnym rogu tuż obok napisu "Wyloguj"
- Z otwartego menu wybrać "Ustawienia"
- Będąc już w Panelu kontrolnym wybieramy pozycję "Menage Steam"
- Następnie kliknąć na czarny przycisk, który nam się pojawi.
- Zalogować się w otwartej karcie (oknie) do Steam i tym samym powiązać konta.
2. Gdy już mamy powiązane konto ze Steam (i dopiero teraz), wylogowujemy się,
klikając przycisk Wyloguj, który znajduje się skrajnie w prawym górnym rogu.
3. Teraz, pozostając zalogowanym na Steam, klikamy w prawym górnym rogu w czarne logo Steam
(jest to trzeci od lewej obrazek, podobny znajdziesz w lewej stronie pod moim nickiem w tym poście)
3. Nie klikamy tego wielkiego zielonego przycisku "Rejestracja", choć bardzo kusi on smakowitym wyglądem.
Gdy już powstrzymamy się od kliknięcia tego pięknego przycisku, znajdujemy ww. czarne logo Steam i klikamy je.
4. Następnie pojawi się strona Steam, prosząca o zalogowanie się.
Pomimo bardzo dużej ilości treści, musimy odnaleźć taki niebieski przycisk "Login" i kliknąć go:
5. Gratulacje!
Właśnie zalogowałeś się na forum AMXX.pl za pomocą Steam!
#363510 Item "Piorun Zeusa"
Napisane przez Angel of Death w 12.02.2012 20:36
Masz losową szansę na to że trafisz wroga piorunem.
Wymagany moduł: hamsandwich
Wygląda to tak:
No to do dzieła:
1. Dodajemy zmienną globalną:
new piorun_zeusa[33] = 1
2. W public "reset_item_skills" dodajemy
piorun_zeusa[id] = 0
3. W public "iteminfo(id)" dodajemy:
if (piorun_zeusa[id] &--#62; 0) { num_to_str(piorun_zeusa[id],TempSkill,10) add(itemEffect,699,"Masz 1/") add(itemEffect,699,TempSkill) add(itemEffect,699,"szans ,zeby uderzyc we wroga piorunem&--#60;br&--#62;") }
4. W public "award_item(id, itemnum)" dodajemy kolejny Item'ek, na początku podmieniamy:
new rannum = random_num(1,xxx)xxx - nasza ilość itemow musimy zwiększyć o jedno aby losowanie odbyło się prawidłowo
case xxx:za xxx wstawiamy kolejny numer itemu
Dalej...
{ player_item_name[id] = "Piorun Zeusa" player_item_id[id] = rannum piorun_zeusa[id] = random_num(8,15) show_hudmessage(id, "Znalazles przedmiot: %s :: Masz 1/%i szans ,ze trafisz wroga piorunem",player_item_name[id],piorun_zeusa[id]) } W public damage(id) dodajemy add_bonus_piorun(attacker_id,id)
5. I na końcu dodajemy:
public add_bonus_piorun(attacker_id,id) { if (piorun_zeusa[attacker_id] &--#62;0 && (random_num(1, piorun_zeusa[attacker_id]) == 1)) { new Float:fl_Origin[3] pev(id, pev_origin, fl_Origin) if(cs_get_user_team(attacker_id) == cs_get_user_team(id)) return HAM_IGNORED set_pev(id, pev_velocity, Float:{0.0,0.0,0.0}) // stop motion set_pev(id, pev_maxspeed, 5.0) // prevent from moving thunder_effects(fl_Origin) ExecuteHam(Ham_TakeDamage, id, attacker_id, attacker_id, 40.0, 1); } return PLUGIN_HANDLED } thunder_effects(Float:fl_Origin[3]) { new Float:fX = fl_Origin[0], Float:fY = fl_Origin[1], Float:fZ = fl_Origin[2] // Beam effect between two points engfunc(EngFunc_MessageBegin, MSG_BROADCAST, SVC_TEMPENTITY, fl_Origin, 0) write_byte(TE_BEAMPOINTS) // 0 engfunc(EngFunc_WriteCoord, fX + 150.0) // start position engfunc(EngFunc_WriteCoord, fY + 150.0) engfunc(EngFunc_WriteCoord, fZ + 800.0) engfunc(EngFunc_WriteCoord, fX) // end position engfunc(EngFunc_WriteCoord, fY) engfunc(EngFunc_WriteCoord, fZ) write_short(sprite_lgt) // sprite index write_byte(1) // starting frame write_byte(15) // frame rate in 0.1's write_byte(10) // life in 0.1's write_byte(80) // line width in 0.1's write_byte(30) // noise amplitude in 0.01's write_byte(255) // red write_byte(255) // green write_byte(255) // blue write_byte(255) // brightness write_byte(200) // scroll speed in 0.1's message_end() // Sparks message_begin(MSG_PVS, SVC_TEMPENTITY) write_byte(TE_SPARKS) // 9 engfunc(EngFunc_WriteCoord, fX) // position engfunc(EngFunc_WriteCoord, fY) engfunc(EngFunc_WriteCoord, fZ + 10.0) message_end() // Smoke engfunc(EngFunc_MessageBegin, MSG_BROADCAST, SVC_TEMPENTITY, fl_Origin, 0) write_byte(TE_SMOKE) // 5 engfunc(EngFunc_WriteCoord, fX) // position engfunc(EngFunc_WriteCoord, fY) engfunc(EngFunc_WriteCoord, fZ + 10.0) write_short(sprite_smoke) // sprite index write_byte(10) // scale in 0.1's write_byte(10) // framerate message_end() // Blood engfunc(EngFunc_MessageBegin, MSG_BROADCAST, SVC_TEMPENTITY, fl_Origin, 0) write_byte(TE_LAVASPLASH) // 10 engfunc(EngFunc_WriteCoord, fX) // position engfunc(EngFunc_WriteCoord, fY) engfunc(EngFunc_WriteCoord, fZ + 12.0) message_end() }
Autorem tak jak w poprzednim przypadku nie jestem ja lecz "M@nkovsky"
Koniec, Enjoy
Dalej...
{ player_item_name[id] = "Piorun Zeusa" player_item_id[id] = rannum piorun_zeusa[id] = random_num(8,15) show_hudmessage(id, "Znalazles przedmiot: %s :: Masz 1/%i szans ,ze trafisz wroga piorunem",player_item_name[id],piorun_zeusa[id]) } W public damage(id) dodajemy add_bonus_piorun(attacker_id,id)
Powinno być:
Dalej...
{ player_item_name[id] = "Piorun Zeusa" player_item_id[id] = rannum piorun_zeusa[id] = random_num(8,15) show_hudmessage(id, "Znalazles przedmiot: %s :: Masz 1/%i szans ,ze trafisz wroga piorunem",player_item_name[id],piorun_zeusa[id]) }
A później:
* W public "damage(id)" dodajemy:
add_bonus_piorun(attacker_id,id)
Dodatkowo chcę wspomnieć, że linijką :
ExecuteHam(Ham_TakeDamage, id, 0 , id, 40.0, 1);
.. można edytować obrażenia zadawane przez piorun, zamiast 40.0 dajemy własną liczbę rzeczywistą, np 66.0 - rzeczywistą, czyli koniecznie z np .0 na końcu. Można to też przerobić dodając do tego np +floatround(player_intelligence[id]/5) - czyli przy 100 inteligencji będziecie zadawać SWOJE USTAWIONE + 20 ;]
#360706 [ROZWIĄZANE] LiveBox i Wi-Fi
Napisane przez Na 5tyk w 08.02.2012 18:42
#345423 Words_event diablomod
Napisane przez kijkol w 06.01.2012 12:55
*** Kto pierwszy wpisze SLOWO wygra XX expa - 5 sekund***
SS:http://steamcommunit...217/?tab=public
Dodatek byl uwielbiany przez graczy, ale mi sie nie przydaje juz.
Dodanie opiera sie na CTRL+C i CTRL+V i 3 zmiany gdzie ma być EXP
Mam nadzieje, ze sie komus przyda.
Kod wyciagniety z pluginu DarkGL - juz pluginu chyba nie ma na forum.
Szukamy:
new bool:rndStarted
dodajemy pod:
//words_event
new const win_sound[] = "win_sound.wav"
new const draw_sound[] = "draw_sound.wav"
new dir[128],slowo[128]
new ile;
new bool:wpisywac = false;
//words_event
Szukamy:
register_cvar("diablomod_version","5.9i PL",FCVAR_SERVER)
Pod dodajemy:
// words event
pcvar_min_time = register_cvar("event_min_time","120.0")
pcvar_max_time = register_cvar("event_max_time","360.0")
pcvar_time = register_cvar("event_time_write","7")
register_clcmd("say","say_handle")
register_clcmd("say_team","say_handle")
set_task(random_float(get_pcvar_float(pcvar_min_time),get_pcvar_float(pcvar_max_time)),"event",666)
// words event
Szukamy:
// Sprite
new sprBeam
Dodajemy pod:
//words
new pcvar_min_time,pcvar_max_time,pcvar_time;
//words
Szukamy:
precache_model("models/diablomod/bm_block_platform.mdl")
Pod dodajemy:
//words event
new cdir[128];
get_configsdir(cdir,charsmax(cdir));
format(dir,charsmax(dir),"%s/events_words.ini",cdir)
precache_sound(win_sound);
precache_sound(draw_sound)
//words event
Na samym koncu dajemy:
public say_handle(id)
{
if(!wpisywac)
{
return PLUGIN_CONTINUE;
}
if(get_user_team(id) != 2 && get_user_team(id) != 1 )
{
return PLUGIN_CONTINUE;
}
new stringsay[192]
read_args(stringsay,192)
remove_quotes(stringsay)
if(!equali(slowo,stringsay))
{
return PLUGIN_CONTINUE;
}
remove_task(665);
wpisywac = false;
new name[64];
get_user_name(id,name,63);
ColorChat(0,GREEN,"[Event]^x01 ***^x04 Gratulacje^x03 %s^x04 wygral^x03 XX^x04 expa !",name)
client_cmd(0, "spk sound/win_sound.wav")
Give_Xp(id,XX)
message_begin(MSG_ALL,85)
write_byte(id)
write_short(0)
write_short(get_user_team(id))
message_end()
set_task(7.0,"usun",664)
return PLUGIN_CONTINUE;
}
public usun()
{
client_print(0,print_center,"")
}
public event()
{
new len;
read_file(dir,random(file_size(dir,1)),slowo,127,len)
ile = get_pcvar_num(pcvar_time)
ColorChat(0,GREEN,"[Event]^x01 ***^x03 Kto pierwszy wpisze^x04 [%s]^x03 wygra^x04 XX ^x03expa -^x04 %d^x03 sekund^x01 ***",slowo,ile)
wpisywac = true;
set_task(random_float(get_pcvar_float(pcvar_min_time),get_pcvar_float(pcvar_max_time)),"event",666)
set_task(1.0,"odswiez",665,_,_,"b")
}
public odswiez()
{
ile--;
if(ile <= 0 )
{
wpisywac = false;
ColorChat(0,GREEN,"[Event]^x01 ***^x03 Niestety nikt nie wygral ^x01 ***")
client_cmd(0, "spk sound/draw_sound.wav")
set_task(7.0,"usun",664)
remove_task(665)
}
else
{
ColorChat(0,GREEN,"[Event]^x01 ***^x03 Kto pierwszy wpisze^x04 [%s]^x03 wygra^x04 XX ^x03expa -^x04 %d^x03 sekund^x01 ***",slowo,ile)
}
}
UWAGA!!
Gdzie XX to ilosc expa
Nastepnie nalezy w:
cstrike/addons/amxmodx/configs/
utworzyc plik:
events_words.ini
W tym pliku wpisujemy slowa, ktore maja się wyświetlać.
Wielkosc liter nie ma znaczenie wyswietla duze, ale po wpisaniu malymi i tak zaliczy nam wyraz.
Cvary:
event_min_time 120.0 - czas najkrotszy po ktorym wyswietli sie event po ostatnim (standard 120 sek - 2 min)
event_max_time 360.0 - czas nadjluzszy po ktorym wyswietli sie event po ostatnim (standard 360 sek - 5 min)
event_time_write 7 - czas na wpisanie slowa
Dzwieki kazdy sobie znajdzie ja niestety swoje utracilem ;[
Zakaz kopiowania bez mojej zgody!
#139067 [Poradnik] AMXBans 6 "Jak i Co?" 2 + .PDF
Napisane przez Szyfrant w 27.05.2010 16:17
'Szósteczka'
Wersja poradnika: v0.1
WERSJA W FORMACIE .PDF :
AMXBANS - Jak i Co 2 - AMXX - By Szyfrant.pdf 1,16 MB 2105 Ilość pobrań
Kolejna (już druga) odsłona poradnika "Jak i Co?" Nowy AMXBans ... Nowe funkcje... Nowy design... Ehh .
W miarę możliwości i czasu poradnik ten będzie aktualizowany.
Dobra bez gadania, lecimy z KONKRETAMI
Poradnik "Jak i Co? 'Szósteczka'" został stworzony dla AMXX.pl , KarczmaPodKepa.pl oraz Ciebie drogi użytkowniku.
By Szyfrant @ Al rajt rizerwt
Jak chcecie kopiować, proszę bardzo, ale nie zapomnijcie o stopce i autorze
1. Narzędzia Główne
Pasek nawigacji
Menu Admina
a ) Strefa Admina
Dodaj bana On-Line
Klikamy na "Podgląd" wcześniej przez nas wyypowanego.
Kolejnym Krokiem jest wybranie typu bana, powodu i czasu.
Namierzamy Gracza z listy i klikamy "Zbanuj". Jeśli chcemy, aby został wyrzucony natychmiastowo
klikamy dodatkowo "Wykop"
b ) Serwer
Ustawienia Serwera(ów)
Mogę co najwyżej krótko opisać.
1. RCON serwera Gry. niezbędny do zarządzania serwerem od strony WWW
2. MOTD - To co się pokazuje gdy ktoś dostanie bana
3. Opóźnienie MOTD - po jakim czasie wyświetli się MOTD
4. Można ustawić "Zestaw powodów banów" do danego serwera (o tym troszkę później).
5. Strefa czasowa - Różnice w czasie na naszym globie
6. Możesz wysyłać komendy z poziomu WWW. Użyć można wcześniej zdefiniowanych bądź własnych
------------------------------
Zarządzanie Powodami Banów
Dość ciekawe rozwiązanie Można się pobawić
W tej opcji możemy utworzyć Zestawy Powodów Banów.
Po stworzeniu możemy dodać powody i podpiąć pod serwer
1. Tworzymy nowy Zestaw. Posłużę się PRZYKŁADEM (Serwer AIM)
2. Dodajemy nowy powód, możemy dodać ile się nam podoba oraz "Statyczny Czas Bana" - [O tym później] (Konsekwentny w stosunku do Powodu).
3. Następnie klikamy na "Edytuj" koło naszego przykładowego zestawu
4. Ostatnim krokiem jest zaznaczenie, które powody chcemy dodać do danego zestawu
ZAPISUJEMY I GOTOWE ;]
------------------------------
Zarządzanie Adminami AMXModX
1. Wpisujemy Nazwę Admina
2. Hasło Admina (Jeżeli mamy zamiar dać Admina na STEAM ID bądź IP nie musimy nic wpisywać. (Odczyt zależy od FLAG*)
3. Dodajemy Uprawnienia dostępu *
4. Wpisujemy Flagi. *
5. W tym wierszu wpisujemy to na co chcemy dać Admina (STEAM ID, IP, Nazwa
6. Nick Admina (Widoczny na liście Adminów)
7. Opcja do wyboru TAK/NIE. Wybieramy czy chcemy,aby dodany przez nas Admin był widoczny na Liście.
8. NASZE CUDO PEŁNA KONTROLA
Ustawiamy na jaki czas Admin ma być aktywny. Możemy wybrać dowolną ilość dni, bądź zaznaczyć "Na Zawsze" -
(Nie Polecam - Haha )
9. Zaznaczamy, do którego serwera Admin ma być przypisany. Można zaznaczyć kilka na raz.
10. Hmm, zapewne nie wiecie do czego służy lecz powiadam wam, że jest to opcja niezwykle niezwykła.
Przedstawię pewną sytuację:
Młody Admin: "KU***!!! Czitujesz !!! Masz PERMA CW**U!!
5 minut później
Młody Admin: KU*** !!! RASZUJESZ MASZ PERMA !!!
I teraz, aby zapobiec takim sytuacją stworzony został Statystyczny Czas Bana
Do każdego powodu (czytaj "Zarządzanie Powodami Banów) możemy dopisać Statystyczny Czas Bana.
Gdy zaznaczymy tą opcję, Admin nie będzie mógł samemu wpisać czasu bana tylko automatycznie do każdego powodu
będzie dopisany czas bana (Taki jaki ustawimy lub zostanie załadowany standardowy).
Sprytne co? PEŁNA KONTROLA
*
Flagi i Zezwolenia Dostępu
Ustawienia Admina na serwerze
1. Wybieramy serwer i klikamy "Edytuj serwer"
2. Zaznaczamy czy admin ma być aktywny na serwerze
ZAPISUJEMY I WŁALA
------------------------------
c ) Strona
Zarządzanie Administratorami na stronie
1. Wpisujemy nazwę Admina
2. Podajemy E-Mail
3. Hasełko (SILNE )
4. Powtarzamy
5. Wybieramy Poziom. (O tym później)
6. Klikamy "Dodaj" ... No i można się logować do WWW z nowego konta
------------------------------
Zarządzanie Poziomami Administratorów na stronie
Zarządzanie poziomami jest bardzo przydatne, jeżeli chcemy ograniczyć dostęp do pewnych funkcji Adminom WWW (NIE AMX'A)
Jak chcemy dodać nowy poziom klikamy na "Nowy poziom" i zaznaczamy opcje,
które chcemy aby były dostępne w danym poziomie. Klikam na "Zapisz"
GOTOWE
Nie będę opisywał opcji poziomów, gdyż jest to tylko kwestia wyboru TAK/NIE i wszystko jest wyraźnie ukazane.
------------------------------
Ustawienia menu użytkownika (Dla Zaawansowanych!!!)
W tym menu możemy edytować nasz Pasek Nawigacji.
Zaznaczyłem kolorami okienka, które są odpowiednikami
Możemy dodać Nowy odnośnik np. Stronę Główną naszej sieci lub zmienić pozycję wyświetlania
Nie będę tego bliżej opisywać gdyż przy większym kombinowaniu, amatorzy (nie chce nikogo urazić) mogą sobie pousuwać menu Zaawansowani dadzą sobie z tym radę
------------------------------
Ustawienia strony
Nie ma co opisywać. Wybór opcji TAK/NIE. Wszystko jest jasno pokazane
------------------------------
2. Narzędzia Opcjonalne
d ) Inne
Moduł Administracji
Też nie ma co opisywać. Możemy włączyć/wyłączyć moduł(y) opcją "Aktywny"
Aktualizacja/Wersja
Informacje dotyczące Wersji WWW i pluginu. Dodatkowo załączone Logi zmian
Logi
Tutaj możemy usuwać/sprawdzać logi adminów WWW.
Zaczniemy od filtrowania logów:
1. Wybieramy Admina, którego chcemy "podglądnąć"
2. Następnie wybieramy Akcję, którą chcemy zobaczyć kiedy została wykonana
3. Klikamy na "Idź" i pokazuje nam Logi
Teraz Usuwanie
Są 2 Opcje:
4. Usuwanie wszystkich logów
5. Usuwanie logów starszych niż "X" dni (W miejsce X wpisujemy liczbę dni, sprzed których mają być usunięte logi)
e ) Moduły
Standardowo zamieszczony jest jeden moduł Import/Eksport. Więc omówimy tylko jego .
Import/Eksport
Możemy Importować lub Eksportować nasze dane do plików bądź bazy. Zarówno ze starej wersji i nowej .
W największym czerwonym kółeczku u góry znajdują się kopie zapasowe wcześniej przez nas utworzone. Możemy je pobrać na komputer lub usunąć
Zapis bazy jako plik sql.
1. Zapis tylko struktury czyli tylko tabeli
2. Usuwa tabele bazy
3. Usuwa całe wiersze. Po prostu nie będzie wyglądało ładnie
4. Jeśli zaznaczymy tą opcję Automatycznie otworzy nam się okienko do pobrania pliku
Zapis banów jako plik sql.
Zapisuje wszystkie bany w pliku sql.
5. Patrz pkt. 4.
Import z pliku banned.cfg
6. Wybieramy powód bana który ma być użyty przy imporcie.
7. Wpisujemy Nick zbanowanego gracza. ( Trochę to głupie)
8. Wpisujemy Serwer, tzn "Strona WWW lub Serwer Gry )
9. Data - Wiadomo
10. Wybieramy plik z banami z naszego komputera (cfg.)
NO I IMPORTUJEMY!!
Import z bazy AMXBans 5.x
11. Wpisujemy Adres Hosta starej bazy AMXBansa
12. Następnie Nazwę Użytkownika
13. Potem Hasło
14. Nazwę bazy
15. Tabelę banów (Jeżeli baza była standardowo zainstalowana to najlepiej zostawić)
16. Jak zaznaczymy tą opcję, zostaną importowane tylko bany Permanentne.
17. Gdy zaznaczymy poprzednie bany zostaną usunięte.
Klikamy "Sprawdź połączenie", jeżeli wszystko dobrze klikamy "Import"
18. Jak zaznaczymy tę opcję, wszystkie bany poprzednio przez nas importowane zostaną USUNIĘTE.
19. Po zaznaczeni tej opcji Wszystkie bany będą "Chronione" przed importem.
Eksport do pliku banned.cfg
20. Eksportowane będą bany tylko Permamentne (Na Zawsze)
21. Po zaznaczeniu tej opcji do banów będą dodane ich Powody
22. Patrz pkt. 4.
------------------------------------------------------
Poradnik "Jak i Co? 'Szósteczka'" został stworzony dla AMXX.pl , KarczmaPodKepa.pl oraz Ciebie drogi użytkowniku.
By Szyfrant @ Al rajt rizerwt
Jak chcecie kopiować, proszę bardzo, ale nie zapomnijcie o stopce i autorze
#335981 [5.9l] Kilkakrotne zjadanie zwłok nekromantą
Napisane przez sebul w 18.12.2011 12:22
public task_check_dead_flag(id)
{
if(!is_user_connected(id))
return
if(pev(id, pev_deadflag) == DEAD_DEAD)
create_fake_corpse(id)
else
set_task(0.5, "task_check_dead_flag", id)
}
i zamienić na
public task_check_dead_flag(id) {
if(!is_user_connected(id) || is_user_alive(id))
return;
if(pev(id, pev_deadflag) == DEAD_DEAD)
create_fake_corpse(id);
else
set_task(0.5, "task_check_dead_flag", id);
}
#261244 GmAMXBans 1.6.(1) + Poprawki (AMXX.PL)
Napisane przez Szyfrant w 21.06.2011 14:06
GmAMXBans 1.6 + Poprawki (AMXX.PL)
Wrzuciłem wszystkie poprawki, poprawiłem trochę tłumaczenia i dodałem poprawnie skompilowane pluginy
Paczka zawiera:
- [GmAMXBans] [FIX] Gracz został wcześniej zbanowany 83 razy by L0rdS^P0l4K
- [GmAMXBans] [FIX] [AMXBans] Zaladowano 0 admino z bazy danych by MisieQ
- [GmAMXBans] [FIX] 1.6 Błędne przypisywanie adminów by L0rdS^P0l4K
- [GmAMXBans] [FIX] Długie Wczytywanie Strefy Admina by MisieQ
- [GmAMXBans] Import adminów z users.ini by Portek
- [GmAMXBans] Spolszczone Pliki Konfiguracyjne - by Szyfrancik
- [GmAMXBans] check_player.inl::prebanned_check_ - AMXX.pl: Support AMX Mod X - by Portek
- Błędne wyświetlanie w Strefie Admina (Styl Default - WEB) by Kawon
- Dodałem również plik admin.txt gdyż była tam literówka związana z ładowaniem adminów
Jak czegoś brakuje pisać od razu !! Nie było mnie długo na forum więc mogę nie wiedzieć co zostało poprawione !
INSTALACJA STANDARDOWA
1 # Poprzednia ilość pobrań 873
2 # Poprzednia ilość pobrań: 633
Załączone pliki
-
(Gm) AMXBans # 1.6.(1) + Poprawki (AMXX.PL).zip 3,1 MB 33925 Ilość pobrań
#333688 Frakcje + Optymalizacja = Jak?
Napisane przez Koniarek w 12.12.2011 20:33
Jak robisz zgodnie z Tutorialem jak Dodac frakcje to natepny public masz public PokazKlasy(id) - tam wlasnie zmieniasz
Moj public:
public PokazKlasy(id) {
if(is_user_bot(id)) return;
new flags[9], text[512], i;
get_cvar_string("diablo_classes", flags, 8);
new keys = read_flags(flags);
formatex(text, 511, "\yWybierz Klase -^n");
for(i=1; i<9; i++) //Tego nigdy nie zmieniaj
{
formatex(text, 511,"%s%s%i.\y %s \wLevel: \r%i^n", text, (keys & (1<<i-1)) ? "\w" : "\r", i, Race[i], player_class_lvl[id][i]);
}
formatex(text, 511,"%s^n\r9. Dalej^n",text)
show_menu(id, keys, text, -1, "Lok")
//show_menu(id, keys, text);
}
#189630 Call of Duty: MW Mod [UPDATE]
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!
(Tylko dla skrypterów)
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 ------------------------------*/
(Tylko dla skrypterów)
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 ------------------------------*/
----------------> Link
CodMod.rar 965,15 KB 39455 Ilość pobrań
Poprawiona wersja zapisu do pliku vault -> [cod nowy] Call of Duty: MW Mod %5BUPDATE%5D - post #328
Ostatnie zmiany:
- Naprawione natywy cod_get_class_name i cod_get_class_desc i błąd z pojawiającą się informacją o zdobyciu poziomu.05.01.11-17:03
- Usunięte bugi crashujące serwer, dodane 5 nowych natywów, blokowanie podnoszenia broni w stylu starego CodModa12.12.10-17:00
- Dodane param_convert do get_perk_name/desc i get_class_name/desc oraz dodane poprzednie zmiany do *.amxx24.11.10-20:03
- Naprawiony błąd z brakiem fraga za zabicie z rakiety, miny i dynamitu21.11.10-19:07
- Usunięty client_cmd z pętli i dodany natyw cod_get_user_level21.11.10-12:07
- Naprawiony perk notatki sapera i poprawiona funkcja UstawPerk19.11.10-12:35
- Naprawiony natyw cod_get_perkid19.11.10-21:44
- Usunięty bug z niewłaściwą losową wartością perku. Od teraz cod_perk_enabled wysyła numer perku, a cod_class_enabled numer klasy19.11.10-18:51
- Dodana klasa Admirał(dawny Rambo) i naprawiony perk Tajemnica Generała.[sup]19.11.10-16:06
- Poprawiony plik "codmod.inc" i małe zmiany. [sup]19.11.10-15:00
- AMXX.pl: Support AMX Mod X i SourceMod
- → Przeglądanie profilu: Reputacja: Juma
- Regulamin