Skocz do zawartości

Diablo Mod Core 1.1.0 PL


Pomoc

Rekomendowane odpowiedzi

Diablo Mod Core 1.1.0 PL by DarkGL

Diablo Mod Core jest całkowicie nowym silnikiem Diablo Mod'a napisanym przezemnie jakiś czas temu ( dawno naughty.gif )

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 smile.png

Lista komend
Takie komendy jak

  • /czary
  • /skille
  • /exp
  • /menu
  • /wymiana
  • /wymien
  • /item
  • /przedmiot
  • /klasy
  • /klasa
  • /reset
  • /drop
  • /rune
  • /daj
  • /komendy
  • /event

Krótkie komendy

  • /k
  • /r
  • /d
  • /p
  • /i
  • /g
  • /ru
  • /w
  • /p
  • /h
  • /ko
  • /m

post-6262-0-60051500-1354907934_thumb.jp 

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 1

Cvary 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>

Komendy techniczne

  • diablomod_version - zwraca używana wersję diablomoda

Opis komend

  • /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

Najważniejsza zmiana to umieszczenie item i klas w odzielnnych pluginach nowe pluginy dopisujemy do plugins-diablomod.ini w folderze configs
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 );

Forwardy

  • 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 );

W paczce znajdziemy też dwa dodatkowe pluginy ( znajdują się one w folderze dodatki )

  • Diablo Questy
  • Exp od godzinny

Działają one tak samo jak te opublikowane już na forum więc nie będę się rozpisywał o konfiguracji

Instalacja odbywa się poprzez wrzucenie plików z paczki na serwer

 

Diablo Mod Core.rar

Odnośnik do komentarza
Udostępnij na innych stronach

  • 1 rok później...

Automatycznie wygenerowana wiadomość.

Temat został zamknięty przez któregoś z moderatora.

 

Powód: Brak aktywności.

 

Jeżeli się z tym nie zgadzasz zgłoś to Administratorowi z wyższą rangą.

 

Pozdrawiamy

Administracja Forum | Cs-Classic.PL | Klasyczna sieć serwerów

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Korzystając z tej strony zgadzasz się na Polityka prywatności