Sprawdzanie lvlu gracza
A może sma?
18.05.2011
Witam. Wpadłem na taki pomysł, aby sprawdzać czy gracz ma większy lvl niż 100tny, a jeżeli tak to, żeby miał z tego jakiś bonus ;] Jednak jak zwykle coś spiepsułem...
Takie errory mam:
codmod.inc mam - uprzedzam głupie pytania...
Gdzie jest błąd?
Użytkownik kisiel96 edytował ten post 18.05.2011 15:33
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <codmod>
#include <hamsandwich>
#define DMG_BULLET (1<<1)
new bool:ma_klase[33];
new const nazwa[] = "Snajper";
new const opis[] = "150 procent obrazen z AWP(+inteligencja), 1/2 szansy na natychmiastowe zabicie z noza(PPM)";
new const bronie = 1<<CSW_DEAGLE | 1<<CSW_AWP;
new const zdrowie = 20;
new const kondycja = 25;
new const inteligencja = 0;
new const wytrzymalosc = 20;
new 100lvl = cod_get_user_level(id);
public plugin_init()
{
register_plugin(nazwa, "1.0", "QTM_Peyote");
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
}
public cod_class_enabled(id)
ma_klase[id] = true;
public cod_class_disabled(id)
ma_klase[id] = false;
public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(!is_user_connected(idattacker))
return HAM_IGNORED;
if(!ma_klase[idattacker])
return HAM_IGNORED;
if(damagebits & DMG_BULLET)
{
new weapon = get_user_weapon(idattacker);
if(weapon == CSW_KNIFE && damage > 20.0 && random_num(1,2) == 1)
cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);
if(weapon == CSW_AWP)
cod_inflict_damage(idattacker, this, damage*0.5, 0.5, idinflictor, damagebits);
if(100lvl =< 100)
{
if(get_user_weapon(idattacker) == CSW_AWP && !random(3) && damagebits & DMG_BULLET)
cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);
}
}
return HAM_IGNORED;
}
public ProSnajper
{
if(100lvl =< 100)
{
nazwa[] = "Profesjonalny Snajper";
new const opis[] = "1/3 na natychmiastowe zabicie, 150%% obrazen z AWP(+inteligencja), 1/2 szansy na natychmiastowe zabicie z noza(PPM)";
new const zdrowie = 40;
new const kondycja = 45;
new const inteligencja = 20;
new const wytrzymalosc = 40;
}
}
Takie errory mam:
123.sma(19) : error 020: invalid symbol name "" 123.sma(53) : error 029: invalid expression, assumed zero 123.sma(53) : error 029: invalid expression, assumed zero 123.sma(53) : error 029: invalid expression, assumed zero 123.sma(53) : fatal error 107: too many error messages on one line
codmod.inc mam - uprzedzam głupie pytania...
Gdzie jest błąd?
Użytkownik kisiel96 edytował ten post 18.05.2011 15:33
FreZZy 18.05.2011
nie znam się na codzie, ale
new 100lvl = cod_get_user_level(id);
to było na początku czy sam to dodałeś?
PS co z tego że masz codmod.inc jak nie jest w include (chyba że w codzie ten plik jest sam w include to sory)
A może sma?
18.05.2011
Sam dodałem... A co do codmod.inc - źle sformułowałem... Jest tam gdzie powinien być.
FreZZy 18.05.2011
tak, powinno być "większe-równe" a nie na odwrót
Dodano 18 maj 2011 - 16:36:
ale dziwnie podświetla tą zmienną 100lvl na niebiesko... spróbuj zamienić wszystkie 100lvl na np. "lvl100"
Dodano 18 maj 2011 - 16:36:
ale dziwnie podświetla tą zmienną 100lvl na niebiesko... spróbuj zamienić wszystkie 100lvl na np. "lvl100"
A może sma?
18.05.2011
Faktycznie... Dzięki... Ale co z faktem, iż nie chce się to skompilować...? Próbowałem zrobić przez new bool:ma_lvl[33] i true i false ale też nie wyszło...
Wystarczyło tu dopisać id
Aczkolwiek, nie wiem jak powiększyć statystyki jeszcze...
I zrobiłem przez new bool:malvl[33] - również sie skompilowało Teraz tylko muszę sprawdzić czy to działa w grze oraz wykombinować dodawanie pktów ;] (pewnie rozwiąże to tak, jak w perkach typu buty komandosa)
Użytkownik kisiel96 edytował ten post 18.05.2011 17:51
public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits, id)
Wystarczyło tu dopisać id
Aczkolwiek, nie wiem jak powiększyć statystyki jeszcze...
I zrobiłem przez new bool:malvl[33] - również sie skompilowało Teraz tylko muszę sprawdzić czy to działa w grze oraz wykombinować dodawanie pktów ;] (pewnie rozwiąże to tak, jak w perkach typu buty komandosa)
Użytkownik kisiel96 edytował ten post 18.05.2011 17:51
DarkGL
19.05.2011
new 100lvl = cod_get_user_level(id);
usun to nie ma to sensu
usun to nie ma to sensu
public ProSnajper { if(cod_get_user_level(id) >= 100) { nazwa[] = "Profesjonalny Snajper"; new const opis[] = "1/3 na natychmiastowe zabicie, 150%% obrazen z AWP(+inteligencja), 1/2 szansy na natychmiastowe zabicie z noza(PPM)"; new const zdrowie = 40; new const kondycja = 45; new const inteligencja = 20; new const wytrzymalosc = 40; } }
f(cod_get_user_level(id) >= 100) { if(get_user_weapon(idattacker) == CSW_AWP && !random(3) && damagebits & DMG_BULLET) cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits); }