Reklam gösterimini engelleyici yazılım kullandığınızı görüyoruz.
Sitemizin ayakta kalıp sizlere hizmet edebilmek için en büyük gelir kaynağı sayfamızda gösterilen reklamlardır.
Reklam gösterimde bizim sayfamıza ayrıcalık tanıyarak ayakta kalmamıza destek olmak ister misiniz ?

Silinmiş Konu   | Rail Cannon

Konu

#1
.sma railcannon.sma (Dosya Boyutu: 33.08 KB | İndirme Sayısı: 3)
Merhaba Arkadaslar zombi icin rail cannon silahı var fakat bunu aldıgın zaman her round elınde kalıyor.Ben sadece tek roundluk istiyorum. round bittikten sonra elimizden gitsin. rica etsem yardımcı olabilirmisiniz


#2
Buyur . Dene ;


.sma railcannon.sma (Dosya Boyutu: 33.19 KB | İndirme Sayısı: 4)


#3
yok kanka compile ederken hata verıyor


#4
(13-10-2018, Saat: 21:30)tektak97 Adlı Kullanıcıdan Alıntı: yok kanka compile ederken hata verıyor
Buyur ;


.sma railcik.sma (Dosya Boyutu: 33.19 KB | İndirme Sayısı: 4)


#5
yok gene olmamıs el bası elınde kalıyor silah


#6
Buyur ;


.sma canon.sma (Dosya Boyutu: 33.34 KB | İndirme Sayısı: 2)
#7
reis seninkinde hiç almıyor, basıyorum fakat ele gelmıyor


#8
yok mu arkadaslar yapabılcek birisi


#9
...
PHP Kod:
#include <amxmodx>
#include <engine>
#include <fakemeta>
#include <fakemeta_util>
#include <fun>
#include <hamsandwich>
#include <xs>
#include <cstrike>
#include <zombieplague>

#define ENG_NULLENT        -1
#define EV_INT_WEAPONKEY    EV_INT_impulse
#define RAILCANNON_WEAPONKEY 756144798
#define IsValidUser(%1) (1 <= %1 <= g_MaxPlayers)

#define SMOKE_CLASS "smokess"

#define ENABLE_KNOCKBACK 1

const USE_STOPPED 0
const OFFSET_ACTIVE_ITEM 373
const OFFSET_WEAPONOWNER 41
const OFFSET_LINUX 5
const OFFSET_LINUX_WEAPONS 4

#if cellbits == 32
const OFFSET_CLIPAMMO 51
#else
const OFFSET_CLIPAMMO 65
#endif

#define WEAP_LINUX_XTRA_OFF        4
#define m_fKnown                    44
#define m_flNextPrimaryAttack         46
#define m_flNextSecondaryAttack         47
#define m_flTimeWeaponIdle            48
#define m_iClip                    51
#define m_fInReload                54
#define m_fInSpecialReload             55
#define PLAYER_LINUX_XTRA_OFF    5
#define m_flNextAttack                83

#define RAILCANNON_DRAW            7

#define TASK_SOUND 2573+10
#define TASK_SETRUM2 2573+20

new gmsgWeaponListsTrail

#define write_coord_f(%1)    engfunc(EngFunc_WriteCoord,%1)

new const Fire_Sounds[] = "weapons/railcanon-1.wav"
new const MuzzleFlash[] = "sprites/muzzleflash19.spr"

//////////// Change Here For Customize //////////////////////////

const Float:cvar_recoil_railcannon 0.65
const cvar_clip_railcannon 24
const cvar_railcannon_ammo 90

const Float:damage_mode1 20.0
const Float:damage_mode2 35.0
const Float:damage_mode3 60.0

/////////////////////////////////////////////////////////////////
new RAILCANNON_V_MODEL[64] = "models/v_railcannon.mdl"
new RAILCANNON_P_MODEL[64] = "models/p_railcannon.mdl"
new RAILCANNON_W_MODEL[64] = "models/w_railcannon.mdl"

new const GUNSHOT_DECALS[] = { 4142434445 }

new 
g_has_railcannon[33], g_Ham_Bot

new g_MaxPlayersg_orig_event_railcannong_IsInPrimaryAttackg_MuzzleFlash_SprIdg_railg_KnockBack
new Float:cl_pushangle[33][3], m_iBlood[2], zz[33], udah[33]
new 
g_clip_ammo[33], oldweap[33], g_reload[33], railcannon_mode[33], Float:StartOrigin2[3], g_SpecialAmmo[33]
const 
PRIMARY_WEAPONS_BIT_SUM 
(
1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<
CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90)
new const 
WEAPONENTNAMES[][] = { """weapon_p228""""weapon_scout""weapon_hegrenade""weapon_xm1014""weapon_c4""weapon_mac10",
            
"weapon_aug""weapon_smokegrenade""weapon_elite""weapon_fiveseven""weapon_ump45""weapon_sg550",
            
"weapon_mp5navy""weapon_famas""weapon_usp""weapon_glock18""weapon_awp""weapon_mp5navy""weapon_m249",
            
"weapon_m3""weapon_m4a1""weapon_tmp""weapon_g3sg1""weapon_flashbang""weapon_deagle""weapon_sg552",
            
"weapon_ak47""weapon_knife""weapon_p90" }

public 
plugin_init()
{
    
register_plugin("Rail Cannon""1.0""m4m3ts")
    
register_cvar("rail_version""m4m3ts"FCVAR_SERVER|FCVAR_SPONLY)
    
register_event("CurWeapon","CurrentWeapon","be","1=1")
    
register_think(SMOKE_CLASS"fw_Fire_smoke")
    
RegisterHam(Ham_Item_AddToPlayer"weapon_m3""fw_RAILCANNON_AddToPlayer")
    
RegisterHam(Ham_Use"func_tank""fw_UseStationary_Post"1)
    
RegisterHam(Ham_Use"func_tankmortar""fw_UseStationary_Post"1)
    
RegisterHam(Ham_Use"func_tankrocket""fw_UseStationary_Post"1)
    
RegisterHam(Ham_Use"func_tanklaser""fw_UseStationary_Post"1)
    
    for (new 
1sizeof WEAPONENTNAMESi++)
        if (
WEAPONENTNAMES[i][0]) RegisterHam(Ham_Item_DeployWEAPONENTNAMES[i], "fw_Item_Deploy_Post"1)
    
    
RegisterHam(Ham_Weapon_PrimaryAttack"weapon_m3""fw_RAIL_PrimaryAttack")
    
RegisterHam(Ham_Weapon_PrimaryAttack"weapon_m3""fw_RAIL_PrimaryAttack_Post"1)
    
RegisterHam(Ham_Weapon_Reload"weapon_m3""RAILCANNON_Reload")
    
RegisterHam(Ham_Weapon_Reload"weapon_m3""RAILCANNON_Reload_Post"1)
    
RegisterHam(Ham_Weapon_WeaponIdle"weapon_m3""fw_railcannonidleanim"1)
    
    
RegisterHam(Ham_Spawn"player""bePS"1);
    
    
RegisterHam(Ham_Killed"player""fw_PlayerKilled")
    
    
register_forward(FM_CmdStart"fw_CmdStart")
    
register_forward(FM_SetModel"fw_SetModel")
    
register_forward(FM_UpdateClientData"fw_UpdateClientData_Post"1)
    
register_forward(FM_PlaybackEvent"fwPlaybackEvent")
    
register_forward(FM_TraceLine,"fw_traceline",1)
    
    
gmsgWeaponList get_user_msgid("WeaponList")
    
    
RegisterHam(Ham_TraceAttack"player""fw_TraceAttack")
    
RegisterHam(Ham_TraceAttack"worldspawn""fw_TraceAttack"1)
    
RegisterHam(Ham_TraceAttack"func_breakable""fw_TraceAttack"1)
    
RegisterHam(Ham_TraceAttack"func_wall""fw_TraceAttack"1)
    
RegisterHam(Ham_TraceAttack"func_door""fw_TraceAttack"1)
    
RegisterHam(Ham_TraceAttack"func_door_rotating""fw_TraceAttack"1)
    
RegisterHam(Ham_TraceAttack"func_plat""fw_TraceAttack"1)
    
RegisterHam(Ham_TraceAttack"func_rotating""fw_TraceAttack"1)
    
    
g_rail zp_register_extra_item("\rRailCannon \yGerekli Paket:"30ZP_TEAM_HUMAN)
    
g_KnockBack ENABLE_KNOCKBACK
    g_MaxPlayers 
get_maxplayers()
}

public 
plugin_precache()
{
    
precache_model(RAILCANNON_V_MODEL)
    
precache_model(RAILCANNON_P_MODEL)
    
precache_model(RAILCANNON_W_MODEL)
    
precache_sound(Fire_Sounds)    
        
    
sTrail precache_model("sprites/laserbeam.spr")
    
    
precache_sound("weapons/railcanon_clipin.wav")
    
precache_sound("weapons/railcanon_chage1_start.wav")
    
precache_sound("weapons/railcanon_chage3_loop.wav")
    
precache_sound("weapons/railcanon_draw.wav")
    
precache_sound("weapons/railcanon_clipout.wav")
    
precache_sound("weapons/railcanon-2.wav")
    
    
g_MuzzleFlash_SprId engfunc(EngFunc_PrecacheModelMuzzleFlash)
    
precache_generic("sprites/weapon_railcannon.txt")
    
    
precache_generic("sprites/640hud112.spr")
    
precache_generic("sprites/640hud13.spr")
        
    
register_clcmd("weapon_railcannon""weapon_hook")    
                    
    
m_iBlood[0] = precache_model("sprites/blood.spr")
    
m_iBlood[1] = precache_model("sprites/bloodspray.spr")
    
precache_model("sprites/wall_puff1.spr")

    
register_forward(FM_PrecacheEvent"fwPrecacheEvent_Post"1)
}

public 
weapon_hook(id)
{
    
engclient_cmd(id"weapon_m3")
    return 
PLUGIN_HANDLED
}

public 
client_putinserver(id)
{
    if(!
g_Ham_Bot && is_user_bot(id))
    {
        
g_Ham_Bot 1
        set_task
(0.1"Do_RegisterHam_Bot"id)
    }
}

public 
Do_RegisterHam_Bot(id)
{
    
RegisterHamFromEntity(Ham_TraceAttackid"fw_TraceAttack"1)
    
RegisterHamFromEntity(Ham_TraceAttackid"fw_TraceAttack")
}

public 
zp_extra_item_selected(iditemid)
{
    if(
itemid == g_rail)
    {
        
give_railcannon(id)
        
client_printcolor(id,"/g[ZE] /yBasariyla /g[RailCannon] /ySatin Aldin.")
    }
//    return PLUGIN_HANDLED;
}

public 
zp_user_infected_post(id)
{
    
update_specialammo(idg_SpecialAmmo[id], 0)
    
g_has_railcannon[id] = false
    g_SpecialAmmo
[id] = 0
}
public 
bePS(idg_has_railcannon[id] = false
public fw_PlayerKilled(id)
{
    
g_has_railcannon[id] = false
}

public 
fw_TraceAttack(iEntiAttackerFloat:flDamageFloat:fDir[3], ptriDamageType)
{
    if(!
is_user_alive(iAttacker))
        return

    new 
g_currentweapon get_user_weapon(iAttacker)

    if(
g_currentweapon != CSW_M3 || !g_has_railcannon[iAttacker])
        return
    
    if(
railcannon_mode[iAttacker] == 3SetHamParamFloat(360.0)
    if(
railcannon_mode[iAttacker] == 2SetHamParamFloat(335.0)
    if(
railcannon_mode[iAttacker] == 1SetHamParamFloat(320.0)
    
    static 
Float:flEnd[3], Float:test[3], Float:myOrigin[3]
    
    
pev(iAttackerpev_originmyOrigin)
    
get_tr2(ptrTR_vecEndPosflEnd)
        
    if(!
is_user_alive(iEnt))
    {
        
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
        
write_byte(TE_DECAL)
        
write_coord_f(flEnd[0])
        
write_coord_f(flEnd[1])
        
write_coord_f(flEnd[2])
        
write_byte(GUNSHOT_DECALS[random_num (0sizeof GUNSHOT_DECALS -1)])
        
write_short(iEnt)
        
message_end()

        
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
        
write_byte(TE_WORLDDECAL)
        
write_coord_f(flEnd[0])
        
write_coord_f(flEnd[1])
        
write_coord_f(flEnd[2])
        
write_byte(GUNSHOT_DECALS[random_num (0sizeof GUNSHOT_DECALS -1)])
        
message_end()
        
        
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
        
write_byte(TE_GUNSHOTDECAL)
        
write_coord_f(flEnd[0])
        
write_coord_f(flEnd[1])
        
write_coord_f(flEnd[2])
        
write_short(iAttacker)
        
write_byte(GUNSHOT_DECALS[random_num (0sizeof GUNSHOT_DECALS -1)])
        
message_end()
        
        
fm_get_aim_origin(iAttackertest)
        if(
railcannon_mode[iAttacker] == 3fake_smokes(iAttackertest)
    }
    
    if(
railcannon_mode[iAttacker] == 2)
    {
        
get_position(iAttacker20.00.010.0StartOrigin2)
        
        
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
        
write_byte(TE_BEAMPOINTS)
        
engfunc(EngFunc_WriteCoordStartOrigin2[0])
        
engfunc(EngFunc_WriteCoordStartOrigin2[1])
        
engfunc(EngFunc_WriteCoordStartOrigin2[2] - 10.0)
        
engfunc(EngFunc_WriteCoordflEnd[0])
        
engfunc(EngFunc_WriteCoordflEnd[1])
        
engfunc(EngFunc_WriteCoordflEnd[2])
        
write_short(sTrail)
        
write_byte(0// start frame
        
write_byte(0// framerate
        
write_byte(5// life
        
write_byte(5// line width
        
write_byte(0// amplitude
        
write_byte(220)
        
write_byte(88)
        
write_byte(0// blue
        
write_byte(255// brightness
        
write_byte(0// speed
        
message_end()
    }
    
    if(
railcannon_mode[iAttacker] == 3)
    {
        
get_position(iAttacker20.05.05.0StartOrigin2)
        
        
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
        
write_byte(TE_BEAMPOINTS)
        
engfunc(EngFunc_WriteCoordStartOrigin2[0])
        
engfunc(EngFunc_WriteCoordStartOrigin2[1])
        
engfunc(EngFunc_WriteCoordStartOrigin2[2] - 10.0)
        
engfunc(EngFunc_WriteCoordflEnd[0])
        
engfunc(EngFunc_WriteCoordflEnd[1])
        
engfunc(EngFunc_WriteCoordflEnd[2])
        
write_short(sTrail)
        
write_byte(0// start frame
        
write_byte(0// framerate
        
write_byte(8// life
        
write_byte(8// line width
        
write_byte(0// amplitude
        
write_byte(220)
        
write_byte(88)
        
write_byte(0// blue
        
write_byte(50// brightness
        
write_byte(0// speed
        
message_end()
        
        if(!
is_user_alive(iEnt))
            return
        
        if(
zp_get_user_zombie(iEnt) && g_KnockBack == 1knockback(iEntmyOrigin42.02)
    }
    
}

public 
fake_smokes(idFloat:Origin[3])
{
    new 
ent_testent_test engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"env_sprite"))
    
    
engfunc(EngFunc_SetModelent_test"sprites/wall_puff1.spr")
    
entity_set_string(ent_testEV_SZ_classnameSMOKE_CLASS)
    
set_pev(ent_testpev_nextthinkget_gametime() + 0.04)
    
set_pev(ent_testpev_movetypeMOVETYPE_NONE)
    
set_pev(ent_testpev_rendermodekRenderTransAdd)
    
set_pev(ent_testpev_renderamt20.0)
    
set_pev(ent_testpev_scale1.0)
    
set_pev(ent_testpev_originOrigin)
    
set_pev(ent_testpev_frame0.0)
    
set_pev(ent_testpev_iuser2get_user_team(id))

    
set_pev(ent_testpev_solidSOLID_NOT)
    
dllfunc(DLLFunc_Spawnent_test)
}

public 
fw_Fire_smoke(iEnt)
{
    if(!
pev_valid(iEnt)) 
        return
    
    new 
Float:fFrame
    pev
(iEntpev_framefFrame)

    
// effect exp
    
fFrame += 1.0

    set_pev
(iEntpev_framefFrame)
    
set_pev(iEntpev_scale1.0)
    
set_pev(iEntpev_nextthinkget_gametime() + 0.02)
    
    if(
fFrame 30.0engfunc(EngFunc_RemoveEntityiEnt)
}

public 
fw_traceline(Float:v1[3],Float:v2[3],noMonsters,id,ptr)
{
    if(!
is_user_alive(id))
        return 
HAM_IGNORED    
    
if(get_user_weapon(id) != CSW_M3 || !g_has_railcannon[id])
        return 
HAM_IGNORED
    
if(railcannon_mode[id] != 3)
        return 
HAM_IGNORED
    
    
// get crosshair aim
    
static Float:aim[3];
    
get_aim(id,v1,aim);
    
    
// do another trace to this spot
    
new trace create_tr2();
    
engfunc(EngFunc_TraceLine,v1,aim,noMonsters,id,trace);
    
    
// copy ints
    
set_tr2(ptr,TR_AllSolid,get_tr2(trace,TR_AllSolid));
    
set_tr2(ptr,TR_StartSolid,get_tr2(trace,TR_StartSolid));
    
set_tr2(ptr,TR_InOpen,get_tr2(trace,TR_InOpen));
    
set_tr2(ptr,TR_InWater,get_tr2(trace,TR_InWater));
    
set_tr2(ptr,TR_pHit,get_tr2(trace,TR_pHit));
    
set_tr2(ptr,TR_iHitgroup,get_tr2(trace,TR_iHitgroup));

    
// copy floats
    
get_tr2(trace,TR_flFraction,aim[0]);
    
set_tr2(ptr,TR_flFraction,aim[0]);
    
get_tr2(trace,TR_flPlaneDist,aim[0]);
    
set_tr2(ptr,TR_flPlaneDist,aim[0]);
    
    
// copy vecs
    
get_tr2(trace,TR_vecEndPos,aim);
    
set_tr2(ptr,TR_vecEndPos,aim);
    
get_tr2(trace,TR_vecPlaneNormal,aim);
    
set_tr2(ptr,TR_vecPlaneNormal,aim);

    
// get rid of new trace
    
free_tr2(trace);

    return 
FMRES_IGNORED;
}

get_aim(id,Float:source[3],Float:ret[3])
{
    static 
Float:vAngle[3], Float:pAngle[3], Float:dir[3], Float:temp[3];

    
// get aiming direction from forward global based on view angle and punch angle
    
pev(id,pev_v_angle,vAngle);
    
pev(id,pev_punchangle,pAngle);
    
xs_vec_add(vAngle,pAngle,temp);
    
engfunc(EngFunc_MakeVectors,temp);
    
global_get(glb_v_forward,dir);
    
    
/* vecEnd = vecSrc + vecDir * flDistance; */
    
xs_vec_mul_scalar(dir,8192.0,temp);
    
xs_vec_add(source,temp,ret);
}

public 
fwPrecacheEvent_Post(type, const name[])
{
    if (
equal("events/m3.sc"name))
    {
        
g_orig_event_railcannon get_orig_retval()
        return 
FMRES_HANDLED
    
}
    return 
FMRES_IGNORED
}

public 
client_connect(id)
{
    
g_has_railcannon[id] = false
}

public 
client_disconnected(id)
{
    
g_has_railcannon[id] = false
}

public 
fw_SetModel(entitymodel[])
{
    if(!
is_valid_ent(entity))
        return 
FMRES_IGNORED
    
    
static szClassName[33]
    
entity_get_string(entityEV_SZ_classnameszClassNamecharsmax(szClassName))
        
    if(!
equal(szClassName"weaponbox"))
        return 
FMRES_IGNORED
    
    
static iOwner
    
    iOwner 
entity_get_edict(entityEV_ENT_owner)
    
    if(
equal(model"models/w_m3.mdl"))
    {
        static 
iStoredAugID
        
        iStoredAugID 
find_ent_by_owner(ENG_NULLENT"weapon_m3"entity)
    
        if(!
is_valid_ent(iStoredAugID))
            return 
FMRES_IGNORED
    
        
if(g_has_railcannon[iOwner])
        {
            
entity_set_int(iStoredAugIDEV_INT_WEAPONKEYRAILCANNON_WEAPONKEY)
            
            
g_has_railcannon[iOwner] = false
            
            entity_set_model
(entityRAILCANNON_W_MODEL)
            
            return 
FMRES_SUPERCEDE
        
}
    }
    return 
FMRES_IGNORED
}

public 
give_railcannon(id)
{
    
drop_weapons(id1)
    new 
iWep2 give_item(id,"weapon_m3")
    if( 
iWep2 )
    {
        
cs_set_weapon_ammo(iWep2cvar_clip_railcannon)
        
cs_set_user_bpammo (idCSW_M3cvar_railcannon_ammo)
        
UTIL_PlayWeaponAnimation(idRAILCANNON_DRAW)
        
set_weapons_timeidle(idCSW_M31.0)
        
set_player_nextattackx(id1.0)
        
g_clip_ammo[id] = cs_get_weapon_ammo(iWep2)
    }
    
g_has_railcannon[id] = true
    g_SpecialAmmo
[id] = 0
    udah
[id] = 0
    zz
[id] = 0
    railcannon_mode
[id] = 1
    update_specialammo
(idg_SpecialAmmo[id], g_SpecialAmmo[id] > 0)
    
message_begin(MSG_ONEgmsgWeaponList, {0,0,0}, id)
    
write_string("weapon_railcannon")
    
write_byte(5)
    
write_byte(32)
    
write_byte(-1)
    
write_byte(-1)
    
write_byte(0)
    
write_byte(5)
    
write_byte(21)
    
write_byte(0)
    
message_end()
}

public 
fw_RAILCANNON_AddToPlayer(railcannonid)
{
    if(!
is_valid_ent(railcannon) || !is_user_connected(id))
        return 
HAM_IGNORED
    
    
if(entity_get_int(railcannonEV_INT_WEAPONKEY) == RAILCANNON_WEAPONKEY)
    {
        
g_has_railcannon[id] = true
        
        message_begin
(MSG_ONEgmsgWeaponList, {0,0,0}, id)
        
write_string("weapon_railcannon")
        
write_byte(5)
        
write_byte(32)
        
write_byte(-1)
        
write_byte(-1)
        
write_byte(0)
        
write_byte(5)
        
write_byte(21)
        
write_byte(0)
        
message_end()
        
        
entity_set_int(railcannonEV_INT_WEAPONKEY0)
        
update_specialammo(idg_SpecialAmmo[id], 0)
        
g_SpecialAmmo[id] = 0

        
return HAM_HANDLED
    
}
    return 
HAM_IGNORED
}

public 
fw_UseStationary_Post(entitycalleractivatoruse_type)
{
    if (
use_type == USE_STOPPED && is_user_connected(caller))
        
replace_weapon_models(callerget_user_weapon(caller))
}

public 
fw_Item_Deploy_Post(weapon_ent)
{
    static 
owner
    owner 
fm_cs_get_weapon_ent_owner(weapon_ent)
    
    static 
weaponid
    weaponid 
cs_get_weapon_id(weapon_ent)
    
    
update_specialammo(ownerg_SpecialAmmo[owner], 0)
    
g_SpecialAmmo[owner] = 0
    
    replace_weapon_models
(ownerweaponid)
}

public 
CurrentWeapon(id)
{
    if( 
read_data(2) != CSW_M3 ) {
        if( 
g_reload[id] ) {
            
g_reload[id] = 0
            remove_task
id 1331 )
        }
    }
    
replace_weapon_models(idread_data(2))
}

replace_weapon_models(idweaponid)
{
    switch (
weaponid)
    {
        case 
CSW_M3:
        {
            if(
g_has_railcannon[id])
            {
                
set_pev(idpev_viewmodel2RAILCANNON_V_MODEL)
                
set_pev(idpev_weaponmodel2RAILCANNON_P_MODEL)
                if(
oldweap[id] != CSW_M3
                {
                    
set_weapons_timeidle(idCSW_M31.0)
                    
set_player_nextattackx(id1.0)
                    
UTIL_PlayWeaponAnimation(idRAILCANNON_DRAW)
                    
udah[id] = 0
                    zz
[id] = 0
                    railcannon_mode
[id] = 1
                    remove_task
(id+TASK_SOUND)
                    
remove_task(id)

                    
message_begin(MSG_ONEgmsgWeaponList, {0,0,0}, id)
                    
write_string("weapon_railcannon")
                    
write_byte(5)
                    
write_byte(32)
                    
write_byte(-1)
                    
write_byte(-1)
                    
write_byte(0)
                    
write_byte(5)
                    
write_byte(CSW_M3)
                    
message_end()
                }
            }
        }
    }
    
oldweap[id] = weaponid
}

public 
fw_UpdateClientData_Post(PlayerSendWeaponsCD_Handle)
{
    if(!
is_user_alive(Player) || get_user_weapon(Player) != CSW_M3 || !g_has_railcannon[Player])
        return 
FMRES_IGNORED
    
    set_cd
(CD_HandleCD_flNextAttackhalflife_time () + 0.001)
    return 
FMRES_HANDLED
}

public 
fw_RAIL_PrimaryAttack(Weapon)
{
    new 
Player get_pdata_cbase(Weapon414)
    
    if (!
g_has_railcannon[Player])
        return
    
    
g_IsInPrimaryAttack 1
    pev
(Player,pev_punchangle,cl_pushangle[Player])
    
    
g_clip_ammo[Player] = cs_get_weapon_ammo(Weapon)
    if(
g_clip_ammo[Player]) Make_Muzzleflash(Player)
}

public 
fw_RAIL_PrimaryAttack_Post(Weapon)
{
    
g_IsInPrimaryAttack 0
    
new Player get_pdata_cbase(Weapon414)
    
    new 
szClipszAmmo
    get_user_weapon
(PlayerszClipszAmmo)
    
    if(!
is_user_alive(Player))
        return

    if(
g_has_railcannon[Player])
    {
        if (!
g_clip_ammo[Player] && railcannon_mode[Player] == 1)
            return
        
        
g_reload[Player] = 0
        remove_task
Player 1331 )
        new 
Float:push[3]
        
pev(Player,pev_punchangle,push)
        
xs_vec_sub(push,cl_pushangle[Player],push)
        
xs_vec_mul_scalar(push,cvar_recoil_railcannon,push)
        
xs_vec_add(push,cl_pushangle[Player],push)
        
set_pev(Player,pev_punchangle,push)
        
        
UTIL_PlayWeaponAnimation(Player,random_num(4,5))
        
set_weapons_timeidle(PlayerCSW_M30.3)
        
set_player_nextattackx(Player0.3)
        
g_clip_ammo[Player] --
        
        if(
railcannon_mode[Player] == 3emit_sound(PlayerCHAN_WEAPON"weapons/railcanon-2.wav"VOL_NORMATTN_NORM0PITCH_NORM)
        else 
emit_sound(PlayerCHAN_WEAPONFire_SoundsVOL_NORMATTN_NORM0PITCH_NORM)
        
        
railcannon_mode[Player] = 1
    
}
}

public 
Make_Muzzleflash(id)
{
    static 
Float:Origin[3], TE_FLAG
    get_position
(id32.06.0, -15.0Origin)
    
    
TE_FLAG |= TE_EXPLFLAG_NODLIGHTS
    TE_FLAG 
|= TE_EXPLFLAG_NOSOUND
    TE_FLAG 
|= TE_EXPLFLAG_NOPARTICLES
    
    engfunc
(EngFunc_MessageBeginMSG_ONE_UNRELIABLESVC_TEMPENTITYOriginid)
    
write_byte(TE_EXPLOSION)
    
engfunc(EngFunc_WriteCoordOrigin[0])
    
engfunc(EngFunc_WriteCoordOrigin[1])
    
engfunc(EngFunc_WriteCoordOrigin[2])
    
write_short(g_MuzzleFlash_SprId)
    
write_byte(2)
    
write_byte(30)
    
write_byte(TE_FLAG)
    
message_end()
}

public 
fw_CmdStart(iduc_handleseed
{
    new 
ammoclipweapon get_user_weapon(idclipammo)
    if (!
g_has_railcannon[id] || weapon != CSW_M3 || !is_user_alive(id))
        return
    
    static 
entent fm_get_user_weapon_entity(idCSW_M3)
        
    if(!
pev_valid(ent))
        return
        
    static 
CurButton
    CurButton 
get_uc(uc_handleUC_Buttons)
    
    if(
CurButton IN_ATTACK)
    {
        new 
wpn fm_get_user_weapon_entity(idget_user_weapon(id))
        
        new 
Id pevwpnpev_owner ), clipbpammo
        get_user_weapon
Idclipbpammo )
        if( 
g_has_railcannonId ] ) {
        if( 
clip >= ) {
            if( 
g_reload[Id] ) {
                
remove_taskId 1331 )
                
g_reload[Id] = 0
            
}
        }
        else if( 
clip == )
        {
            if(
get_pdata_float(Id834) <= 0.3)
            {
                if( 
g_reload[Id] ) {
                
remove_taskId 1331 )
                
g_reload[Id] = 0
            
}
            }
        }
    }
    }
    
    else if(
CurButton IN_ATTACK2)
    {
        if(!
zz[id] && get_pdata_float(id834) <= 0.0 && g_clip_ammo[id] >= 1)
        {
            
set_weapons_timeidle(idCSW_M3200.0)
            
set_player_nextattackx(id200.0)
            
UTIL_PlayWeaponAnimation(id1)
            
emit_sound(idCHAN_WEAPON"weapons/railcanon_chage1_start.wav"1.0ATTN_NORM0PITCH_NORM)
            
set_task(0.6"charge_idle2"id)
            
zz[id] = 1
            udah
[id] = 0
            railcannon_mode
[id] = 2
            
            update_specialammo
(idg_SpecialAmmo[id], 0)
            
g_SpecialAmmo[id] ++
            
update_specialammo(idg_SpecialAmmo[id], 1)
            
            new 
weapon find_ent_by_owner( -1"weapon_m3"id )
            
cs_set_weapon_ammoweapong_clip_ammo[id] - 1)
            
g_clip_ammo[id] --
        }
    }
    
    else if(!(
pev(idpev_oldbuttons) & IN_ATTACK) && zz[id])
    {
        
zz[id] = 0
        
if(udah[id])
        {
            if(
g_clip_ammo[id] >= 1)
            {
                
ExecuteHamB(Ham_Weapon_PrimaryAttackent)
                
set_weapons_timeidle(idCSW_M31.1)
                
set_player_nextattackx(id1.1)
                
udah[id] = 0
                remove_task
(id+TASK_SOUND)
                
                
update_specialammo(idg_SpecialAmmo[id], 0)
                
g_SpecialAmmo[id] = 0
                
                
new weapon find_ent_by_owner( -1"weapon_m3"id )
                
cs_set_weapon_ammoweapong_clip_ammo[id] + 1)
                
g_clip_ammo[id] ++
            }
            else
            {
                new 
weapon find_ent_by_owner( -1"weapon_m3"id )
                
cs_set_weapon_ammoweapong_clip_ammo[id] + 1)
                
g_clip_ammo[id] ++
                
                
ExecuteHamB(Ham_Weapon_PrimaryAttackent)
                
set_weapons_timeidle(idCSW_M31.1)
                
set_player_nextattackx(id1.1)
                
udah[id] = 0
                remove_task
(id+TASK_SOUND)
                
                
update_specialammo(idg_SpecialAmmo[id], 0)
                
g_SpecialAmmo[id] = 0
            
}
        }
    }
}

public 
charge_idle2(id)
{
    if(
get_user_weapon(id) != CSW_M3 || !g_has_railcannon[id])
        return
    if(
zz[id])
    {
        if(
g_clip_ammo[id] >= 1)
        {
            
UTIL_PlayWeaponAnimation(id2)
            
set_weapons_timeidle(idCSW_M3200.0)
            
set_player_nextattackx(id200.0)
            
set_task(0.6"charge_idle3"id)
            
            
update_specialammo(idg_SpecialAmmo[id], 0)
            
g_SpecialAmmo[id] ++
            
update_specialammo(idg_SpecialAmmo[id], 1)
            
            new 
weapon find_ent_by_owner( -1"weapon_m3"id )
            
cs_set_weapon_ammoweapong_clip_ammo[id] - 1)
            
g_clip_ammo[id] --
        }
        else
        {
            static 
entent fm_get_user_weapon_entity(idCSW_M3)
        
            if(!
pev_valid(ent))
                return
            
            new 
weapon find_ent_by_owner( -1"weapon_m3"id )
            
cs_set_weapon_ammoweapong_clip_ammo[id] + 1)
            
g_clip_ammo[id] ++
            
            
ExecuteHamB(Ham_Weapon_PrimaryAttackent)
            
set_weapons_timeidle(idCSW_M31.1)
            
set_player_nextattackx(id1.1)
            
            
update_specialammo(idg_SpecialAmmo[id], 0)
            
g_SpecialAmmo[id] = 0
        
}
    }
    else
    {
        static 
entent fm_get_user_weapon_entity(idCSW_M3)
        
        if(!
pev_valid(ent))
            return
        
ExecuteHamB(Ham_Weapon_PrimaryAttackent)
        
set_weapons_timeidle(idCSW_M31.1)
        
set_player_nextattackx(id1.1)
        
        
update_specialammo(idg_SpecialAmmo[id], 0)
        
g_SpecialAmmo[id] = 0
        
        
new weapon find_ent_by_owner( -1"weapon_m3"id )
        
cs_set_weapon_ammoweapong_clip_ammo[id] + 1)
        
g_clip_ammo[id] ++
    }
}

public 
charge_idle3(id)
{
    if(
get_user_weapon(id) != CSW_M3 || !g_has_railcannon[id])
        return
    if(
zz[id])
    {
        if(
g_clip_ammo[id] >= 1)
        {
            
UTIL_PlayWeaponAnimation(id3)
            
emit_sound(idCHAN_WEAPON"weapons/railcanon_chage3_loop.wav"1.0ATTN_NORM0PITCH_NORM)
            
set_task(0.794"play_sound"id+TASK_SOUND,_,_,"b")
            
udah[id] = 1
            railcannon_mode
[id] = 3
            set_weapons_timeidle
(idCSW_M3200.0)
            
set_player_nextattackx(id200.0)
            
            
update_specialammo(idg_SpecialAmmo[id], 0)
            
g_SpecialAmmo[id] ++
            
update_specialammo(idg_SpecialAmmo[id], 1)
            
            new 
weapon find_ent_by_owner( -1"weapon_m3"id )
            
cs_set_weapon_ammoweapong_clip_ammo[id] - 1)
            
g_clip_ammo[id] --
        }
        else
        {
            static 
entent fm_get_user_weapon_entity(idCSW_M3)
        
            if(!
pev_valid(ent))
                return
            new 
weapon find_ent_by_owner( -1"weapon_m3"id )
            
cs_set_weapon_ammoweapong_clip_ammo[id] + 1)
            
g_clip_ammo[id] ++
            
            
ExecuteHamB(Ham_Weapon_PrimaryAttackent)
            
set_weapons_timeidle(idCSW_M31.1)
            
set_player_nextattackx(id1.1)
            
            
update_specialammo(idg_SpecialAmmo[id], 0)
            
g_SpecialAmmo[id] = 0
        
}
    }
    else
    {
        static 
entent fm_get_user_weapon_entity(idCSW_M3)
        
        if(!
pev_valid(ent))
            return
        
ExecuteHamB(Ham_Weapon_PrimaryAttackent)
        
set_weapons_timeidle(idCSW_M31.1)
        
set_player_nextattackx(id1.1)
        
        
update_specialammo(idg_SpecialAmmo[id], 0)
        
g_SpecialAmmo[id] = 0
        
        
new weapon find_ent_by_owner( -1"weapon_m3"id )
        
cs_set_weapon_ammoweapong_clip_ammo[id] + 1)
        
g_clip_ammo[id] ++
    }
}

public 
play_sound(id)
{
    
id -= TASK_SOUND
    
    
if(!is_user_alive(id) || get_user_weapon(id) != CSW_M3 || !g_has_railcannon[id])
        return
    
    
emit_sound(idCHAN_WEAPON"weapons/railcanon_chage3_loop.wav"1.0ATTN_NORM0PITCH_NORM)
}

public 
fw_railcannonidleanim(Weapon)
{
    new 
id get_pdata_cbase(Weapon414)

    if(!
is_user_alive(id) || !g_has_railcannon[id] || get_user_weapon(id) != CSW_M3)
        return 
HAM_IGNORED;
    
    if(
railcannon_mode[id] == && get_pdata_float(Weapon484) <= 0.25)
    {
        
UTIL_PlayWeaponAnimation(id0)
        
set_pdata_float(Weapon4820.04)
        return 
HAM_SUPERCEDE;
    }
    
    if(
railcannon_mode[id] == && get_pdata_float(Weapon484) <= 0.01)
    {
        
UTIL_PlayWeaponAnimation(id3)
        
set_pdata_float(Weapon481.74)
        return 
HAM_SUPERCEDE;
    }

    return 
HAM_IGNORED;
}

public 
update_specialammo(idAmmoOn)
{
    static 
AmmoSprites[33]
    
format(AmmoSpritessizeof(AmmoSprites), "number_%d"Ammo)
      
    
message_begin(MSG_ONE_UNRELIABLEget_user_msgid("StatusIcon"), {0,0,0}, id)
    
write_byte(On)
    
write_string(AmmoSprites)
    
write_byte(42// red
    
write_byte(255// green
    
write_byte(42// blue
    
message_end()
}

public 
fwPlaybackEvent(flagsinvokereventidFloat:delayFloat:origin[3], Float:angles[3], Float:fparam1Float:fparam2iParam1iParam2bParam1bParam2)
{
    if ((
eventid != g_orig_event_railcannon) || !g_IsInPrimaryAttack)
        return 
FMRES_IGNORED
        
    
if (!(<= invoker <= g_MaxPlayers))
        return 
FMRES_IGNORED

    playback_event
(flags FEV_HOSTONLYinvokereventiddelayoriginanglesfparam1fparam2iParam1iParam2bParam1bParam2)
    return 
FMRES_SUPERCEDE
}

public 
RAILCANNON_Reloadwpn ) {
    if(
railcannon_mode[pevwpnpev_owner )] == 3)
          return 
HAM_SUPERCEDE
          
    
if( g_has_railcannonpevwpnpev_owner ) ] ) {
        
RAILCANNON_Reload_Postwpn )
        return 
HAM_SUPERCEDE
    
}
    return 
HAM_IGNORED
}

public 
RAILCANNON_Reload_Post(weapon) {
    new 
id pevweaponpev_owner )
    if(
railcannon_mode[id] == || g_reload[id])
          return 
HAM_SUPERCEDE
    
new clipbpammo
    get_user_weapon
(idclipbpammo )
    if( 
g_has_railcannonid ] && clip cvar_clip_railcannon && bpammo ) {
        if(!
task_existsid+1331 )) set_task0.1"reload"id+1331 )
        }
    return 
HAM_IGNORED
}

public 
reloadid ) {
    
id -= 1331
    set_weapons_timeidle
(idCSW_M33.0)
    
set_player_nextattackx(id3.0)
    
UTIL_PlayWeaponAnimation(id6)
    
g_reload[id] = 1
    set_task
(3.0"isi"id)
}

public 
isi(id)
{
    if(
get_user_weapon(id) != CSW_M3 || !g_has_railcannon[id])
        return
    
    if(!
g_reload[id])
        return
    
    new 
clipplurupengurangbpammoweapon find_ent_by_owner( -1"weapon_m3"id )
    
get_user_weapon(idclipbpammo )
    
pengurang cvar_clip_railcannon clip
    pluru 
bpammo pengurang
    cs_set_user_bpammo
idCSW_M3pluru )
    
    if(
bpammo <= pengurangcs_set_weapon_ammoweaponclip bpammo)
    else 
cs_set_weapon_ammoweaponcvar_clip_railcannon)
    
    
g_clip_ammo[id] = cvar_clip_railcannon
}

stock knockback(entFloat:VicOrigin[3], Float:speedtype)
{
    static 
Float:fl_Velocity[3]
    static 
Float:EntOrigin[3]
    static 
Float:EntVelocity[3]
    
    
pev(entpev_velocityEntVelocity)
    
pev(entpev_originEntOrigin)
    static 
Float:distance_f
    distance_f 
get_distance_f(EntOriginVicOrigin)
    
    static 
Float:fl_Timefl_Time distance_f speed
    
    
if(type == 1)
    {
        
fl_Velocity[0] = ((VicOrigin[0] - EntOrigin[0]) / fl_Time) * 1.5
        fl_Velocity
[1] = ((VicOrigin[1] - EntOrigin[1]) / fl_Time) * 1.5
        fl_Velocity
[2] = (VicOrigin[2] - EntOrigin[2]) / fl_Time        
        
} else if(type == 2) {
        
fl_Velocity[0] = ((EntOrigin[0] - VicOrigin[0]) / fl_Time) * 1.5
        fl_Velocity
[1] = ((EntOrigin[1] - VicOrigin[1]) / fl_Time) * 1.5
        fl_Velocity
[2] = (EntOrigin[2] - VicOrigin[2]) / fl_Time
    
}
    
    
xs_vec_add(EntVelocityfl_Velocityfl_Velocity)
    
set_pev(entpev_velocityfl_Velocity)
}

stock fm_cs_get_current_weapon_ent(id)
{
    return 
get_pdata_cbase(idOFFSET_ACTIVE_ITEMOFFSET_LINUX)
}

stock fm_set_weapon_ammo(entityamount)
{
    
set_pdata_int(entityOFFSET_CLIPAMMOamountOFFSET_LINUX_WEAPONS);
}

stock fm_cs_get_weapon_ent_owner(ent)
{
    return 
get_pdata_cbase(entOFFSET_WEAPONOWNEROFFSET_LINUX_WEAPONS)
}

stock UTIL_PlayWeaponAnimation(const Player, const Sequence)
{
    
set_pev(Playerpev_weaponanimSequence)
    
    
message_begin(MSG_ONE_UNRELIABLESVC_WEAPONANIM, .player Player)
    
write_byte(Sequence)
    
write_byte(pev(Playerpev_body))
    
message_end()
}

stock set_player_nextattackx(idFloat:nexttime)
{
    if(!
is_user_alive(id))
        return
        
    
set_pdata_float(idm_flNextAttacknexttime5)
}

stock get_weapon_attachment(idFloat:output[3], Float:fDis 40.0)

    new 
Float:vfEnd[3], viEnd[3
    
get_user_origin(idviEnd3)  
    
IVecFVec(viEndvfEnd
    
    new 
Float:fOrigin[3], Float:fAngle[3]
    
    
pev(idpev_originfOrigin
    
pev(idpev_view_ofsfAngle)
    
    
xs_vec_add(fOriginfAnglefOrigin
    
    new 
Float:fAttack[3]
    
    
xs_vec_sub(vfEndfOriginfAttack)
    
xs_vec_sub(vfEndfOriginfAttack
    
    new 
Float:fRate
    
    fRate 
fDis vector_length(fAttack)
    
xs_vec_mul_scalar(fAttackfRatefAttack)
    
    
xs_vec_add(fOriginfAttackoutput)
}

stock set_weapons_timeidle(idWeaponId ,Float:TimeIdle)
{
    if(!
is_user_alive(id))
        return
        
    static 
entwpnentwpn fm_get_user_weapon_entity(idWeaponId)
    if(!
pev_valid(entwpn)) 
        return
        
    
set_pdata_float(entwpn46TimeIdleWEAP_LINUX_XTRA_OFF)
    
set_pdata_float(entwpn47TimeIdleWEAP_LINUX_XTRA_OFF)
    
set_pdata_float(entwpn48TimeIdle 1.0WEAP_LINUX_XTRA_OFF)
}

stock get_speed_vector(const Float:origin1[3],const Float:origin2[3],Float:speedFloat:new_velocity[3])
{
    
new_velocity[0] = origin2[0] - origin1[0]
    
new_velocity[1] = origin2[1] - origin1[1]
    
new_velocity[2] = origin2[2] - origin1[2]
    new 
Float:num floatsqroot(speed*speed / (new_velocity[0]*new_velocity[0] + new_velocity[1]*new_velocity[1] + new_velocity[2]*new_velocity[2]))
    
new_velocity[0] *= num
    new_velocity
[1] *= num
    new_velocity
[2] *= num
    
    
return 1;
}

stock get_position(id,Float:forwFloat:rightFloat:upFloat:vStart[])
{
    static 
Float:vOrigin[3], Float:vAngle[3], Float:vForward[3], Float:vRight[3], Float:vUp[3]
    
    
pev(idpev_originvOrigin)
    
pev(idpev_view_ofsvUp//for player
    
xs_vec_add(vOriginvUpvOrigin)
    
pev(idpev_v_anglevAngle// if normal entity ,use pev_angles
    
    
angle_vector(vAngle,ANGLEVECTOR_FORWARDvForward//or use EngFunc_AngleVectors
    
angle_vector(vAngle,ANGLEVECTOR_RIGHTvRight)
    
angle_vector(vAngle,ANGLEVECTOR_UPvUp)
    
    
vStart[0] = vOrigin[0] + vForward[0] * forw vRight[0] * right vUp[0] * up
    vStart
[1] = vOrigin[1] + vForward[1] * forw vRight[1] * right vUp[1] * up
    vStart
[2] = vOrigin[2] + vForward[2] * forw vRight[2] * right vUp[2] * up
}


stock drop_weapons(iddropwhat)
{
    static 
weapons[32], numiweaponid
    num 
0
    get_user_weapons
(idweaponsnum)
     
    for (
0numi++)
    {
        
weaponid weapons[i]
          
        if (
dropwhat == && ((1<<weaponid) & PRIMARY_WEAPONS_BIT_SUM))
        {
            static 
wname[32]
            
get_weaponname(weaponidwnamesizeof wname 1)
            
engclient_cmd(id"drop"wname)
        }
    }
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1055\\ f0\\ fs16 \n\\ par }
*/
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1055\\ f0\\ fs16 \n\\ par }
*/
stock client_printcolor(const id, const input[], any:...)
{
    new 
count 1players[32];
    static 
msg[191];
    
vformat(msg190input3);
    
    
replace_all(msg190"/y""^x01"); // Default Renk(Sarı)
    
replace_all(msg190"/g""^x04"); // Yeşil Renk
    
replace_all(msg190"/t""^x03"); // Takım Renk( CT mavi , T kırmızı )
    
    
if (idplayers[0] = id; else get_players(playerscount"ch");{
        for (new 
0counti++)
        {
            if (
is_user_connected(players[i]))
            {
                
                
message_begin(MSG_ONE_UNRELIABLEget_user_msgid("SayText"), _players[i]);
                
write_byte(players[i]);
                
write_string(msg);
                
message_end();
            }
            
        }
    }
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1055\\ f0\\ fs16 \n\\ par }
*/ 




#10
Son Düzenleme: 14-10-2018, Saat: 01:17, Düzenleyen: DarkSky*.
Hata Vermesının Nedenı zombieplague.inc Dosyasını Atsınlar o lazım sadece

WebFTP > Addons > AmxModx > Scripting

Buraya include ADLI Klasor Açıp Attıgımı Icıne Atın

buyurrr


.inc zombieplague.inc (Dosya Boyutu: 11.98 KB | İndirme Sayısı: 0)


Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da

Task