umarım çalışıyordur dostumByBuLuT ☪ yazdı: Pzt Mar 11, 2019 12:10 pm2 yıl geçmiş ama pazee yazdıysa çalışmıştırMenedit yazdı: Pzt Mar 11, 2019 11:54 amdenendimi bu konu sahibi bilgi verebilirmiPaZee yazdı: Pzt Mar 13, 2017 4:53 pm buyur dene.
Kod: Tümünü seç
#include <amxmodx> #include <fakemeta> #include <fakemeta_util> #include <hamsandwich> #include <cstrike> #include <colorchat> // yaptigim ayarlar m4a1 ayarlari hasarini ellemedim. Buyuk ihtimal m4a1 kendi akisiyla olmayacak . scsini felan yaptik ama bakicaz. #define PLUGIN "M4a1-III" #define VERSION "1.0" #define AUTHOR "Dias & Optimist" #define V_MODEL "models/v_m4a1.mdl" // Oyuncunun gorecegi model #define P_MODEL "models/p_m4a1.mdl" // disardan biri oyuncunun elinde gorecegi model #define W_MODEL "models/w_m4a1.mdl" // dunyada yerde gozukucek model #define DAMAGE 30 // hasari #define BPAMMO 240 // mermisi #define ACTIVE_CLIP 15 #define CSW_M4A13 CSW_MP5NAVY #define weapon_m4a13 "weapon_mp5navy" #define WEAPON_SECRETCODE 4962 #define WEAPON_EVENT "events/m4a1.sc" #define OLD_W_MODEL "models/w_m4a1.mdl" new const M4a13_Sounds[6][] = { "weapons/balrig3-1.wav", // sesleri kendin ayarlarsin "weapons/balrig3-2.wav", "weapons/balrig3_boltpull.wav", "weapons/balrig3_clipin.wav", "weapons/balrig3_clipout.wav", "weapons/balrig3_draw.wav" } #define EXPLOSE_SPR "sprites/rifle_smoke1.spr" // silah ucundan cikacak efekt enum { ANIM_IDLE = 0, // HLMW ile yapacagin silahin dosyasini ac efe sequanceye bas animation sequancenin altinda idle felan yazar ne yaziyorsa buraya ANIM_IDLE yaz diyelim ismi ATES1 Buraya ANIM_ATES1 yaz butun ANIM_DRAW, // silahi baska mermi cekme efekti yeni bir efekt ekleme sadece burdakilere gore silahtaki efektleri sec ctrlf degistir ANIM_DRAW ve butun smadaki ANIM_DRAW lari kendi hlmvde yazanla degistir yoksa akisi bozar ve sv coker. ANIM_RELOAD, // silah degistirme ANIM_SHOOT1, // ates 1 ANIM_SHOOT2 // ates 2 } new g_Had_M4a13[33], g_Shoot_Special[33], g_Holding_Attack[33], g_Shoot_Count[33], g_Old_Weapon[33], g_Current_Weapon[33] new g_Exp_SprId, g_m4a13_event, g_ShellId, g_SmokePuff_SprId, cvar_m4a1_fiyat public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_event("CurWeapon", "Event_CurWeapon", "be", "1=1") register_event("HLTV", "YeniTur", "a", "1=0", "2=0") register_clcmd("say /m4a1","bio_extra_item_selected") register_clcmd("say_team /m4a1","bio_extra_item_selected") register_forward(FM_UpdateClientData, "fw_UpdateClientData_Post", 1) register_forward(FM_PlaybackEvent, "fw_PlaybackEvent") register_forward(FM_SetModel, "fw_SetModel") register_forward(FM_CmdStart, "fw_CmdStart") RegisterHam(Ham_TraceAttack, "worldspawn", "fw_TraceAttack") RegisterHam(Ham_TraceAttack, "player", "fw_TraceAttack") RegisterHam(Ham_Weapon_PrimaryAttack, weapon_m4a13, "fw_Weapon_PrimaryAttack") RegisterHam(Ham_Weapon_PrimaryAttack, weapon_m4a13, "fw_Weapon_PrimaryAttack_Post", 1) RegisterHam(Ham_Item_AddToPlayer, weapon_m4a13, "fw_Item_AddToPlayer_Post", 1) cvar_m4a1_fiyat = register_cvar("bio_m4a1_fiyat", "16000") // alacaklari para degerini gir. } public plugin_precache() { engfunc(EngFunc_PrecacheModel, V_MODEL) engfunc(EngFunc_PrecacheModel, P_MODEL) engfunc(EngFunc_PrecacheModel, W_MODEL) for(new i = 0; i < sizeof(M4a13_Sounds); i++) engfunc(EngFunc_PrecacheSound, M4a13_Sounds[i]) g_Exp_SprId = engfunc(EngFunc_PrecacheModel, EXPLOSE_SPR) g_SmokePuff_SprId = engfunc(EngFunc_PrecacheModel, "sprites/wall_puff1.spr") g_ShellId = engfunc(EngFunc_PrecacheModel, "models/pshell.mdl") register_forward(FM_PrecacheEvent, "fw_PrecacheEvent_Post", 1) } public fw_PrecacheEvent_Post(type, const name[]) { if(equal(WEAPON_EVENT, name)) g_m4a13_event = get_orig_retval() } public YeniTur() { new players[32],inum; get_players(players,inum) for(new id;id<inum;id++) { g_Had_M4a13[id] = 0 } } public bio_extra_item_selected(id, itemid) { if (!is_user_alive(id)) { ColorChat(id,NORMAL,"^4[Ses]:^1 ^3M4a1 Silahini^1 Alamabilmek Icin ^4Hayatta Olmaniz^1 Gereklidir.!") return PLUGIN_HANDLED } new para = cs_get_user_money(id) if (para >= get_pcvar_num(cvar_m4a1_fiyat)){ cs_set_user_money(id, para - get_pcvar_num(cvar_m4a1_fiyat)) Get_M4a13(id) ColorChat(id,NORMAL,"^4[Ses]:^1 ^3M4a1 Silahini^1 Satin Aldiniz.!") }else { ColorChat(id,NORMAL,"^4[Ses]:^1 M4a1 Silahini Almak Icin ^4Yeterli Paraniz^1 Yok. ^4Silahin Degeri: ^1^3%d^1 TL ", get_pcvar_num(cvar_m4a1_fiyat)) } return PLUGIN_HANDLED } public event_infect(id) Remove_M4a13(id) public Get_M4a13(id) { if(!is_user_alive(id)) return g_Had_M4a13[id] = 1 g_Shoot_Special[id] = 0 g_Holding_Attack[id] = 0 g_Shoot_Count[id] = 0 fm_give_item(id, weapon_m4a13) cs_set_user_bpammo(id, CSW_M4A13, BPAMMO) } public Remove_M4a13(id) { if(!is_user_connected(id)) return g_Had_M4a13[id] = 0 g_Shoot_Special[id] = 0 } public Event_CurWeapon(id) { if(!is_user_alive(id)) return if(get_user_weapon(id) != g_Current_Weapon[id]) g_Current_Weapon[id] = get_user_weapon(id) if(get_user_weapon(id) == CSW_M4A13 && g_Had_M4a13[id]) { if(g_Old_Weapon[id] != CSW_M4A13) { set_pev(id, pev_viewmodel2, V_MODEL) set_pev(id, pev_weaponmodel2, P_MODEL) } } g_Old_Weapon[id] = get_user_weapon(id) } public fw_UpdateClientData_Post(id, sendweapons, cd_handle) { if(!is_user_alive(id) || !is_user_connected(id)) return FMRES_IGNORED if(get_user_weapon(id) == CSW_M4A13 && g_Had_M4a13[id]) set_cd(cd_handle, CD_flNextAttack, get_gametime() + 0.001) return FMRES_HANDLED } public fw_PlaybackEvent(flags, invoker, eventid, Float:delay, Float:origin[3], Float:angles[3], Float:fparam1, Float:fparam2, iParam1, iParam2, bParam1, bParam2) { if (!is_user_connected(invoker)) return FMRES_IGNORED if(get_user_weapon(invoker) != CSW_M4A13 || !g_Had_M4a13[invoker]) return FMRES_IGNORED if(eventid != g_m4a13_event) return FMRES_IGNORED engfunc(EngFunc_PlaybackEvent, flags | FEV_HOSTONLY, invoker, eventid, delay, origin, angles, fparam1, fparam2, iParam1, iParam2, bParam1, bParam2) if(!g_Shoot_Special[invoker] && cs_get_user_bpammo(invoker, CSW_M4A13) > 0) { g_Shoot_Count[invoker]++ if(g_Shoot_Count[invoker] >= ACTIVE_CLIP) { g_Shoot_Special[invoker] = 1 static Ent; Ent = fm_get_user_weapon_entity(invoker, CSW_M4A13) if(pev_valid(Ent)) g_Shoot_Count[invoker] = cs_get_weapon_ammo(Ent) } } else if(g_Shoot_Special[invoker]) { cs_set_user_bpammo(invoker, CSW_M4A13, cs_get_user_bpammo(invoker, CSW_M4A13) - 1) if(cs_get_user_bpammo(invoker, CSW_M4A13) <= 0) { g_Shoot_Special[invoker] = 0 g_Shoot_Count[invoker] = 0 } } set_weapon_anim(invoker, g_Shoot_Special[invoker] == 1 ? ANIM_SHOOT2 : ANIM_SHOOT1) emit_sound(invoker, CHAN_WEAPON, g_Shoot_Special[invoker] == 1 ? M4a13_Sounds[1] : M4a13_Sounds[0], VOL_NORM, ATTN_NORM, 0, PITCH_NORM) Eject_Shell(invoker, g_ShellId, 0.0) return FMRES_SUPERCEDE } public fw_SetModel(entity, model[]) { if(!pev_valid(entity)) return FMRES_IGNORED static Classname[32] pev(entity, pev_classname, Classname, sizeof(Classname)) if(!equal(Classname, "weaponbox")) return FMRES_IGNORED static iOwner iOwner = pev(entity, pev_owner) if(equal(model, OLD_W_MODEL)) { static weapon; weapon = fm_find_ent_by_owner(-1, weapon_m4a13, entity) if(!pev_valid(weapon)) return FMRES_IGNORED; if(g_Had_M4a13[iOwner]) { Remove_M4a13(iOwner) set_pev(weapon, pev_impulse, WEAPON_SECRETCODE) engfunc(EngFunc_SetModel, entity, W_MODEL) return FMRES_SUPERCEDE } } return FMRES_IGNORED; } public fw_CmdStart(id, uc_handle, seed) { if(!is_user_alive(id)) return if(g_Current_Weapon[id] != CSW_M4A13 || !g_Had_M4a13[id]) return static NewButton; NewButton = get_uc(uc_handle, UC_Buttons) static OldButton; OldButton = pev(id, pev_oldbuttons) if(NewButton & IN_ATTACK) { if(!g_Holding_Attack[id]) g_Holding_Attack[id] = 1 } else if((NewButton & IN_ATTACK2) && !(OldButton & IN_ATTACK2)) { if(cs_get_user_zoom(id) == 1) cs_set_user_zoom(id, CS_SET_AUGSG552_ZOOM, 1) else cs_set_user_zoom(id, CS_SET_NO_ZOOM, 1) } else { if(OldButton & IN_ATTACK) { if(g_Holding_Attack[id]) { g_Holding_Attack[id] = 0 g_Shoot_Count[id] = 0 g_Shoot_Special[id] = 0 } } } } public fw_TraceAttack(Victim, Attacker, Float:Damage, Float:Direction[3], Ptr, DamageBits) { if(!is_user_alive(Attacker)) return HAM_IGNORED if(get_user_weapon(Attacker) != CSW_M4A13 || !g_Had_M4a13[Attacker]) return HAM_IGNORED static Float:flEnd[3], Float:vecPlane[3] get_tr2(Ptr, TR_vecEndPos, flEnd) get_tr2(Ptr, TR_vecPlaneNormal, vecPlane) if(!is_user_alive(Victim)) { Make_BulletHole(Attacker, flEnd, Damage) Make_BulletSmoke(Attacker, Ptr) } if(g_Shoot_Special[Attacker]) { Make_M4a1Effect(Attacker, Ptr) radius_damage(Attacker, flEnd, float(DAMAGE), 96.0) } SetHamParamFloat(3, float(DAMAGE)) return HAM_IGNORED } public fw_Weapon_PrimaryAttack(Ent) { if(!pev_valid(Ent)) return static Id; Id = pev(Ent, pev_owner) if(!g_Had_M4a13[Id]) return if(g_Shoot_Special[Id]) set_pdata_float(Ent, 62, 0.4, 4) else set_pdata_float(Ent, 62, 0.2, 4) } public fw_Weapon_PrimaryAttack_Post(Ent) { if(!pev_valid(Ent)) return static Id; Id = pev(Ent, pev_owner) if(!g_Had_M4a13[Id]) return if(g_Shoot_Special[Id] && cs_get_weapon_ammo(Ent) > 0) { cs_set_weapon_ammo(Ent, g_Shoot_Count[Id]) set_pdata_float(Ent, 46, get_pdata_float(Ent, 46, 4) * 0.75, 4) } } public fw_Item_AddToPlayer_Post(ent, id) { if(!pev_valid(ent)) return HAM_IGNORED if(pev(ent, pev_impulse) == WEAPON_SECRETCODE) { g_Had_M4a13[id] = 1 set_pev(ent, pev_impulse, 0) } return HAM_HANDLED } stock Make_BulletHole(id, Float:Origin[3], Float:Damage) { // Find target static Decal; Decal = random_num(41, 45) static LoopTime; if(Damage > 100.0) LoopTime = 2 else LoopTime = 1 for(new i = 0; i < LoopTime; i++) { // Put decal on "world" (a wall) message_begin(MSG_BROADCAST, SVC_TEMPENTITY) write_byte(TE_WORLDDECAL) engfunc(EngFunc_WriteCoord, Origin[0]) engfunc(EngFunc_WriteCoord, Origin[1]) engfunc(EngFunc_WriteCoord, Origin[2]) write_byte(Decal) message_end() // Show sparcles message_begin(MSG_BROADCAST, SVC_TEMPENTITY) write_byte(TE_GUNSHOTDECAL) engfunc(EngFunc_WriteCoord, Origin[0]) engfunc(EngFunc_WriteCoord, Origin[1]) engfunc(EngFunc_WriteCoord, Origin[2]) write_short(id) write_byte(Decal) message_end() } } public Make_BulletSmoke(id, TrResult) { static Float:vecSrc[3], Float:vecEnd[3], TE_FLAG get_weapon_attachment(id, vecSrc) global_get(glb_v_forward, vecEnd) xs_vec_mul_scalar(vecEnd, 8192.0, vecEnd) xs_vec_add(vecSrc, vecEnd, vecEnd) get_tr2(TrResult, TR_vecEndPos, vecSrc) get_tr2(TrResult, TR_vecPlaneNormal, vecEnd) xs_vec_mul_scalar(vecEnd, 2.5, vecEnd) xs_vec_add(vecSrc, vecEnd, vecEnd) TE_FLAG |= TE_EXPLFLAG_NODLIGHTS TE_FLAG |= TE_EXPLFLAG_NOSOUND TE_FLAG |= TE_EXPLFLAG_NOPARTICLES engfunc(EngFunc_MessageBegin, MSG_PAS, SVC_TEMPENTITY, vecEnd, 0) write_byte(TE_EXPLOSION) engfunc(EngFunc_WriteCoord, vecEnd[0]) engfunc(EngFunc_WriteCoord, vecEnd[1]) engfunc(EngFunc_WriteCoord, vecEnd[2] - 10.0) write_short(g_SmokePuff_SprId) write_byte(2) write_byte(50) write_byte(TE_FLAG) message_end() } public Make_M4a1Effect(id, TrResult) { static Float:vecSrc[3], Float:vecEnd[3], TE_FLAG get_weapon_attachment(id, vecSrc) global_get(glb_v_forward, vecEnd) xs_vec_mul_scalar(vecEnd, 8192.0, vecEnd) xs_vec_add(vecSrc, vecEnd, vecEnd) get_tr2(TrResult, TR_vecEndPos, vecSrc) get_tr2(TrResult, TR_vecPlaneNormal, vecEnd) xs_vec_mul_scalar(vecEnd, 5.0, vecEnd) xs_vec_add(vecSrc, vecEnd, vecEnd) TE_FLAG |= TE_EXPLFLAG_NODLIGHTS TE_FLAG |= TE_EXPLFLAG_NOSOUND TE_FLAG |= TE_EXPLFLAG_NOPARTICLES engfunc(EngFunc_MessageBegin, MSG_PAS, SVC_TEMPENTITY, vecEnd, 0) write_byte(TE_EXPLOSION) engfunc(EngFunc_WriteCoord, vecEnd[0]) engfunc(EngFunc_WriteCoord, vecEnd[1]) engfunc(EngFunc_WriteCoord, vecEnd[2]) write_short(g_Exp_SprId) write_byte(5) write_byte(30) write_byte(TE_FLAG) message_end() } stock get_weapon_attachment(id, Float:output[3], Float:fDis = 40.0) { new Float:vfEnd[3], viEnd[3] get_user_origin(id, viEnd, 3) IVecFVec(viEnd, vfEnd) new Float:fOrigin[3], Float:fAngle[3] pev(id, pev_origin, fOrigin) pev(id, pev_view_ofs, fAngle) xs_vec_add(fOrigin, fAngle, fOrigin) new Float:fAttack[3] xs_vec_sub(vfEnd, fOrigin, fAttack) xs_vec_sub(vfEnd, fOrigin, fAttack) new Float:fRate fRate = fDis / vector_length(fAttack) xs_vec_mul_scalar(fAttack, fRate, fAttack) xs_vec_add(fOrigin, fAttack, output) } stock radius_damage(id, Float:Origin[3], Float:Damage, Float:Radius) { static Victim; Victim = -1 while((Victim = engfunc(EngFunc_FindEntityInSphere, Victim, Origin, Radius)) != 0) { if(!is_user_alive(Victim) || id == Victim) continue ExecuteHamB(Ham_TakeDamage, Victim, fm_get_user_weapon_entity(id, get_user_weapon(id)), id, Damage, DMG_BULLET) } } stock Eject_Shell(id, Shell_ModelIndex, Float:Time) { static Ent; Ent = get_pdata_cbase(id, 373, 5) if(!pev_valid(Ent)) return set_pdata_int(Ent, 57, Shell_ModelIndex, 4) set_pdata_float(id, 111, get_gametime() + Time) } stock set_weapon_anim(id, anim) { if(!is_user_alive(id)) return set_pev(id, pev_weaponanim, anim) message_begin(MSG_ONE_UNRELIABLE, SVC_WEAPONANIM, {0, 0, 0}, id) write_byte(anim) write_byte(pev(id, pev_body)) message_end() }
ANIM yeri biraz kafani karistiracak diger arkadaslara sorarsin olmadi umarim aciklayici anlatmisindir baktik anlamadin daha detayli anlatirim pek zamanim yok. iyi oyunlar
Silah ses...
Moderatör: Moderatörler
Forum kuralları
[font size=20] DİKKAT [/font]
Silinmiş konu içerikleri hiçbir şekilde kontrol edlimemektedir. İndirdiğiniz dosyaların sorumluluğu tamamiyle size aittir.
Mutlaka indirdiğiniz dosyaları antivirüs ile taratınız.
[font size=20] DİKKAT [/font]
Silinmiş konu içerikleri hiçbir şekilde kontrol edlimemektedir. İndirdiğiniz dosyaların sorumluluğu tamamiyle size aittir.
Mutlaka indirdiğiniz dosyaları antivirüs ile taratınız.
-
- Mesajlar: 149
- Kayıt: Pzt Eki 15, 2018 5:58 pm
- Konum: Angara
- Server Ip/DNS: 213.238.173.17
- Clan İsmi: LiekabLe* > Pro
Silah ses...
Link: | |
Linklerini gizle |
-
- Mesajlar: 2368
- Kayıt: Sal Oca 26, 2016 3:54 pm
- Konum: Samsun
- Clan İsmi: -
- İletişim:
Silah ses...
Çalışmıyorsa yardımcı olacak insanlar var forumda denemekten zarar gelmez
Link: | |
Linklerini gizle |
-
- Mesajlar: 2170
- Kayıt: Pzr Eki 01, 2017 11:29 pm
- Konum: Azerbaycan,Haciqabul
- Clan İsmi: Azerbaycan
Silah ses...
Çalışmassa konu açın yardım ederler yani konu uplamaya gerek yok.
Link: | |
Linklerini gizle |