Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.
Модераторы: Subb98, liFe iS GoOD
Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.
В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.
Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.
Misha90 » 16 июн 2017, 03:37
Всем доброй ночи. Тут такой вопросик у меня стоит на сервере ion cannon и он ставится на E - англ. А я хочу сделать чтобы он ставился на mouse1. Как сделать? Помогите!
- Код: Выделить всё
new const WPN_NAME[] = "Ion Cannon"
new const W_MODEL[] = "models/w_battery.mdl"
new SOUND_APPROACH[] = "zombie_plague/ion_canon/approaching.wav"
new SOUND_START_PLANT[] = "zombie_plague/ion_canon/Strider_Buster_stick1.wav"
new SOUND_START_PLANTS[] = "zombie_plague/ion_canon/ion_beacon_plant2.wav"
new SOUND_STOP[] = "vox/_comma.wav"
new SOUND_BEEP[] = "zombie_plague/ion_canon/beacon_beep.wav"
new SOUND_ATTACK[] = "zombie_plague/ion_canon/attack.wav"
new SOUND_READY[] = "zombie_plague/ion_canon/ready.wav"
new g_Target[33], i_Pitch[33]
new Float:i_BeaconTime[33]
new Float:ion_mid_origin[33][3]
new Float:beam_origin[33][8][3]
new Float:g_degrees[33][8]
new Float:g_distance[33]
new Float:ROTATION_SPEED[33]
new IonBeam, BlueFire, Shockwave, ReadyFire, BlueFlare, IonShake, LaserFlame
new gItemID
new bool:gHasIon[33]
new const gCost = 30
new bool:bInUse[33]
new g_msgDeathMsg
public plugin_init ()
{
gItemID = zp_register_extra_item (WPN_NAME, gCost, ZP_TEAM_ANY)
IonShake = get_user_msgid ("ScreenShake")
g_msgDeathMsg = get_user_msgid("DeathMsg")
register_forward (FM_PlayerPreThink, "fw_PlayerPreThink")
}
public client_connect(id)
{
g_Target[id] = 0
gHasIon[id] = false
}
public plugin_precache()
{
precache_model(W_MODEL)
precache_sound(SOUND_APPROACH)
precache_sound(SOUND_START_PLANT)
precache_sound(SOUND_START_PLANTS)
precache_sound(SOUND_BEEP)
precache_sound(SOUND_ATTACK)
precache_sound(SOUND_READY)
precache_sound(SOUND_STOP)
IonBeam = precache_model("sprites/ion_canon/ionbeam.spr")
BlueFlare = precache_model("sprites/ion_canon/bflare.spr")
ReadyFire = precache_model("sprites/ion_canon/fire.spr")
BlueFire = precache_model("sprites/ion_canon/blueflame.spr")
LaserFlame = precache_model("sprites/ion_canon/ion_laserflame.spr")
Shockwave = precache_model("sprites/shockwave.spr")
}
public ion_planted(id)
{
id -= 5000
client_print (id, print_chat, "Ion cannon beacon deploy")
emit_sound (id, CHAN_WEAPON, SOUND_START_PLANTS, VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
g_Target[id] = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"))
if(!g_Target[id])
return
set_pev(g_Target[id], pev_classname, "info_target_ion")
engfunc(EngFunc_SetModel, g_Target[id], W_MODEL)
set_pev(g_Target[id], pev_owner, id)
set_pev(g_Target[id], pev_movetype, MOVETYPE_TOSS)
set_pev(g_Target[id], pev_solid, SOLID_TRIGGER)
wpn_projectile_startpos(id, 0, 0, 50, ion_mid_origin[id])
set_pev(g_Target[id], pev_origin, ion_mid_origin[id])
ion_beacon(id)
set_task(25.0, "Trace_Ready", id)
}
public ion_beacon (id)
{
if (!g_Target[id])
return
i_Pitch[id] += 3
i_BeaconTime[id] -= 0.03
if(i_Pitch[id] > 255)
i_Pitch[id] = 255
if(i_BeaconTime[id] < 0.30)
i_BeaconTime[id] = 0.30
emit_sound(g_Target[id], CHAN_ITEM, SOUND_BEEP, VOL_NORM, ATTN_NORM, 0, i_Pitch[id])
set_task(i_BeaconTime[id], "ion_beacon", id)
}
public Trace_Ready(id)
{
remove_task(id)
new Float:mid_origin[33][3]
pev(g_Target[id],pev_origin,mid_origin[id])
beam_origin[id][0][0] = mid_origin[id][0] + 300.0
beam_origin[id][0][1] = mid_origin[id][1] + 150.0
beam_origin[id][0][2] = mid_origin[id][2]
g_degrees[id][0] = 0.0
beam_origin[id][1][0] = mid_origin[id][0] + 300.0
beam_origin[id][1][1] = mid_origin[id][1] - 150.0
beam_origin[id][1][2] = mid_origin[id][2]
g_degrees[id][1] = 45.0
beam_origin[id][2][0] = mid_origin[id][0] - 300.0
beam_origin[id][2][1] = mid_origin[id][1] - 150.0
beam_origin[id][2][2] = mid_origin[id][2]
g_degrees[id][2] = 90.0
beam_origin[id][3][0] = mid_origin[id][0] - 300.0
beam_origin[id][3][1] = mid_origin[id][1] + 150.0
beam_origin[id][3][2] = mid_origin[id][2]
g_degrees[id][3] = 135.0
beam_origin[id][4][0] = mid_origin[id][0] + 150.0
beam_origin[id][4][1] = mid_origin[id][1] + 300.0
beam_origin[id][4][2] = mid_origin[id][2]
g_degrees[id][4] = 180.0
beam_origin[id][5][0] = mid_origin[id][0] + 150.0
beam_origin[id][5][1] = mid_origin[id][1] - 300.0
beam_origin[id][5][2] = mid_origin[id][2]
g_degrees[id][5] = 225.0
beam_origin[id][6][0] = mid_origin[id][0] - 150.0
beam_origin[id][6][1] = mid_origin[id][1] - 300.0
beam_origin[id][6][2] = mid_origin[id][2]
g_degrees[id][6] = 270.0
beam_origin[id][7][0] = mid_origin[id][0] - 150.0
beam_origin[id][7][1] = mid_origin[id][1] + 300.0
beam_origin[id][7][2] = mid_origin[id][2]
g_degrees[id][7] = 315.0
ion_mid_origin[id] = mid_origin[id]
new Float:addtime
for(new i; i < 8; i++)
{
addtime = addtime + 0.3
new param[3]
param[0] = i
param[1] = id
set_task(0.0 + addtime, "Trace_Start", _,param, 2)
}
Laser_Rotate(id)
emit_sound(g_Target[id], CHAN_ITEM, SOUND_READY, VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
for(new Float:i = 0.0; i < 7.5; i += 0.01)
set_task(i+3.0, "Laser_Rotate", id)
set_task(2.9,"AddSpeed", id)
set_task(11.5,"CreateFire", id)
set_task(12.5,"ClearLasers", id)
set_task(15.2,"FireIonCannon", id)
return PLUGIN_CONTINUE
}
public AddSpeed(id)
{
if(!g_Target[id])
return PLUGIN_CONTINUE
if(ROTATION_SPEED[id] > 1.0) ROTATION_SPEED[id] = 1.0
ROTATION_SPEED[id] += 0.1
set_task(0.6,"AddSpeed", id)
return PLUGIN_CONTINUE
}
public CreateFire(id)
{
if(!g_Target[id])
return PLUGIN_CONTINUE
engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, ion_mid_origin[id], 0)
write_byte(TE_SPRITE)
engfunc(EngFunc_WriteCoord, ion_mid_origin[id][0])
engfunc(EngFunc_WriteCoord, ion_mid_origin[id][1])
engfunc(EngFunc_WriteCoord, ion_mid_origin[id][2] + 100)
write_short(ReadyFire)
write_byte(30)
write_byte(200)
message_end()
set_task(1.5, "CreateFire", id)
return PLUGIN_CONTINUE
}
public ClearLasers(id)
{
remove_task(1018+id)
}
public Laser_Rotate(id)
{
g_distance[id] -= 0.467
for(new i; i < 8; i++)
{
g_degrees[id][i] += ROTATION_SPEED[id]
if(g_degrees[id][i] > 360.0)
g_degrees[id][i] -= 360.0
new Float:tmp[33][3]
tmp[id] = ion_mid_origin[id]
tmp[id][0] += floatsin(g_degrees[id][i], degrees) * g_distance[id]
tmp[id][1] += floatcos(g_degrees[id][i], degrees) * g_distance[id]
tmp[id][2] += 0.0
beam_origin[id][i] = tmp[id]
}
}
public Trace_Start(param[])
{
new i = param[0]
new id = param[1]
new Float:get_random_z, Float:SkyOrigin[33][3]
SkyOrigin[id] = tlx_distance_to_sky(g_Target[id])
get_random_z = random_float(300.0, SkyOrigin[id][2])
engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, beam_origin[id][i], 0)
write_byte(TE_SPRITE)
engfunc(EngFunc_WriteCoord, beam_origin[id][i][0])
engfunc(EngFunc_WriteCoord, beam_origin[id][i][1])
engfunc(EngFunc_WriteCoord, beam_origin[id][i][2] + get_random_z)
write_short(BlueFire)
write_byte(10)
write_byte(100)
message_end()
TraceAll(param)
}
public TraceAll(param[])
{
new i = param[0]
new id = param[1]
new Float:SkyOrigin[33][3]
SkyOrigin[id] = tlx_distance_to_sky(g_Target[id])
engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, beam_origin[id][i], 0)
write_byte(TE_BEAMPOINTS)
engfunc(EngFunc_WriteCoord, beam_origin[id][i][0])
engfunc(EngFunc_WriteCoord, beam_origin[id][i][1])
engfunc(EngFunc_WriteCoord, SkyOrigin[id][2])
engfunc(EngFunc_WriteCoord, beam_origin[id][i][0])
engfunc(EngFunc_WriteCoord, beam_origin[id][i][1])
engfunc(EngFunc_WriteCoord, beam_origin[id][i][2])
write_short(IonBeam)
write_byte(0)
write_byte(0)
write_byte(1)
write_byte(50)
write_byte(0)
write_byte(255)
write_byte(255)
write_byte(255)
write_byte(255)
write_byte(0)
message_end()
engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, beam_origin[id][i], 0)
write_byte(TE_SPRITE)
engfunc(EngFunc_WriteCoord, beam_origin[id][i][0])
engfunc(EngFunc_WriteCoord, beam_origin[id][i][1])
engfunc(EngFunc_WriteCoord, beam_origin[id][i][2])
write_short(LaserFlame)
write_byte(5)
write_byte(200)
message_end()
set_task(0.08, "TraceAll", 1018+id, param, 2)
}
public FireIonCannon(id)
{
new i = -1
while((i = engfunc(EngFunc_FindEntityInSphere, i, ion_mid_origin[id], ION_RADIUS + 8000)) != 0)
{
if(pev_valid(i) && pev(i, pev_flags) & (FL_CLIENT | FL_FAKECLIENT))
{
message_begin(MSG_ONE_UNRELIABLE, IonShake, {0,0,0}, i)
write_short(255<<14)
write_short(10<<14)
write_short(255<<14)
message_end()
}
continue
}
new Float:skyOrigin[33][3]
skyOrigin[id] = tlx_distance_to_sky(g_Target[id])
engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, ion_mid_origin[id], 0)
write_byte(TE_BEAMPOINTS)
engfunc(EngFunc_WriteCoord, skyOrigin[id][0])
engfunc(EngFunc_WriteCoord, skyOrigin[id][1])
engfunc(EngFunc_WriteCoord, skyOrigin[id][2])
engfunc(EngFunc_WriteCoord, ion_mid_origin[id][0])
engfunc(EngFunc_WriteCoord, ion_mid_origin[id][1])
engfunc(EngFunc_WriteCoord, ion_mid_origin[id][2])
write_short(IonBeam)
write_byte(0)
write_byte(0)
write_byte(15)
write_byte(255)
write_byte(0)
write_byte(255)
write_byte(255)
write_byte(255)
write_byte(255)
write_byte(0)
message_end()
engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, ion_mid_origin, 0)
write_byte(TE_BEAMCYLINDER)
engfunc(EngFunc_WriteCoord, ion_mid_origin[id][0])
engfunc(EngFunc_WriteCoord, ion_mid_origin[id][1])
engfunc(EngFunc_WriteCoord, ion_mid_origin[id][2])
engfunc(EngFunc_WriteCoord, ion_mid_origin[id][0])
engfunc(EngFunc_WriteCoord, ion_mid_origin[id][1])
engfunc(EngFunc_WriteCoord, ion_mid_origin[id][2] + ION_RADIUS - 1000.0)
write_short(Shockwave)
write_byte(0)
write_byte(0)
write_byte(100)
write_byte(150)
write_byte(0)
write_byte(0)
write_byte(100)
write_byte(250)
write_byte(150)
write_byte(0)
message_end()
for(new i = 1; i < 6; i++)
{
engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, ion_mid_origin[id], 0)
write_byte(TE_SPRITETRAIL)
engfunc(EngFunc_WriteCoord, ion_mid_origin[id][0])
engfunc(EngFunc_WriteCoord, ion_mid_origin[id][1])
engfunc(EngFunc_WriteCoord, ion_mid_origin[id][2])
engfunc(EngFunc_WriteCoord, ion_mid_origin[id][0])
engfunc(EngFunc_WriteCoord, ion_mid_origin[id][1])
engfunc(EngFunc_WriteCoord, ion_mid_origin[id][2] + 200)
write_short(BlueFlare)
write_byte(50)
write_byte(random_num(27, 30))
write_byte(10)
write_byte(random_num(30, 70))
write_byte(40)
message_end()
}
wpn_radius_damage(g_Target[id], ION_RADIUS, ION_MAXDAMAGE)
emit_sound(g_Target[id], CHAN_ITEM, SOUND_ATTACK, VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
ResetAll(id)
}
ResetAll(id)
{
set_pev (g_Target[id], pev_flags, FL_KILLME)
g_Target[id] = 0
gHasIon[id] = false
}
stock Float:tlx_distance_to_sky(id)
{
new Float:TraceEnd[3]
pev(id, pev_origin, TraceEnd)
new Float:f_dest[3]
f_dest[0] = TraceEnd[0]
f_dest[1] = TraceEnd[1]
f_dest[2] = TraceEnd[2] + 8192.0
new res, Float:SkyOrigin[3]
engfunc(EngFunc_TraceLine, TraceEnd, f_dest, IGNORE_MONSTERS + IGNORE_GLASS, id, res)
get_tr2(res, TR_vecEndPos, SkyOrigin)
return SkyOrigin
}
stock Float:is_user_outside(id)
{
new Float:origin[3], Float:dist
pev(id, pev_origin, origin)
dist = origin[2]
while(engfunc(EngFunc_PointContents, origin) == CONTENTS_EMPTY)
origin[2] += 5.0
if(engfunc(EngFunc_PointContents, origin) == CONTENTS_SKY)
return (origin[2] - dist)
return 0.0
}
stock ProgressBar(id, seconds, position)
{
message_begin(MSG_ONE, get_user_msgid("BarTime"), {0, 0, 0}, id)
write_byte(seconds)
write_byte(position)
message_end()
}
public zp_extra_item_selected(id, itemid)
{
if (itemid == gItemID)
{
if (gHasIon[id])
{
zp_set_user_ammo_packs (id, zp_get_user_ammo_packs (id) + gCost)
client_print (id, print_chat, "[ZP] You already have a %s", WPN_NAME)
}
else
{
gHasIon[id] = true
emit_sound(id, CHAN_WEAPON, "items/gunpickup2.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
client_print (id, print_chat, "[ZP] You now have a %s", WPN_NAME)
}
}
}
public fw_PlayerPreThink(id)
{
if (!gHasIon[id] || !is_user_alive (id))
return FMRES_IGNORED
if (pev(id, pev_button) & IN_USE)
{
if (!bInUse[id])
{
bInUse[id] = true
if (g_Target[id])
{
client_print (id, print_center, "You already planted a beacon")
return FMRES_IGNORED
}
else if (is_user_outside(id))
{
g_Target[id] = 0
i_Pitch[id] = 97
i_BeaconTime[id] = 1.12
g_distance[id] = 350.0
ROTATION_SPEED[id] = 0.0
emit_sound (id, CHAN_WEAPON, SOUND_START_PLANT, VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
ProgressBar (id, 5, 0)
set_task (5.0,"ion_planted", id+5000)
}
else
{
client_print (id, print_center,"You need to be outside to fire with an ion cannon")
}
}
}
else if (bInUse[id])
{
bInUse[id] = false
emit_sound(g_Target[id], CHAN_WEAPON, SOUND_STOP, VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
ProgressBar (id, 0, 0)
remove_task(id+5000)
}
return FMRES_IGNORED
}
wpn_projectile_startpos (player, forw, right, up, Float:out[3])
{
new Float:vOrigin[3], Float:vAngle[3], Float:vForward[3],
Float:vRight[3], Float:vUp[3]
pev(player, pev_origin, vOrigin)
pev(player, pev_v_angle, vAngle)
engfunc(EngFunc_MakeVectors, vAngle)
global_get(glb_v_forward, vForward)
global_get(glb_v_right, vRight)
global_get(glb_v_up, vUp)
out[0] = vOrigin[0] + vForward[0] * forw + vRight[0] * right + vUp[0] * up
out[1] = vOrigin[1] + vForward[1] * forw + vRight[1] * right + vUp[1] * up
out[2] = vOrigin[2] + vForward[2] * forw + vRight[2] * right + vUp[2] * up
}
stock wpn_radius_damage (inflictor, Float:radius, Float:damage)
{
new Float:vecSrc[3]
pev(inflictor, pev_origin, vecSrc)
new ent = -1
new Float:tmpdmg = damage
new hitCount = 0
new Float:kickback = 1.0
new Float:Tabsmin[3], Float:Tabsmax[3], Float:vecSpot[3],
Float:Aabsmin[3], Float:Aabsmax[3], Float:vecSee[3]
new trRes
new Float:flFraction
new Float:vecEndPos[3]
new Float:distance
new Float:origin[3], Float:vecPush[3]
new Float:invlen
new Float:velocity[3]
new Float:falloff
if (radius > 0.0)
falloff = damage / radius
else
falloff = 1.0
while((ent = engfunc(EngFunc_FindEntityInSphere, ent, vecSrc, radius)) != 0)
{
if(!pev_valid(ent))
continue
if(!(pev(ent, pev_flags) & (FL_CLIENT | FL_FAKECLIENT | FL_MONSTER)))
continue
tmpdmg = damage
pev(ent, pev_absmin, Tabsmin)
pev(ent, pev_absmax, Tabsmax)
vecSpot[0] = (Tabsmin[0] + Tabsmax[0]) * 0.5
vecSpot[1] = (Tabsmin[1] + Tabsmax[1]) * 0.5
vecSpot[2] = (Tabsmin[2] + Tabsmax[2]) * 0.5
pev(inflictor, pev_absmin, Aabsmin)
pev(inflictor, pev_absmax, Aabsmax)
vecSee[0] = (Aabsmin[0] + Aabsmax[0]) * 0.5
vecSee[1] = (Aabsmin[1] + Aabsmax[1]) * 0.5
vecSee[2] = (Aabsmin[2] + Aabsmax[2]) * 0.5
engfunc(EngFunc_TraceLine, vecSee, vecSpot, 0, inflictor, trRes)
get_tr2(trRes, TR_flFraction, flFraction)
if (flFraction >= 0.9 || get_tr2(trRes, TR_pHit) == ent)
{
get_tr2(trRes, TR_vecEndPos, vecEndPos)
distance = get_distance_f(vecSrc, vecEndPos) * falloff
tmpdmg -= distance
if (tmpdmg < 0.0)
tmpdmg = 0.0
origin[0] = vecSpot[0] - vecSee[0]
origin[1] = vecSpot[1] - vecSee[1]
origin[2] = vecSpot[2] - vecSee[2]
invlen = 1.0/get_distance_f(vecSpot, vecSee)
vecPush[0] = origin[0] * invlen
vecPush[1] = origin[1] * invlen
vecPush[2] = origin[2] * invlen
pev(ent, pev_velocity, velocity)
velocity[0] = velocity[0] + vecPush[0] * tmpdmg * kickback
velocity[1] = velocity[1] + vecPush[1] * tmpdmg * kickback
velocity[2] = velocity[2] + vecPush[2] * tmpdmg * kickback
if (tmpdmg < 60.0)
{
velocity[0] *= 12.0
velocity[1] *= 12.0
velocity[2] *= 12.0
}
else
{
velocity[0] *= 4.0
velocity[1] *= 4.0
velocity[2] *= 4.0
}
set_pev(ent, pev_velocity, velocity)
}
if(damage_user(ent, inflictor, floatround(tmpdmg)))
{
hitCount++
}
}
return hitCount
}
damage_user(victim, attacker, dmg_take)
{
new flags = pev(victim, pev_flags)
new Float:takeDamage
pev(victim, pev_takedamage, takeDamage)
if(flags & FL_GODMODE || takeDamage == 0.0)
return 0
if(flags & (FL_CLIENT | FL_FAKECLIENT))
{
if(is_team_attack(attacker, victim))
{
return 0
}
else if(!is_user_alive(victim))
return 0
}
new Float:health
pev(victim, pev_health, health)
if(health <= 0.0)
return 0
health -= float(dmg_take)
set_pev(victim, pev_dmg_inflictor, attacker)
if(health > 0)
set_pev(victim, pev_health, health)
else
{
kill_user(victim, attacker)
dmg_take = -1
}
return dmg_take
}
kill_user(victim, attacker)
{
new flags = pev(victim, pev_flags)
new bool:isVictimMonster = (flags & FL_MONSTER) ? true : false
new Float:takeDamage
pev(victim, pev_takedamage, takeDamage)
if(flags & FL_GODMODE || takeDamage == 0.0)
return 0
if(!isVictimMonster)
{
if(is_team_attack(attacker, victim))
return 0
}
if(isVictimMonster)
{
set_pev(victim, pev_health, -1)
}
else
{
set_msg_block(g_msgDeathMsg, BLOCK_ONCE)
user_kill(victim, 1)
}
new Float:frags
pev(attacker, pev_frags, frags)
frags++
set_pev(attacker, pev_frags, frags)
if(isVictimMonster)
return 1
new aname[32], aauthid[32], ateam[10]
get_user_name(attacker, aname, 31)
get_user_team(attacker, ateam, 9)
get_user_authid(attacker, aauthid, 31)
if(attacker != victim)
{
new vname[32], vauthid[32], vteam[10]
get_user_name(victim, vname, 31)
get_user_team(victim, vteam, 9)
get_user_authid(victim, vauthid, 31)
}
return 1
}
bool:is_team_attack(attacker, victim)
{
if(!(pev(victim, pev_flags) & (FL_CLIENT | FL_FAKECLIENT)))
return false
if(get_user_team(victim) == get_user_team(attacker))
return true
return false
}
-
Misha90
-
- Сообщения: 94
- Зарегистрирован: 05 апр 2017, 20:06
- Благодарил (а): 49 раз.
- Поблагодарили: 2 раз.
- Языки программирования: Pawn
SourcePawn
C++
Php
Ruby
Python
C#
Subb98 » 16 июн 2017, 08:19
- Код: Выделить всё
if (pev(id, pev_button) & IN_USE)
>>
- Код: Выделить всё
if (pev(id, pev_button) & IN_ATTACK)
«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
-
Subb98
-
- Сообщения: 5485
- Зарегистрирован: 24 мар 2011, 19:42
- Откуда: г. Пермь
- Благодарил (а): 1329 раз.
- Поблагодарили: 2343 раз.
- Опыт программирования: Больше трех лет
- Языки программирования: PHP
Misha90 » 16 июн 2017, 13:52
Subb98 писал(а):- Код: Выделить всё
if (pev(id, pev_button) & IN_USE)
>>
- Код: Выделить всё
if (pev(id, pev_button) & IN_ATTACK)
Спасибо
-
Misha90
-
- Сообщения: 94
- Зарегистрирован: 05 апр 2017, 20:06
- Благодарил (а): 49 раз.
- Поблагодарили: 2 раз.
- Языки программирования: Pawn
SourcePawn
C++
Php
Ruby
Python
C#
Вернуться в Скриптинг
Кто сейчас на конференции
Сейчас этот форум просматривают: Bing [Bot] и гости: 8