Skocz do zawartości

Nowy szablon forum

mygo.pl

Stworzyliśmy dla Was nowy wygląd forum. Z pewnością znajdziesz rzeczy, które wg Ciebie mogą zostać zmienione - wspomnij o tym w specjalnym wątku.

Czytaj więcej

Jak założyć własną sieć

serwerów CS

Zastanawiasz się nad prowadzeniem własnej sieci serwerów? Przeczytaj podstawowe informacje, na które należy zwrócić uwagę, przy takim projekcie.

Czytaj więcej

Tworzymy spis sieci

dodaj swoją

Dodaj sieć do której należysz, pozwoli to na promocję i budowę ogólnopolskiej bazy sieci CS.

Czytaj więcej

[JUNK CODE] Diablo Mod


n.o.x
 Udostępnij

1 Attachment

Rekomendowane odpowiedzi

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 przez n.o.x

76561197969887259.png

Odnośnik do komentarza
Udostępnij na innych stronach

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ę
 Udostępnij

×
×
  • Dodaj nową pozycję...