Witam,
Edytując bf2, dodałem dla testów moce odznak dla admina z immunitetem tak (przykład na dawanie broni itd) :
public give_userweapon(id) { if (get_user_flags(id) & ADMIN_IMMUNITY) { if ( !get_pcvar_num(gPcvarBadgesActive) || !get_pcvar_num(gPcvarBadgePowers) ) return; if ( !is_user_alive(id) ) return; new bool:givenitem = false; new assaultlevel = g_PlayerBadges[id][BADGE_ASSAULT]; if ( assaultlevel ) { new hp; hp = 100 + (assaultlevel*10); set_user_health(id, hp); givenitem = true; } new sniperlevel = g_PlayerBadges[id][BADGE_SNIPER]; if ( sniperlevel ) { if ( random_num(1, (7-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; } } new explosionlevel = g_PlayerBadges[id][BADGE_EXPLOSIVES]; if ( explosionlevel ) { if ( random_num(1, (7-explosionlevel)) == 1 ) { fm_give_item(id, "weapon_hegrenade"); givenitem = true; } } new CsArmorType:ArmorType; switch (numofbadges[id]) { case 6 .. 11: { if ( cs_get_user_armor(id, ArmorType) < 50 ) { cs_set_user_armor(id, 50, CS_ARMOR_VESTHELM); givenitem = true; } } case 13 .. 18: { if ( cs_get_user_armor(id, ArmorType) < 100 ) { cs_set_user_armor(id, 100, CS_ARMOR_VESTHELM); givenitem = true; } } case 19 .. 24: { if ( cs_get_user_armor(id, ArmorType) < 150 ) { cs_set_user_armor(id, 150, CS_ARMOR_VESTHELM); givenitem = true; } } case 25 .. 34: { if ( cs_get_user_armor(id, ArmorType) < 200 ) { cs_set_user_armor(id, 200, CS_ARMOR_VESTHELM); givenitem = true; } } case 35 .. 48: { cs_set_user_armor(id, 250, CS_ARMOR_VESTHELM); givenitem = true; } } if ( givenitem ) screen_flash(id, 0, 255, 0, 100); //Green screen flash } }
Problem w tym, że dopisuję to do badgepowers.inl i gdy kompiluję z tym bf2rank do mocy nadal nie jst wymagana flaga... Ktoś wie w czym jest problem?