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; }