Deathrun Niveles
#1
Que tal en esta ocasión traigo un Deathrun que tenia en la pc y para que no se quede acumulando polvo talvez pueda venderlo  Roflmao


Pues no contiene nada del otro mundo

Sistema de cuentas mysql
Guardado mysql
Ganancias por tipo de admin
Records al llegar a la meta
Top15 de exp por php+pdo (se pueden agregar más, aunque la imagen de fondo no se carga en el motd xd)
Free Round (respawn, droga, Bunyhop, grav, y normal)
Hats
Knifes
Armas secundarias
Logros
Tienda
Configuración de hud
Comando para revivir, y pasar de team
hooksay

Trabaje encima del plugin de xPaw


Los knifes y secundarias se registran desde plugins externos.
EJ.
Código PHP:
#include <amxmodx>
#include <engine>
#include <amxmisc>
#include <fakemeta>
#include <fakemeta_util>
#include <hamsandwich>
#include <cstrike>
#include <xs>
#include <deathrun_world>

#define PLUGIN "Balrog-IX"
#define VERSION "1.0"
#define AUTHOR "Dias Pendragon"

#define ADMIN_ACCESS ADMIN_RCON

// Draw Time
#define DRAW_TIME 1.0

// Next Attack Time
#define NEXTATTACK_MISS 0.5
#define NEXTATTACK_HIT 0.35

// Attack Distance
#define ATTACKDIS_SLASH 58.0
#define ATTACKDIS_CHARGE 80.0

// Attack Damage
#define DAMAGE_SLASH 50.0
#define DAMAGE_CHARGE 120.0

// Charge Mode
#define CHARGE_STARTTIME 0.75
#define CHARGE_ATTACKTIME 0.75
#define CHARGE_TIME 3.0
#define CHARGE_NEXTATTACK 1.0
#define CHARGE_EXPRADIUS 120
#define CHARGE_ATTACK_KNOCKPOWER 120.0

// Task
#define TASK_CHARGE_STARTING 75675
#define TASK_CHARGING 464334

// Models
new const v_model[] = "models/v_balrog9.mdl"
new const p_model[] = "models/p_balrog9.mdl"

// Sprite
new const exp_spr[] = "sprites/balrogcritical.spr"
new const exp_spr2[] = "sprites/spear_exp.spr"

new const weapon_sound[9][] =
{
 
"weapons/balrog9_draw.wav",
 
"weapons/balrog9_slash1.wav",
 
"weapons/balrog9_slash2.wav",
 
"weapons/balrog9_hitwall.wav",
 
"weapons/balrog9_hit1.wav",
 
"weapons/balrog9_hit2.wav",
 
"weapons/balrog9_charge_start1.wav",
 
"weapons/balrog9_charge_finish1.wav",
 
"weapons/balrog9_charge_attack2.wav"
}

enum
{
 
B9_DRAW 0,
 
B9_SLASH1,
 
B9_SLASH2,
 
B9_HITWALL,
 
B9_HIT1,
 
B9_HIT2,
 
B9_CHARGE_START,
 
B9_CHARGE_FINISH,
 
B9_CHARGE_ATTACK
}

new 
g_botg_exp_spridg_item_balrog9g_exp_sprid2
new g_had_balrog9[33], g_attack_mode[33], g_charging[33], g_charged[33], g_chargeattack[33]

enum
{
 
MODE_NORMAL 1,
 
MODE_CHARGE
}

enum
{
 
KNIFE_ANIM_IDLE 0,
 
KNIFE_ANIM_SLASH1,
 
KNIFE_ANIM_SLASH2,
 
KNIFE_ANIM_DRAW,
 
KNIFE_ANIM_STAB_HIT,
 
KNIFE_ANIM_STAB_MISS,
 
KNIFE_ANIM_MIDSLASH1,
 
KNIFE_ANIM_MIDSLASH2
}

enum
{
 
BALROG9_ANIM_IDLE 0,
 
BALROG9_ANIM_SLASH1,
 
BALROG9_ANIM_SLASH2,
 
BALROG9_ANIM_SLASH3,
 
BALROG9_ANIM_SLASH4,
 
BALROG9_ANIM_SLASH5,
 
BALROG9_ANIM_DRAW,
 
BALROG9_ANIM_CHARGE_START,
 
BALROG9_ANIM_CHARGE_FINISH,
 
BALROG9_ANIM_CHARGE_IDLE1,
 
BALROG9_ANIM_CHARGE_IDLE2,
 
BALROG9_ANIM_CHARGE_ATTACK1,
 
BALROG9_ANIM_CHARGE_ATTACK2
}
new 
g_item;
public 
plugin_init() 
{
 
register_plugin(PLUGINVERSIONAUTHOR)
 
 
register_event("CurWeapon""Event_CurWeapon""be""1=1")
 
 
register_forward(FM_EmitSound"fw_EmitSound")
 
register_forward(FM_CmdStart"fw_CmdStart")
 
register_forward(FM_TraceLine"fw_TraceLine")
 
register_forward(FM_TraceHull"fw_TraceHull"
 
RegisterHam(Ham_CS_Weapon_SendWeaponAnim"weapon_knife""fw_Knife_SendAnim"1)
 
RegisterHam(Ham_TraceAttack"player""fw_TraceAttack")
 
RegisterHam(Ham_TraceAttack"player""fw_TraceAttack_Post"1)
 
RegisterHam(Ham_Spawn"player""remove_balrog9"1);
 
register_logevent("event_round_start"2"1=Round_Start")

 
register_clcmd "admin_get_balrog9""get_balrog9"ADMIN_ACCESS );

 
g_item register_item("Balrog9"100KNIFEADMIN_ALL);
}
public 
event_round_start()
{
 for(new 
i=1;<= get_maxplayers() ;++)
 {
 
remove_balrog9(i);
 }
}
public 
dr_item(iditemtipo)
{
 if( 
tipo != KNIFE )
 return;

 if( 
g_item != item )
 return;

 
get_balrog9(id);
 return;

public 
plugin_natives ( )
{
 
register_native "give_barlog9""get_balrog9");
}

public 
plugin_precache()
{
 
engfunc(EngFunc_PrecacheModelv_model)
 
engfunc(EngFunc_PrecacheModelp_model)
 
 for(new 
0sizeof(weapon_sound); i++)
 
engfunc(EngFunc_PrecacheSoundweapon_sound[i])
 
 
 
g_exp_sprid engfunc(EngFunc_PrecacheModelexp_spr)
 
g_exp_sprid2 engfunc(EngFunc_PrecacheModelexp_spr2)
}

public 
get_balrog9(id)
{
 
g_had_balrog9[id] = 1
 g_attack_mode
[id] = 0
 g_charged
[id] = 0
 g_charging
[id] = 0
 g_chargeattack
[id] = 0
 
 
if(get_user_weapon(id) == CSW_KNIFE
 {
 
Event_CurWeapon(id)
 
set_weapon_anim(idBALROG9_ANIM_DRAW)
 }
}


public 
remove_balrog9(id)
{
 
g_had_balrog9[id] = 0
 g_attack_mode
[id] = 0
 g_charged
[id] = 0
 g_charging
[id] = 
 g_chargeattack
[id] = 0
 
 remove_task
(id+TASK_CHARGE_STARTING)
 
remove_task(id+TASK_CHARGING)
}

public 
client_putinserver(id)
{
 if(
is_user_bot(id) && !g_bot)
 {
 
g_bot 1
 set_task
(0.1"Do_RegisterHamBot"id)
 }
}

public 
Do_RegisterHamBot(id)
{
 
RegisterHamFromEntity(Ham_TraceAttackid"fw_TraceAttack")
 
RegisterHamFromEntity(Ham_TraceAttackid"fw_TraceAttack_Post"1)
}

public 
Event_CurWeapon(id)
{
 if(!
is_user_alive(id))
 return 
1
 
if(get_user_weapon(id) != CSW_KNIFE)
 return 
1
 
if(!g_had_balrog9[id])
 return 
1
 
 set_pev
(idpev_viewmodel2v_model)
 
set_pev(idpev_weaponmodel2p_model)
 
 return 
0
}

public 
fw_Knife_SendAnim(entanimskip_local)
{
 if(!
pev_valid(ent))
 return 
HAM_IGNORED
 
 
new id
 id 
get_pdata_cbase(ent41 4)
 
 if(!
g_had_balrog9[id])
 return 
HAM_IGNORED
 
 
static Float:PunchAngles[3]
 
 if(
anim == KNIFE_ANIM_DRAW)
 {
 
set_weapons_timeidle(idDRAW_TIME)
 
set_player_nextattack(idDRAW_TIME
 
 
set_weapon_anim(idBALROG9_ANIM_DRAW)
 
Remove_OldStuff(id)
 } else if(
anim == KNIFE_ANIM_MIDSLASH1) {
 
PunchAngles[0] = random_float(-1.0, -2.0)
 
PunchAngles[1] = random_float(0.51.5)
 
PunchAngles[2] = 0.0
 
 set_pev
(idpev_punchanglePunchAngles)
 
set_weapon_anim(idBALROG9_ANIM_SLASH1)
 
Remove_OldStuff(id)
 } else if(
anim == KNIFE_ANIM_MIDSLASH2) {
 
PunchAngles[0] = random_float(-1.0, -2.0)
 
PunchAngles[1] = random_float(-0.5, -1.5)
 
PunchAngles[2] = 0.0
 
 set_pev
(idpev_punchanglePunchAngles)
 
set_weapon_anim(idBALROG9_ANIM_SLASH2)
 
Remove_OldStuff(id)
 } else if(
anim == KNIFE_ANIM_STAB_HIT) {
 
PunchAngles[0] = random_float(-0.50.5)
 
PunchAngles[1] = random_float(-0.5, -1.0)
 
PunchAngles[2] = 0.0
 
 set_pev
(idpev_punchanglePunchAngles)
 
 if(
g_chargeattack[id] == 2
 {
 
set_weapon_anim(idBALROG9_ANIM_CHARGE_ATTACK2)
 
set_task(0.1"Effect_ChargedAttack"id)
 } else 
set_weapon_anim(idBALROG9_ANIM_CHARGE_ATTACK1)
 } else if(
anim == KNIFE_ANIM_STAB_MISS) {
 
PunchAngles[0] = random_float(-0.50.5)
 
PunchAngles[1] = random_float(-0.5, -1.0)
 
PunchAngles[2] = 0.0
 
 
if(g_chargeattack[id] == 2
 {
 
set_weapon_anim(idBALROG9_ANIM_CHARGE_ATTACK2)
 
set_task(0.1"Effect_ChargedAttack"id)
 } else 
set_weapon_anim(idBALROG9_ANIM_CHARGE_ATTACK1)
 }

 return 
HAM_IGNORED
}

public 
Remove_OldStuff(id)
{
 
g_charging[id] = 0
 g_charged
[id] = 0
 g_chargeattack
[id] = 0

 remove_task
(id+TASK_CHARGE_STARTING)
 
remove_task(id+TASK_CHARGING
}

public 
Effect_ChargedAttack(id)
{
 static 
Float:Origin[3]
 
get_position(id36.00.00.0Origin)
 
 
// DLight
 
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
 
write_byte(27)
 
engfunc(EngFunc_WriteCoordOrigin[0])
 
engfunc(EngFunc_WriteCoordOrigin[1])
 
engfunc(EngFunc_WriteCoordOrigin[2])
 
write_byte(20)
 
write_byte(200)
 
write_byte(0)
 
write_byte(0)
 
write_byte(10)
 
write_byte(60)
 
message_end()
 
 
// Exp
 
message_begin(MSG_BROADCAST ,SVC_TEMPENTITY)
 
write_byte(TE_EXPLOSION)
 
engfunc(EngFunc_WriteCoordOrigin[0])
 
engfunc(EngFunc_WriteCoordOrigin[1])
 
engfunc(EngFunc_WriteCoordOrigin[2])
 
write_short(g_exp_sprid// sprite index
 
write_byte(1// scale in 0.1's
 
write_byte(2// framerate
 
write_byte(4// flags
 
message_end()
 
 
message_begin(MSG_BROADCAST ,SVC_TEMPENTITY)
 
write_byte(TE_EXPLOSION)
 
engfunc(EngFunc_WriteCoordOrigin[0])
 
engfunc(EngFunc_WriteCoordOrigin[1])
 
engfunc(EngFunc_WriteCoordOrigin[2])
 
write_short(g_exp_sprid2// sprite index
 
write_byte(7// scale in 0.1's
 
write_byte(30// framerate
 
write_byte(4// flags
 
message_end()
 
 
// Check Attack Damage
 //HamRadiusDamage(id, fm_get_user_weapon_entity(id, CSW_KNIFE), , , DMG_BURN)

 
for(new 0get_maxplayers(); i++)
 {
 if(!
is_user_alive(i))
 continue
 if(
id == i)
 continue
 if(
cs_get_user_team(i) == cs_get_user_team(id))
 continue
 if(
entity_range(iid) > float(CHARGE_EXPRADIUS))
 continue
 
 
ExecuteHamB(Ham_TakeDamageifm_get_user_weapon_entity(idCSW_KNIFE), idDAMAGE_CHARGEDMG_BLAST
 }
}

stock HamRadiusDamage(identFloat:radiusFloat:damagebits

 static 
targetFloat:origin[3
 
 
target = -1
 pev
(entpev_originorigin
    
 
while((target find_ent_in_sphere(targetoriginradius) )) 
 { 
 static 
Float:o[3
 
pev(targetpev_origino
        
 xs_vec_sub
(originoo
        
 
// Recheck if the entity is in radius 
 
if (xs_vec_len(o) > radius
 continue 
 
 if(
is_user_alive(target))
 {
 if(
id == target)
 continue
 if(
cs_get_user_team(id) == cs_get_user_team(target))
 continue
 }
        
 Ham_ExecDamageB
(targetentiddamage * (xs_vec_len(o) / radius), HIT_GENERICbits
 } 
}
  

stock Ham_ExecDamageB
(victiminflictorattackerFloat:damagehitgroupbits)
{
 static const 
Float:hitgroup_multi[] =
 {
 
1.0,  // HIT_GENERIC
 
4.0,  // HIT_HEAD
 
1.0,  // HIT_CHEST
 
1.25// HIT_STOMACH
 
1.0,  // HIT_LEFTARM
 
1.0,  // HIT_RIGHTARM
 
0.75// HIT_LEFTLEG
 
0.75,  // HIT_RIGHTLEG
 
0.0  // HIT_SHIELD
 

 
 
set_pdata_int(victim75hitgroup5)
 
ExecuteHamB(Ham_TakeDamagevictiminflictorattackerdamage hitgroup_multi[hitgroup], bits)


public 
fw_TraceAttack(entattackerFloat:DamageFloat:Dir[3], ptrDamageType)
{
 if(!
is_user_alive(attacker))
 return 
HAM_IGNORED
 
if(get_user_weapon(attacker) != CSW_KNIFE || !g_had_balrog9[attacker])
 return 
HAM_IGNORED
 
 
if(g_attack_mode[attacker] == MODE_NORMALSetHamParamFloat(3DAMAGE_SLASH)
 else if(
g_attack_mode[attacker] == MODE_CHARGESetHamParamFloat(3DAMAGE_CHARGE)
 
 return 
HAM_HANDLED
}

public 
fw_TraceAttack_Post(entattackerFloat:DamageFloat:Dir[3], ptrDamageType)
{
 if(!
is_user_alive(attacker))
 return 
HAM_IGNORED
 
if(get_user_weapon(attacker) != CSW_KNIFE || !g_had_balrog9[attacker])
 return 
HAM_IGNORED
 
if(g_attack_mode[attacker] == MODE_CHARGE
 {
 if(
g_chargeattack[attacker] == 2// Do KnockBack Here
 
{
 static 
Float:Origin[3]
 
pev(attackerpev_originOrigin)
 
 
hook_ent2(entOriginCHARGE_ATTACK_KNOCKPOWER2)
 }
 }
 
 return 
HAM_HANDLED
}

public 
fw_EmitSound(idchannel, const sample[], Float:volumeFloat:attnflagspitch)
{
 if(!
is_user_connected(id))
 return 
FMRES_IGNORED
 
if(get_user_weapon(id) != CSW_KNIFE || !g_had_balrog9[id])
 return 
FMRES_IGNORED
 
 
if(sample[8] == 'k' && sample[9] == 'n' && sample[10] == 'i')
 {
 if(
sample[14] == 's' && sample[15] == 'l' && sample[16] == 'a')
 {
 
set_weapons_timeidle(idNEXTATTACK_MISS)
 
set_player_nextattack(idNEXTATTACK_MISS)
 
 if(
g_attack_mode[id] == MODE_CHARGE)
 {
 if(
g_chargeattack[id] == 2)
 
emit_sound(idchannelweapon_sound[B9_CHARGE_ATTACK], volumeattnflagspitch)
 else
 
emit_sound(idchannelweapon_sound[random_num(B9_SLASH1B9_SLASH2)], volumeattnflagspitch)
 } else 
emit_sound(idchannelweapon_sound[random_num(B9_SLASH1B9_SLASH2)], volumeattnflagspitch)
 return 
FMRES_SUPERCEDE
 
}
 if (
sample[14] == 'h' && sample[15] == 'i' && sample[16] == 't'// hit
 
{
 if (
sample[17] == 'w'// wall
 
{
 
set_weapons_timeidle(idNEXTATTACK_HIT)
 
set_player_nextattack(idNEXTATTACK_HIT
 
 if(
g_attack_mode[id] == MODE_CHARGE)
 {
 if(
g_chargeattack[id] == 2)
 
emit_sound(idchannelweapon_sound[B9_CHARGE_ATTACK], volumeattnflagspitch)
 else
 
emit_sound(idchannelweapon_sound[B9_HITWALL], volumeattnflagspitch)
 } else 
emit_sound(idchannelweapon_sound[B9_HITWALL], volumeattnflagspitch)
 return 
FMRES_SUPERCEDE
 
} else {
 
set_weapons_timeidle(idNEXTATTACK_HIT)
 
set_player_nextattack(idNEXTATTACK_HIT)
 
 if(
g_attack_mode[id] == MODE_CHARGE)
 {
 if(
g_chargeattack[id] == 2)
 
emit_sound(idchannelweapon_sound[B9_CHARGE_ATTACK], volumeattnflagspitch)
 else
 
emit_sound(idchannelweapon_sound[random_num(B9_HIT1B9_HIT2)], volumeattnflagspitch)
 } else 
emit_sound(idchannelweapon_sound[random_num(B9_HIT1B9_HIT2)], volumeattnflagspitch)
 return 
FMRES_SUPERCEDE
 
}
 }
 if(
sample[14] == 's' && sample[15] == 't' && sample[16] == 'a'// stab
 
{
 if(
g_chargeattack[id] == 2)
 
emit_sound(idchannelweapon_sound[B9_CHARGE_ATTACK], volumeattnflagspitch)
 else
 
emit_sound(idchannelweapon_sound[random_num(B9_HIT1B9_HIT2)], volumeattnflagspitch)
 
 return 
FMRES_SUPERCEDE
 
}
 }
 
 return 
FMRES_IGNORED
}

public 
fw_CmdStart(iduc_handleseed)
{
 if (!
is_user_alive(id)) 
 return
 if(
get_user_weapon(id) != CSW_KNIFE)
 return
 if(!
g_had_balrog9[id])
 return
 
 static 
ent
 ent 
find_ent_by_owner(-1"weapon_knife"id)
 
 if(!
pev_valid(ent))
 return
 
 static 
CurButtonOldButton
 
 CurButton 
get_uc(uc_handleUC_Buttons)
 
OldButton = (pev(idpev_oldbuttons) & IN_ATTACK2)
 
 if(
CurButton IN_ATTACK)
 {
 if(
get_pdata_float(ent464) > 0.0 || get_pdata_float(ent474) > 0.0
 return
 
 
g_attack_mode[id] = MODE_NORMAL
 set_uc
(uc_handleUC_ButtonsCurButton & ~IN_ATTACK2)
 } else {
 if(
CurButton IN_ATTACK2
 {
 
set_uc(uc_handleUC_ButtonsCurButton & ~IN_ATTACK2)
 
set_uc(uc_handleUC_ButtonsCurButton & ~IN_ATTACK)
 
 if(
OldButton// Holding This Button
 
{
 if(
g_charging[id] == 2)
 {
 if(
get_pdata_float(ent464) > 0.0 || get_pdata_float(ent474) > 0.0
 return
 
 if(
g_charged[id])
 {
 
set_weapons_timeidle(id99999.0)
 
set_player_nextattack(id99999.0)
 
 if(
pev(idpev_weaponanim) != BALROG9_ANIM_CHARGE_IDLE2)
 
set_weapon_anim(idBALROG9_ANIM_CHARGE_IDLE2)
 } else {
 
set_weapons_timeidle(id99999.5)
 
set_player_nextattack(id9999.5)
 
 if(
pev(idpev_weaponanim) != BALROG9_ANIM_CHARGE_IDLE1)
 
set_weapon_anim(idBALROG9_ANIM_CHARGE_IDLE1)
 }
 }
 } 
 
 if(
get_pdata_float(ent464) > 0.0 || get_pdata_float(ent474) > 0.0
 return
 
 
remove_task(id+TASK_CHARGE_STARTING)
 
remove_task(id+TASK_CHARGING
 
 
g_attack_mode[id] = MODE_CHARGE
 g_charging
[id] = 1
 g_charged
[id] = 0
 g_chargeattack
[id] = 1
 
 set_weapons_timeidle
(idCHARGE_STARTTIME 0.25)
 
set_player_nextattack(idCHARGE_STARTTIME 0.25)
 
 
set_weapon_anim(idBALROG9_ANIM_CHARGE_START)
 
 
set_task(CHARGE_STARTTIME"Do_HoldCharge"id+TASK_CHARGE_STARTING)
 
set_task(CHARGE_TIME"Do_SetCharge"id+TASK_CHARGING)
 } else {
 if(
OldButton// After Press this Button (no Hold)
 
{
 if(
g_charging[id] == 2)
 {
 if(
g_chargeattack[id])
 {
 
ExecuteHamB(Ham_Weapon_SecondaryAttackent)
 
 
set_weapons_timeidle(idCHARGE_NEXTATTACK)
 
set_player_nextattack(idCHARGE_NEXTATTACK)
 
 
g_charging[id] = 0
 g_charged
[id] = 0
 g_chargeattack
[id] = 0
 
 remove_task
(id+TASK_CHARGE_STARTING)
 
remove_task(id+TASK_CHARGING)
 }
 }
 }
 }
 }
}

public 
Do_SetCharge(id)
{
 
id -= TASK_CHARGING
 
 
if(!is_user_alive(id)) 
 return
 if(
get_user_weapon(id) != CSW_KNIFE)
 return
 if(!
g_had_balrog9[id])
 return
 
 
g_charging[id] = 2
 g_charged
[id] = 1
 g_chargeattack
[id] = 2
 
 set_weapons_timeidle
(id0.25)
 
set_player_nextattack(id0.25)
 
 
set_weapon_anim(idBALROG9_ANIM_CHARGE_FINISH
}

public 
Do_HoldCharge(id)
{
 
id -= TASK_CHARGE_STARTING
 
 
if(!is_user_alive(id)) 
 return
 if(
get_user_weapon(id) != CSW_KNIFE)
 return
 if(!
g_had_balrog9[id])
 return
 
 if(!(
pev(idpev_button) & IN_ATTACK2) && !(pev(idpev_oldbuttons) & IN_ATTACK2))
 {
 static 
ent
 ent 
find_ent_by_owner(-1"weapon_knife"id)
 
 if(!
pev_valid(ent))
 return 
 
 
ExecuteHamB(Ham_Weapon_SecondaryAttackent)
 
 
set_weapons_timeidle(idCHARGE_NEXTATTACK)
 
set_player_nextattack(idCHARGE_NEXTATTACK)
 
 
g_charging[id] = 0
 g_charged
[id] = 0
 g_chargeattack
[id] = 0
 
 remove_task
(id+TASK_CHARGE_STARTING)
 
remove_task(id+TASK_CHARGING)
 
 return
 }
 
 
g_charging[id] = 2
 g_chargeattack
[id] = 1
 g_charged
[id] = 0
 
 set_weapons_timeidle
(idCHARGE_TIME 0.25)
 
set_player_nextattack(idCHARGE_TIME 0.25)
 
 
set_weapon_anim(idBALROG9_ANIM_CHARGE_IDLE1
}

public 
fw_TraceLine(Float:vector_start[3], Float:vector_end[3], ignored_monsteridhandle)
{
 if (!
is_user_alive(id))
 return 
FMRES_IGNORED 
 
if (get_user_weapon(id) != CSW_KNIFE)
 return 
FMRES_IGNORED
 
if(!g_had_balrog9[id])
 return 
FMRES_IGNORED
 
 
static Float:vecStart[3], Float:vecEnd[3], Float:v_angle[3], Float:v_forward[3], Float:view_ofs[3], Float:fOrigin[3]
 
 
pev(idpev_originfOrigin)
 
pev(idpev_view_ofsview_ofs)
 
xs_vec_add(fOriginview_ofsvecStart)
 
pev(idpev_v_anglev_angle)
 
 
engfunc(EngFunc_MakeVectorsv_angle)
 
get_global_vector(GL_v_forwardv_forward)

 if(
g_attack_mode[id] == MODE_NORMAL)
 
xs_vec_mul_scalar(v_forwardATTACKDIS_SLASHv_forward)
 else if(
g_attack_mode[id] == MODE_CHARGE)
 
xs_vec_mul_scalar(v_forwardATTACKDIS_CHARGEv_forward)
 
 
xs_vec_add(vecStartv_forwardvecEnd)
 
engfunc(EngFunc_TraceLinevecStartvecEndignored_monsteridhandle)
 
 return 
FMRES_SUPERCEDE
}

public 
fw_TraceHull(Float:vector_start[3], Float:vector_end[3], ignored_monsterhullidhandle)
{
 if (!
is_user_alive(id))
 return 
FMRES_IGNORED
 
if (get_user_weapon(id) != CSW_KNIFE)
 return 
FMRES_IGNORED
 
if(!g_had_balrog9[id])
 return 
FMRES_IGNORED
 
 
static Float:vecStart[3], Float:vecEnd[3], Float:v_angle[3], Float:v_forward[3], Float:view_ofs[3], Float:fOrigin[3]
 
 
pev(idpev_originfOrigin)
 
pev(idpev_view_ofsview_ofs)
 
xs_vec_add(fOriginview_ofsvecStart)
 
pev(idpev_v_anglev_angle)
 
 
engfunc(EngFunc_MakeVectorsv_angle)
 
get_global_vector(GL_v_forwardv_forward)

 if(
g_attack_mode[id] == MODE_NORMAL)
 
xs_vec_mul_scalar(v_forwardATTACKDIS_SLASHv_forward)
 else if(
g_attack_mode[id] == MODE_CHARGE)
 
xs_vec_mul_scalar(v_forwardATTACKDIS_CHARGEv_forward)
 
 
xs_vec_add(vecStartv_forwardvecEnd)
 
engfunc(EngFunc_TraceHullvecStartvecEndignored_monsterhullidhandle)
 
 return 
FMRES_SUPERCEDE
}

stock get_position(entFloat:forwFloat:rightFloat:upFloat:vStart[])
{
 new 
Float:vOrigin[3], Float:vAngle[3], Float:vForward[3], Float:vRight[3], Float:vUp[3]
 
 
pev(entpev_originvOrigin)
 
pev(entpev_view_ofs,vUp//for player
 
xs_vec_add(vOrigin,vUp,vOrigin)
 
pev(entpev_v_anglevAngle// 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 set_weapons_timeidle(idFloat:TimeIdle)
{
 if(!
is_user_alive(id))
 return
 
 new 
entwpn fm_get_user_weapon_entity(idCSW_KNIFE)
 if (
pev_valid(entwpn)) 
 {
 
set_pdata_float(entwpn46TimeIdle4)
 
set_pdata_float(entwpn47TimeIdle4)
 
set_pdata_float(entwpn48TimeIdle 1.04)
 }
}

stock set_player_nextattack(idFloat:nexttime)
{
 if(!
is_user_alive(id))
 return
 
 const 
m_flNextAttack 83
 set_pdata_float
(idm_flNextAttacknexttime5)
}

stock set_weapon_anim(idanim)
{
 if(!
is_user_alive(id))
 return
 
 
set_pev(idpev_weaponanimanim)
 
 
message_begin(MSG_ONE_UNRELIABLESVC_WEAPONANIM_id)
 
write_byte(anim)
 
write_byte(0)
 
message_end() 
}

stock hook_ent2(entFloat:VicOrigin[3], Float:speedtype)
{
 static 
Float:fl_Velocity[3]
 static 
Float:EntOrigin[3]
 
 
pev(entpev_originEntOrigin)
 static 
Float:distance_f
 distance_f 
get_distance_f(EntOriginVicOrigin)
 
 new 
Float:fl_Time distance_f speed
 
 VicOrigin
[2] -= 36.0
 
 
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) * 1.5
 
} 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) * 1.5
 
}

 
entity_set_vector(entEV_VEC_velocityfl_Velocity)
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1049\\ f0\\ fs16 \n\\ par }
*/ 


Fotos:
[Imagen: 20200701210640-1.jpg]
[Imagen: 20200701210644-1.jpg]
[Imagen: 20200701210652-1.jpg]
[Imagen: 20200701210654-1.jpg]
[Imagen: 20200701210659-1.jpg]
[Imagen: 20200701210703-1.jpg]
[Imagen: 20200701210706-1.jpg]
[Imagen: 20200701210708-1.jpg]
[Imagen: 20200701210712-1.jpg]
[Imagen: 20200701210713-1.jpg]
[Imagen: 20200701210717-1.jpg]
[Imagen: 20200701210720-1.jpg]
[Imagen: 20200701210726-1.jpg]
[Imagen: 20200701210734-1.jpg]
[Imagen: 20200701210738-1.jpg]
[Imagen: 20200701210750-1.jpg]
[Imagen: 20200701210752-1.jpg]
[Imagen: 20200701210817-1.jpg]
[Imagen: 20200701210827-1.jpg]
[Imagen: 20200701210834-1.jpg]
[Imagen: 20200701210632-1.jpg]



Evitar comentarios que no vayan en el post, por favor.

Sinceramente jamas lo probe en un server por cual le daré soporte a los errores.

Añado que para paises que no sean el mio solo cobro vía paypal, Interesados MP.
[Imagen: zcsztw-4.png] [Imagen: 6u5fj2-4.png]
[Imagen: linkedin_thumb_image.png][Imagen: 76561198283253977.png][Imagen: linkedin_thumb_image.png]
Responder
#2
Nice Bro! Suerte con la venta Lml
Responder
#3
Suerte con tu venta! Mario
Corazón I dream of someday being able to have your near. Corazón
[Imagen: 76561199006140497.png]
Responder
#4
Espero que lo vendas, suerte Nothingdohere

Responder
#5
nose pero me encanto ese diseño de titulo, con las letras separadas Gran sonrisa
Responder
#6
Suerte con tu venta. Me parece muy interesante Guiño
Responder
#7
Se ve bueno, suerte con tu venta !
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)