NightCrawler Pro
- v0.0.5, updated at : 23/03/2025
First of all, i must leave credits on Exolent[jNr] for making this awesome mod several years ago.
I decided to make my own remake of this mod because i wanted to make it fresh with modificated weapons.
Plus, since i am using on a multi-mod server i needed to make the game 1:1 ratio to allow more nightcrawlers per round.
Gameplay
Humans vs Nightcrawlers. Humans get weapons and must survive the whole round.
Nightcrawlers are invisible, can climb walls by pressing E (+USE) and can teleport by pressing F (impulse 100).
The wallhang is clean allowing the player to "surf" the wall making cool jumps to hit & run.
Now, after version 0.0.5, you can add extra items for humans and swords for nightcrawlers. Items, if can be triggered with F (flashlight, impulse 100).
What changes from Exolent version?
Api that allows to add special weapons like zombie weapons
1:1 ratio
A lot of bug fixes like humans could be invisible or laser gun crash
What features are included?
Autojoin
Autoteam balance (safe)
Player Model change
You can replace Knife model & sounds via configuration file
Life Steal Sword & Curse Sword (Blind effect)
Medic Kit & Adrenaline Items.
A lot of stuff. Check configuration file
Configuration file:
Code:
; If 1 player will autojoin
AUTO_JOIN_TEAM 1
; Game Name
GAME_NAME "NightCrawlers Pro"
; Ignore Fall Damage
IGNORE_FALLDAMAGE 1
; Set Human Values now
HUMAN_SPEED_FLOAT 325.0
HUMAN_GRAVITY_FLOAT 750.0
HUMAN_HEALTH 200
; Now NightCrawler Values
NC_SPEED_FLOAT 375.0
NC_GRAVITY_FLOAT 575.0
NC_HEALTH 200
NC_TELEPORTS 3
; The amount of time a Nightcrawler stays
; visible after receive damage
VISIBLE_TIME_FLOAT 1.0
; How much seconds player must wait until
; receive the teleports after get spawned
TP_SPAWN_DELAY_FLOAT 5.0
; Speed when crawling the walls
CRAWL_SPEED 550
; Models now
MODEL_NIGHTCRAWLER nightcrawler_nc
MODEL_HUMAN nightcrawler_ct
MODEL_KNIFE models/v_nightcrawler-sword.mdl
; Sounds
; Win Sounds
SOUND_NC_WIN nightcrawlers/nc_win.wav
SOUND_HUMAN_WIN nightcrawlers/human_win.wav
; Misc Sounds
SOUND_PAIN nightcrawlers/pain.wav
SOUND_TELEPORT nightcrawlers/teleport.wav
; Death Sounds - We start from 0 because i am lazy
DEATH_SOUND_0 nightcrawlers/nc_death1.wav
DEATH_SOUND_1 nightcrawlers/nc_death2.wav
DEATH_SOUND_2 nightcrawlers/nc_death3.wav
DEATH_SOUND_3 nightcrawlers/nc_death4.wav
; Knife Sounds - We start from 0 because i am really lazy
KNIFE_SOUND_0 nightcrawlers/sword_strike1.wav
KNIFE_SOUND_1 nightcrawlers/sword_strike1.wav
KNIFE_SOUND_2 nightcrawlers/sword_strike1.wav
KNIFE_SOUND_3 nightcrawlers/sword_strike1.wav
KNIFE_SOUND_4 nightcrawlers/sword_strike2.wav
KNIFE_SOUND_5 weapons/knife_slash1.wav
KNIFE_SOUND_6 weapons/knife_slash2.wav
KNIFE_SOUND_7 nightcrawlers/sword_strike4.wav
include file:
PHP Code:
#if defined _nightcrawlers_included
#endinput
#endif
#define _nightcrawlers_included
enum {
Primary_Weapon,
Secondary_Weapon
}
/**
* Registers Weapons
*
* @param szName Class Name
* @param Secondary Primary = 0 | Secondary = 1
* @param szFlag Flag required to use the Weapon
* @param szFlagDesc Description - ie. "VIP"
* @return An internal Weapon Class ID
*/
native nc_register_weapon(const szName[], Secondary, const szFlag[], const szFlagDescription[])
/**
* Registers Items
*
* @param szName Class Name
* @param szFlag Flag required to use the Weapon
* @param szFlagDesc Description - ie. "VIP"
* @return An internal Weapon Class ID
*/
native nc_register_item(const szName[], const szFlag[], const szFlagDescription[])
/**
* Registers Swords
*
* @param szName Class Name
* @param szFlag Flag required to use the Weapon
* @param szFlagDesc Description - ie. "VIP"
* @return An internal Weapon Class ID
*/
native nc_register_sword(const szName[], const szFlag[], const szFlagDescription[])
/**
* Get User Human
*
* @param Id Player Index
* @return 1/0 1- Human | 0- NightCrawler
*/
native nc_is_user_human(id)
/**
* Get User Speed
*
* @param Id Player Index
* @return Speed as Float value
*/
native Float:nc_get_user_speed(id)
/**
* Get User Speed
*
* @param Id Player Index
* @param fSpeed Speed Value as Float
*/
native nc_set_user_speed(id, Float:fSpeed)
/**
* Set User Gravity
*
* @param Id Player Index
* @return Speed as Float value
*/
native Float:nc_get_user_gravity(id)
/**
* Set User Gravity
*
* @param Id Player Index
* @param fSpeed Gravity Value as Float ie. 800.0 being default cs gravity
*/
native nc_set_user_gravity(id, Float:fGravity)
/**
* Called when a player choses his Primary/Secondary Weapons
*
* @param id Player's Index
* @param WeaponID INTERNAL Index of the Weapon. Required on sub-plugins
*/
forward nc_primary_selected(id, WeaponID)
forward nc_secondary_selected(id, WeaponID)
/**
* Called when a player choses his Sword
*
* @param id Player's Index
* @param WeaponID INTERNAL Index of the Sword. Required on sub-plugins
*/
forward nc_sword_selected(id, SwordID)
/**
* Called when a player choses his Item
*
* @param id Player's Index
* @param WeaponID INTERNAL Index of the Item. Required on sub-plugins
*/
forward nc_item_selected(id, ItemID)
/**
* Called when a player uses his Item
*
* @param id Player's Index
* @param WeaponID INTERNAL Index of the Item. Required on sub-plugins
*/
forward nc_item_used(id, ItemID)
/**
* Called when after player spawned and stuff assigned
*
* @param id Player's Index
*/
forward nc_spawn_post(id)
Amxx 1.9 version is Required.
The files were compiled under 1.9 amxx version.
If you use a higher version you must compile it locally.