Napisałem ten krótki Poradnik, ponieważ dostaję dużo wiadomośći jak takie coś zrobić będe się wzorował na wersji 1.1.0/1.0.7
bf2rank.sma / bf2rank_colorchat.sma
Znadź i usuń
new gPcvarFreeAwp;
Znajdź:
new bool:g_invis[33];
Dodaj Pod
new bool:g_grav[33];
Znadź i usuń
gPcvarFreeAwp = register_cvar("bf2_awp", "0");
Zapisz i zamknij plik.
events.inl
Znajdź:
set_invis(id);
Dodaj Pod
set_grav(id);
Zapisz i zamknij plik.
ham.inl
Znajdź:
set_invis(id);
Dodaj Pod
set_grav(id);
badgepowers.inl
Znajdź:
public set_invis(id)
{
if ( !get_pcvar_num(gPcvarBadgesActive) || !get_pcvar_num(gPcvarBadgePowers) ) return;
if ( !is_user_alive(id) ) return;
new shotgunlevel = g_PlayerBadges[id][BADGE_SHOTGUN];
if ( shotgunlevel && get_user_weapon(id) == CSW_KNIFE )
{
fm_set_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransTexture, gInvisAlphaValue[shotgunlevel-1]);
g_invis[id] = true;
}
else
{
fm_set_rendering(id);
g_invis[id] = false;
}
}
Dodaj Pod
public set_grav(id)
{
if ( !get_pcvar_num(gPcvarBadgesActive) || !get_pcvar_num(gPcvarBadgePowers) ) return;
if ( !is_user_alive(id) ) return;
new sniperlevel = g_PlayerBadges[id][BADGE_SNIPER];
if (sniperlevel)
{
new Float:grav
switch(sniperlevel)
{
case 1: grav = 0.9375 //750
case 2: grav = 0.875 //700
case 3: grav = 0.8125 //650
case 4: grav = 0.75 //600
}
fm_set_user_gravity(id, grav)
g_grav[id] = true;
}
else
{
fm_set_user_gravity(id, 1.0)
g_grav[id] = false;
}
}
Znajdź i usuń
new sniperlevel = g_PlayerBadges[id][BADGE_SNIPER];
if ( sniperlevel )
{
if ( random_num(1, (5-sniperlevel)) == 1 )
{
new weaponName[32];
new weaponID = get_user_weapon(id);
if ( !get_pcvar_num(gPcvarFreeAwp) )
{
fm_give_item(id, "weapon_scout");
}
else
{
fm_give_item(id, "weapon_awp");
}
if ( weaponID )
{
get_weaponname(weaponID, weaponName, charsmax(weaponName));
engclient_cmd(id, weaponName);
}
givenitem = true;
}
}
Zapisz i zamknij plik.
Kompilujemy plugin i gotowe ;]
Jak obliczyć grav == 0.xx aby poprawie to ustawić
Chcemy aby gracz posiadaj np 600 grawitacji
600/800 = 0.75 to wpisujemy 0.75 po == w grav czyli
grav = 0.75
i to b było na tyle