diff --git a/plugins/esf/EvolutionX.Core.sma b/plugins/esf/EvolutionX.Core.sma new file mode 100755 index 00000000..83dbfc28 --- /dev/null +++ b/plugins/esf/EvolutionX.Core.sma @@ -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 +#include +#include + +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; +} \ No newline at end of file diff --git a/plugins/include/esf.inc b/plugins/include/esf.inc index 1cf4b2cb..cd679037 100755 --- a/plugins/include/esf.inc +++ b/plugins/include/esf.inc @@ -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 +#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 ); \ No newline at end of file