Pomoc 43 Opublikowano 14 Grudnia 2013 Udostępnij Opublikowano 14 Grudnia 2013 Diablo Mod Core 1.1.0 PL by DarkGLDiablo 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 silnikiemco 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 DiabloModCo 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 Lista komendTakie 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 Opisy klashttp://amxx.pl/topic...549-opisy-klas/Jak napisałem wcześniej siłą tego moda jest możliwość konfiguracji więc teraz zajmiemy się tymNajpierw 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 toHUD_TEXTw 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_TABLENazwa tabeli w sqlMAXIlość slotów dzięki tej opcji oszczędzimy pamięć serwerowi a i mod będzie działał lepiejMAX_LEVELMaksymalny levelMAX_SKILLMaksymalny poziom skilli ( umiejętności zręczność etc. )ADMIN_FLAG_GIVEFlaga 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 BOTYzakomentuwujemy jeśli nie mamy botów na serwerzeusuwamy komentarz jeśli mamy ( komentarz czyli // )#define DEBUGTryb debug dostajemy więcej informacji co aktualnie robi mod używane raczej tylko jeśli coś nie działajeś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 modCvary //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.cfgKomendy 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 configsJeż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 klasediablo_register_class(const szNazwa[],const iHealth,const szOpis[] = "" , iFlags = FLAG_ALL , const szFraction[] = ""); zwraca klase graczadiablo_get_user_class(id); nazwe klasy pobieradiablo_get_class_name(classID , Return[] , len); zwraca leveldiablo_get_user_level(id); zwraca expdiablo_get_user_exp(id); zwraca pointsdiablo_get_user_points(id); zwraca punkty agidiablo_get_user_agi(id); zwraca punkty strdiablo_get_user_str(id); zwraca punkty dexdiablo_get_user_dex(id); zwraca punkty intdiablo_get_user_int(id); czy klasa gracza to klasa z tego pluginudiablo_is_class_from(id); ustawia rendering graczowidiablo_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 klasediablo_is_this_class(id,szClass[]); dodawanie speed graczowidiablo_set_speed(id,Float:fAmount); ustawianie speeddiablo_add_speed(id,Float:fAmount); pobranie speedFloat:diablo_get_speed(id) pobranie dodatkowe speedFloat:diablo_get_speed_extra(id); diablo_reset_speed( id ); zadanie dmgdiablo_damage(iVictim,iKiller,Float:fDamage,DiabloDamageBits:damageBits); zabijdiablo_kill(iVictim,iKiller,DiabloDamageBits:damageBits); zadanie dmg w zasiegudiablo_create_explode(iKiller,Float:fOrigin[3],Float:fDamage,Float:fDist,bool:bExplode); dodaje hpdiablo_add_hp(id,iHp); czy jest freezetimediablo_is_freezetime(); uruchom write huddiablo_write_hud_(id); diablo_get_xpbonus(); diablo_get_xpbonus2(); daje xpdiablo_add_xp(id,ile); zabiera xpdiablo_take_xp(id,ile); dodaje nozediablo_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 wybranadiablo_class_enabled(id); gdy klasa zostanie zmienionadiablo_class_disabled(id); przy zmianie bronidiablo_weapon_deploy(id,wpnID,weaponEnt); czyszczenie wewnetrznych zmiennych klasydiablo_clean_data(id); ustawianie wewnetrznych zmiennych klasydiablo_set_data(id); prethink graczadiablo_preThink(id); diablo_preThinkItem(id); posthink graczadiablo_postThink(id); podczas zmiany renderu wysylany do wszystkich pluginówdiablo_render_change(id); zwracasz czas call cast 0.0 powoduje zatrzymanieFloat:diablo_cast_time(id,Float:standardTime ); call cast wykonany niech plugin dzialadiablo_call_cast(id); ustawiania speeddiablo_speed_change(id); przy spaawnie klasydiablo_class_spawned(id); przy zabiciu klasydiablo_class_killed(id); przy exp killu zwracaj 0 jak nic nie robiszdiablo_kill_xp(id,iIle); przy exp damage 0 jak nic nie robiszdiablo_exp_damage(id,iIle); przy uzyciu skillu klasydiablo_class_skill_used(id); when cast stop can return diablo_stopdiablo_cast_stop(id); can move when castdiablo_cast_move(id); write huddiablo_hud_write(id,szMessage[],iLen); damagediablo_damage_taken_post(iKiller,iVictim,iDamage); diablo_damage_taken_pre(iKiller , iVictim , &Float:fDamage ); zmiana damage klasy dostajediablo_damage_class_taken(iVictim,iAttacker,&Float:fDamage,damageBits); zmiana damage klasy zadajediablo_damage_class_do(iVictim,iAttacker,&Float:fDamage,damageBits); gracz zespawnowanydiablo_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 zmienionadiablo_grav_change(id); diablo_new_round(); wymiana itemamidiablo_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 konfiguracjiInstalacja odbywa się poprzez wrzucenie plików z paczki na serwer Diablo Mod Core.rar Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Lato ~wOw~ [t] 729 Opublikowano 31 Grudnia 2014 Udostępnij Opublikowano 31 Grudnia 2014 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 Więcej opcji udostępniania...
Rekomendowane odpowiedzi