Dziś wziąłem się za zrobienie perku na trzęsący się ekran.
Próbuje coś skleić z użyciem funkcji z pluginu Screen Shake, na "podkład" wziąłem perk Tajemnica Wojskowa.
Po edycji itd przyszedł czas na kompilacje ale niestety wystapiły błędy o treści:
shake.sma(22) : warning 204: symbol is assigned a value that is never used: "gmsgShake"
shake.sma(46) : warning 217: loose indentation
shake.sma(51) : warning 217: loose indentation
Bardzo bym prosił o spojrzenie na kod kogoś ogarniętego i poprawienie perku. Z góry dziękuję.
Oto cały kod:
#include <amxmodx>
#include <codmod>
new const perk_name[] = "Shake it baby";
new const perk_desc[] = "Dostajesz 10 wytrzymalosci. Masz 1/LW szans na to ze przeciwnikowi bedzie sie trzasl ekran";
new gmsgShake;
new bool:ma_perk[33];
new wartosc_perku[33];
public plugin_init()
{
register_plugin(perk_name, "1.0", "Mdx");
cod_register_perk(perk_name, perk_desc, 2, 4);
register_event("Damage", "Damage", "b", "2!=0");
new gmsgShake = get_user_msgid("ScreenShake");
}
public cod_perk_enabled(id, wartosc)
{
ma_perk[id] = true;
wartosc_perku[id] = wartosc;
cod_set_user_bonus_stamina(id, cod_get_user_stamina(id, 0, 0)+10);
}
public cod_perk_disabled(id)
{
ma_perk[id] = false;
cod_set_user_bonus_stamina(id, cod_get_user_stamina(id, 0, 0)-10);
}
public Damage(id)
{
new idattacker = get_user_attacker(id);
if(!is_user_connected(idattacker) || get_user_team(id) == get_user_team(idattacker))
return PLUGIN_CONTINUE;
if(ma_perk[idattacker] && random_num(1, wartosc_perku[idattacker]) == 1)
message_begin(MSG_ONE, gmsgShake, {0,0,0})
write_short(255<< 14 ) //ammount
write_short(10 << 14) //lasts this long
write_short(255<< 14) //frequency
message_end()
return PLUGIN_CONTINUE;
}


Dodatki SourceMod














