New Member
- Joined
- Jan 14, 2009
- Messages
- 25
- Best answers
- 0
Okay, I'm okay at making characters with the CCI, but, how can I add custom attacks. I mean attacks like, Big Band Kamehameha, Ultimate Sacrifice, etc?
In this code we have a normal kamehameha and a super kamehameha.#define MOD_WEAPON_DBG 0
// >> ARG_BYTE int
// >> ARG_CHAR int
// >> ARG_SHORT int
// >> ARG_LONG int
// >> ARG_ANGLE float
// >> ARG_COORD float
// >> ARG_STRING string
// >> ARG_ENTITY int
stock SPR_SHINE; // Shine
stock SPR_KAME_S; // Kamehameha Beam Head
stock SPR_KAME_E; // Kamehameha Beam End
stock SPR_KAME_T; // Kamehameha Beam Trail
stock ICON_BIGBANG;
stock C_ICON_BIGBANG;
stock MOD_Weapon_PreCache ()
{
SPR_SHINE = precache_model( "sprites/ecx.shine.spr" );
SPR_KAME_S = precache_model( "sprites/ecx-xp.bluekame_s.spr" );
SPR_KAME_E = precache_model( "sprites/ecx-xp.bluekame_s.spr" );
SPR_KAME_T = precache_model( "sprites/ecx-xp.bluekame_t.spr" );
ICON_BIGBANG = getIconINDEX( "weapon_finalflash" );
C_ICON_BIGBANG = createCustomICON( "c_weapon_sukame", { 4, 4 } );
}
public @IconUpdate ( Client, Level )
{
replaceClientICON( Client, C_ICON_BIGBANG, ICON_BIGBANG );
}
public @BaseWeaponCreation ( Client, BaseWeapon, const Name[] )
{
if ( equal( Name, "weapon_kamehameha" ) )
{
setBeamChargeTime( BaseWeapon, 11 );
setBeamChargeKi( BaseWeapon, 35 );
setBeamSpeed( BaseWeapon, 1000 );
}
if ( equal( Name, "weapon_finalflash" ) )
{
setBeamChargeTime( BaseWeapon, 40 );
setBeamChargeKi( BaseWeapon, 15 );
setBeamSpeed( BaseWeapon, 800 );
}
}
public @WeaponAdjust ( Client, Weapon, const Class[] )
{
/**
0 - Blue
1 - Green
2 - Orange
3 - Purple
4 - Yellow
5 - Red
6 - White
7 - None
**/
if ( equal( Class, "kamehameha" ) )
{
setWeaponXPC( 0 );
setWeaponXPM( 4.5 );
// Kamehameha
setWeaponDMG( 15.0, 150.0, 0.04 );
}
else if ( equal( Class, "finalflash" ) )
{
setWeaponXPC( 0 );
setWeaponXPM( 6.0 );
// super Kamehameha
setWeaponDMG( 10.0, 300.0, 0.04 );
}
}
public @WeaponBeam ( Client, Weapon, const Class[], Size )
{
/**
1 - LONG - Client ??? - do not edit
2 - LONG - Weapon - do not edit
3 - BYTE - Client ??? - do not edit
4 - SHORT - Head Start A
5 - SHORT - Head Start B
6 - SHORT - Head End A
7 - SHORT - Head End B
8 - SHORT - Trail
9 - BYTE - Size
10 - BYTE - Segement Length ???
11 - COORD - X - do not edit
12 - COORD - Y - do not edit
13 - COORD - Z - do not edit
**/
if ( equal( Class, "finalflash" ) )
{
set_msg_arg_int( 4, ARG_SHORT, SPR_SHINE );
set_msg_arg_int( 5, ARG_SHORT, SPR_KAME_S );
set_msg_arg_int( 6, ARG_SHORT, SPR_KAME_S );
set_msg_arg_int( 7, ARG_SHORT, SPR_KAME_S );
set_msg_arg_int( 8, ARG_SHORT, SPR_KAME_T );
set_msg_arg_int( 9, ARG_BYTE, 10 );
}
else if ( equal( Class, "kamehameha" ) )
{
set_msg_arg_int( 4, ARG_SHORT, SPR_SHINE );
set_msg_arg_int( 5, ARG_SHORT, SPR_KAME_S );
set_msg_arg_int( 6, ARG_SHORT, SPR_KAME_S );
set_msg_arg_int( 7, ARG_SHORT, SPR_KAME_S );
set_msg_arg_int( 8, ARG_SHORT, SPR_KAME_T );
set_msg_arg_int( 9, ARG_BYTE, 5 );
}
}
public @WeaponDeath ( Client, Killer, const Weapon[] )
{
/**
1 - BYTE - Killer - do not edit
2 - BYTE - Client - do not edit
3 - STRING - Weapon
**/
if ( equal( Weapon, "finalflash" ) )
set_msg_arg_string( 3, "Super Kamehameha" );
}