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/
 Diablo Mod Core.rar   6,91 MB  4207 Ilość pobrań
 Diablo Mod Core.rar   6,91 MB  4207 Ilość pobrań

 Forum
 
Forum
 Użytkownicy
 
Użytkownicy
 Kalendarz
 
Kalendarz
 Dodatki SourceMod
 
Dodatki SourceMod



 
			
 Moja zawartość
    Moja zawartość Mężczyzna
 Mężczyzna
		
	
		
	
		
 
 
		
				 
 
		
								 
 
		
										 
												

 Napisane przez
 Napisane przez 



 ruletka.amxx
  ruletka.amxx Napisane przez
 Napisane przez 


 Napisane przez
 Napisane przez 



 
						