Jest to poradnik dla ludzi którzy raczej nie są specjalistami w nowym codzie i się im to przyda. Poradnik opiera się na moim eksperymencie
Zaczynamy.
Otwórz plik z rozszerzeniem .sma klasy która ma mieć nieskończoną amunicję np. codclass_kozak.sma
Do :
#include <amxmodx> #include <codmod>
Dodaj:
#include <fakemeta> #define DMG_BULLET (1<<1) new bool:ma_klase[33];
Ta część ma wyglądać tak:
#include <amxmodx> #include <codmod> #include <fakemeta> #define DMG_BULLET (1<<1) new bool:ma_klase[33]; new const nazwa[] = "Kozak"; new const opis[] = "Nieskonczona amunicja"; new const bronie = 1<<CSW_MP5NAVY | 1<<CSW_FIVESEVEN; new const zdrowie = 10; new const kondycja = -40; new const inteligencja = 0; new const wytrzymalosc = 0;
Teraz zajmijmy się kodem w publicu "plugin_init()":
Do tego kodu:
{
register_plugin(nazwa, "1.0", "QTM_Peyote");
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
}Dodajemy:
register_event("CurWeapon","CurWeapon","be", "1=1");Aby wyglądało to tak:
public plugin_init()
{
register_plugin(nazwa, "1.0", "QTM_Peyote");
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
register_event("CurWeapon","CurWeapon","be", "1=1");
}Teraz wystarczy tylko wkleić te public'i:
public CurWeapon(id)
{
if(!is_user_connected(id))
return;
if(!ma_klase[id])
return;
set_user_clip(id, 2);
}
stock set_user_clip(id, ammo)
{
new weaponname[32], weaponid = -1, weapon = get_user_weapon(id, _, _);
get_weaponname(weapon, weaponname, 31);
while ((weaponid = engfunc(EngFunc_FindEntityByString, weaponid, "classname", weaponname)) != 0)
if (pev(weaponid, pev_owner) == id) {
set_pdata_int(weaponid, 51, ammo, 4);
return weaponid;
}
return 0;
}
Nasza klasa gotowa, oczywiście klasa może mieć jeszcze inną moc.
Poradnik by BliBs_Pl, kopiowanie za zgodą


Dodatki SourceMod















