Eklentideki bıçaklara sabit hasar özelliği ekleyebilir misiniz her bıçağın hasarı farklı olacak şekilde
Konu
Kod:
#include <amxmodx>
#include <reapi>
native get_user_level(id);
new gorunum[MAX_CLIENTS+1];
new bicakmodel[][][]={
{"Default","models/v_knife.mdl", "models/p_knife.mdl", 0},
{"Sheep Sword","models/v_chevalbec1.mdl", "models/p_chevalbec1.mdl", 10},
{"Dragon Knife","models/v_chevalbec2.mdl", "models/p_chevalbec2.mdl", 20},
{"Vampire Sword","models/v_chevalbecc3.mdl", "models/p_chevalbec3.mdl", 30},
{"FrostMourne","models/v_chevalbec4.mdl", "models/p_chevalbec4.mdl", 40},
{"Fire Axe","models/v_chevalbec5.mdl", "models/p_chevalbec5.mdl", 50},
{"Double Sword","models/v_chevalbec6.mdl", "models/p_chevalbec6.mdl", 60},
{"Ice Axe","models/v_chevalbec7.mdl", "models/p_chevalbec7.mdl", 70},
{"Flame Sword","models/v_xtreme_knife3.mdl", "models/p_xtreme_knife3.mdl", 75}
};
public plugin_init() {
register_plugin( "Bicak Menu", "0.1", "bilalgecer47");
new const menuclcmd[][]={
"say /bicak","knife"
};
for(new i;i<sizeof(menuclcmd);i++){
register_clcmd(menuclcmd[i],"@anamenu");
}
RegisterHookChain(RG_CBasePlayerWeapon_DefaultDeploy, "@CBasePlayerWeapon_DefaultDeploy_Pre", .post = false);
RegisterHookChain(RG_CBasePlayer_TakeDamage, "CBasePlayer_TakeDamage", .post = false);
}
public plugin_precache() {
for(new i = 0; i < sizeof(bicakmodel); i++) {
precache_model(bicakmodel[i][1][0]);
precache_model(bicakmodel[i][2][0]);
}
}
@CBasePlayerWeapon_DefaultDeploy_Pre(const pEntity, szViewModel[], szWeaponModel[], iAnim, szAnimExt[], skiplocal) {
if(get_member(pEntity, m_iId) != WEAPON_KNIFE) {
return;
}
new pPlayer = get_member(pEntity, m_pPlayer);
SetHookChainArg(2, ATYPE_STRING, bicakmodel[gorunum[pPlayer]][1][0]);
SetHookChainArg(3, ATYPE_STRING, bicakmodel[gorunum[pPlayer]][2][0]);
}
public CBasePlayer_TakeDamage(const iVictim, pevInflictor, pevAttacker, Float:flDamage, bitsDamageType)
{
if(iVictim == pevAttacker) return HC_CONTINUE;
if(pevInflictor != pevAttacker) return HC_CONTINUE;
if(!is_user_connected(pevAttacker)) return HC_CONTINUE; //non-player damage
if(WeaponIdType:get_member(get_member(pevAttacker, m_pActiveItem), m_iId) != WEAPON_KNIFE) return HC_CONTINUE;
switch(gorunum[pevAttacker])
{
//case 0: SetHookChainArg(4, ATYPE_FLOAT, 100.0);
case 1: SetHookChainArg(4, ATYPE_FLOAT, 110.0);
case 2: SetHookChainArg(4, ATYPE_FLOAT, 120.0);
case 3: SetHookChainArg(4, ATYPE_FLOAT, 130.0);
case 4: SetHookChainArg(4, ATYPE_FLOAT, 140.0);
case 5: SetHookChainArg(4, ATYPE_FLOAT, 150.0);
case 6: SetHookChainArg(4, ATYPE_FLOAT, 160.0);
case 7: SetHookChainArg(4, ATYPE_FLOAT, 170.0);
case 8: SetHookChainArg(4, ATYPE_FLOAT, 180.0);
}
return HC_CONTINUE;
}
@anamenu(const id)
{
new TeamName:iTeam = get_member(id, m_iTeam);
if(iTeam != TEAM_CT)
{
client_print_color(id, id, "^4[ ^1KNIFE ^4] ^3Bicak menüye yalnızca ^4Arayanlar ^3girebilir");
client_cmd(id, "spk %s", "events/friend_died.wav");
return;
}
new menu = menu_create(fmt("\rBICAK MENU"), "@anamenu_devam");
for(new i = 0; i < sizeof(bicakmodel); i++) {
menu_additem(menu, fmt("\r[ \w%s \r] \r[ Level : %i \r]", bicakmodel[i][0][0], bicakmodel[i][3][0]), fmt("%d", i));
}
menu_setprop(menu, MPROP_PERPAGE, 0);
menu_display(id, menu);
}
@anamenu_devam(const id, const menu, const item) {
if(item == MENU_EXIT) {
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[6];menu_item_getinfo(menu,item,_,data,charsmax(data));
new key = str_to_num(data);
if(get_user_level(id) >= bicakmodel[key][3][0]) {
gorunum[id] = key;
rg_remove_item(id,"weapon_knife");rg_give_item(id,"weapon_knife");
}
else {
client_print_color(id, id, "^4[ ^1KNIFE ^4] ^3Levelin yetersiz");
client_cmd(id, "spk %s", "events/friend_died.wav");
return PLUGIN_HANDLED;
}
menu_destroy(menu); return PLUGIN_HANDLED;
}Kod:
case 1: SetHookChainArg(4, ATYPE_FLOAT, 110.0);
case 2: SetHookChainArg(4, ATYPE_FLOAT, 120.0);
case 3: SetHookChainArg(4, ATYPE_FLOAT, 130.0);
case 4: SetHookChainArg(4, ATYPE_FLOAT, 140.0);
case 5: SetHookChainArg(4, ATYPE_FLOAT, 150.0);
case 6: SetHookChainArg(4, ATYPE_FLOAT, 160.0);
case 7: SetHookChainArg(4, ATYPE_FLOAT, 170.0);
case 8: SetHookChainArg(4, ATYPE_FLOAT, 180.0);Test etmedim çünkü elimde modeller yok. Test edip geri dönüş yaparsın.
İstek konusu, @deciduous adlı kullanıcı tarafından 21 saat içinde çözülmüştür.
İsteği çözdüğü için deciduous Adlı kullanıcıya 1 rep puanı ve 1 yardım etme puanı otomatik olarak verilmiştir.
deciduous Adlı kullanıcı sizin dışınızda toplam 20 kişiye yardım etmiştir.
Herhangi bir konuda hata olduğunu düşünüyorsanız destek sistemi üzerinden iletişim kurabilirsiniz.
İsteği çözdüğü için deciduous Adlı kullanıcıya 1 rep puanı ve 1 yardım etme puanı otomatik olarak verilmiştir.
deciduous Adlı kullanıcı sizin dışınızda toplam 20 kişiye yardım etmiştir.
Herhangi bir konuda hata olduğunu düşünüyorsanız destek sistemi üzerinden iletişim kurabilirsiniz.
Benzer Konular
Yorum
537
Okunma
28-03-2026, 23:15
)


