n.o.x Opublikowano Październik 27, 2019 o 03:59 Udostępnij Opublikowano Październik 27, 2019 o 03:59 (edytowane) Witam. Jako, że mam sporo projektów, które leżą i się marnują, postanowiłem zrobić z nich użytek, ponieważ i tak ich nie będę reaktywował ani rozwijał.. W związku z tym w wolnych chwilach postaram się wrzucić "co nieco", bierzcie i jedzcie z tego więc, ponieważ noksik ma dobre serduszko.. Na pierwszy ogień leci "legendarny" DiabloMod, o którym nieliczna część osób słyszała, swego czasu był on moją perełką, która i tak nie miała ujrzeć światła dziennego, programowanie jak i kodowanie w sm to moje hobby, więc dobrze się bawiłem pisząc kod właśnie tej modyfikacji.Od razu zastrzegam, kod może nie być kompletny, nie wiem w którym momencie skończyłem przebudowę diablo, daję go więc jako kod do zabawy. Króciutki opis niżej, nie chce mi się rozpisywać, zobaczycie sami przeglądając kod.. -> System podzielony na moduły, odpowiednio: klasy exp hud database itemki runy natywy staty sortowanie config timer - specyficzny moduł, zamysłem było zachowanie jak największej motywacji, więc postanowiłem umieścić wszystkie taski w jednym, globalnym, stawiając na jak najmniejsze zużycie pamięci po uprzednim wglądzie w kod SM -> System skillów Tutaj można się rozpisywać, lecz nie trzeba, przy deklaracji nowej klasy możemy nadać jej skila, który jest ładowany na nożu. Naładowany skill może być potem użyty, tyle w temacie. -> Statystyki Inteligencja [Zwieksza obrazenia czarami] Siła : [Zwieksza ilość HP] Zręczność [Redukuje otrzymywane obrażenia] Zwinność [Szybciej Biegasz] Adrenalina [Większe obrażenia] -> Natywy + Forwardy (powiedzą więcej niż mój skrromny opis) native void DBM_RegisterItem(const char[] name, const char[] desc, int from = 0, int _to = 0); native int DBM_GetItem(int client); native void DBM_SetItem(int client, int ItemId); native int DBM_GetItemChance(int client); native int DBM_GetItemID(const char[] name); native int DBM_GetItemCount(); native void DBM_GetItemName(int ItemId, const char[] _buffer, int MaxLeng); native void DBM_GetItemDesc(int ItemId, const char[] _buffer, int MaxLeng); forward void DBM_OnItemEnabled(int client, ItemID id); forward void DBM_OnItemDisabled(int client, ItemID id); forward void DBM_OnClientUseItem(int client, ItemID id); /** * ---------------------------------------- * RuneS * ---------------------------------------- */ native void DBM_RegisterRune(const char[] name, const char[] desc, int from = 0, int _to = 0); native int DBM_GetRune(int client); native void DBM_SetRune(int client, int ItemId); native int DBM_GetRuneID(const char[] name); native int DBM_GetRunesCount(); native void DBM_GetRuneName(int RuneId, const char[] _buffer, int MaxLeng); native void DBM_GetRuneDesc(int RuneId, const char[] _buffer, int MaxLeng); forward void DBM_OnRuneEnabled(int client, ItemID id); forward void DBM_OnRuneDisabled(int client, ItemID id); /** * ---------------------------------------- * Stats * ---------------------------------------- */ native int DBM_GetPoints(int client); native void DBM_SetPoints(int client, int value); native void DBM_AddPoints(int client, int value); native int DBM_GetInt(int client); native void DBM_SetInt(int client, int value); native void DBM_AddInt(int client, int value); native int DBM_GetStrength(int client); native void DBM_SetStrength(int client, int value); native void DBM_AddStrength(int client, int value); native int DBM_GetDex(int client); native void DBM_SetDex(int client, int value); native void DBM_AddDex(int client, int value); native int DBM_GetAglity(int client); native void DBM_SetAglity(int client, int value); native void DBM_AddAglity(int client, int value); native int DBM_GetAdrenaline(int client); native void DBM_SetAdrenaline(int client, int value); native void DBM_AddAdrenaline(int client, int value); native int DBM_GetIntBonus(int client); native void DBM_SetIntBonus(int client, int value); native void DBM_AddIntBonus(int client, int value); native int DBM_GetStrengthBonus(int client); native void DBM_SetStrengthBonus(int client, int value); native void DBM_AddStrengthBonus(int client, int value); native int DBM_GetDexBonus(int client); native void DBM_SetDexBonus(int client, int value); native void DBM_AddDexBonus(int client, int value); native int DBM_GetAglityBonus(int client); native void DBM_SetAglityBonus(int client, int value); native void DBM_AddAglityBonus(int client, int value); native int DBM_GetAdrenalineBonus(int client); native void DBM_SetAdrenalineBonus(int client, int value); native void DBM_AddAdrenalineBonus(int client, int value); /** * ---------------------------------------- * lvl/exp * ---------------------------------------- */ native int DBM_GetExp(int client); native void DBM_SetExp(int client, int value); native void DBM_AddExp(int client, int value); native int DBM_GetExpBonus(int client); native void DBM_SetExpBonus(int client, int value); native void DBM_AddExpBonus(int client, int value); native int DBM_GetExpForLvl(int level); native void DBM_CheckLvl(int client); /** * ---------------------------------------- * Class * ---------------------------------------- */ native void DBM_RegisterClass(const char[] name, const char[] desc, const char[] skill, int iBaseMana, int iMaxMana, int iManaRegen, int iManaForUse, int iBaseInvis, const char[] fBaseGravity, const char[] fBaseSpeed, int iBaseKnifes, int bCast, const char[] fCastTime, int HudCast, int StopOnMove, int iUseOnlyOnKnife, int iInt, int iStrength, int iDex, int iAglity, int iAdrenaline); native int DBM_GetClass(int client); native void DBM_GetClassName(int ClassId, const char[] name, int maxlenght); native int DBM_GetClassId(const char[] name); native void DBM_GetClassDesc(int ClassId, const char[] name, int maxlenght); native void DBM_GetClassSkillDesc(int ClassId, const char[] name, int maxlenght); native int DBM_GetClassInt(int ClassId); native int DBM_GetClassStrength(int ClassId); native int DBM_GetClassDex(int ClassId); native int DBM_GetClassAglity(int ClassId); native int DBM_GetClassAdrenaline(int ClassId); native void DBM_SetClassInt(int ClassId); native void DBM_SetClassStrength(int ClassId); native void DBM_SetClassDex(int ClassId); native void DBM_SetClassAglity(int ClassId); native void DBM_SetClassAdrenaline(int ClassId); native void DBM_AddClassInt(int ClassId); native void DBM_AddClassStrength(int ClassId); native void DBM_AddClassDex(int ClassId); native void DBM_AddClassAglity(int ClassId); native void DBM_AddClassAdrenaline(int ClassId); native void DBM_GiveBaseRender(int client); forward int DBM_OnClassEnabled(int client, ClassID id); forward int DBM_OnClassDisabled(int client, ClassID id); forward int DBM_OnSkillLoaded(int client, ClassID id); forward int DBM_OnSkillUse(int client, ClassID id); /** * ---------------------------------------- * Skills System * ---------------------------------------- */ native int DBM_GetFlashlightAccess(int client); native void DBM_SetFlashlightAccess(int client, int value); native int DBM_GetTKnifes(int client); native void DBM_SetTKnifes(int client, int value); native void DBM_AddTKnifes(int client, int value); native void DBM_ThrowKnife(int client); native void DBM_FireballStart(int client); /** * ---------------------------------------- * Mana System * ---------------------------------------- */ native int DBM_GetMana(int client); native void DBM_SetMana(int client, int value); -> Przykładowa klasa #include <sourcemod> #include <sdktools> #include <nox_dbmod> bool bActive[MAXPLAYERS+1]; public void OnPluginStart() { DbmClass Class = new DbmClass(); // --- Descs --- Class.SetName("Nazwa"); Class.SetDesc("Opis"); Class.SetSkillDesc("Skill"); // --- Stats --- Class.Int = 1; Class.Strength = 2; Class.Dex = 3; Class.Aglity = 4; Class.Adrenaline = 5; // --- Mana --- Class.BaseMana = 1200; Class.MaxMana = 1800; Class.ManaRegen = 148; Class.ManaForUse = 200; // --- Invis --- Class.BaseInvisiblity = 255; Class.BaseGravity = 1.0; Class.BaseSpeed = 1.0; Class.BaseKnifes = 0; // --- Skill --- Class.KnifeSkill = true; Class.CastTime = 5.0; Class.HudCast = true; Class.CastStopOnMove = true; Class.UseOnlyOnKnife = false; // --- Make it! --- Class.Register(); } public DBM_OnClassEnabled(int client, ClassID id) { bActive[client] = true; } public DBM_OnClassDisabled(int client, ClassID id) { bActive[client] = false; } public DBM_OnSkillLoaded(int client, ClassID id) { PrintToChat(client, "%s \x06Załadowano skill !", DBM_PREFIX_NORMAL); } -> Przykładowy item #include <sourcemod> #include <sdktools> #include <nox_dbmod> bool bActive[MAXPLAYERS+1]; public OnPluginStart() { DbmItem Item = new DbmItem(); Item.SetName("Name"); Item.SetDesc("Desc"); Item.SetChance(1, 3); Item.Register(); } public DBM_OnItemEnabled(int client, ItemID id) { bActive[client] = true; PrintToChat(client, "dostales item !"); } public DBM_OnItemDisabled(int client, ItemID id) { bActive[client] = false; } public DBM_OnClientUseItem(int client, ItemID id) { PrintToChat(client, "%s \x06Uzyto itemu !", DBM_PREFIX_NORMAL); } Dalej mi sie nie bardzo chce, gdyby Wam czegoś z downloadu brakowało to krzyczeć. Fell free to use it, have fun.' Pozdrowionka, noxik! dbmod.rar Edytowane Październik 27, 2019 o 04:02 przez n.o.x 1 Podziękuj! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
SUPER TIMOR Opublikowano Październik 27, 2019 o 08:11 Udostępnij Opublikowano Październik 27, 2019 o 08:11 (edytowane) Zaloguj się lub zarejestruj aby zobaczyć zawartość. Edytowane Październik 27, 2019 o 08:11 przez suppatimo Z kodem rabatowym "TIMOR" zyskasz 10% rabatu na wszystkie usługi przez pierwszy miesiąc! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się