Kod: Tümünü seç
#include <amxmodx>
#include <reapi>
native crxranks_set_user_xp(index, amount);
native crxranks_get_user_xp(amount);
new iAmount;
public plugin_init() {
register_plugin("No Scope XP", "0.0.1", "PurposeLess");
RegisterHookChain(RG_CBasePlayer_Killed, "@CBasePlayer_Killed_Post", .post = true);
bind_pcvar_num(create_cvar("crxranks_ns_xp", "150"), iAmount);
}
@CBasePlayer_Killed_Post(const pVictim, pAttacker, iGib) {
if(pVictim == pAttacker || !is_user_connected(pAttacker)) {
return;
}
new szWeaponName[6];
if(!is_weapon_has_scope(pAttacker, szWeaponName)) {
return;
}
new Float:flDistance = get_distance_k(pVictim, pAttacker);
if(flDistance >= 50.0) {
crxranks_set_user_xp(pAttacker, crxranks_get_user_xp(pAttacker) + iAmount);
client_print_color(pAttacker, pAttacker, "^4%i XP: ^1Zoomsuz vurusunuzdan dolayi odulunuz.", iAmount);
}
else if(flDistance >= 10.0) {
client_print_color(0, 0, "^3%n ^1adli oyuncu ^3%0.0f ^1m uzakliktan ^3%n ^1'i ^4ZOOMSUZ%s ^1vurdu. ^4[%s]", pAttacker, flDistance, pVictim, get_member(victim, m_LastHitGroup) == HITGROUP_HEAD) ? " KAFADAN" : "", szWeapon[0]);
}
}
bool:is_weapon_has_scope(const pAttacker, szWeaponName[6]) {
if(get_member(pAttacker, m_iClientFOV) != 90) {
return false;
}
new iWeapon = get_user_weapon(pAttacker);
switch(iWeapon) {
case CSW_SCOUT: formatex(szWeaponName, charsmax(szWeaponName), "Scout");
case CSW_AWP: formatex(szWeaponName, charsmax(szWeaponName), "Awp");
case CSW_G3SG1: formatex(szWeaponName, charsmax(szWeaponName), "G3sg1");
case CSW_SG550: formatex(szWeaponName, charsmax(szWeaponName), "Sg550");
default: return false;
}
return true;
}
Float:get_distance_k(const pVictim, const pAttacker) {
new Float:flvOrigin[3], Float:flaOrigin[3];
get_entvar(pVictim, var_origin, flvOrigin);
get_entvar(pAttacker, var_origin, flaOrigin);
return (get_distance_f(flvOrigin, flaOrigin) * 0.0254);
}