the knife model doesnt show no error's but when i switch to knife there is no models
Code:
// BlackKinght! - Clan -=][F.B.I][=-'s Laser Guy with much stuff
/* CVARS - copy and paste to shconfig.cfg
//BlackKinght
BlackKinght_level 18
BlackKinght_laser_ammo 300 //total # of shots given each round
BlackKinght_laser_burndecals 1 //Show the burn decals on the walls
BlackKinght_cooldown 0.0 //Cooldown timer between shots
BlackKinght_mulishot 0.0 //Delay for multishots on holding key down
BlackKinght_gravity 0.65 //Gravity
BlackKinght_health 250 //Starting Health
BlackKinght_armor 250 //Starting Armor
BlackKinght_speed 800 //Running Speed
*/
#include <amxmod>
#include <superheromod>
#include <Vexd_utilities>
// Damage Variables
#define h1_dam 20 //head
#define h2_dam 15 //body
#define h3_dam 15 //stomach
#define h4_dam 10 //arm
#define h6_dam 10 //leg
// GLOBAL VARIABLES
new smoke, laser, laser_shots[SH_MAXSLOTS+1]
new bool:g_hasBlackKinghtPower[SH_MAXSLOTS+1]
new gLastWeapon[SH_MAXSLOTS+1]
new gHeroName[]="Black Kinght"
static const burn_decal[5] = {199,200,201,202,203}
//----------------------------------------------------------------------------------------------
public plugin_init()
{
// Plugin Info
register_plugin("SUPERHERO Black Kinght","1.17.5","AssKicR/Batman/JTP10181 & KebmasteR")
// DO NOT EDIT THIS FILE TO CHANGE CVARS, USE THE SHCONFIG.CFG
register_cvar("BlackKinght_level", "18" )
register_cvar("BlackKinght_laser_ammo", "300") // total # of shots...
register_cvar("BlackKinght_laser_burndecals", "1")
register_cvar("BlackKinght_cooldown", "0.0" )
register_cvar("BlackKinght_mulishot", "0.0" ) //Delay for multishots on holding key down
register_cvar("BlackKinght_gravity", "0.65")
register_cvar("BlackKinght_armor", "250")
register_cvar("BlackKinght_health", "250")
register_cvar("BlackKinght_speed", "800")
register_cvar("BlackKinght_knifemult", "3.0" )
// FIRE THE EVENT TO CREATE THIS SUPERHERO!
shCreateHero(gHeroName, "hp/ap/speed/laser", "Press the +power key to fire your laser beam , get hp/ap/speed and knife dmg", true, "BlackKinght_level" )
// REGISTER EVENTS THIS HERO WILL RESPOND TO! (AND SERVER COMMANDS)
register_event("ResetHUD","newRound","b")
// KEY DOWN
register_srvcmd("BlackKinght_kd", "BlackKinght_kd")
shRegKeyDown(gHeroName, "BlackKinght_kd")
register_srvcmd("BlackKinght_ku", "BlackKinght_ku")
shRegKeyUp(gHeroName, "BlackKinght_ku")
// INIT
register_srvcmd("BlackKinght_init", "BlackKinght_init")
shRegHeroInit(gHeroName, "BlackKinght_init")
// DEATH
register_event("DeathMsg", "BlackKinght_death", "a")
// Let Server know about BlackKinghts Variable
// It is possible that another hero has more hps, less gravity, or more armor
// so rather than just setting these - let the superhero module decide each round
shSetMaxHealth(gHeroName, "BlackKinght_health" )
shSetMinGravity(gHeroName, "BlackKinght_gravity" )
shSetMaxArmor(gHeroName, "BlackKinght_armor" )
shSetMaxSpeed(gHeroName, "BlackKinght_speed", "[0]" )
}
//----------------------------------------------------------------------------------------------
public plugin_precache()
{
smoke = precache_model("sprites/steam1.spr")
laser = precache_model("sprites/laserbeam.spr")
precache_sound("weapons/electro5.wav")
precache_sound("weapons/xbow_hitbod2.wav")
precache_model("models/shmod/BlackKnight_v_knife.mdl")
}
//----------------------------------------------------------------------------------------------
public BlackKinght_init()
{
new temp[128]
// First Argument is an id
read_argv(1,temp,5)
new id = str_to_num(temp)
// 2nd Argument is 0 or 1 depending on whether the id has BlackKinght powers
read_argv(2,temp,5)
new hasPowers=str_to_num(temp)
g_hasBlackKinghtPower[id] = (hasPowers!=0)
if (g_hasBlackKinghtPower[id]) {
gPlayerUltimateUsed[id] = false
laser_shots[id] = get_cvar_num("BlackKinght_laser_ammo")
}
}
//----------------------------------------------------------------------------------------------
public BlackKinght_death()
{
new id = read_data(2)
if ( id < 0 || id > SH_MAXSLOTS ) return
remove_task(id+25735)
}
//----------------------------------------------------------------------------------------------
public BlackKinght_damage(id)
{
if (!shModActive() ) return PLUGIN_CONTINUE
new damage = read_data(2)
new weapon, bodypart, attacker = get_user_attacker(id, weapon, bodypart)
if ( attacker <=0 || attacker>SH_MAXSLOTS ) return PLUGIN_CONTINUE
if ( g_hasBlackKinghtPower[attacker] && weapon == CSW_KNIFE && is_user_alive(id) )
{
// do extra damage
new extraDamage = floatround(damage * get_cvar_float("BlackKinght_knifemult") - damage)
shExtraDamage( id, attacker, extraDamage, "Sabre Skill" )
}
return PLUGIN_CONTINUE
}
//----------------------------------------------------------------------------------------------
public newRound(id)
{
if ( !hasRoundStarted() ) {
laser_shots[id] = get_cvar_num("BlackKinght_laser_ammo")
gPlayerUltimateUsed[id] = false
}
}
//----------------------------------------------------------------------------------------------
public knife(id) {
if ( !is_user_alive(id) ) return PLUGIN_CONTINUE
Entvars_Set_String(id, EV_SZ_viewmodel, "models/shmod/BlackKnight_v_knife.mdl")
new iCurrent
iCurrent = FindEntity(-1,"weapon_knife")
while(iCurrent != -1) {
iCurrent = FindEntity(iCurrent,"weapon_knife")
}
return PLUGIN_HANDLED
}
//----------------------------------------------------------------------------------------------
// RESPOND TO KEYDOWN
public BlackKinght_kd()
{
if ( !hasRoundStarted() ) return PLUGIN_HANDLED
// First Argument is an id with BlackKinght Powers!
new temp[6]
read_argv(1,temp,5)
new id = str_to_num(temp)
if ( !is_user_alive(id) ) return PLUGIN_HANDLED
if ( laser_shots[id] <= 0 ) {
client_print(id,print_center,"No BlackKinght Shots Left" )
playSoundDenySelect(id)
return PLUGIN_HANDLED
}
if ( gPlayerUltimateUsed[id] ) {
playSoundDenySelect(id)
return PLUGIN_HANDLED
}
// Remember this weapon...
new clip,ammo,weaponID = get_user_weapon(id,clip,ammo)
gLastWeapon[id] = weaponID
// switch to knife
engclient_cmd(id,"weapon_knife")
fire_laser(id) // 1 immediate shot
if (get_cvar_float("BlackKinght_mulishot") > 0.0)
set_task( get_cvar_float("BlackKinght_mulishot"), "fire_laser_task", id+25735, "", 0, "b") //delayed shots
return PLUGIN_HANDLED
}
//----------------------------------------------------------------------------------------------
public BlackKinght_ku()
{
// First Argument is an id with BlackKinght Powers!
new temp[6]
read_argv(1,temp,5)
new id = str_to_num(temp)
remove_task(id+25735)
// Use the ultimate
ultimateTimer(id, get_cvar_float("BlackKinght_cooldown") )
// Switch back to previous weapon...
if ( gLastWeapon[id] != CSW_KNIFE ) shSwitchWeaponID( id, gLastWeapon[id] )
}
//----------------------------------------------------------------------------------------------
public laserEffects(id, aimvec[3] )
{
new origin[3]
new decal_id = burn_decal[random_num(0,4)]
emit_sound(id,CHAN_ITEM, "weapons/electro5.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
get_user_origin(id, origin, 1)
// DELIGHT
message_begin( MSG_BROADCAST,SVC_TEMPENTITY)
write_byte( 27 )
write_coord( origin[0] ) //pos
write_coord( origin[1] )
write_coord( origin[2] )
write_byte( 10 )
write_byte( 250 ) // r, g, b
write_byte( 0 ) // r, g, b
write_byte( 0 ) // r, g, b
write_byte( 2 ) // life
write_byte( 1 ) // decay
message_end()
//BEAMENTPOINTS
message_begin( MSG_BROADCAST,SVC_TEMPENTITY)
write_byte ( 0 ) //TE_BEAMENTPOINTS 0
write_coord(origin[0])
write_coord(origin[1])
write_coord(origin[2])
write_coord(aimvec[0])
write_coord(aimvec[1])
write_coord(aimvec[2])
write_short( laser )
write_byte( 1 ) // framestart
write_byte( 5 ) // framerate
write_byte( 2 ) // life
write_byte( 40 ) // width
write_byte( 0 ) // noise
write_byte( 250 ) // r, g, b
write_byte( 0 ) // r, g, b
write_byte( 0 ) // r, g, b
write_byte( 200 ) // brightness
write_byte( 200 ) // speed
message_end()
//Sparks
message_begin( MSG_PVS, SVC_TEMPENTITY)
write_byte( 9 )
write_coord( aimvec[0] )
write_coord( aimvec[1] )
write_coord( aimvec[2] )
message_end()
//Smoke
message_begin( MSG_BROADCAST,SVC_TEMPENTITY)
write_byte( 5 ) // 5
write_coord(aimvec[0])
write_coord(aimvec[1])
write_coord(aimvec[2])
write_short( smoke )
write_byte( 22 ) // 10
write_byte( 10 ) // 10
message_end()
if(get_cvar_num("BlackKinght_laser_burndecals") == 1) {
//TE_GUNSHOTDECAL
message_begin( MSG_BROADCAST,SVC_TEMPENTITY)
write_byte( 109 ) // decal and ricochet sound
write_coord( aimvec[0] ) //pos
write_coord( aimvec[1] )
write_coord( aimvec[2] )
write_short (0) // I have no idea what thats supposed to be
write_byte (decal_id) //decal
message_end()
}
}
//----------------------------------------------------------------------------------------------
public fire_laser_task(id) {
id -= 25735
fire_laser(id)
}
//----------------------------------------------------------------------------------------------
public fire_laser(id)
{
new aimvec[3]
new tid,tbody
new FFOn = get_cvar_num("mp_friendlyfire")
if( !is_user_alive(id) ) return PLUGIN_HANDLED
if ( laser_shots[id] <= 0 ) {
client_print(id,print_center,"No BlackKinght Shots Left" )
playSoundDenySelect(id)
return PLUGIN_HANDLED
}
// Make sure still on knife
new clip,ammo,weaponID = get_user_weapon(id,clip,ammo)
if ( weaponID != CSW_KNIFE ) engclient_cmd(id,"weapon_knife")
// Warn How many Blasts Left...
laser_shots[id]--
if(laser_shots[id] < 6) client_print(id,print_center,"Warning: %d BlackKinght Shots Left", laser_shots[id] )
get_user_origin(id,aimvec,3)
laserEffects(id, aimvec)
get_user_aiming(id,tid,tbody,9999)
if( tid > 0 && tid < 33 && ( FFOn || get_user_team(id)!=get_user_team(tid) ) )
{
emit_sound(tid,CHAN_BODY, "weapons/xbow_hitbod2.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
// Determine the damage
new damage
switch(tbody) {
case 1: damage = h1_dam
case 2: damage = h2_dam
case 3: damage = h3_dam
case 4: damage = h4_dam
case 5: damage = h4_dam
case 6: damage = h6_dam
case 7: damage = h6_dam
}
// Deal the damage...
shExtraDamage(tid, id, damage, "BlackKinght Laser")
}
return PLUGIN_CONTINUE
}
//----------------------------------------------------------------------------------------------
public client_disconnect(id)
{
// stupid check but lets see
if ( id <=0 || id > 32 ) return
// Yeah don't want any left over residuals
remove_task(id+25735)
}
//----------------------------------------------------------------------------------------------
Srry about other post plz delete the other one i put it in wrong section.srry again