Added Corona Byte's EvolutionX core

This commit is contained in:
David Anderson 2005-08-24 06:13:55 +00:00
parent d516824936
commit c1db39d086
2 changed files with 408 additions and 190 deletions

355
plugins/esf/EvolutionX.Core.sma Executable file
View File

@ -0,0 +1,355 @@
/***********************************************
[ Corona-Bytes.NET ] EvolutionX Core Plugin
(c) Corona - Bytes .NET coders :: coders@corona-bytes.net
> 2005 Corona Bytes :: http://www.corona-bytes.net
***********************************************/
#include <amxmodx>
#include <fakemeta>
#include <engine>
public plugin_natives ()
{
register_library( "EvolutionXCore" );
// >> [ PowerLevel ] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
register_native( "setClientSPL", "__setClientSPL" );
register_native( "setClientPL", "__setClientPL" );
register_native( "getClientPL", "__getClientPL" );
register_native( "setClientACPL", "__setClientACPL" );
register_native( "getClientACPL", "__getClientACPL" );
register_native( "setClientADPL", "__setClientADPL" );
register_native( "getClientADPL", "__getClientADPL" );
register_native( "setPLtoADPL", "__setPLtoADPL" );
// >> [ KineticEnergy ] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
register_native( "getClientKI", "__getClientKI" );
register_native( "setClientKI", "__setClientKI" );
// >> [ Health ] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
register_native( "setClientHP", "__setClientHP" );
register_native( "getClientHP", "__getClientHP" );
register_native( "setClientMHP", "__setClientMHP" );
register_native( "getClientMHP", "__getClientMHP" );
// >> [ Speed ] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
register_native( "setClientSPEED", "__setClientSPEED" );
register_native( "getClientSPEED", "__getClientSPEED" );
register_native( "setClientSWOOPSPEED", "__setClientSWOOPSPEED" );
register_native( "getClientSWOOPSPEED", "__getClientSWOOPSPEED" );
// >> [ Protect ] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
register_native( "setClientPROTECT", "__setClientPROTECT" );
register_native( "getClientPROTECT", "__getClientPROTECT" );
// >> [ Frozen ] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
register_native( "setClientFROZEN", "__setClientFROZEN" );
register_native( "getClientFROZEN", "__getClientFROZEN" );
// >> [ GoD ] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
register_native( "setClientGOD", "__setClientGOD" );
register_native( "getClientGOD", "__getClientGOD" );
// >> [ Fly ] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
register_native( "getClientFLY", "__getClientFLY" );
// >> [ Turbo ] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
register_native( "setClientHiddenTurbo", "__setClientHiddenTURBO" );
register_native( "getClientTURBO", "__getClientTURBO" );
// >> [ Block ] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
register_native( "getClientBLOCK", "__getClientBLOCK" );
// >> [ Powerup ] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
register_native( "setClientHiddenPOWERUP", "__setClientHiddenPOWERUP" );
register_native( "getClientPOWERUP", "__getClientPOWERUP" );
// >> [ ... ] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
register_native( "getClientSWOOPING", "__getClientSWOOPING" );
register_native( "getClientATKSHOOT", "__getClientATKSHOOT" );
register_native( "getClientATKCHARGE", "__getClientATKCHARGE" );
// >> Client in AdvancedMelee
register_native( "getClientMELEE", "__getClientMELEE" );
// >> Client is in thrown away
register_native( "getClientTHROWAWAY", "__getClientTHROWAWAY" );
// >> Client is in Throw
register_native( "getClientTHROW", "__getClientTHROW" );
// >> Client has been thrown into Wall / on Ground
register_native( "getClientWALLGND","__getClientWALLGND" );
// >> Client is in freefall like after jumping of ground
register_native( "getClientINFREEFALL", "__getClientINFREEFALL" );
// >> Client is in beamjump
register_native( "getClientBEAMJUMP", "__getClientBEAMJUMP" );
// [ MISC ] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
// kills a player without death or score messages
register_native( "silentClientKILL", "__skill" );
}
public plugin_init ( )
{
register_plugin( "<< CORE >>", "3.0", "<< Corona-Bytes.NET >>" );
}
// >> [ PowerLevel ] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
public __setClientSPL( )
{
set_pdata_int( get_param( 1 ) , 460, get_param( 2 ) );
set_pdata_int( get_param( 1 ) , 461, get_param( 2 ) );
}
public __setClientPL()
set_pdata_int( get_param( 1 ) , 460, get_param( 2 ) );
public __getClientPL()
return get_pdata_int( get_param( 1 ) , 460 );
public __setClientACPL()
set_pdata_int( get_param( 1 ) , 463, get_param( 2 ) );
public __getClientACPL()
return get_pdata_int( get_param( 1 ), 463 );
public __setClientADPL()
set_pdata_int( get_param( 1 ) , 461, get_param( 2 ) );
public __getClientADPL()
return get_pdata_int( get_param( 1 ), 461 );
public __setPLtoADPL()
{
set_pdata_int( get_param( 1 ) , 460, get_pdata_int( get_param( 1 ), 461 ));
return 1;
}
// >> [ KineticEnergy ] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
public __setClientKI()
{
entity_set_float( get_param( 1 ), EV_FL_fuser4, float( get_param( 2 ) ) );
}
public __getClientKI()
return floatround( entity_get_float( get_param( 1 ), EV_FL_fuser4 ) );
// >> [ Health ] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
public __setClientHP()
{
entity_set_float( get_param( 1 ), EV_FL_health, float( get_param( 2 ) ) );
message_begin( MSG_ONE, get_user_msgid("Health"), {0,0,0} , get_param( 1 ) );
write_byte( get_param( 2 ) );
message_end( );
}
public __getClientHP()
return floatround( entity_get_float( get_param( 1 ), EV_FL_health ) );
public __setClientMHP( )
{
set_pdata_int( get_param( 1 ) , 142, get_param( 2 ) );
message_begin( MSG_ONE, get_user_msgid( "MaxHealth" ), { 0, 0, 0 }, get_param( 1 ) );
write_byte( get_param( 2 ) );
message_end( );
}
public __getClientMHP( )
return get_pdata_int( get_param( 1 ) , 142 );
// >> [ Speed ] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
public __setClientSPEED()
set_pdata_int( get_param( 1 ) , 462, get_param( 2 ) );
public __getClientSPEED()
return get_pdata_int( get_param( 1 ) , 462 );
public __setClientSWOOPSPEED()
{
entity_set_float( get_param( 1 ), EV_FL_fuser1, float( get_param( 2 ) ) );
}
public __getClientSWOOPSPEED()
return floatround( entity_get_float( get_param( 1 ), EV_FL_fuser1 ) );
// >> [ Protect ] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
public __setClientPROTECT()
{
if ( get_param( 2 ) )
{
set_pdata_int( get_param( 1 ) , 301, 1, -89 );
//entity_set_float( get_param( 1 ), EV_FL_takedamage, 0.0 );
}
else
{
set_pdata_int( get_param( 1 ) , 301, 0, -89 );
//entity_set_float( get_param( 1 ), EV_FL_takedamage, 2.0 );
}
}
public __getClientPROTECT()
return get_pdata_int( get_param( 1 ) , 301 , -89 );
// >> [ Frozen ] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
public __setClientFROZEN()
{
if ( get_param( 2 ) )
entity_set_int( get_param( 1 ), EV_INT_flags, entity_get_int( get_param( 1 ), EV_INT_flags ) | FL_FROZEN );
else
entity_set_int( get_param( 1 ), EV_INT_flags, entity_get_int( get_param( 1 ), EV_INT_flags ) & ~FL_FROZEN );
}
public __getClientFROZEN()
return entity_get_int( get_param( 1 ), EV_INT_flags ) & FL_FROZEN;
// >> [ GoD ] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
public __setClientGOD()
{
if ( get_param( 2 ) )
entity_set_float( get_param( 1 ), EV_FL_takedamage, 0.0 );
else
entity_set_float( get_param( 1 ), EV_FL_takedamage, 2.0 );
}
public __getClientGOD()
{
if ( entity_get_float( get_param( 1 ), EV_FL_takedamage ) == 0.0 )
return 1;
return 0;
}
// >> [ Fly ] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
public __getClientFLY()
return get_pdata_int( get_param( 1 ) , 195 );
// >> [ Turbo ] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
public __setClientHiddenTURBO()
{
set_pdata_int(get_param( 1 ),196,get_param( 2 ));
return 1;
}
public __getClientTURBO()
return get_pdata_int( get_param( 1 ) , 196 );
// >> [ Block ] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
public __getClientBLOCK()
return get_pdata_int( get_param( 1 ) , 198 ); // << -
// >> [ Powerup ] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
public __setClientHiddenPOWERUP()
{
set_pdata_int(get_param( 1 ),199,get_param( 2 ));
return 1;
}
public __getClientPOWERUP( )
return get_pdata_int( get_param( 1 ) , 199 );
// >> [ ... ] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
public __getClientSWOOPING( )
return get_pdata_int( get_param( 1 ) , 317 );
public __getClientATKSHOOT( )
return get_pdata_int( get_param( 1 ) , 464 ) == 0 ? 1 : 0;
public __getClientATKCHARGE( )
return get_pdata_int( get_param( 1 ) , 200 );
// >> Client in AdvancedMelee
public __getClientMELEE( )
return get_pdata_int( get_param( 1 ) , 298 );
// >> Client is in thrown away
public __getClientTHROWAWAY( )
return get_pdata_int( get_param( 1 ) , 230 );
// >> Client is in Throw
public __getClientTHROW( )
return get_pdata_int( get_param( 1 ) , 300 );
// >> Client has been thrown into Wall / on Ground
public __getClientWALLGND( )
return get_pdata_int( get_param( 1 ) , 230 );
// >> Client is in freefall like after jumping of ground
public __getClientINFREEFALL( )
return get_pdata_int( get_param( 1 ) , 27, 4 );
// >> Client is in beamjump
public __getClientBEAMJUMP( )
return entity_get_int( get_param( 1 ), EV_INT_movetype ) == 15;
// [ MISC ] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
// kills a player without death or score messages
public __skill( )
{
new gmsgDeathMsg = get_user_msgid( "DeathMsg" );
new gmsgScoreInfo = get_user_msgid( "ScoreInfo" );
set_msg_block( gmsgDeathMsg, BLOCK_ONCE );
set_msg_block( gmsgScoreInfo, BLOCK_ONCE );
set_pdata_int( get_param( 1 ) , 301, 0, -89 );
entity_set_float( get_param( 1 ), EV_FL_takedamage, 2.0 );
// hack for the blood in evm
entity_set_float( get_param( 1 ), EV_FL_health, 1.0 );
message_begin( MSG_ONE, get_user_msgid("Health"), {0,0,0} , get_param( 1 ) );
write_byte( 1 );
message_end( );
// hack end
user_kill( get_param( 1 ), 1 );
entity_set_float( get_param( 1 ), EV_FL_frags, entity_get_float( get_param( 1 ), EV_FL_frags ) );
return 1;
}

View File

@ -1,207 +1,70 @@
/**
* (C)2004-2005 AMX Mod X Development Team
* based on the stocks and information provided by LynX
* organized and released by BAILOPAN
* This file is provided as is (no warranties).
*/
//Original author notice:
/* [ ESF stocks ] - made by LynX
Credits:
Jinto - for his first ESF stocks which he gave to me, and from which I learned
how to create stocks. Also, he learned me how to modify ESF
Without him, this wouldn't be possible.
*/
/***********************************************
#if defined _esf_included
[ Corona-Bytes.NET ] EvolutionX Core Plugin
(c) Corona - Bytes .NET coders :: coders@corona-bytes.net
> 2005 Corona Bytes :: http://www.corona-bytes.net
***********************************************/
#if defined __EVOLUTION_CORE__
#endinput
#endif
#define _esf_included
#define __EVOLUTION_CORE__
#include <esf_const>
#pragma library EvolutionXCore
#pragma library esfmod
native setClientPL ( Client, PowerLevel );
native getClientPL ( Client );
native setClientACPL ( Client, ActualPowerLevel );
native getClientACPL ( Client );
native setClientADPL ( Client, AfterDeathPowerLevel );
native getClientADPL ( Client );
native setClientSPL ( Client, PowerLevel );
native setClientPLtoADPL ( Client );
/**************************
* Main functions *********
**************************/
native setClientKI ( Client, Ki );
native getClientKI ( Client );
/* Returns a player's character class. */
native esf_get_class(player);
native setClientHP ( Client, Health );
native getClientHP ( Client );
native setClientMHP ( Client, MaximumHealth );
native getClientMHP ( Client );
/* Sets a player's class (experimental. */
native esf_set_class(player);
native setClientSPEED ( Client, Speed );
native getClientSPEED ( Client );
native setClientSWOOPSPEED ( Client, SwoopSpeed );
native getClientSWOOPSPEED ( Client );
/* Returns a player's ki.*/
native Float:esf_get_ki(player);
native setClientPROTECT ( Client, bool:Enable = true );
native getClientPROTECT ( Client );
/* Sets a player's ki (min=0, max=1000). */
native esf_set_ki(player, Float:ki);
native setClientFROZEN ( Client, bool:Enable = true );
native getClientFROZEN ( Client );
/* Gets a player's swooping speed. SWOOP, GRASP! */
native Float:esf_get_swoopspeed(player);
native setClientGOD ( Client, bool:Enable = true );
native getClientGOD ( Client );
/* Sets a player's swooping speed. */
native esf_set_swoopspeed(player, Float:speed);
native getClientFLY ( Client );
/* Sets a player's health. */
native esf_set_health(player, health);
native setClientHiddenTURBO ( Client, bool:Enable = true );
native getClientTURBO ( Client );
/* Creates a chargebar (0-100). */
native esf_set_chargebar(player, charge);
native getClientBLOCK ( Client );
/* Returns power level. */
native esf_get_powerlevel(player);
native setClientHiddenPOWERUP ( Client, bool:Enable = true );
native getClientPOWERUP ( Client );
/* Sets power level. */
native esf_set_powerlevel(player, power);
/* Returns speed. */
native esf_get_speed(player);
/* Sets speed. */
native esf_set_speed(player, speed);
/**************************
* Avatar functions *******
**************************/
native esf_set_avatar_model(id, const szModel[]);
native esf_has_avatar(id);
native esf_remove_avatar(id);
native esf_create_avatar(id);
/**************************
* Graphics functions *****
**************************/
/* Starts power-up sequence. */
native esf_start_powerup(player, iRed, iGreen, iBlue);
/* Stops power-up. */
native esf_stop_powerup(player);
/* Creates a generic ESF explosion. */
native esf_explosion(origin[3], radius, type = Explosion_White);
/* use character's TransformFX 1 message */
native esf_transformfx_1(id);
/* use characters TransformFX 2 message */
native esf_transformfx_2(id);
/* stop character's transform */
native esf_transformfx_off(id);
/**************************
* Animation based stuff **
**************************/
/* Checks if a player is swooping in a certain direction.
0 = any direction
*/
native esf_is_swooping(player, dir = 0);
/* Checks if player is in prepunch, or if player is being prepunched. */
native esf_is_prepunch(player);
/* Checks whether player is in stance to do a combo/punches. */
native esf_in_stance(player);
/* Checks if a player is stunned. */
native esf_is_stunned(player);
/* Checks if a player is grappling/in an adv. melee struggle. */
native esf_is_grappling(player);
/* Checks if a player is crushed against a wall. */
native esf_is_crushed(player);
/* Checks if a player is in a combo (1 or 2).
If the attacked is 1, checks if being attacked by this combo.
*/
native esf_in_combo(player, combo, attacked = 0);
/* Checks if a player is advanced meleeing. */
native esf_is_advmeleeing(player);
/* Checks if a player is being advanced meleed. */
native esf_is_advmeleed(player);
/* Checks if a player is in advanced melee. */
native esf_in_advmelee(player);
/* Checks if a player is blocking. */
native esf_is_blocking(player);
/* Checks if a player has kicked someone with basic melee. */
native esf_is_kicking(player);
/* Checks if a player has been kicked in basic melee. */
native esf_is_kicked(player);
/* Checks if a player is recovering from an attack. */
native esf_is_recovered(player, recovery);
/* Checks if a player is flying. */
native esf_is_flying(player);
/* Checks if a player is tumbling. */
native esf_is_tumbling(player);
/* Checks if a player is lying on the ground. */
native esf_is_lying(player);
/* Checks if a player has just died. */
native esf_has_died(player);
/* Checks if a player has a dragonball. */
native esf_has_dragonball(player);
/* Checks if a player just threw a dragonball. */
native esf_threw_dragonball(player);
/* Checks if a player is shooting. */
//1 = kiblast, 2 = generic beam
native esf_is_shooting(player, mode);
/* Checks if a player is transforming. */
native esf_transforming(player);
/* Checks if a player's transformation is done. */
native esf_transform_done(player);
/* Checks if a player has been thrown to the ground. */
native esf_groundthrown(player);
/* Gets the state of a player's attack.
You must specify the attack, and it will return 0,
Charging, Controlling, Shooting, or Shot (see #defines)
*/
native esf_get_shotstate(player, attack);
/* Checks if a player has been swung. */
native esf_is_swung(player);
/* Checks if a player has grabbed a wall. */
native esf_grabbedwall(player);
/* Checks if a player has jumped off a wall. */
native esf_walljumped(player);
/* Checks if a player is in water. */
native esf_in_water(player);
/* Checks if a player is powering up. */
native esf_is_powering(player);
/* Checks if a player is idling. */
native esf_is_idle(player);
/* Checks if a player is beam jumping. */
native esf_is_beamjumping(player);
native getClientSWOOPING ( Client );
native getClientATKSHOOT ( Client );
native getClientATKCHARGE ( Client );
native getClientMELEE ( Client );
native getClientTHROWAWAY ( Client );
native getClientTHROW ( Client );
native getClientWALLGND ( Client );
native getClientINFREEFALL ( Client );
native getClientBEAMJUMP ( Client );
// kills a player without score/death msg
native silentClientKILL ( Client );