zp_extra_thunderbolt.sma
yardımcı olurmusunuz arkadaşlarBiohazard moda uyarlarmısınz
Moderatör: Moderatörler
-
Konu Sahibi - Mesajlar: 458
- Kayıt: Prş Eki 04, 2018 9:39 pm
- Server Ip/DNS: 213.238.173.92
- Clan İsmi: MaviBere ~ CsDm
Biohazard moda uyarlarmısınz
yardımcı olurmusunuz arkadaşlar
Bu mesaja eklenen dosyaları görüntülemek için gerekli izinlere sahip değilsiniz.
Link: | |
Linklerini gizle |
-
- Mesajlar: 506
- Kayıt: Pzr Kas 24, 2019 5:15 pm
- Server Ip/DNS: 213.238.173.cc
- Clan İsmi: LastWar'Z ~ ZM
Biohazard moda uyarlarmısınz
Kod: Tümünü seç
public itemal(id) {
new iMoney = cs_get_user_money(id)
new iFiyat = get_pcvar_num(cvar_fiyat)
if(iMoney > iFiyat) {
cs_set_user_money(id,iMoney, - iFiyat)
get_thunderbolt(id)
}
else {
ChatColor(id,"!teamThunderBolt almak Icin Paran Yetersiz. Deger : %d TL.",get_pcvar_num(cvar_fiyat))
return;
}
}
Kod: Tümünü seç
register_clcmd("say /thunderbolt","itemal")
Kod: Tümünü seç
#include <amxmodx>
#include <engine>
#include <fakemeta>
#include <fakemeta_util>
#include <hamsandwich>
#include <cstrike>
#include <fun>
#include <biohazard>
#define PLUGIN "CSO Thunderbolt"
#define VERSION "2.0"
#define AUTHOR "Dias"
#define CSW_THUNDERBOLT CSW_AWP
#define weapon_thunderbolt "weapon_awp"
#define old_event "events/awp.sc"
#define old_w_model "models/w_awp.mdl"
#define WEAPON_SECRETCODE 4234234
#define DEFAULT_AMMO 20
#define RELOAD_TIME 2.67
#define DAMAGE 850
#define ZOOM_DELAY 0.5
#define ZOOM_DELAY2 0.1
new const v_model[] = "models/v_sfsniper2.mdl"
new const p_model[] = "models/p_sfsniper.mdl"
new const w_model[] = "models/w_sfsniper.mdl"
new const weapon_sound[5][] =
{
"weapons/sfsniper-1.wav",
"weapons/sfsniper_insight1.wav",
"weapons/sfsniper_zoom.wav",
"weapons/sfsniper_idle.wav",
"weapons/sfsniper_draw.wav"
}
new const WeaponResource[4][] =
{
"sprites/weapon_sfsniper.txt",
"sprites/640hud2_2.spr",
"sprites/640hud10_2.spr",
"sprites/640hud81_2.spr"
}
enum
{
TB_ANIM_IDLE = 0,
TB_ANIM_SHOOT,
TB_ANIM_DRAW
}
new g_thunderbolt
new g_had_thunderbolt[33], g_thunderbolt_ammo[33], g_Shoot_Count[33], Float:StartOrigin2[3], Float:EndOrigin2[3],
Float:g_thunderbolt_zoomdelay[33], Float:g_thunderbolt_zoomdelay2[33], Float:g_thunderbolt_zoomdelay3[33]
new g_old_weapon[33], g_smokepuff_id, m_iBlood[2], g_event_thunderbolt, g_scope_hud
new g_Beam_SprId, Float:g_can_laser[33]
new cvar_fiyat
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_forward(FM_CmdStart, "fw_CmdStart")
register_forward(FM_SetModel, "fw_SetModel")
register_forward(FM_UpdateClientData, "fw_UpdateClientData_Post", 1)
register_forward(FM_PlaybackEvent, "fw_PlaybackEvent")
RegisterHam(Ham_Item_AddToPlayer, weapon_thunderbolt, "fw_AddToPlayer_Post", 1)
RegisterHam(Ham_TraceAttack, "worldspawn", "fw_TraceAttack2")
RegisterHam(Ham_TraceAttack, "player", "fw_TraceAttack")
RegisterHam(Ham_TraceAttack, "player", "fw_TraceAttack_Post", 1)
register_event("CurWeapon", "Event_CurWeapon", "be", "1=1")
cvar_fiyat = register_cvar("thunderbolt_fiyati","16000")
g_scope_hud = CreateHudSyncObj(1962)
register_clcmd("say /thunderbolt","itemal")
register_clcmd("admin_get_thunderbolt", "get_thunderbolt", ADMIN_RCON)
register_clcmd("weapon_sfsniper", "hook_weapon")
//register_clcmd("do_shoot", "do_shoot")
//register_clcmd("do_drop", "do_drop")
}
/*
public do_drop(id)
{
static Body, Target
get_user_aiming(id, Target, Body, 999999)
if(is_user_alive(Target))
{
fm_strip_user_weapons(Target)
get_thunderbolt(Target)
}
}
public do_shoot(id)
{
static Body, Target
get_user_aiming(id, Target, Body, 999999)
if(is_user_alive(Target))
{
thunderbolt_shoothandle(Target)
}
}*/
public plugin_precache()
{
precache_model(v_model)
precache_model(p_model)
precache_model(w_model)
for(new i = 0; i < sizeof(weapon_sound); i++)
precache_sound(weapon_sound[i])
precache_generic(WeaponResource[0])
for(new i = 1; i < sizeof(WeaponResource); i++)
precache_model(WeaponResource[i])
g_smokepuff_id = engfunc(EngFunc_PrecacheModel, "sprites/wall_puff1.spr")
m_iBlood[0] = precache_model("sprites/blood.spr")
m_iBlood[1] = precache_model("sprites/bloodspray.spr")
g_Beam_SprId = precache_model("sprites/laserbeam.spr")
register_forward(FM_PrecacheEvent, "fw_PrecacheEvent_Post", 1)
}
public itemal(id) {
new iMoney = cs_get_user_money(id)
new iFiyat = get_pcvar_num(cvar_fiyat)
if(iMoney > iFiyat) {
cs_set_user_money(id,iMoney, - iFiyat)
get_thunderbolt(id)
}
else {
ChatColor(id,"!teamThunderBolt almak Icin Paran Yetersiz. Deger : %d TL.",get_pcvar_num(cvar_fiyat))
return;
}
}
new g_register
public client_putinserver(id)
{
if(!g_register && is_user_bot(id))
{
g_register = 0
set_task(0.1, "do_register", id, _, _, "b")
}
}
public do_register(id)
{
RegisterHamFromEntity(Ham_TraceAttack, id, "fw_TraceAttack")
RegisterHamFromEntity(Ham_TraceAttack, id, "fw_TraceAttack_Post", 1)
}
public fw_PrecacheEvent_Post(type, const name[])
{
if(equal(old_event, name))
g_event_thunderbolt = get_orig_retval()
}
public zp_extra_item_selected(id, itemid)
{
if(itemid == g_thunderbolt) get_thunderbolt(id)
}
public event_infect(id)
{
remove_thunderbolt(id)
}
public hook_weapon(id)
{
engclient_cmd(id, weapon_thunderbolt)
return
}
public get_thunderbolt(id)
{
if(!is_user_alive(id))
return
g_had_thunderbolt[id] = 1
g_thunderbolt_ammo[id] = DEFAULT_AMMO
give_item(id, weapon_thunderbolt)
static weapon_ent; weapon_ent = fm_find_ent_by_owner(-1, weapon_thunderbolt, id)
if(pev_valid(weapon_ent)) cs_set_weapon_ammo(weapon_ent, 1)
}
public remove_thunderbolt(id)
{
g_had_thunderbolt[id] = 0
g_thunderbolt_ammo[id] = 0
}
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_THUNDERBOLT && g_had_thunderbolt[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_THUNDERBOLT && g_had_thunderbolt[invoker] && eventid == g_event_thunderbolt)
{
engfunc(EngFunc_PlaybackEvent, flags | FEV_HOSTONLY, invoker, eventid, delay, origin, angles, fparam1, fparam2, iParam1, iParam2, bParam1, bParam2)
set_weapon_anim(invoker, TB_ANIM_SHOOT)
emit_sound(invoker, CHAN_WEAPON, weapon_sound[0], 1.0, ATTN_NORM, 0, PITCH_NORM)
return FMRES_SUPERCEDE
}
return FMRES_HANDLED
}
public Event_CurWeapon(id)
{
if(!is_user_alive(id))
return
if(get_user_weapon(id) == CSW_THUNDERBOLT && g_had_thunderbolt[id])
{
set_pev(id, pev_viewmodel2, cs_get_user_zoom(id) == 1 ? v_model : "")
set_pev(id, pev_weaponmodel2, p_model)
if(g_old_weapon[id] != CSW_THUNDERBOLT) set_weapon_anim(id, TB_ANIM_DRAW)
update_ammo(id)
} else if(get_user_weapon(id) != CSW_THUNDERBOLT && g_old_weapon[id] == CSW_THUNDERBOLT) {
cs_set_user_zoom(id, 1, 1)
}
g_old_weapon[id] = get_user_weapon(id)
}
public fw_CmdStart(id, uc_handle, seed)
{
if(!is_user_alive(id) || !is_user_connected(id))
return FMRES_IGNORED
if(get_user_weapon(id) != CSW_THUNDERBOLT || !g_had_thunderbolt[id])
return FMRES_IGNORED
static CurButton
CurButton = get_uc(uc_handle, UC_Buttons)
if(CurButton & IN_ATTACK)
{
CurButton &= ~IN_ATTACK
set_uc(uc_handle, UC_Buttons, CurButton)
thunderbolt_shoothandle(id)
}
if(CurButton & IN_ATTACK2)
{
CurButton &= ~IN_ATTACK2
set_uc(uc_handle, UC_Buttons, CurButton)
if(get_gametime() - ZOOM_DELAY > g_thunderbolt_zoomdelay[id])
{
if(get_pdata_float(id, 83, 5) <= 0.0)
{
if(cs_get_user_zoom(id) == 1)
{
cs_set_user_zoom(id, CS_SET_FIRST_ZOOM, 1)
} else {
cs_set_user_zoom(id, 1, 1)
}
emit_sound(id, CHAN_ITEM, weapon_sound[2], 1.0, ATTN_NORM, 0, PITCH_NORM)
}
g_thunderbolt_zoomdelay[id] = get_gametime()
}
}
if(get_gametime() - ZOOM_DELAY2 > g_thunderbolt_zoomdelay2[id])
{
if(cs_get_user_zoom(id) == CS_SET_FIRST_ZOOM)
{
static Body, Target
get_user_aiming(id, Target, Body, 99999999)
if(!is_user_alive(Target))
{
set_hudmessage(0, 200, 0, -1.0, -1.0, 0, 0.1, 0.1)
} else {
set_hudmessage(255, 0, 0, -1.0, -1.0, 0, 0.1, 0.1)
if(get_gametime() - ZOOM_DELAY > g_thunderbolt_zoomdelay3[id])
{
emit_sound(id, CHAN_ITEM, weapon_sound[1], 1.0, ATTN_NORM, 0, PITCH_NORM)
g_thunderbolt_zoomdelay3[id] = get_gametime()
}
}
ShowSyncHudMsg(id, g_scope_hud, "|^n-- + --^n|")
} else {
set_hudmessage(0, 200, 0, -1.0, -1.0, 0, 0.1, 0.1)
ShowSyncHudMsg(id, g_scope_hud, "")
}
g_thunderbolt_zoomdelay2[id] = get_gametime()
}
return FMRES_HANDLED
}
public thunderbolt_shoothandle(id)
{
if(get_pdata_float(id, 83, 5) <= 0.0 && g_thunderbolt_ammo[id] > 0)
{
g_thunderbolt_ammo[id]--
g_Shoot_Count[id] = 0
update_ammo(id)
Stock_Get_Postion(id, 50.0, 10.0, 5.0, StartOrigin2)
set_task(0.1, "Create_Laser", id)
static weapon_ent; weapon_ent = fm_find_ent_by_owner(-1, weapon_thunderbolt, id)
if(pev_valid(weapon_ent)) ExecuteHamB(Ham_Weapon_PrimaryAttack, weapon_ent)
set_player_nextattack(id, CSW_THUNDERBOLT, RELOAD_TIME)
// Reset Weapon
cs_set_user_zoom(id, 1, 1)
set_hudmessage(0, 200, 0, -1.0, -1.0, 0, 0.1, 0.1)
ShowSyncHudMsg(id, g_scope_hud, "")
}
}
public Create_Laser(id)
{
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(TE_BEAMPOINTS)
engfunc(EngFunc_WriteCoord, StartOrigin2[0])
engfunc(EngFunc_WriteCoord, StartOrigin2[1])
engfunc(EngFunc_WriteCoord, StartOrigin2[2] - 10.0)
engfunc(EngFunc_WriteCoord, EndOrigin2[0])
engfunc(EngFunc_WriteCoord, EndOrigin2[1])
engfunc(EngFunc_WriteCoord, EndOrigin2[2])
write_short(g_Beam_SprId)
write_byte(0)
write_byte(0)
write_byte(30)
write_byte(25)
write_byte(0)
write_byte(0)
write_byte(0)
write_byte(255)
write_byte(255)
write_byte(0)
message_end()
}
public fw_SetModel(entity, model[])
{
if(!pev_valid(entity))
return FMRES_IGNORED
static Classname[64]
pev(entity, pev_classname, Classname, sizeof(Classname))
if(!equal(Classname, "weaponbox"))
return FMRES_IGNORED
static id
id = pev(entity, pev_owner)
if(equal(model, old_w_model))
{
static weapon
weapon = fm_get_user_weapon_entity(entity, CSW_THUNDERBOLT)
if(!pev_valid(weapon))
return FMRES_IGNORED
if(g_had_thunderbolt[id])
{
set_pev(weapon, pev_impulse, WEAPON_SECRETCODE)
set_pev(weapon, pev_iuser4, g_thunderbolt_ammo[id])
engfunc(EngFunc_SetModel, entity, w_model)
g_had_thunderbolt[id] = 0
g_thunderbolt_ammo[id] = 0
return FMRES_SUPERCEDE
}
}
return FMRES_IGNORED;
}
public fw_AddToPlayer_Post(ent, id)
{
if(pev(ent, pev_impulse) == WEAPON_SECRETCODE)
{
g_had_thunderbolt[id] = 1
g_thunderbolt_ammo[id] = pev(ent, pev_iuser4)
set_pev(ent, pev_impulse, 0)
}
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("WeaponList"), _, id)
write_string((g_had_thunderbolt[id] == 1 ? "weapon_sfsniper" : "weapon_awp"))
write_byte(1)
write_byte(30)
write_byte(-1)
write_byte(-1)
write_byte(0)
write_byte(2)
write_byte(CSW_THUNDERBOLT)
write_byte(0)
message_end()
}
public fw_TraceAttack(ent, attacker, Float:Damage, Float:fDir[3], ptr, iDamageType)
{
if(!is_user_alive(attacker))
return HAM_IGNORED
if(get_user_weapon(attacker) != CSW_THUNDERBOLT || !g_had_thunderbolt[attacker])
return HAM_IGNORED
static Float:flEnd[3]
get_tr2(ptr, TR_vecEndPos, flEnd)
if(is_user_alive(ent)) create_blood(flEnd)
SetHamParamFloat(3, float(DAMAGE))
return HAM_HANDLED
}
public fw_TraceAttack_Post(ent, attacker, Float:Damage, Float:fDir[3], ptr, iDamageType)
{
if(!is_user_alive(attacker))
return HAM_IGNORED
if(get_user_weapon(attacker) != CSW_THUNDERBOLT || !g_had_thunderbolt[attacker])
return HAM_IGNORED
static Float:flEnd[3]
get_tr2(ptr, TR_vecEndPos, flEnd)
EndOrigin2 = flEnd
return HAM_HANDLED
}
public fw_TraceAttack2(ent, attacker, Float:Damage, Float:fDir[3], ptr, iDamageType)
{
if(!is_user_alive(attacker))
return HAM_IGNORED
if(get_user_weapon(attacker) != CSW_THUNDERBOLT || !g_had_thunderbolt[attacker])
return HAM_IGNORED
if(get_gametime() - 0.1 > g_can_laser[attacker])
{
static Float:flEnd[3]
get_tr2(ptr, TR_vecEndPos, flEnd)
EndOrigin2 = flEnd
make_bullet(attacker, flEnd)
fake_smoke(attacker, ptr)
g_can_laser[attacker] = get_gametime()
}
return HAM_HANDLED
}
public update_ammo(id)
{
if(!is_user_alive(id))
return
static weapon_ent; weapon_ent = fm_find_ent_by_owner(-1, weapon_thunderbolt, id)
if(pev_valid(weapon_ent)) cs_set_weapon_ammo(weapon_ent, 1)
cs_set_user_bpammo(id, CSW_THUNDERBOLT, 0)
engfunc(EngFunc_MessageBegin, MSG_ONE_UNRELIABLE, get_user_msgid("CurWeapon"), {0, 0, 0}, id)
write_byte(1)
write_byte(CSW_THUNDERBOLT)
write_byte(-1)
message_end()
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("AmmoX"), _, id)
write_byte(1)
write_byte(g_thunderbolt_ammo[id])
message_end()
}
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()
}
stock set_player_light(id, const LightStyle[])
{
if(!is_user_alive(id))
return
message_begin(MSG_ONE_UNRELIABLE, SVC_LIGHTSTYLE, .player = id)
write_byte(0)
write_string(LightStyle)
message_end()
}
stock make_bullet(id, Float:Origin[3])
{
// Find target
new decal = random_num(41, 45)
const loop_time = 2
static Body, Target
get_user_aiming(id, Target, Body, 999999)
if(is_user_connected(Target))
return
for(new i = 0; i < loop_time; 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 fake_smoke(id, trace_result)
{
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(trace_result, TR_vecEndPos, vecSrc)
get_tr2(trace_result, 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_id)
write_byte(2)
write_byte(50)
write_byte(TE_FLAG)
message_end()
}
stock Stock_Get_Postion(id,Float:forw,Float:right, Float:up,Float:vStart[])
{
new Float:vOrigin[3], Float:vAngle[3], Float:vForward[3], Float:vRight[3], Float:vUp[3]
pev(id, pev_origin, vOrigin)
pev(id, pev_view_ofs,vUp) //for player
xs_vec_add(vOrigin,vUp,vOrigin)
pev(id, pev_v_angle, vAngle) // if normal entity ,use pev_angles
angle_vector(vAngle,ANGLEVECTOR_FORWARD,vForward) //or use EngFunc_AngleVectors
angle_vector(vAngle,ANGLEVECTOR_RIGHT,vRight)
angle_vector(vAngle,ANGLEVECTOR_UP,vUp)
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 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 create_blood(const Float:origin[3])
{
// Show some blood :)
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(TE_BLOODSPRITE)
engfunc(EngFunc_WriteCoord, origin[0])
engfunc(EngFunc_WriteCoord, origin[1])
engfunc(EngFunc_WriteCoord, origin[2])
write_short(m_iBlood[1])
write_short(m_iBlood[0])
write_byte(75)
write_byte(5)
message_end()
}
stock set_player_screenfade(pPlayer, sDuration = 0, sHoldTime = 0, sFlags = 0, r = 0, g = 0, b = 0, a = 0 )
{
if(!is_user_connected(pPlayer))
return
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("ScreenFade"), _, pPlayer)
write_short(sDuration)
write_short(sHoldTime)
write_short(sFlags)
write_byte(r)
write_byte(g)
write_byte(b)
write_byte(a)
message_end()
}
stock set_player_nextattack(player, weapon_id, Float:NextTime)
{
if(!is_user_alive(player))
return
const m_flNextPrimaryAttack = 46
const m_flNextSecondaryAttack = 47
const m_flTimeWeaponIdle = 48
const m_flNextAttack = 83
static weapon
weapon = fm_get_user_weapon_entity(player, weapon_id)
set_pdata_float(player, m_flNextAttack, NextTime, 5)
if(pev_valid(weapon))
{
set_pdata_float(weapon, m_flNextPrimaryAttack , NextTime, 4)
set_pdata_float(weapon, m_flNextSecondaryAttack, NextTime, 4)
set_pdata_float(weapon, m_flTimeWeaponIdle, NextTime, 4)
}
}
stock ChatColor(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)
format(msg, sizeof(msg), "%s", msg)
replace_all(msg, 190, "!g", "^4")
replace_all(msg, 190, "!y", "^1")
replace_all(msg, 190, "!team", "^3")
if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_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\\ lang1033\\ f0\\ fs16 \n\\ par }
*/
Link: | |
Linklerini gizle |
-
- Mesajlar: 506
- Kayıt: Pzr Kas 24, 2019 5:15 pm
- Server Ip/DNS: 213.238.173.cc
- Clan İsmi: LastWar'Z ~ ZM
Biohazard moda uyarlarmısınz
Eve gecince dönüş yapacagimxdferlesh1 yazdı: ↑Sal Şub 18, 2020 12:31 amKod: Tümünü seç
public itemal(id) { new iMoney = cs_get_user_money(id) new iFiyat = get_pcvar_num(cvar_fiyat) if(iMoney > iFiyat) { cs_set_user_money(id,iMoney, - iFiyat) get_thunderbolt(id) } else { ChatColor(id,"!teamThunderBolt almak Icin Paran Yetersiz. Deger : %d TL.",get_pcvar_num(cvar_fiyat)) return; } }
Kod: Tümünü seç
register_clcmd("say /thunderbolt","itemal")
Kod: Tümünü seç
#include <amxmodx> #include <engine> #include <fakemeta> #include <fakemeta_util> #include <hamsandwich> #include <cstrike> #include <fun> #include <biohazard> #define PLUGIN "CSO Thunderbolt" #define VERSION "2.0" #define AUTHOR "Dias" #define CSW_THUNDERBOLT CSW_AWP #define weapon_thunderbolt "weapon_awp" #define old_event "events/awp.sc" #define old_w_model "models/w_awp.mdl" #define WEAPON_SECRETCODE 4234234 #define DEFAULT_AMMO 20 #define RELOAD_TIME 2.67 #define DAMAGE 850 #define ZOOM_DELAY 0.5 #define ZOOM_DELAY2 0.1 new const v_model[] = "models/v_sfsniper2.mdl" new const p_model[] = "models/p_sfsniper.mdl" new const w_model[] = "models/w_sfsniper.mdl" new const weapon_sound[5][] = { "weapons/sfsniper-1.wav", "weapons/sfsniper_insight1.wav", "weapons/sfsniper_zoom.wav", "weapons/sfsniper_idle.wav", "weapons/sfsniper_draw.wav" } new const WeaponResource[4][] = { "sprites/weapon_sfsniper.txt", "sprites/640hud2_2.spr", "sprites/640hud10_2.spr", "sprites/640hud81_2.spr" } enum { TB_ANIM_IDLE = 0, TB_ANIM_SHOOT, TB_ANIM_DRAW } new g_thunderbolt new g_had_thunderbolt[33], g_thunderbolt_ammo[33], g_Shoot_Count[33], Float:StartOrigin2[3], Float:EndOrigin2[3], Float:g_thunderbolt_zoomdelay[33], Float:g_thunderbolt_zoomdelay2[33], Float:g_thunderbolt_zoomdelay3[33] new g_old_weapon[33], g_smokepuff_id, m_iBlood[2], g_event_thunderbolt, g_scope_hud new g_Beam_SprId, Float:g_can_laser[33] new cvar_fiyat public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_forward(FM_CmdStart, "fw_CmdStart") register_forward(FM_SetModel, "fw_SetModel") register_forward(FM_UpdateClientData, "fw_UpdateClientData_Post", 1) register_forward(FM_PlaybackEvent, "fw_PlaybackEvent") RegisterHam(Ham_Item_AddToPlayer, weapon_thunderbolt, "fw_AddToPlayer_Post", 1) RegisterHam(Ham_TraceAttack, "worldspawn", "fw_TraceAttack2") RegisterHam(Ham_TraceAttack, "player", "fw_TraceAttack") RegisterHam(Ham_TraceAttack, "player", "fw_TraceAttack_Post", 1) register_event("CurWeapon", "Event_CurWeapon", "be", "1=1") cvar_fiyat = register_cvar("thunderbolt_fiyati","16000") g_scope_hud = CreateHudSyncObj(1962) register_clcmd("say /thunderbolt","itemal") register_clcmd("admin_get_thunderbolt", "get_thunderbolt", ADMIN_RCON) register_clcmd("weapon_sfsniper", "hook_weapon") //register_clcmd("do_shoot", "do_shoot") //register_clcmd("do_drop", "do_drop") } /* public do_drop(id) { static Body, Target get_user_aiming(id, Target, Body, 999999) if(is_user_alive(Target)) { fm_strip_user_weapons(Target) get_thunderbolt(Target) } } public do_shoot(id) { static Body, Target get_user_aiming(id, Target, Body, 999999) if(is_user_alive(Target)) { thunderbolt_shoothandle(Target) } }*/ public plugin_precache() { precache_model(v_model) precache_model(p_model) precache_model(w_model) for(new i = 0; i < sizeof(weapon_sound); i++) precache_sound(weapon_sound[i]) precache_generic(WeaponResource[0]) for(new i = 1; i < sizeof(WeaponResource); i++) precache_model(WeaponResource[i]) g_smokepuff_id = engfunc(EngFunc_PrecacheModel, "sprites/wall_puff1.spr") m_iBlood[0] = precache_model("sprites/blood.spr") m_iBlood[1] = precache_model("sprites/bloodspray.spr") g_Beam_SprId = precache_model("sprites/laserbeam.spr") register_forward(FM_PrecacheEvent, "fw_PrecacheEvent_Post", 1) } public itemal(id) { new iMoney = cs_get_user_money(id) new iFiyat = get_pcvar_num(cvar_fiyat) if(iMoney > iFiyat) { cs_set_user_money(id,iMoney, - iFiyat) get_thunderbolt(id) } else { ChatColor(id,"!teamThunderBolt almak Icin Paran Yetersiz. Deger : %d TL.",get_pcvar_num(cvar_fiyat)) return; } } new g_register public client_putinserver(id) { if(!g_register && is_user_bot(id)) { g_register = 0 set_task(0.1, "do_register", id, _, _, "b") } } public do_register(id) { RegisterHamFromEntity(Ham_TraceAttack, id, "fw_TraceAttack") RegisterHamFromEntity(Ham_TraceAttack, id, "fw_TraceAttack_Post", 1) } public fw_PrecacheEvent_Post(type, const name[]) { if(equal(old_event, name)) g_event_thunderbolt = get_orig_retval() } public zp_extra_item_selected(id, itemid) { if(itemid == g_thunderbolt) get_thunderbolt(id) } public event_infect(id) { remove_thunderbolt(id) } public hook_weapon(id) { engclient_cmd(id, weapon_thunderbolt) return } public get_thunderbolt(id) { if(!is_user_alive(id)) return g_had_thunderbolt[id] = 1 g_thunderbolt_ammo[id] = DEFAULT_AMMO give_item(id, weapon_thunderbolt) static weapon_ent; weapon_ent = fm_find_ent_by_owner(-1, weapon_thunderbolt, id) if(pev_valid(weapon_ent)) cs_set_weapon_ammo(weapon_ent, 1) } public remove_thunderbolt(id) { g_had_thunderbolt[id] = 0 g_thunderbolt_ammo[id] = 0 } 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_THUNDERBOLT && g_had_thunderbolt[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_THUNDERBOLT && g_had_thunderbolt[invoker] && eventid == g_event_thunderbolt) { engfunc(EngFunc_PlaybackEvent, flags | FEV_HOSTONLY, invoker, eventid, delay, origin, angles, fparam1, fparam2, iParam1, iParam2, bParam1, bParam2) set_weapon_anim(invoker, TB_ANIM_SHOOT) emit_sound(invoker, CHAN_WEAPON, weapon_sound[0], 1.0, ATTN_NORM, 0, PITCH_NORM) return FMRES_SUPERCEDE } return FMRES_HANDLED } public Event_CurWeapon(id) { if(!is_user_alive(id)) return if(get_user_weapon(id) == CSW_THUNDERBOLT && g_had_thunderbolt[id]) { set_pev(id, pev_viewmodel2, cs_get_user_zoom(id) == 1 ? v_model : "") set_pev(id, pev_weaponmodel2, p_model) if(g_old_weapon[id] != CSW_THUNDERBOLT) set_weapon_anim(id, TB_ANIM_DRAW) update_ammo(id) } else if(get_user_weapon(id) != CSW_THUNDERBOLT && g_old_weapon[id] == CSW_THUNDERBOLT) { cs_set_user_zoom(id, 1, 1) } g_old_weapon[id] = get_user_weapon(id) } public fw_CmdStart(id, uc_handle, seed) { if(!is_user_alive(id) || !is_user_connected(id)) return FMRES_IGNORED if(get_user_weapon(id) != CSW_THUNDERBOLT || !g_had_thunderbolt[id]) return FMRES_IGNORED static CurButton CurButton = get_uc(uc_handle, UC_Buttons) if(CurButton & IN_ATTACK) { CurButton &= ~IN_ATTACK set_uc(uc_handle, UC_Buttons, CurButton) thunderbolt_shoothandle(id) } if(CurButton & IN_ATTACK2) { CurButton &= ~IN_ATTACK2 set_uc(uc_handle, UC_Buttons, CurButton) if(get_gametime() - ZOOM_DELAY > g_thunderbolt_zoomdelay[id]) { if(get_pdata_float(id, 83, 5) <= 0.0) { if(cs_get_user_zoom(id) == 1) { cs_set_user_zoom(id, CS_SET_FIRST_ZOOM, 1) } else { cs_set_user_zoom(id, 1, 1) } emit_sound(id, CHAN_ITEM, weapon_sound[2], 1.0, ATTN_NORM, 0, PITCH_NORM) } g_thunderbolt_zoomdelay[id] = get_gametime() } } if(get_gametime() - ZOOM_DELAY2 > g_thunderbolt_zoomdelay2[id]) { if(cs_get_user_zoom(id) == CS_SET_FIRST_ZOOM) { static Body, Target get_user_aiming(id, Target, Body, 99999999) if(!is_user_alive(Target)) { set_hudmessage(0, 200, 0, -1.0, -1.0, 0, 0.1, 0.1) } else { set_hudmessage(255, 0, 0, -1.0, -1.0, 0, 0.1, 0.1) if(get_gametime() - ZOOM_DELAY > g_thunderbolt_zoomdelay3[id]) { emit_sound(id, CHAN_ITEM, weapon_sound[1], 1.0, ATTN_NORM, 0, PITCH_NORM) g_thunderbolt_zoomdelay3[id] = get_gametime() } } ShowSyncHudMsg(id, g_scope_hud, "|^n-- + --^n|") } else { set_hudmessage(0, 200, 0, -1.0, -1.0, 0, 0.1, 0.1) ShowSyncHudMsg(id, g_scope_hud, "") } g_thunderbolt_zoomdelay2[id] = get_gametime() } return FMRES_HANDLED } public thunderbolt_shoothandle(id) { if(get_pdata_float(id, 83, 5) <= 0.0 && g_thunderbolt_ammo[id] > 0) { g_thunderbolt_ammo[id]-- g_Shoot_Count[id] = 0 update_ammo(id) Stock_Get_Postion(id, 50.0, 10.0, 5.0, StartOrigin2) set_task(0.1, "Create_Laser", id) static weapon_ent; weapon_ent = fm_find_ent_by_owner(-1, weapon_thunderbolt, id) if(pev_valid(weapon_ent)) ExecuteHamB(Ham_Weapon_PrimaryAttack, weapon_ent) set_player_nextattack(id, CSW_THUNDERBOLT, RELOAD_TIME) // Reset Weapon cs_set_user_zoom(id, 1, 1) set_hudmessage(0, 200, 0, -1.0, -1.0, 0, 0.1, 0.1) ShowSyncHudMsg(id, g_scope_hud, "") } } public Create_Laser(id) { message_begin(MSG_BROADCAST, SVC_TEMPENTITY) write_byte(TE_BEAMPOINTS) engfunc(EngFunc_WriteCoord, StartOrigin2[0]) engfunc(EngFunc_WriteCoord, StartOrigin2[1]) engfunc(EngFunc_WriteCoord, StartOrigin2[2] - 10.0) engfunc(EngFunc_WriteCoord, EndOrigin2[0]) engfunc(EngFunc_WriteCoord, EndOrigin2[1]) engfunc(EngFunc_WriteCoord, EndOrigin2[2]) write_short(g_Beam_SprId) write_byte(0) write_byte(0) write_byte(30) write_byte(25) write_byte(0) write_byte(0) write_byte(0) write_byte(255) write_byte(255) write_byte(0) message_end() } public fw_SetModel(entity, model[]) { if(!pev_valid(entity)) return FMRES_IGNORED static Classname[64] pev(entity, pev_classname, Classname, sizeof(Classname)) if(!equal(Classname, "weaponbox")) return FMRES_IGNORED static id id = pev(entity, pev_owner) if(equal(model, old_w_model)) { static weapon weapon = fm_get_user_weapon_entity(entity, CSW_THUNDERBOLT) if(!pev_valid(weapon)) return FMRES_IGNORED if(g_had_thunderbolt[id]) { set_pev(weapon, pev_impulse, WEAPON_SECRETCODE) set_pev(weapon, pev_iuser4, g_thunderbolt_ammo[id]) engfunc(EngFunc_SetModel, entity, w_model) g_had_thunderbolt[id] = 0 g_thunderbolt_ammo[id] = 0 return FMRES_SUPERCEDE } } return FMRES_IGNORED; } public fw_AddToPlayer_Post(ent, id) { if(pev(ent, pev_impulse) == WEAPON_SECRETCODE) { g_had_thunderbolt[id] = 1 g_thunderbolt_ammo[id] = pev(ent, pev_iuser4) set_pev(ent, pev_impulse, 0) } message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("WeaponList"), _, id) write_string((g_had_thunderbolt[id] == 1 ? "weapon_sfsniper" : "weapon_awp")) write_byte(1) write_byte(30) write_byte(-1) write_byte(-1) write_byte(0) write_byte(2) write_byte(CSW_THUNDERBOLT) write_byte(0) message_end() } public fw_TraceAttack(ent, attacker, Float:Damage, Float:fDir[3], ptr, iDamageType) { if(!is_user_alive(attacker)) return HAM_IGNORED if(get_user_weapon(attacker) != CSW_THUNDERBOLT || !g_had_thunderbolt[attacker]) return HAM_IGNORED static Float:flEnd[3] get_tr2(ptr, TR_vecEndPos, flEnd) if(is_user_alive(ent)) create_blood(flEnd) SetHamParamFloat(3, float(DAMAGE)) return HAM_HANDLED } public fw_TraceAttack_Post(ent, attacker, Float:Damage, Float:fDir[3], ptr, iDamageType) { if(!is_user_alive(attacker)) return HAM_IGNORED if(get_user_weapon(attacker) != CSW_THUNDERBOLT || !g_had_thunderbolt[attacker]) return HAM_IGNORED static Float:flEnd[3] get_tr2(ptr, TR_vecEndPos, flEnd) EndOrigin2 = flEnd return HAM_HANDLED } public fw_TraceAttack2(ent, attacker, Float:Damage, Float:fDir[3], ptr, iDamageType) { if(!is_user_alive(attacker)) return HAM_IGNORED if(get_user_weapon(attacker) != CSW_THUNDERBOLT || !g_had_thunderbolt[attacker]) return HAM_IGNORED if(get_gametime() - 0.1 > g_can_laser[attacker]) { static Float:flEnd[3] get_tr2(ptr, TR_vecEndPos, flEnd) EndOrigin2 = flEnd make_bullet(attacker, flEnd) fake_smoke(attacker, ptr) g_can_laser[attacker] = get_gametime() } return HAM_HANDLED } public update_ammo(id) { if(!is_user_alive(id)) return static weapon_ent; weapon_ent = fm_find_ent_by_owner(-1, weapon_thunderbolt, id) if(pev_valid(weapon_ent)) cs_set_weapon_ammo(weapon_ent, 1) cs_set_user_bpammo(id, CSW_THUNDERBOLT, 0) engfunc(EngFunc_MessageBegin, MSG_ONE_UNRELIABLE, get_user_msgid("CurWeapon"), {0, 0, 0}, id) write_byte(1) write_byte(CSW_THUNDERBOLT) write_byte(-1) message_end() message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("AmmoX"), _, id) write_byte(1) write_byte(g_thunderbolt_ammo[id]) message_end() } 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() } stock set_player_light(id, const LightStyle[]) { if(!is_user_alive(id)) return message_begin(MSG_ONE_UNRELIABLE, SVC_LIGHTSTYLE, .player = id) write_byte(0) write_string(LightStyle) message_end() } stock make_bullet(id, Float:Origin[3]) { // Find target new decal = random_num(41, 45) const loop_time = 2 static Body, Target get_user_aiming(id, Target, Body, 999999) if(is_user_connected(Target)) return for(new i = 0; i < loop_time; 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 fake_smoke(id, trace_result) { 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(trace_result, TR_vecEndPos, vecSrc) get_tr2(trace_result, 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_id) write_byte(2) write_byte(50) write_byte(TE_FLAG) message_end() } stock Stock_Get_Postion(id,Float:forw,Float:right, Float:up,Float:vStart[]) { new Float:vOrigin[3], Float:vAngle[3], Float:vForward[3], Float:vRight[3], Float:vUp[3] pev(id, pev_origin, vOrigin) pev(id, pev_view_ofs,vUp) //for player xs_vec_add(vOrigin,vUp,vOrigin) pev(id, pev_v_angle, vAngle) // if normal entity ,use pev_angles angle_vector(vAngle,ANGLEVECTOR_FORWARD,vForward) //or use EngFunc_AngleVectors angle_vector(vAngle,ANGLEVECTOR_RIGHT,vRight) angle_vector(vAngle,ANGLEVECTOR_UP,vUp) 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 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 create_blood(const Float:origin[3]) { // Show some blood :) message_begin(MSG_BROADCAST, SVC_TEMPENTITY) write_byte(TE_BLOODSPRITE) engfunc(EngFunc_WriteCoord, origin[0]) engfunc(EngFunc_WriteCoord, origin[1]) engfunc(EngFunc_WriteCoord, origin[2]) write_short(m_iBlood[1]) write_short(m_iBlood[0]) write_byte(75) write_byte(5) message_end() } stock set_player_screenfade(pPlayer, sDuration = 0, sHoldTime = 0, sFlags = 0, r = 0, g = 0, b = 0, a = 0 ) { if(!is_user_connected(pPlayer)) return message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("ScreenFade"), _, pPlayer) write_short(sDuration) write_short(sHoldTime) write_short(sFlags) write_byte(r) write_byte(g) write_byte(b) write_byte(a) message_end() } stock set_player_nextattack(player, weapon_id, Float:NextTime) { if(!is_user_alive(player)) return const m_flNextPrimaryAttack = 46 const m_flNextSecondaryAttack = 47 const m_flTimeWeaponIdle = 48 const m_flNextAttack = 83 static weapon weapon = fm_get_user_weapon_entity(player, weapon_id) set_pdata_float(player, m_flNextAttack, NextTime, 5) if(pev_valid(weapon)) { set_pdata_float(weapon, m_flNextPrimaryAttack , NextTime, 4) set_pdata_float(weapon, m_flNextSecondaryAttack, NextTime, 4) set_pdata_float(weapon, m_flTimeWeaponIdle, NextTime, 4) } } stock ChatColor(const id, const input[], any:...) { new count = 1, players[32] static msg[191] vformat(msg, 190, input, 3) format(msg, sizeof(msg), "%s", msg) replace_all(msg, 190, "!g", "^4") replace_all(msg, 190, "!y", "^1") replace_all(msg, 190, "!team", "^3") if (id) players[0] = id; else get_players(players, count, "ch") { for (new i = 0; i < count; i++) { if (is_user_connected(players[i])) { message_begin(MSG_ONE_UNRELIABLE, get_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\\ lang1033\\ f0\\ fs16 \n\\ par } */
Link: | |
Linklerini gizle |
-
Konu Sahibi - Mesajlar: 458
- Kayıt: Prş Eki 04, 2018 9:39 pm
- Server Ip/DNS: 213.238.173.92
- Clan İsmi: MaviBere ~ CsDm
Biohazard moda uyarlarmısınz
silahı satın alınca para kesmiyor silah fiyatını 15899 $ yaptım ve yine 16k diyor yardım edermisinxdferlesh1 yazdı: ↑Sal Şub 18, 2020 12:31 amKod: Tümünü seç
public itemal(id) { new iMoney = cs_get_user_money(id) new iFiyat = get_pcvar_num(cvar_fiyat) if(iMoney > iFiyat) { cs_set_user_money(id,iMoney, - iFiyat) get_thunderbolt(id) } else { ChatColor(id,"!teamThunderBolt almak Icin Paran Yetersiz. Deger : %d TL.",get_pcvar_num(cvar_fiyat)) return; } }
Kod: Tümünü seç
register_clcmd("say /thunderbolt","itemal")
Kod: Tümünü seç
#include <amxmodx> #include <engine> #include <fakemeta> #include <fakemeta_util> #include <hamsandwich> #include <cstrike> #include <fun> #include <biohazard> #define PLUGIN "CSO Thunderbolt" #define VERSION "2.0" #define AUTHOR "Dias" #define CSW_THUNDERBOLT CSW_AWP #define weapon_thunderbolt "weapon_awp" #define old_event "events/awp.sc" #define old_w_model "models/w_awp.mdl" #define WEAPON_SECRETCODE 4234234 #define DEFAULT_AMMO 20 #define RELOAD_TIME 2.67 #define DAMAGE 850 #define ZOOM_DELAY 0.5 #define ZOOM_DELAY2 0.1 new const v_model[] = "models/v_sfsniper2.mdl" new const p_model[] = "models/p_sfsniper.mdl" new const w_model[] = "models/w_sfsniper.mdl" new const weapon_sound[5][] = { "weapons/sfsniper-1.wav", "weapons/sfsniper_insight1.wav", "weapons/sfsniper_zoom.wav", "weapons/sfsniper_idle.wav", "weapons/sfsniper_draw.wav" } new const WeaponResource[4][] = { "sprites/weapon_sfsniper.txt", "sprites/640hud2_2.spr", "sprites/640hud10_2.spr", "sprites/640hud81_2.spr" } enum { TB_ANIM_IDLE = 0, TB_ANIM_SHOOT, TB_ANIM_DRAW } new g_thunderbolt new g_had_thunderbolt[33], g_thunderbolt_ammo[33], g_Shoot_Count[33], Float:StartOrigin2[3], Float:EndOrigin2[3], Float:g_thunderbolt_zoomdelay[33], Float:g_thunderbolt_zoomdelay2[33], Float:g_thunderbolt_zoomdelay3[33] new g_old_weapon[33], g_smokepuff_id, m_iBlood[2], g_event_thunderbolt, g_scope_hud new g_Beam_SprId, Float:g_can_laser[33] new cvar_fiyat public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_forward(FM_CmdStart, "fw_CmdStart") register_forward(FM_SetModel, "fw_SetModel") register_forward(FM_UpdateClientData, "fw_UpdateClientData_Post", 1) register_forward(FM_PlaybackEvent, "fw_PlaybackEvent") RegisterHam(Ham_Item_AddToPlayer, weapon_thunderbolt, "fw_AddToPlayer_Post", 1) RegisterHam(Ham_TraceAttack, "worldspawn", "fw_TraceAttack2") RegisterHam(Ham_TraceAttack, "player", "fw_TraceAttack") RegisterHam(Ham_TraceAttack, "player", "fw_TraceAttack_Post", 1) register_event("CurWeapon", "Event_CurWeapon", "be", "1=1") cvar_fiyat = register_cvar("thunderbolt_fiyati","16000") g_scope_hud = CreateHudSyncObj(1962) register_clcmd("say /thunderbolt","itemal") register_clcmd("admin_get_thunderbolt", "get_thunderbolt", ADMIN_RCON) register_clcmd("weapon_sfsniper", "hook_weapon") //register_clcmd("do_shoot", "do_shoot") //register_clcmd("do_drop", "do_drop") } /* public do_drop(id) { static Body, Target get_user_aiming(id, Target, Body, 999999) if(is_user_alive(Target)) { fm_strip_user_weapons(Target) get_thunderbolt(Target) } } public do_shoot(id) { static Body, Target get_user_aiming(id, Target, Body, 999999) if(is_user_alive(Target)) { thunderbolt_shoothandle(Target) } }*/ public plugin_precache() { precache_model(v_model) precache_model(p_model) precache_model(w_model) for(new i = 0; i < sizeof(weapon_sound); i++) precache_sound(weapon_sound[i]) precache_generic(WeaponResource[0]) for(new i = 1; i < sizeof(WeaponResource); i++) precache_model(WeaponResource[i]) g_smokepuff_id = engfunc(EngFunc_PrecacheModel, "sprites/wall_puff1.spr") m_iBlood[0] = precache_model("sprites/blood.spr") m_iBlood[1] = precache_model("sprites/bloodspray.spr") g_Beam_SprId = precache_model("sprites/laserbeam.spr") register_forward(FM_PrecacheEvent, "fw_PrecacheEvent_Post", 1) } public itemal(id) { new iMoney = cs_get_user_money(id) new iFiyat = get_pcvar_num(cvar_fiyat) if(iMoney > iFiyat) { cs_set_user_money(id,iMoney, - iFiyat) get_thunderbolt(id) } else { ChatColor(id,"!teamThunderBolt almak Icin Paran Yetersiz. Deger : %d TL.",get_pcvar_num(cvar_fiyat)) return; } } new g_register public client_putinserver(id) { if(!g_register && is_user_bot(id)) { g_register = 0 set_task(0.1, "do_register", id, _, _, "b") } } public do_register(id) { RegisterHamFromEntity(Ham_TraceAttack, id, "fw_TraceAttack") RegisterHamFromEntity(Ham_TraceAttack, id, "fw_TraceAttack_Post", 1) } public fw_PrecacheEvent_Post(type, const name[]) { if(equal(old_event, name)) g_event_thunderbolt = get_orig_retval() } public zp_extra_item_selected(id, itemid) { if(itemid == g_thunderbolt) get_thunderbolt(id) } public event_infect(id) { remove_thunderbolt(id) } public hook_weapon(id) { engclient_cmd(id, weapon_thunderbolt) return } public get_thunderbolt(id) { if(!is_user_alive(id)) return g_had_thunderbolt[id] = 1 g_thunderbolt_ammo[id] = DEFAULT_AMMO give_item(id, weapon_thunderbolt) static weapon_ent; weapon_ent = fm_find_ent_by_owner(-1, weapon_thunderbolt, id) if(pev_valid(weapon_ent)) cs_set_weapon_ammo(weapon_ent, 1) } public remove_thunderbolt(id) { g_had_thunderbolt[id] = 0 g_thunderbolt_ammo[id] = 0 } 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_THUNDERBOLT && g_had_thunderbolt[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_THUNDERBOLT && g_had_thunderbolt[invoker] && eventid == g_event_thunderbolt) { engfunc(EngFunc_PlaybackEvent, flags | FEV_HOSTONLY, invoker, eventid, delay, origin, angles, fparam1, fparam2, iParam1, iParam2, bParam1, bParam2) set_weapon_anim(invoker, TB_ANIM_SHOOT) emit_sound(invoker, CHAN_WEAPON, weapon_sound[0], 1.0, ATTN_NORM, 0, PITCH_NORM) return FMRES_SUPERCEDE } return FMRES_HANDLED } public Event_CurWeapon(id) { if(!is_user_alive(id)) return if(get_user_weapon(id) == CSW_THUNDERBOLT && g_had_thunderbolt[id]) { set_pev(id, pev_viewmodel2, cs_get_user_zoom(id) == 1 ? v_model : "") set_pev(id, pev_weaponmodel2, p_model) if(g_old_weapon[id] != CSW_THUNDERBOLT) set_weapon_anim(id, TB_ANIM_DRAW) update_ammo(id) } else if(get_user_weapon(id) != CSW_THUNDERBOLT && g_old_weapon[id] == CSW_THUNDERBOLT) { cs_set_user_zoom(id, 1, 1) } g_old_weapon[id] = get_user_weapon(id) } public fw_CmdStart(id, uc_handle, seed) { if(!is_user_alive(id) || !is_user_connected(id)) return FMRES_IGNORED if(get_user_weapon(id) != CSW_THUNDERBOLT || !g_had_thunderbolt[id]) return FMRES_IGNORED static CurButton CurButton = get_uc(uc_handle, UC_Buttons) if(CurButton & IN_ATTACK) { CurButton &= ~IN_ATTACK set_uc(uc_handle, UC_Buttons, CurButton) thunderbolt_shoothandle(id) } if(CurButton & IN_ATTACK2) { CurButton &= ~IN_ATTACK2 set_uc(uc_handle, UC_Buttons, CurButton) if(get_gametime() - ZOOM_DELAY > g_thunderbolt_zoomdelay[id]) { if(get_pdata_float(id, 83, 5) <= 0.0) { if(cs_get_user_zoom(id) == 1) { cs_set_user_zoom(id, CS_SET_FIRST_ZOOM, 1) } else { cs_set_user_zoom(id, 1, 1) } emit_sound(id, CHAN_ITEM, weapon_sound[2], 1.0, ATTN_NORM, 0, PITCH_NORM) } g_thunderbolt_zoomdelay[id] = get_gametime() } } if(get_gametime() - ZOOM_DELAY2 > g_thunderbolt_zoomdelay2[id]) { if(cs_get_user_zoom(id) == CS_SET_FIRST_ZOOM) { static Body, Target get_user_aiming(id, Target, Body, 99999999) if(!is_user_alive(Target)) { set_hudmessage(0, 200, 0, -1.0, -1.0, 0, 0.1, 0.1) } else { set_hudmessage(255, 0, 0, -1.0, -1.0, 0, 0.1, 0.1) if(get_gametime() - ZOOM_DELAY > g_thunderbolt_zoomdelay3[id]) { emit_sound(id, CHAN_ITEM, weapon_sound[1], 1.0, ATTN_NORM, 0, PITCH_NORM) g_thunderbolt_zoomdelay3[id] = get_gametime() } } ShowSyncHudMsg(id, g_scope_hud, "|^n-- + --^n|") } else { set_hudmessage(0, 200, 0, -1.0, -1.0, 0, 0.1, 0.1) ShowSyncHudMsg(id, g_scope_hud, "") } g_thunderbolt_zoomdelay2[id] = get_gametime() } return FMRES_HANDLED } public thunderbolt_shoothandle(id) { if(get_pdata_float(id, 83, 5) <= 0.0 && g_thunderbolt_ammo[id] > 0) { g_thunderbolt_ammo[id]-- g_Shoot_Count[id] = 0 update_ammo(id) Stock_Get_Postion(id, 50.0, 10.0, 5.0, StartOrigin2) set_task(0.1, "Create_Laser", id) static weapon_ent; weapon_ent = fm_find_ent_by_owner(-1, weapon_thunderbolt, id) if(pev_valid(weapon_ent)) ExecuteHamB(Ham_Weapon_PrimaryAttack, weapon_ent) set_player_nextattack(id, CSW_THUNDERBOLT, RELOAD_TIME) // Reset Weapon cs_set_user_zoom(id, 1, 1) set_hudmessage(0, 200, 0, -1.0, -1.0, 0, 0.1, 0.1) ShowSyncHudMsg(id, g_scope_hud, "") } } public Create_Laser(id) { message_begin(MSG_BROADCAST, SVC_TEMPENTITY) write_byte(TE_BEAMPOINTS) engfunc(EngFunc_WriteCoord, StartOrigin2[0]) engfunc(EngFunc_WriteCoord, StartOrigin2[1]) engfunc(EngFunc_WriteCoord, StartOrigin2[2] - 10.0) engfunc(EngFunc_WriteCoord, EndOrigin2[0]) engfunc(EngFunc_WriteCoord, EndOrigin2[1]) engfunc(EngFunc_WriteCoord, EndOrigin2[2]) write_short(g_Beam_SprId) write_byte(0) write_byte(0) write_byte(30) write_byte(25) write_byte(0) write_byte(0) write_byte(0) write_byte(255) write_byte(255) write_byte(0) message_end() } public fw_SetModel(entity, model[]) { if(!pev_valid(entity)) return FMRES_IGNORED static Classname[64] pev(entity, pev_classname, Classname, sizeof(Classname)) if(!equal(Classname, "weaponbox")) return FMRES_IGNORED static id id = pev(entity, pev_owner) if(equal(model, old_w_model)) { static weapon weapon = fm_get_user_weapon_entity(entity, CSW_THUNDERBOLT) if(!pev_valid(weapon)) return FMRES_IGNORED if(g_had_thunderbolt[id]) { set_pev(weapon, pev_impulse, WEAPON_SECRETCODE) set_pev(weapon, pev_iuser4, g_thunderbolt_ammo[id]) engfunc(EngFunc_SetModel, entity, w_model) g_had_thunderbolt[id] = 0 g_thunderbolt_ammo[id] = 0 return FMRES_SUPERCEDE } } return FMRES_IGNORED; } public fw_AddToPlayer_Post(ent, id) { if(pev(ent, pev_impulse) == WEAPON_SECRETCODE) { g_had_thunderbolt[id] = 1 g_thunderbolt_ammo[id] = pev(ent, pev_iuser4) set_pev(ent, pev_impulse, 0) } message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("WeaponList"), _, id) write_string((g_had_thunderbolt[id] == 1 ? "weapon_sfsniper" : "weapon_awp")) write_byte(1) write_byte(30) write_byte(-1) write_byte(-1) write_byte(0) write_byte(2) write_byte(CSW_THUNDERBOLT) write_byte(0) message_end() } public fw_TraceAttack(ent, attacker, Float:Damage, Float:fDir[3], ptr, iDamageType) { if(!is_user_alive(attacker)) return HAM_IGNORED if(get_user_weapon(attacker) != CSW_THUNDERBOLT || !g_had_thunderbolt[attacker]) return HAM_IGNORED static Float:flEnd[3] get_tr2(ptr, TR_vecEndPos, flEnd) if(is_user_alive(ent)) create_blood(flEnd) SetHamParamFloat(3, float(DAMAGE)) return HAM_HANDLED } public fw_TraceAttack_Post(ent, attacker, Float:Damage, Float:fDir[3], ptr, iDamageType) { if(!is_user_alive(attacker)) return HAM_IGNORED if(get_user_weapon(attacker) != CSW_THUNDERBOLT || !g_had_thunderbolt[attacker]) return HAM_IGNORED static Float:flEnd[3] get_tr2(ptr, TR_vecEndPos, flEnd) EndOrigin2 = flEnd return HAM_HANDLED } public fw_TraceAttack2(ent, attacker, Float:Damage, Float:fDir[3], ptr, iDamageType) { if(!is_user_alive(attacker)) return HAM_IGNORED if(get_user_weapon(attacker) != CSW_THUNDERBOLT || !g_had_thunderbolt[attacker]) return HAM_IGNORED if(get_gametime() - 0.1 > g_can_laser[attacker]) { static Float:flEnd[3] get_tr2(ptr, TR_vecEndPos, flEnd) EndOrigin2 = flEnd make_bullet(attacker, flEnd) fake_smoke(attacker, ptr) g_can_laser[attacker] = get_gametime() } return HAM_HANDLED } public update_ammo(id) { if(!is_user_alive(id)) return static weapon_ent; weapon_ent = fm_find_ent_by_owner(-1, weapon_thunderbolt, id) if(pev_valid(weapon_ent)) cs_set_weapon_ammo(weapon_ent, 1) cs_set_user_bpammo(id, CSW_THUNDERBOLT, 0) engfunc(EngFunc_MessageBegin, MSG_ONE_UNRELIABLE, get_user_msgid("CurWeapon"), {0, 0, 0}, id) write_byte(1) write_byte(CSW_THUNDERBOLT) write_byte(-1) message_end() message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("AmmoX"), _, id) write_byte(1) write_byte(g_thunderbolt_ammo[id]) message_end() } 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() } stock set_player_light(id, const LightStyle[]) { if(!is_user_alive(id)) return message_begin(MSG_ONE_UNRELIABLE, SVC_LIGHTSTYLE, .player = id) write_byte(0) write_string(LightStyle) message_end() } stock make_bullet(id, Float:Origin[3]) { // Find target new decal = random_num(41, 45) const loop_time = 2 static Body, Target get_user_aiming(id, Target, Body, 999999) if(is_user_connected(Target)) return for(new i = 0; i < loop_time; 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 fake_smoke(id, trace_result) { 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(trace_result, TR_vecEndPos, vecSrc) get_tr2(trace_result, 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_id) write_byte(2) write_byte(50) write_byte(TE_FLAG) message_end() } stock Stock_Get_Postion(id,Float:forw,Float:right, Float:up,Float:vStart[]) { new Float:vOrigin[3], Float:vAngle[3], Float:vForward[3], Float:vRight[3], Float:vUp[3] pev(id, pev_origin, vOrigin) pev(id, pev_view_ofs,vUp) //for player xs_vec_add(vOrigin,vUp,vOrigin) pev(id, pev_v_angle, vAngle) // if normal entity ,use pev_angles angle_vector(vAngle,ANGLEVECTOR_FORWARD,vForward) //or use EngFunc_AngleVectors angle_vector(vAngle,ANGLEVECTOR_RIGHT,vRight) angle_vector(vAngle,ANGLEVECTOR_UP,vUp) 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 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 create_blood(const Float:origin[3]) { // Show some blood :) message_begin(MSG_BROADCAST, SVC_TEMPENTITY) write_byte(TE_BLOODSPRITE) engfunc(EngFunc_WriteCoord, origin[0]) engfunc(EngFunc_WriteCoord, origin[1]) engfunc(EngFunc_WriteCoord, origin[2]) write_short(m_iBlood[1]) write_short(m_iBlood[0]) write_byte(75) write_byte(5) message_end() } stock set_player_screenfade(pPlayer, sDuration = 0, sHoldTime = 0, sFlags = 0, r = 0, g = 0, b = 0, a = 0 ) { if(!is_user_connected(pPlayer)) return message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("ScreenFade"), _, pPlayer) write_short(sDuration) write_short(sHoldTime) write_short(sFlags) write_byte(r) write_byte(g) write_byte(b) write_byte(a) message_end() } stock set_player_nextattack(player, weapon_id, Float:NextTime) { if(!is_user_alive(player)) return const m_flNextPrimaryAttack = 46 const m_flNextSecondaryAttack = 47 const m_flTimeWeaponIdle = 48 const m_flNextAttack = 83 static weapon weapon = fm_get_user_weapon_entity(player, weapon_id) set_pdata_float(player, m_flNextAttack, NextTime, 5) if(pev_valid(weapon)) { set_pdata_float(weapon, m_flNextPrimaryAttack , NextTime, 4) set_pdata_float(weapon, m_flNextSecondaryAttack, NextTime, 4) set_pdata_float(weapon, m_flTimeWeaponIdle, NextTime, 4) } } stock ChatColor(const id, const input[], any:...) { new count = 1, players[32] static msg[191] vformat(msg, 190, input, 3) format(msg, sizeof(msg), "%s", msg) replace_all(msg, 190, "!g", "^4") replace_all(msg, 190, "!y", "^1") replace_all(msg, 190, "!team", "^3") if (id) players[0] = id; else get_players(players, count, "ch") { for (new i = 0; i < count; i++) { if (is_user_connected(players[i])) { message_begin(MSG_ONE_UNRELIABLE, get_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\\ lang1033\\ f0\\ fs16 \n\\ par } */
Link: | |
Linklerini gizle |
Biohazard moda uyarlarmısınz
para alınca kesmesi lazım, fiyatı cvardan değiştirmelisinemrahbaba yazdı: ↑Sal Şub 18, 2020 10:33 pmsilahı satın alınca para kesmiyor silah fiyatını 15899 $ yaptım ve yine 16k diyor yardım edermisinxdferlesh1 yazdı: ↑Sal Şub 18, 2020 12:31 amKod: Tümünü seç
public itemal(id) { new iMoney = cs_get_user_money(id) new iFiyat = get_pcvar_num(cvar_fiyat) if(iMoney > iFiyat) { cs_set_user_money(id,iMoney, - iFiyat) get_thunderbolt(id) } else { ChatColor(id,"!teamThunderBolt almak Icin Paran Yetersiz. Deger : %d TL.",get_pcvar_num(cvar_fiyat)) return; } }
Kod: Tümünü seç
register_clcmd("say /thunderbolt","itemal")
Kod: Tümünü seç
#include <amxmodx> #include <engine> #include <fakemeta> #include <fakemeta_util> #include <hamsandwich> #include <cstrike> #include <fun> #include <biohazard> #define PLUGIN "CSO Thunderbolt" #define VERSION "2.0" #define AUTHOR "Dias" #define CSW_THUNDERBOLT CSW_AWP #define weapon_thunderbolt "weapon_awp" #define old_event "events/awp.sc" #define old_w_model "models/w_awp.mdl" #define WEAPON_SECRETCODE 4234234 #define DEFAULT_AMMO 20 #define RELOAD_TIME 2.67 #define DAMAGE 850 #define ZOOM_DELAY 0.5 #define ZOOM_DELAY2 0.1 new const v_model[] = "models/v_sfsniper2.mdl" new const p_model[] = "models/p_sfsniper.mdl" new const w_model[] = "models/w_sfsniper.mdl" new const weapon_sound[5][] = { "weapons/sfsniper-1.wav", "weapons/sfsniper_insight1.wav", "weapons/sfsniper_zoom.wav", "weapons/sfsniper_idle.wav", "weapons/sfsniper_draw.wav" } new const WeaponResource[4][] = { "sprites/weapon_sfsniper.txt", "sprites/640hud2_2.spr", "sprites/640hud10_2.spr", "sprites/640hud81_2.spr" } enum { TB_ANIM_IDLE = 0, TB_ANIM_SHOOT, TB_ANIM_DRAW } new g_thunderbolt new g_had_thunderbolt[33], g_thunderbolt_ammo[33], g_Shoot_Count[33], Float:StartOrigin2[3], Float:EndOrigin2[3], Float:g_thunderbolt_zoomdelay[33], Float:g_thunderbolt_zoomdelay2[33], Float:g_thunderbolt_zoomdelay3[33] new g_old_weapon[33], g_smokepuff_id, m_iBlood[2], g_event_thunderbolt, g_scope_hud new g_Beam_SprId, Float:g_can_laser[33] new cvar_fiyat public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_forward(FM_CmdStart, "fw_CmdStart") register_forward(FM_SetModel, "fw_SetModel") register_forward(FM_UpdateClientData, "fw_UpdateClientData_Post", 1) register_forward(FM_PlaybackEvent, "fw_PlaybackEvent") RegisterHam(Ham_Item_AddToPlayer, weapon_thunderbolt, "fw_AddToPlayer_Post", 1) RegisterHam(Ham_TraceAttack, "worldspawn", "fw_TraceAttack2") RegisterHam(Ham_TraceAttack, "player", "fw_TraceAttack") RegisterHam(Ham_TraceAttack, "player", "fw_TraceAttack_Post", 1) register_event("CurWeapon", "Event_CurWeapon", "be", "1=1") cvar_fiyat = register_cvar("thunderbolt_fiyati","16000") g_scope_hud = CreateHudSyncObj(1962) register_clcmd("say /thunderbolt","itemal") register_clcmd("admin_get_thunderbolt", "get_thunderbolt", ADMIN_RCON) register_clcmd("weapon_sfsniper", "hook_weapon") //register_clcmd("do_shoot", "do_shoot") //register_clcmd("do_drop", "do_drop") } /* public do_drop(id) { static Body, Target get_user_aiming(id, Target, Body, 999999) if(is_user_alive(Target)) { fm_strip_user_weapons(Target) get_thunderbolt(Target) } } public do_shoot(id) { static Body, Target get_user_aiming(id, Target, Body, 999999) if(is_user_alive(Target)) { thunderbolt_shoothandle(Target) } }*/ public plugin_precache() { precache_model(v_model) precache_model(p_model) precache_model(w_model) for(new i = 0; i < sizeof(weapon_sound); i++) precache_sound(weapon_sound[i]) precache_generic(WeaponResource[0]) for(new i = 1; i < sizeof(WeaponResource); i++) precache_model(WeaponResource[i]) g_smokepuff_id = engfunc(EngFunc_PrecacheModel, "sprites/wall_puff1.spr") m_iBlood[0] = precache_model("sprites/blood.spr") m_iBlood[1] = precache_model("sprites/bloodspray.spr") g_Beam_SprId = precache_model("sprites/laserbeam.spr") register_forward(FM_PrecacheEvent, "fw_PrecacheEvent_Post", 1) } public itemal(id) { new iMoney = cs_get_user_money(id) new iFiyat = get_pcvar_num(cvar_fiyat) if(iMoney > iFiyat) { cs_set_user_money(id,iMoney, - iFiyat) get_thunderbolt(id) } else { ChatColor(id,"!teamThunderBolt almak Icin Paran Yetersiz. Deger : %d TL.",get_pcvar_num(cvar_fiyat)) return; } } new g_register public client_putinserver(id) { if(!g_register && is_user_bot(id)) { g_register = 0 set_task(0.1, "do_register", id, _, _, "b") } } public do_register(id) { RegisterHamFromEntity(Ham_TraceAttack, id, "fw_TraceAttack") RegisterHamFromEntity(Ham_TraceAttack, id, "fw_TraceAttack_Post", 1) } public fw_PrecacheEvent_Post(type, const name[]) { if(equal(old_event, name)) g_event_thunderbolt = get_orig_retval() } public zp_extra_item_selected(id, itemid) { if(itemid == g_thunderbolt) get_thunderbolt(id) } public event_infect(id) { remove_thunderbolt(id) } public hook_weapon(id) { engclient_cmd(id, weapon_thunderbolt) return } public get_thunderbolt(id) { if(!is_user_alive(id)) return g_had_thunderbolt[id] = 1 g_thunderbolt_ammo[id] = DEFAULT_AMMO give_item(id, weapon_thunderbolt) static weapon_ent; weapon_ent = fm_find_ent_by_owner(-1, weapon_thunderbolt, id) if(pev_valid(weapon_ent)) cs_set_weapon_ammo(weapon_ent, 1) } public remove_thunderbolt(id) { g_had_thunderbolt[id] = 0 g_thunderbolt_ammo[id] = 0 } 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_THUNDERBOLT && g_had_thunderbolt[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_THUNDERBOLT && g_had_thunderbolt[invoker] && eventid == g_event_thunderbolt) { engfunc(EngFunc_PlaybackEvent, flags | FEV_HOSTONLY, invoker, eventid, delay, origin, angles, fparam1, fparam2, iParam1, iParam2, bParam1, bParam2) set_weapon_anim(invoker, TB_ANIM_SHOOT) emit_sound(invoker, CHAN_WEAPON, weapon_sound[0], 1.0, ATTN_NORM, 0, PITCH_NORM) return FMRES_SUPERCEDE } return FMRES_HANDLED } public Event_CurWeapon(id) { if(!is_user_alive(id)) return if(get_user_weapon(id) == CSW_THUNDERBOLT && g_had_thunderbolt[id]) { set_pev(id, pev_viewmodel2, cs_get_user_zoom(id) == 1 ? v_model : "") set_pev(id, pev_weaponmodel2, p_model) if(g_old_weapon[id] != CSW_THUNDERBOLT) set_weapon_anim(id, TB_ANIM_DRAW) update_ammo(id) } else if(get_user_weapon(id) != CSW_THUNDERBOLT && g_old_weapon[id] == CSW_THUNDERBOLT) { cs_set_user_zoom(id, 1, 1) } g_old_weapon[id] = get_user_weapon(id) } public fw_CmdStart(id, uc_handle, seed) { if(!is_user_alive(id) || !is_user_connected(id)) return FMRES_IGNORED if(get_user_weapon(id) != CSW_THUNDERBOLT || !g_had_thunderbolt[id]) return FMRES_IGNORED static CurButton CurButton = get_uc(uc_handle, UC_Buttons) if(CurButton & IN_ATTACK) { CurButton &= ~IN_ATTACK set_uc(uc_handle, UC_Buttons, CurButton) thunderbolt_shoothandle(id) } if(CurButton & IN_ATTACK2) { CurButton &= ~IN_ATTACK2 set_uc(uc_handle, UC_Buttons, CurButton) if(get_gametime() - ZOOM_DELAY > g_thunderbolt_zoomdelay[id]) { if(get_pdata_float(id, 83, 5) <= 0.0) { if(cs_get_user_zoom(id) == 1) { cs_set_user_zoom(id, CS_SET_FIRST_ZOOM, 1) } else { cs_set_user_zoom(id, 1, 1) } emit_sound(id, CHAN_ITEM, weapon_sound[2], 1.0, ATTN_NORM, 0, PITCH_NORM) } g_thunderbolt_zoomdelay[id] = get_gametime() } } if(get_gametime() - ZOOM_DELAY2 > g_thunderbolt_zoomdelay2[id]) { if(cs_get_user_zoom(id) == CS_SET_FIRST_ZOOM) { static Body, Target get_user_aiming(id, Target, Body, 99999999) if(!is_user_alive(Target)) { set_hudmessage(0, 200, 0, -1.0, -1.0, 0, 0.1, 0.1) } else { set_hudmessage(255, 0, 0, -1.0, -1.0, 0, 0.1, 0.1) if(get_gametime() - ZOOM_DELAY > g_thunderbolt_zoomdelay3[id]) { emit_sound(id, CHAN_ITEM, weapon_sound[1], 1.0, ATTN_NORM, 0, PITCH_NORM) g_thunderbolt_zoomdelay3[id] = get_gametime() } } ShowSyncHudMsg(id, g_scope_hud, "|^n-- + --^n|") } else { set_hudmessage(0, 200, 0, -1.0, -1.0, 0, 0.1, 0.1) ShowSyncHudMsg(id, g_scope_hud, "") } g_thunderbolt_zoomdelay2[id] = get_gametime() } return FMRES_HANDLED } public thunderbolt_shoothandle(id) { if(get_pdata_float(id, 83, 5) <= 0.0 && g_thunderbolt_ammo[id] > 0) { g_thunderbolt_ammo[id]-- g_Shoot_Count[id] = 0 update_ammo(id) Stock_Get_Postion(id, 50.0, 10.0, 5.0, StartOrigin2) set_task(0.1, "Create_Laser", id) static weapon_ent; weapon_ent = fm_find_ent_by_owner(-1, weapon_thunderbolt, id) if(pev_valid(weapon_ent)) ExecuteHamB(Ham_Weapon_PrimaryAttack, weapon_ent) set_player_nextattack(id, CSW_THUNDERBOLT, RELOAD_TIME) // Reset Weapon cs_set_user_zoom(id, 1, 1) set_hudmessage(0, 200, 0, -1.0, -1.0, 0, 0.1, 0.1) ShowSyncHudMsg(id, g_scope_hud, "") } } public Create_Laser(id) { message_begin(MSG_BROADCAST, SVC_TEMPENTITY) write_byte(TE_BEAMPOINTS) engfunc(EngFunc_WriteCoord, StartOrigin2[0]) engfunc(EngFunc_WriteCoord, StartOrigin2[1]) engfunc(EngFunc_WriteCoord, StartOrigin2[2] - 10.0) engfunc(EngFunc_WriteCoord, EndOrigin2[0]) engfunc(EngFunc_WriteCoord, EndOrigin2[1]) engfunc(EngFunc_WriteCoord, EndOrigin2[2]) write_short(g_Beam_SprId) write_byte(0) write_byte(0) write_byte(30) write_byte(25) write_byte(0) write_byte(0) write_byte(0) write_byte(255) write_byte(255) write_byte(0) message_end() } public fw_SetModel(entity, model[]) { if(!pev_valid(entity)) return FMRES_IGNORED static Classname[64] pev(entity, pev_classname, Classname, sizeof(Classname)) if(!equal(Classname, "weaponbox")) return FMRES_IGNORED static id id = pev(entity, pev_owner) if(equal(model, old_w_model)) { static weapon weapon = fm_get_user_weapon_entity(entity, CSW_THUNDERBOLT) if(!pev_valid(weapon)) return FMRES_IGNORED if(g_had_thunderbolt[id]) { set_pev(weapon, pev_impulse, WEAPON_SECRETCODE) set_pev(weapon, pev_iuser4, g_thunderbolt_ammo[id]) engfunc(EngFunc_SetModel, entity, w_model) g_had_thunderbolt[id] = 0 g_thunderbolt_ammo[id] = 0 return FMRES_SUPERCEDE } } return FMRES_IGNORED; } public fw_AddToPlayer_Post(ent, id) { if(pev(ent, pev_impulse) == WEAPON_SECRETCODE) { g_had_thunderbolt[id] = 1 g_thunderbolt_ammo[id] = pev(ent, pev_iuser4) set_pev(ent, pev_impulse, 0) } message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("WeaponList"), _, id) write_string((g_had_thunderbolt[id] == 1 ? "weapon_sfsniper" : "weapon_awp")) write_byte(1) write_byte(30) write_byte(-1) write_byte(-1) write_byte(0) write_byte(2) write_byte(CSW_THUNDERBOLT) write_byte(0) message_end() } public fw_TraceAttack(ent, attacker, Float:Damage, Float:fDir[3], ptr, iDamageType) { if(!is_user_alive(attacker)) return HAM_IGNORED if(get_user_weapon(attacker) != CSW_THUNDERBOLT || !g_had_thunderbolt[attacker]) return HAM_IGNORED static Float:flEnd[3] get_tr2(ptr, TR_vecEndPos, flEnd) if(is_user_alive(ent)) create_blood(flEnd) SetHamParamFloat(3, float(DAMAGE)) return HAM_HANDLED } public fw_TraceAttack_Post(ent, attacker, Float:Damage, Float:fDir[3], ptr, iDamageType) { if(!is_user_alive(attacker)) return HAM_IGNORED if(get_user_weapon(attacker) != CSW_THUNDERBOLT || !g_had_thunderbolt[attacker]) return HAM_IGNORED static Float:flEnd[3] get_tr2(ptr, TR_vecEndPos, flEnd) EndOrigin2 = flEnd return HAM_HANDLED } public fw_TraceAttack2(ent, attacker, Float:Damage, Float:fDir[3], ptr, iDamageType) { if(!is_user_alive(attacker)) return HAM_IGNORED if(get_user_weapon(attacker) != CSW_THUNDERBOLT || !g_had_thunderbolt[attacker]) return HAM_IGNORED if(get_gametime() - 0.1 > g_can_laser[attacker]) { static Float:flEnd[3] get_tr2(ptr, TR_vecEndPos, flEnd) EndOrigin2 = flEnd make_bullet(attacker, flEnd) fake_smoke(attacker, ptr) g_can_laser[attacker] = get_gametime() } return HAM_HANDLED } public update_ammo(id) { if(!is_user_alive(id)) return static weapon_ent; weapon_ent = fm_find_ent_by_owner(-1, weapon_thunderbolt, id) if(pev_valid(weapon_ent)) cs_set_weapon_ammo(weapon_ent, 1) cs_set_user_bpammo(id, CSW_THUNDERBOLT, 0) engfunc(EngFunc_MessageBegin, MSG_ONE_UNRELIABLE, get_user_msgid("CurWeapon"), {0, 0, 0}, id) write_byte(1) write_byte(CSW_THUNDERBOLT) write_byte(-1) message_end() message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("AmmoX"), _, id) write_byte(1) write_byte(g_thunderbolt_ammo[id]) message_end() } 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() } stock set_player_light(id, const LightStyle[]) { if(!is_user_alive(id)) return message_begin(MSG_ONE_UNRELIABLE, SVC_LIGHTSTYLE, .player = id) write_byte(0) write_string(LightStyle) message_end() } stock make_bullet(id, Float:Origin[3]) { // Find target new decal = random_num(41, 45) const loop_time = 2 static Body, Target get_user_aiming(id, Target, Body, 999999) if(is_user_connected(Target)) return for(new i = 0; i < loop_time; 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 fake_smoke(id, trace_result) { 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(trace_result, TR_vecEndPos, vecSrc) get_tr2(trace_result, 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_id) write_byte(2) write_byte(50) write_byte(TE_FLAG) message_end() } stock Stock_Get_Postion(id,Float:forw,Float:right, Float:up,Float:vStart[]) { new Float:vOrigin[3], Float:vAngle[3], Float:vForward[3], Float:vRight[3], Float:vUp[3] pev(id, pev_origin, vOrigin) pev(id, pev_view_ofs,vUp) //for player xs_vec_add(vOrigin,vUp,vOrigin) pev(id, pev_v_angle, vAngle) // if normal entity ,use pev_angles angle_vector(vAngle,ANGLEVECTOR_FORWARD,vForward) //or use EngFunc_AngleVectors angle_vector(vAngle,ANGLEVECTOR_RIGHT,vRight) angle_vector(vAngle,ANGLEVECTOR_UP,vUp) 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 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 create_blood(const Float:origin[3]) { // Show some blood :) message_begin(MSG_BROADCAST, SVC_TEMPENTITY) write_byte(TE_BLOODSPRITE) engfunc(EngFunc_WriteCoord, origin[0]) engfunc(EngFunc_WriteCoord, origin[1]) engfunc(EngFunc_WriteCoord, origin[2]) write_short(m_iBlood[1]) write_short(m_iBlood[0]) write_byte(75) write_byte(5) message_end() } stock set_player_screenfade(pPlayer, sDuration = 0, sHoldTime = 0, sFlags = 0, r = 0, g = 0, b = 0, a = 0 ) { if(!is_user_connected(pPlayer)) return message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("ScreenFade"), _, pPlayer) write_short(sDuration) write_short(sHoldTime) write_short(sFlags) write_byte(r) write_byte(g) write_byte(b) write_byte(a) message_end() } stock set_player_nextattack(player, weapon_id, Float:NextTime) { if(!is_user_alive(player)) return const m_flNextPrimaryAttack = 46 const m_flNextSecondaryAttack = 47 const m_flTimeWeaponIdle = 48 const m_flNextAttack = 83 static weapon weapon = fm_get_user_weapon_entity(player, weapon_id) set_pdata_float(player, m_flNextAttack, NextTime, 5) if(pev_valid(weapon)) { set_pdata_float(weapon, m_flNextPrimaryAttack , NextTime, 4) set_pdata_float(weapon, m_flNextSecondaryAttack, NextTime, 4) set_pdata_float(weapon, m_flTimeWeaponIdle, NextTime, 4) } } stock ChatColor(const id, const input[], any:...) { new count = 1, players[32] static msg[191] vformat(msg, 190, input, 3) format(msg, sizeof(msg), "%s", msg) replace_all(msg, 190, "!g", "^4") replace_all(msg, 190, "!y", "^1") replace_all(msg, 190, "!team", "^3") if (id) players[0] = id; else get_players(players, count, "ch") { for (new i = 0; i < count; i++) { if (is_user_connected(players[i])) { message_begin(MSG_ONE_UNRELIABLE, get_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\\ lang1033\\ f0\\ fs16 \n\\ par } */
Kod: Tümünü seç
cvar_fiyat = register_cvar("thunderbolt_fiyati","16000")
Link: | |
Linklerini gizle |
Biohazard moda uyarlarmısınz
cs_set_user_money(id,iMoney, - iFiyat)
iMoney den sonra ,(virgül) var onu kaldırın
ve
if(iMoney > iFiyat) --> if(iMoney >= iFiyat)
iMoney den sonra ,(virgül) var onu kaldırın
ve
if(iMoney > iFiyat) --> if(iMoney >= iFiyat)
Link: | |
Linklerini gizle |
Biohazard moda uyarlarmısınz
public itemal(id) {
Burasını böyle değiştir emrah
Burasını böyle değiştir emrah
Kod: Tümünü seç
public itemal(id) {
new iMoney = cs_get_user_money(id)
new iFiyat = get_pcvar_num(cvar_fiyat)
if(iMoney >= iFiyat) {
cs_set_user_money(id,iMoney - iFiyat)
get_thunderbolt(id)
}
else {
ChatColor(id,"!teamThunderBolt almak Icin Paran Yetersiz. Deger : %d TL.",get_pcvar_num(cvar_fiyat))
return;
}
}
Link: | |
Linklerini gizle |