Mensajes: 410
Temas: 9
Registro en: Apr 2015
Reputación:
5
06/10/2016, 08:36 PM
(Última modificación: 24/12/2018, 06:26 AM por SthoNy' . Edited 1 time in total.)
[ TTT ] Item: Target Gun
Descripción :
Libreria :
Código PHP:
#include <amxmodx> #include <hamsandwich> #include <engine> #include <cs_weapons_api> #include <fun> #include <amx_settings_api> #include <ttt>
Requerimientos :
Creditos :
Código :
Código PHP:
#include <amxmodx> #include <hamsandwich> #include <engine> #include <cs_weapons_api> #include <fun> #include <amx_settings_api> #include <ttt> #define WEAPON_CSWID CSW_DEAGLE #define WEAPON_NAME "weapon_deagle" new g_TargetGun , g_Glowing [ 33 ], g_Attacker [ 33 ], g_Count [ 33 ], g_pMsgScreeFade , g_pMsgScreeShake , g_MaxPlayers ; new g_szFiles [ 4 ][ TTT_FILELENGHT ], Cvars [ 10 ]; public plugin_precache () { const cantCases = 4 ; new szTypeFile [ 11 ], szPath [ 28 ]; for( new i = 0 ; i < cantCases ; i ++ ) { switch( i ) { case 0 : { szTypeFile = "MODEL_V" ; szPath = "models/ttt/v_targetgun.mdl" ; } case 1 : { szTypeFile = "MODEL_P" ; szPath = "models/ttt/p_targetgun.mdl" ; } case 2 : { szTypeFile = "MODEL_W" ; szPath = "models/ttt/w_targetgun.mdl" ; } case 3 : { szTypeFile = "SOUND_BEEP" ; szPath = "ttt/targetgun_beep.wav" ; } } if( ! amx_load_setting_string ( TTT_SETTINGSFILE , "TARGET GUN" , szTypeFile , g_szFiles [ i ], charsmax ( g_szFiles [])) ) { g_szFiles [ i ] = szPath ; amx_save_setting_string ( TTT_SETTINGSFILE , "TARGET GUN" , szTypeFile , g_szFiles [ i ]); } if( szTypeFile [ 0 ] == 'M' ) precache_model ( g_szFiles [ i ]); else precache_sound ( g_szFiles [ i ]); } } public plugin_init () { register_plugin ( "[TTT] Item: Target Gun" , TTT_VERSION , "SthoNy'" ); Cvars [ 0 ] = my_register_cvar ( "ttt_target_damage" , "300.0" , "Target gun explosion damage. (Default: 300.0)" ); Cvars [ 1 ] = my_register_cvar ( "ttt_target_radius" , "420.0" , "Target gun radius. (Default: 420.0)" ); Cvars [ 2 ] = my_register_cvar ( "ttt_target_clip" , "1" , "Target gun clip ammo. (Default: 1)" ); Cvars [ 3 ] = my_register_cvar ( "ttt_target_ammo" , "0" , "Target gun backpack ammo. (Default: 0)" ); Cvars [ 4 ] = my_register_cvar ( "ttt_target_speed" , "10.0" , "Target gun attack speed delay. (Default: 10.0)" ); Cvars [ 5 ] = my_register_cvar ( "ttt_target_reload" , "0.0" , "Target gun reload speed. (Default: 0.0)" ); Cvars [ 6 ] = my_register_cvar ( "ttt_target_recoil" , "0.0" , "Target gun recoil. (Default: 0.0)" ); Cvars [ 7 ] = my_register_cvar ( "ttt_price_target" , "2" , "Target gun price. (Default: 3)" ); Cvars [ 8 ] = my_register_cvar ( "ttt_max_targets" , "1" , "Maximum Target Gun per round. (Default: 1)" ); Cvars [ 9 ] = my_register_cvar ( "ttt_time_explode" , "3.0" , "Target gun time to explode (Default: 3.0)" ); g_MaxPlayers = get_maxplayers (); g_pMsgScreeFade = get_user_msgid ( "ScreenFade" ); g_pMsgScreeShake = get_user_msgid ( "ScreenShake" ); } public client_disconnect ( id ) remove_task ( id ); public ttt_plugin_cfg () g_TargetGun = ttt_buymenu_add ( "Target Gun" , get_pcvar_num ( Cvars [ 7 ]), PC_TRAITOR ); public ttt_gamemode ( gamemode ) { if( gamemode == GAME_ENDED || gamemode == GAME_RESTARTING || gamemode == GAME_PREPARING ) { for( new i = 1 ; i <= g_MaxPlayers ; i ++ ) { if( g_Glowing [ i ]) { g_Glowing [ i ] = false ; set_user_rendering ( i ); } remove_task ( i ); g_Count [ i ] = 0 ; } } } public ttt_item_selected ( id , item , name [], price ) { if( g_TargetGun == item ) { if( g_Count [ id ] < get_pcvar_num ( Cvars [ 8 ])) { if( user_has_weapon ( id , WEAPON_CSWID )) engclient_cmd ( id , "drop" , WEAPON_NAME ); static data [ STOREABLE_STRUCTURE ]; if(! data [ STRUCT_CSWA_CSW ]) { data [ STRUCT_CSWA_ITEMID ] = g_TargetGun ; data [ STRUCT_CSWA_CSW ] = WEAPON_CSWID ; data [ STRUCT_CSWA_CLIP ] = get_pcvar_num ( Cvars [ 2 ]); data [ STRUCT_CSWA_MAXCLIP ] = get_pcvar_num ( Cvars [ 2 ]); data [ STRUCT_CSWA_AMMO ] = get_pcvar_num ( Cvars [ 3 ]); data [ STRUCT_CSWA_STACKABLE ] = true ; data [ STRUCT_CSWA_SILENCED ] = - 1 ; data [ STRUCT_CSWA_SPEEDDELAY ] = _ : get_pcvar_float ( Cvars [ 4 ]); data [ STRUCT_CSWA_DAMAGE ] = _ : 0 ; data [ STRUCT_CSWA_RELOADTIME ] = _ : get_pcvar_float ( Cvars [ 5 ]); data [ STRUCT_CSWA_RECOIL ] = _ : get_pcvar_float ( Cvars [ 6 ]); data [ STRUCT_CSWA_MODEL_V ] = g_szFiles [ 0 ]; data [ STRUCT_CSWA_MODEL_P ] = g_szFiles [ 1 ]; data [ STRUCT_CSWA_MODEL_W ] = g_szFiles [ 2 ]; } cswa_give_specific ( id , data ); client_print_color ( id , print_team_default , "%s Compraste una !gTarget Gun!" , TTT_TAG ); g_Count [ id ]++; return PLUGIN_HANDLED ; } else { client_print_color ( id , print_team_default , "%s Limite maximo de !gTarget Guns !nalcanzado !g(!t%d!n por ronda!g)" , TTT_TAG , get_pcvar_num ( Cvars [ 8 ])); } } return PLUGIN_CONTINUE ; } public cswa_damage ( weapon_id , victim , attacker , Float : damage ) { if( get_weapon_edict ( weapon_id , REPL_CSWA_ITEMID ) == g_TargetGun ) { client_print_color ( victim , print_team_default , "%s Han introducido un !tProyectil Explosivo !nen ti, !gEXPLOTARAS!" , TTT_TAG ); g_Glowing [ victim ] = true ; g_Attacker [ victim ] = attacker ; set_user_rendering ( victim , kRenderFxGlowShell , 255 , 0 , 0 , kRenderNormal , 30 ); emit_sound ( victim , CHAN_AUTO , g_szFiles [ 3 ], 1.0 , ATTN_NORM , 0 , PITCH_NORM ); set_task ( get_pcvar_float ( Cvars [ 9 ]), "targetgun_Explode" , victim ); Set_user_screenfade ( victim , 255 , 0 , 0 , 2 , 100 ); shake_user_screen ( victim ); } } public targetgun_Explode ( id ) { if( ! is_user_alive ( id ) || ttt_get_gamemode () != GAME_STARTED || ! is_user_connected ( g_Attacker [ id ]) ) { remove_task ( id ); return PLUGIN_HANDLED ; } strip_user_weapons ( id ); Explode ( id ); CreateExplosion ( id ); remove_task ( id ); return PLUGIN_HANDLED ; } CreateExplosion ( id ) { static Float : origin [ 3 ]; entity_get_vector ( id , EV_VEC_origin , origin ); new victim = - 1 , Float : damage ; new Float : radius = get_pcvar_float ( Cvars [ 1 ]); new Float : dmg = get_pcvar_float ( Cvars [ 0 ]); while(( victim = find_ent_in_sphere ( victim , origin , radius )) != 0 ) { if( is_valid_ent ( victim ) && entity_get_float ( victim , EV_FL_takedamage ) != DAMAGE_NO ) { damage = ( dmg / radius )*( radius - entity_range ( id , victim )); if( damage > 0.0 && is_user_alive ( victim )) { ttt_set_playerdata ( victim , PD_KILLEDBYITEM , g_TargetGun ); ExecuteHam ( Ham_TakeDamage , victim , g_Attacker [ id ], g_Attacker [ id ], damage , DMG_BLAST ); entity_set_vector ( victim , EV_VEC_velocity , Float :{ 0.0 , 0.0 , 0.0 }); } } } ttt_set_playerdata ( id , PD_KILLEDBYITEM , g_TargetGun ); ExecuteHam ( Ham_TakeDamage , id , g_Attacker [ id ], g_Attacker [ id ], dmg , DMG_BLAST ); } Explode ( id ) { static origin [ 3 ]; get_user_origin ( id , origin , 0 ); message_begin ( MSG_BROADCAST , SVC_TEMPENTITY ); write_byte ( TE_TAREXPLOSION ); write_coord ( origin [ 0 ]); write_coord ( origin [ 1 ]); write_coord ( origin [ 2 ]); message_end (); } public Set_user_screenfade ( index , rrr , ggg , bbb , duracion , alpha ) { message_begin ( index ? MSG_ONE_UNRELIABLE : MSG_BROADCAST , g_pMsgScreeFade , _ , index ); write_short ( duracion * 4096 ); write_short ( duracion * 4096 ); write_short ( 0x0000 ); write_byte ( rrr ); write_byte ( ggg ); write_byte ( bbb ); write_byte ( alpha ); message_end ( ); } stock shake_user_screen ( index ) { message_begin ( MSG_ONE , g_pMsgScreeShake , { 0 , 0 , 0 }, index ); write_short ( 1 << 14 ); write_short ( 1 << 14 ); write_short ( 1 << 14 ); message_end (); }
Changelog: :
Archivos adjuntos
Descargar AMXX / ttt_item_target_gun.sma (Tamaño: 7.38 KB / Descargas: 102)
ttt_item_target_gun_Resources.rar (Tamaño: 733.63 KB / Descargas: 176)
Mensajes: 765
Temas: 46
Registro en: Jul 2016
Reputación:
5
Irga pero estas echando llama con los aportes xd
PD: Buen aporte
Idioma: [Extrangez]
Nivel de Amistad: [Depende de ti]
Aportes:
[Mapas]
zm_impressive
zm_laberim
zm_bunkeriM 28%
Made in Ven ezuela
Mensajes: 410
Temas: 9
Registro en: Apr 2015
Reputación:
5
Mensajes: 600
Temas: 101
Registro en: Jul 2014
Reputación:
1
Me gustan todo estos aportes :3 Sigue aportando asi este MOD.. GRACIAS
Mensajes: 410
Temas: 9
Registro en: Apr 2015
Reputación:
5
(06/10/2016, 09:32 PM) joluis81 escribió: Me gustan todo estos aportes :3 Sigue aportando asi este MOD.. GRACIAS
Gracias, apenas se me ocurra algo más lo aporto por aquí
Mensajes: 306
Temas: 11
Registro en: Aug 2016
Reputación:
6
Nunca eh visto algo asi
Sigue asi prro >
+10 lince
Mensajes: 410
Temas: 9
Registro en: Apr 2015
Reputación:
5
Gracias
Mensajes: 268
Temas: 28
Registro en: Dec 2013
Reputación:
3
Jamas vi esto en mi vida y mira que e visto plugins raros, Esta muy copado para un zp
Hello People!!!
Mensajes: 6,664
Temas: 81
Registro en: Jan 2014
Reputación:
68
Estaría bueno que le pongas el nombre aquí:
Código PHP:
client_print_color ( victim , print_team_default , "%s Han introducido un !tProyectil Explosivo !nen ti, !gEXPLOTARAS!" , TTT_TAG );
Y metele un id al task aquí:
Código PHP:
set_task ( 3.0 , "targetgun_Explode" , victim );
También deberías cambiar esos 3 segundos y que sean configurables por cvar, para que sea mas comodo :V
wut
Código PHP:
if( is_user_connected ( victim )) ttt_set_playerdata ( victim , PD_KILLEDBYITEM , g_TargetGun ); ExecuteHam ( Ham_TakeDamage , victim , id , id , damage , DMG_BLAST ); entity_set_vector ( victim , EV_VEC_velocity , Float :{ 0.0 , 0.0 , 0.0 }); if( is_user_alive ( victim )) ttt_set_playerdata ( victim , PD_KILLEDBYITEM , - 1 );
Cachea el msgid screen shake igual que el screen fade
Código PHP:
stock shake_user_screen ( index ) { message_begin ( MSG_ONE , get_user_msgid ( "ScreenShake" ), { 0 , 0 , 0 }, index ); // Shake Screen write_short ( 1 << 14 ); write_short ( 1 << 14 ); write_short ( 1 << 14 ); message_end (); }
► NO DOY AYUDA VIA MENSAJE PRIVADO ◄
* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
Mensajes: 3,238
Temas: 47
Registro en: Feb 2015
Reputación:
34
Este plugin me encantó ah, excelente aporte
Mensajes: 4,247
Temas: 94
Registro en: Mar 2014
Reputación:
58
Por más aportes que hagás te costará obtener esa medalla
Pero, igual se agradecen todos los aportes que has hecho
Estudia siempre; el tiempo es oro, lo material se puede recuperar pero el tiempo no se puede recuperar.
(02/10/2016, 05:05 PM) meTaLiCroSS escribió: Siempre me gusta ayudar cuando alguien esta interesado realmente en ver que esta programando. (08/08/2019, 05:32 PM) meTaLiCroSS escribió: grax x el dato cr4ck
Mis aportes
PLUGINS MAPAS
Menú LANG
[SF] Sistema de Frags
Say System (Admin Prefix)
Mensajes: 410
Temas: 9
Registro en: Apr 2015
Reputación:
5
(07/10/2016, 01:11 AM) kikizon2 escribió: Estaría bueno que le pongas el nombre aquí:
Código PHP:
client_print_color ( victim , print_team_default , "%s Han introducido un !tProyectil Explosivo !nen ti, !gEXPLOTARAS!" , TTT_TAG );
Y metele un id al task aquí: Código PHP:
set_task ( 3.0 , "targetgun_Explode" , victim );
También deberías cambiar esos 3 segundos y que sean configurables por cvar, para que sea mas comodo :V
wut
Código PHP:
if( is_user_connected ( victim )) ttt_set_playerdata ( victim , PD_KILLEDBYITEM , g_TargetGun ); ExecuteHam ( Ham_TakeDamage , victim , id , id , damage , DMG_BLAST ); entity_set_vector ( victim , EV_VEC_velocity , Float :{ 0.0 , 0.0 , 0.0 }); if( is_user_alive ( victim )) ttt_set_playerdata ( victim , PD_KILLEDBYITEM , - 1 );
Cachea el msgid screen shake igual que el screen fade
Código PHP:
stock shake_user_screen ( index ) { message_begin ( MSG_ONE , get_user_msgid ( "ScreenShake" ), { 0 , 0 , 0 }, index ); // Shake Screen write_short ( 1 << 14 ); write_short ( 1 << 14 ); write_short ( 1 << 14 ); message_end (); }
Listo agregado, Gracias
(07/10/2016, 03:34 PM) Skylar escribió: Este plugin me encantó ah, excelente aporte Gracias
(07/10/2016, 03:43 PM) totopizza escribió: Por más aportes que hagás te costará obtener esa medalla
Pero, igual se agradecen todos los aportes que has hecho No le había prestado atención a esa medalla, pero quien quita y llegue algún día
Mensajes: 7,178
Temas: 93
Registro en: Aug 2014
Reputación:
63
(06/10/2016, 08:36 PM) SthoNy escribió: [ TTT ] Item: Target Gun
Descripción :
Libreria :
Código PHP:
#include <amxmodx> #include <hamsandwich> #include <engine> #include <cs_weapons_api> #include <fun> #include <amx_settings_api> #include <ttt>
Requerimientos :
Código :
Código PHP:
#include <amxmodx> #include <hamsandwich> #include <engine> #include <cs_weapons_api> #include <fun> #include <amx_settings_api> #include <ttt> #define WEAPON_CSWID CSW_DEAGLE #define WEAPON_NAME "weapon_deagle" #define TASK_ID 3323 new g_TargetGun , g_Glowing [ 33 ], g_pMsgScreeFade , g_pMsgScreeShake , g_MaxPlayers ; new g_szModels [ 3 ][ TTT_FILELENGHT ]; new g_szSounds [ TTT_FILELENGHT ]; new cvar_weapon_speed , cvar_weapon_ammo , cvar_weapon_clip , cvar_weapon_price , cvar_weapon_reload , cvar_weapon_recoil , cvar_target_damage , cvar_target_radius , cvar_time_explode , cvar_message_mode ; public plugin_precache () { if(! amx_load_setting_string ( TTT_SETTINGSFILE , "TARGET GUN" , "MODEL_V" , g_szModels [ 0 ], charsmax ( g_szModels []))) { g_szModels [ 0 ] = "models/ttt/v_targetgun.mdl" ; amx_save_setting_string ( TTT_SETTINGSFILE , "TARGET GUN" , "MODEL_V" , g_szModels [ 0 ]); } precache_model ( g_szModels [ 0 ]); if(! amx_load_setting_string ( TTT_SETTINGSFILE , "TARGET GUN" , "MODEL_P" , g_szModels [ 1 ], charsmax ( g_szModels []))) { g_szModels [ 1 ] = "models/ttt/p_targetgun.mdl" ; amx_save_setting_string ( TTT_SETTINGSFILE , "TARGET GUN" , "MODEL_P" , g_szModels [ 1 ]); } precache_model ( g_szModels [ 1 ]); if(! amx_load_setting_string ( TTT_SETTINGSFILE , "TARGET GUN" , "MODEL_W" , g_szModels [ 2 ], charsmax ( g_szModels []))) { g_szModels [ 2 ] = "models/ttt/w_targetgun.mdl" ; amx_save_setting_string ( TTT_SETTINGSFILE , "TARGET GUN" , "MODEL_W" , g_szModels [ 2 ]); } precache_model ( g_szModels [ 2 ]); if(! amx_load_setting_string ( TTT_SETTINGSFILE , "TARGET GUN" , "SOUND_BEEP" , g_szSounds , charsmax ( g_szSounds ))) { g_szSounds = "ttt/targetgun_beep.wav" ; amx_save_setting_string ( TTT_SETTINGSFILE , "TARGET GUN" , "SOUND_BEEP" , g_szSounds ); } precache_sound ( g_szSounds ); } public plugin_init () { register_plugin ( "[TTT] Item: Target Gun" , TTT_VERSION , "SthoNy'" ); cvar_target_damage = my_register_cvar ( "ttt_target_damage" , "300.0" , "Target gun explosion damage. (Default: 300.0)" ); cvar_target_radius = my_register_cvar ( "ttt_target_radius" , "420.0" , "Target gun radius. (Default: 420.0)" ); cvar_weapon_clip = my_register_cvar ( "ttt_target_clip" , "1" , "Target gun clip ammo. (Default: 1)" ); cvar_weapon_ammo = my_register_cvar ( "ttt_target_ammo" , "1" , "Target gun backpack ammo. (Default: 1)" ); cvar_weapon_speed = my_register_cvar ( "ttt_target_speed" , "10.0" , "Target gun attack speed delay. (Default: 10.0)" ); cvar_weapon_reload = my_register_cvar ( "ttt_target_reload" , "0.0" , "Target gun reload speed. (Default: 0.0)" ); cvar_weapon_recoil = my_register_cvar ( "ttt_target_recoil" , "0.0" , "Target gun recoil. (Default: 0.0)" ); cvar_weapon_price = my_register_cvar ( "ttt_price_target" , "3" , "Target gun price. (Default: 3)" ); cvar_message_mode = my_register_cvar ( "ttt_message_mode" , "1" , "Message type 0 || 1. (Default: 1)" ); cvar_time_explode = my_register_cvar ( "ttt_time_explode" , "3.0" , "Target gun time explode (Default: 3.0)" ); g_MaxPlayers = get_maxplayers (); g_pMsgScreeFade = get_user_msgid ( "ScreenFade" ); g_pMsgScreeShake = get_user_msgid ( "ScreenShake" ); } public client_disconnect ( id ) remove_task ( id + TASK_ID ); public ttt_plugin_cfg () { g_TargetGun = ttt_buymenu_add ( "Target Gun" , get_pcvar_num ( cvar_weapon_price ), PC_TRAITOR ); } public ttt_gamemode ( gamemode ) { if( gamemode == GAME_ENDED || gamemode == GAME_RESTARTING ) { for( new i = 1 ; i <= g_MaxPlayers ; i ++ ) { if( g_Glowing [ i ]) { g_Glowing [ i ] = false ; set_user_rendering ( i ); if( task_exists ( i + TASK_ID )) remove_task ( i + TASK_ID ); } } } } public ttt_item_selected ( id , item , name [], price ) { if( g_TargetGun == item ) { if( user_has_weapon ( id , WEAPON_CSWID )) engclient_cmd ( id , "drop" , WEAPON_NAME ); static data [ STOREABLE_STRUCTURE ]; if(! data [ STRUCT_CSWA_CSW ]) { data [ STRUCT_CSWA_ITEMID ] = g_TargetGun ; data [ STRUCT_CSWA_CSW ] = WEAPON_CSWID ; data [ STRUCT_CSWA_CLIP ] = get_pcvar_num ( cvar_weapon_clip ); data [ STRUCT_CSWA_MAXCLIP ] = get_pcvar_num ( cvar_weapon_clip ); data [ STRUCT_CSWA_AMMO ] = get_pcvar_num ( cvar_weapon_ammo ); data [ STRUCT_CSWA_STACKABLE ] = true ; data [ STRUCT_CSWA_SILENCED ] = - 1 ; data [ STRUCT_CSWA_SPEEDDELAY ] = _ : get_pcvar_float ( cvar_weapon_speed ); data [ STRUCT_CSWA_DAMAGE ] = _ : 0 ; data [ STRUCT_CSWA_RELOADTIME ] = _ : get_pcvar_float ( cvar_weapon_reload ); data [ STRUCT_CSWA_RECOIL ] = _ : get_pcvar_float ( cvar_weapon_recoil ); data [ STRUCT_CSWA_MODEL_V ] = g_szModels [ 0 ]; data [ STRUCT_CSWA_MODEL_P ] = g_szModels [ 1 ]; data [ STRUCT_CSWA_MODEL_W ] = g_szModels [ 2 ]; } cswa_give_specific ( id , data ); client_print_color ( id , print_team_default , "%s Compraste una !gTarget Gun!" , TTT_TAG ); return PLUGIN_HANDLED ; } return PLUGIN_CONTINUE ; } public cswa_damage ( weapon_id , victim , attacker , Float : damage ) { new NameA [ 32 ]; get_user_name ( attacker , NameA , charsmax ( NameA )); if( get_weapon_edict ( weapon_id , REPL_CSWA_ITEMID ) == g_TargetGun ) { if( get_pcvar_num ( cvar_message_mode ) >= 1 ) { client_print_color ( victim , print_team_default , "%s Han introducido un !tProyectil Explosivo !nen ti, !gEXPLOTARAS!" , TTT_TAG ); } else { client_print_color ( victim , print_team_default , "%s !t%s !nintrodujo un !tProyectil Explosivo !nen ti, !gEXPLOTARAS" , TTT_TAG , NameA ); } g_Glowing [ victim ] = true ; set_user_rendering ( victim , kRenderFxGlowShell , 255 , 0 , 0 , kRenderNormal , 30 ); emit_sound ( victim , CHAN_AUTO , g_szSounds , 1.0 , ATTN_NORM , 0 , PITCH_NORM ); set_task ( get_pcvar_float ( cvar_time_explode ), "targetgun_Explode" , victim + TASK_ID , _ , _ , "b" ); Set_user_screenfade ( victim , 255 , 0 , 0 , 2 , 100 ); shake_user_screen ( victim ); } } public targetgun_Explode ( id ) { if(! is_user_alive ( id ) || ttt_get_gamemode () == GAME_ENDED || ttt_get_gamemode () == GAME_PREPARING ) { remove_task ( id + TASK_ID ); return PLUGIN_HANDLED ; } strip_user_weapons ( id ); Explode ( id ); CreateExplosion ( id ); remove_task ( id + TASK_ID ); return PLUGIN_HANDLED ; } CreateExplosion ( id ) { static Float : origin [ 3 ]; entity_get_vector ( id , EV_VEC_origin , origin ); new victim = - 1 , Float : damage ; new Float : radius = get_pcvar_float ( cvar_target_radius ); new Float : dmg = get_pcvar_float ( cvar_target_damage ); while(( victim = find_ent_in_sphere ( victim , origin , radius )) != 0 ) { if( is_valid_ent ( victim ) && entity_get_float ( victim , EV_FL_takedamage ) != DAMAGE_NO ) { damage = ( dmg / radius )*( radius - entity_range ( id , victim )); if( damage > 0.0 ) { if( is_user_connected ( victim )) ttt_set_playerdata ( victim , PD_KILLEDBYITEM , g_TargetGun ); ExecuteHam ( Ham_TakeDamage , victim , id , id , damage , DMG_BLAST ); entity_set_vector ( victim , EV_VEC_velocity , Float :{ 0.0 , 0.0 , 0.0 }); if( is_user_alive ( victim )) ttt_set_playerdata ( victim , PD_KILLEDBYITEM , - 1 ); } } } ttt_set_playerdata ( id , PD_KILLEDBYITEM , g_TargetGun ); ExecuteHam ( Ham_TakeDamage , id , id , id , dmg , DMG_BLAST ); } Explode ( id ) { static origin [ 3 ]; get_user_origin ( id , origin , 0 ); message_begin ( MSG_BROADCAST , SVC_TEMPENTITY ); write_byte ( TE_TAREXPLOSION ); write_coord ( origin [ 0 ]); write_coord ( origin [ 1 ]); write_coord ( origin [ 2 ]); message_end (); } public Set_user_screenfade ( index , rrr , ggg , bbb , duracion , alpha ) { message_begin ( index ? MSG_ONE_UNRELIABLE : MSG_BROADCAST , g_pMsgScreeFade , _ , index ); write_short ( duracion * 4096 ); write_short ( duracion * 4096 ); write_short ( 0x0000 ); write_byte ( rrr ); write_byte ( ggg ); write_byte ( bbb ); write_byte ( alpha ); message_end ( ); } stock shake_user_screen ( index ) { message_begin ( MSG_ONE , g_pMsgScreeShake , { 0 , 0 , 0 }, index ); // Shake Screen write_short ( 1 << 14 ); write_short ( 1 << 14 ); write_short ( 1 << 14 ); message_end (); }
buen aporte
Mensajes: 410
Temas: 9
Registro en: Apr 2015
Reputación:
5
(07/10/2016, 06:53 PM) NkkI escribió: buen aporte
Gracias
Mensajes: 288
Temas: 27
Registro en: Apr 2016
Reputación:
2
Mensajes: 92
Temas: 47
Registro en: Aug 2016
Reputación:
0
(06/10/2016, 08:36 PM) SthoNy escribió: [ TTT ] Item: Target Gun
Descripción :
Libreria :
Código PHP:
#include <amxmodx> #include <hamsandwich> #include <engine> #include <cs_weapons_api> #include <fun> #include <amx_settings_api> #include <ttt>
Requerimientos :
Código :
Código PHP:
#include <amxmodx> #include <hamsandwich> #include <engine> #include <cs_weapons_api> #include <fun> #include <amx_settings_api> #include <ttt> #define WEAPON_CSWID CSW_DEAGLE #define WEAPON_NAME "weapon_deagle" #define TASK_ID 3323 new g_TargetGun , g_Glowing [ 33 ], g_pMsgScreeFade , g_pMsgScreeShake , g_MaxPlayers ; new g_szModels [ 3 ][ TTT_FILELENGHT ]; new g_szSounds [ TTT_FILELENGHT ]; new cvar_weapon_speed , cvar_weapon_ammo , cvar_weapon_clip , cvar_weapon_price , cvar_weapon_reload , cvar_weapon_recoil , cvar_target_damage , cvar_target_radius , cvar_time_explode , cvar_message_mode ; public plugin_precache () { if(! amx_load_setting_string ( TTT_SETTINGSFILE , "TARGET GUN" , "MODEL_V" , g_szModels [ 0 ], charsmax ( g_szModels []))) { g_szModels [ 0 ] = "models/ttt/v_targetgun.mdl" ; amx_save_setting_string ( TTT_SETTINGSFILE , "TARGET GUN" , "MODEL_V" , g_szModels [ 0 ]); } precache_model ( g_szModels [ 0 ]); if(! amx_load_setting_string ( TTT_SETTINGSFILE , "TARGET GUN" , "MODEL_P" , g_szModels [ 1 ], charsmax ( g_szModels []))) { g_szModels [ 1 ] = "models/ttt/p_targetgun.mdl" ; amx_save_setting_string ( TTT_SETTINGSFILE , "TARGET GUN" , "MODEL_P" , g_szModels [ 1 ]); } precache_model ( g_szModels [ 1 ]); if(! amx_load_setting_string ( TTT_SETTINGSFILE , "TARGET GUN" , "MODEL_W" , g_szModels [ 2 ], charsmax ( g_szModels []))) { g_szModels [ 2 ] = "models/ttt/w_targetgun.mdl" ; amx_save_setting_string ( TTT_SETTINGSFILE , "TARGET GUN" , "MODEL_W" , g_szModels [ 2 ]); } precache_model ( g_szModels [ 2 ]); if(! amx_load_setting_string ( TTT_SETTINGSFILE , "TARGET GUN" , "SOUND_BEEP" , g_szSounds , charsmax ( g_szSounds ))) { g_szSounds = "ttt/targetgun_beep.wav" ; amx_save_setting_string ( TTT_SETTINGSFILE , "TARGET GUN" , "SOUND_BEEP" , g_szSounds ); } precache_sound ( g_szSounds ); } public plugin_init () { register_plugin ( "[TTT] Item: Target Gun" , TTT_VERSION , "SthoNy'" ); cvar_target_damage = my_register_cvar ( "ttt_target_damage" , "300.0" , "Target gun explosion damage. (Default: 300.0)" ); cvar_target_radius = my_register_cvar ( "ttt_target_radius" , "420.0" , "Target gun radius. (Default: 420.0)" ); cvar_weapon_clip = my_register_cvar ( "ttt_target_clip" , "1" , "Target gun clip ammo. (Default: 1)" ); cvar_weapon_ammo = my_register_cvar ( "ttt_target_ammo" , "1" , "Target gun backpack ammo. (Default: 1)" ); cvar_weapon_speed = my_register_cvar ( "ttt_target_speed" , "10.0" , "Target gun attack speed delay. (Default: 10.0)" ); cvar_weapon_reload = my_register_cvar ( "ttt_target_reload" , "0.0" , "Target gun reload speed. (Default: 0.0)" ); cvar_weapon_recoil = my_register_cvar ( "ttt_target_recoil" , "0.0" , "Target gun recoil. (Default: 0.0)" ); cvar_weapon_price = my_register_cvar ( "ttt_price_target" , "3" , "Target gun price. (Default: 3)" ); cvar_message_mode = my_register_cvar ( "ttt_message_mode" , "1" , "Message type 0 || 1. (Default: 1)" ); cvar_time_explode = my_register_cvar ( "ttt_time_explode" , "3.0" , "Target gun time explode (Default: 3.0)" ); g_MaxPlayers = get_maxplayers (); g_pMsgScreeFade = get_user_msgid ( "ScreenFade" ); g_pMsgScreeShake = get_user_msgid ( "ScreenShake" ); } public client_disconnect ( id ) remove_task ( id + TASK_ID ); public ttt_plugin_cfg () { g_TargetGun = ttt_buymenu_add ( "Target Gun" , get_pcvar_num ( cvar_weapon_price ), PC_TRAITOR ); } public ttt_gamemode ( gamemode ) { if( gamemode == GAME_ENDED || gamemode == GAME_RESTARTING ) { for( new i = 1 ; i <= g_MaxPlayers ; i ++ ) { if( g_Glowing [ i ]) { g_Glowing [ i ] = false ; set_user_rendering ( i ); if( task_exists ( i + TASK_ID )) remove_task ( i + TASK_ID ); } } } } public ttt_item_selected ( id , item , name [], price ) { if( g_TargetGun == item ) { if( user_has_weapon ( id , WEAPON_CSWID )) engclient_cmd ( id , "drop" , WEAPON_NAME ); static data [ STOREABLE_STRUCTURE ]; if(! data [ STRUCT_CSWA_CSW ]) { data [ STRUCT_CSWA_ITEMID ] = g_TargetGun ; data [ STRUCT_CSWA_CSW ] = WEAPON_CSWID ; data [ STRUCT_CSWA_CLIP ] = get_pcvar_num ( cvar_weapon_clip ); data [ STRUCT_CSWA_MAXCLIP ] = get_pcvar_num ( cvar_weapon_clip ); data [ STRUCT_CSWA_AMMO ] = get_pcvar_num ( cvar_weapon_ammo ); data [ STRUCT_CSWA_STACKABLE ] = true ; data [ STRUCT_CSWA_SILENCED ] = - 1 ; data [ STRUCT_CSWA_SPEEDDELAY ] = _ : get_pcvar_float ( cvar_weapon_speed ); data [ STRUCT_CSWA_DAMAGE ] = _ : 0 ; data [ STRUCT_CSWA_RELOADTIME ] = _ : get_pcvar_float ( cvar_weapon_reload ); data [ STRUCT_CSWA_RECOIL ] = _ : get_pcvar_float ( cvar_weapon_recoil ); data [ STRUCT_CSWA_MODEL_V ] = g_szModels [ 0 ]; data [ STRUCT_CSWA_MODEL_P ] = g_szModels [ 1 ]; data [ STRUCT_CSWA_MODEL_W ] = g_szModels [ 2 ]; } cswa_give_specific ( id , data ); client_print_color ( id , print_team_default , "%s Compraste una !gTarget Gun!" , TTT_TAG ); return PLUGIN_HANDLED ; } return PLUGIN_CONTINUE ; } public cswa_damage ( weapon_id , victim , attacker , Float : damage ) { new NameA [ 32 ]; get_user_name ( attacker , NameA , charsmax ( NameA )); if( get_weapon_edict ( weapon_id , REPL_CSWA_ITEMID ) == g_TargetGun ) { if( get_pcvar_num ( cvar_message_mode ) >= 1 ) { client_print_color ( victim , print_team_default , "%s Han introducido un !tProyectil Explosivo !nen ti, !gEXPLOTARAS!" , TTT_TAG ); } else { client_print_color ( victim , print_team_default , "%s !t%s !nintrodujo un !tProyectil Explosivo !nen ti, !gEXPLOTARAS" , TTT_TAG , NameA ); } g_Glowing [ victim ] = true ; set_user_rendering ( victim , kRenderFxGlowShell , 255 , 0 , 0 , kRenderNormal , 30 ); emit_sound ( victim , CHAN_AUTO , g_szSounds , 1.0 , ATTN_NORM , 0 , PITCH_NORM ); set_task ( get_pcvar_float ( cvar_time_explode ), "targetgun_Explode" , victim + TASK_ID , _ , _ , "b" ); Set_user_screenfade ( victim , 255 , 0 , 0 , 2 , 100 ); shake_user_screen ( victim ); } } public targetgun_Explode ( id ) { if(! is_user_alive ( id ) || ttt_get_gamemode () == GAME_ENDED || ttt_get_gamemode () == GAME_PREPARING ) { remove_task ( id + TASK_ID ); return PLUGIN_HANDLED ; } strip_user_weapons ( id ); Explode ( id ); CreateExplosion ( id ); remove_task ( id + TASK_ID ); return PLUGIN_HANDLED ; } CreateExplosion ( id ) { static Float : origin [ 3 ]; entity_get_vector ( id , EV_VEC_origin , origin ); new victim = - 1 , Float : damage ; new Float : radius = get_pcvar_float ( cvar_target_radius ); new Float : dmg = get_pcvar_float ( cvar_target_damage ); while(( victim = find_ent_in_sphere ( victim , origin , radius )) != 0 ) { if( is_valid_ent ( victim ) && entity_get_float ( victim , EV_FL_takedamage ) != DAMAGE_NO ) { damage = ( dmg / radius )*( radius - entity_range ( id , victim )); if( damage > 0.0 ) { if( is_user_connected ( victim )) ttt_set_playerdata ( victim , PD_KILLEDBYITEM , g_TargetGun ); ExecuteHam ( Ham_TakeDamage , victim , id , id , damage , DMG_BLAST ); entity_set_vector ( victim , EV_VEC_velocity , Float :{ 0.0 , 0.0 , 0.0 }); if( is_user_alive ( victim )) ttt_set_playerdata ( victim , PD_KILLEDBYITEM , - 1 ); } } } ttt_set_playerdata ( id , PD_KILLEDBYITEM , g_TargetGun ); ExecuteHam ( Ham_TakeDamage , id , id , id , dmg , DMG_BLAST ); } Explode ( id ) { static origin [ 3 ]; get_user_origin ( id , origin , 0 ); message_begin ( MSG_BROADCAST , SVC_TEMPENTITY ); write_byte ( TE_TAREXPLOSION ); write_coord ( origin [ 0 ]); write_coord ( origin [ 1 ]); write_coord ( origin [ 2 ]); message_end (); } public Set_user_screenfade ( index , rrr , ggg , bbb , duracion , alpha ) { message_begin ( index ? MSG_ONE_UNRELIABLE : MSG_BROADCAST , g_pMsgScreeFade , _ , index ); write_short ( duracion * 4096 ); write_short ( duracion * 4096 ); write_short ( 0x0000 ); write_byte ( rrr ); write_byte ( ggg ); write_byte ( bbb ); write_byte ( alpha ); message_end ( ); } stock shake_user_screen ( index ) { message_begin ( MSG_ONE , g_pMsgScreeShake , { 0 , 0 , 0 }, index ); // Shake Screen write_short ( 1 << 14 ); write_short ( 1 << 14 ); write_short ( 1 << 14 ); message_end (); }
El plugin funciona todo lo mas bien pero el player no explota, alguna solucion??
Mensajes: 3,284
Temas: 41
Registro en: Jan 2014
Reputación:
28
(23/10/2016, 12:33 PM) gianfranco1029 escribió: (06/10/2016, 08:36 PM) SthoNy escribió: [ TTT ] Item: Target Gun
Descripción :
Libreria :
Código PHP:
#include <amxmodx> #include <hamsandwich> #include <engine> #include <cs_weapons_api> #include <fun> #include <amx_settings_api> #include <ttt>
Requerimientos :
Código :
Código PHP:
#include <amxmodx> #include <hamsandwich> #include <engine> #include <cs_weapons_api> #include <fun> #include <amx_settings_api> #include <ttt> #define WEAPON_CSWID CSW_DEAGLE #define WEAPON_NAME "weapon_deagle" #define TASK_ID 3323 new g_TargetGun , g_Glowing [ 33 ], g_pMsgScreeFade , g_pMsgScreeShake , g_MaxPlayers ; new g_szModels [ 3 ][ TTT_FILELENGHT ]; new g_szSounds [ TTT_FILELENGHT ]; new cvar_weapon_speed , cvar_weapon_ammo , cvar_weapon_clip , cvar_weapon_price , cvar_weapon_reload , cvar_weapon_recoil , cvar_target_damage , cvar_target_radius , cvar_time_explode , cvar_message_mode ; public plugin_precache () { if(! amx_load_setting_string ( TTT_SETTINGSFILE , "TARGET GUN" , "MODEL_V" , g_szModels [ 0 ], charsmax ( g_szModels []))) { g_szModels [ 0 ] = "models/ttt/v_targetgun.mdl" ; amx_save_setting_string ( TTT_SETTINGSFILE , "TARGET GUN" , "MODEL_V" , g_szModels [ 0 ]); } precache_model ( g_szModels [ 0 ]); if(! amx_load_setting_string ( TTT_SETTINGSFILE , "TARGET GUN" , "MODEL_P" , g_szModels [ 1 ], charsmax ( g_szModels []))) { g_szModels [ 1 ] = "models/ttt/p_targetgun.mdl" ; amx_save_setting_string ( TTT_SETTINGSFILE , "TARGET GUN" , "MODEL_P" , g_szModels [ 1 ]); } precache_model ( g_szModels [ 1 ]); if(! amx_load_setting_string ( TTT_SETTINGSFILE , "TARGET GUN" , "MODEL_W" , g_szModels [ 2 ], charsmax ( g_szModels []))) { g_szModels [ 2 ] = "models/ttt/w_targetgun.mdl" ; amx_save_setting_string ( TTT_SETTINGSFILE , "TARGET GUN" , "MODEL_W" , g_szModels [ 2 ]); } precache_model ( g_szModels [ 2 ]); if(! amx_load_setting_string ( TTT_SETTINGSFILE , "TARGET GUN" , "SOUND_BEEP" , g_szSounds , charsmax ( g_szSounds ))) { g_szSounds = "ttt/targetgun_beep.wav" ; amx_save_setting_string ( TTT_SETTINGSFILE , "TARGET GUN" , "SOUND_BEEP" , g_szSounds ); } precache_sound ( g_szSounds ); } public plugin_init () { register_plugin ( "[TTT] Item: Target Gun" , TTT_VERSION , "SthoNy'" ); cvar_target_damage = my_register_cvar ( "ttt_target_damage" , "300.0" , "Target gun explosion damage. (Default: 300.0)" ); cvar_target_radius = my_register_cvar ( "ttt_target_radius" , "420.0" , "Target gun radius. (Default: 420.0)" ); cvar_weapon_clip = my_register_cvar ( "ttt_target_clip" , "1" , "Target gun clip ammo. (Default: 1)" ); cvar_weapon_ammo = my_register_cvar ( "ttt_target_ammo" , "1" , "Target gun backpack ammo. (Default: 1)" ); cvar_weapon_speed = my_register_cvar ( "ttt_target_speed" , "10.0" , "Target gun attack speed delay. (Default: 10.0)" ); cvar_weapon_reload = my_register_cvar ( "ttt_target_reload" , "0.0" , "Target gun reload speed. (Default: 0.0)" ); cvar_weapon_recoil = my_register_cvar ( "ttt_target_recoil" , "0.0" , "Target gun recoil. (Default: 0.0)" ); cvar_weapon_price = my_register_cvar ( "ttt_price_target" , "3" , "Target gun price. (Default: 3)" ); cvar_message_mode = my_register_cvar ( "ttt_message_mode" , "1" , "Message type 0 || 1. (Default: 1)" ); cvar_time_explode = my_register_cvar ( "ttt_time_explode" , "3.0" , "Target gun time explode (Default: 3.0)" ); g_MaxPlayers = get_maxplayers (); g_pMsgScreeFade = get_user_msgid ( "ScreenFade" ); g_pMsgScreeShake = get_user_msgid ( "ScreenShake" ); } public client_disconnect ( id ) remove_task ( id + TASK_ID ); public ttt_plugin_cfg () { g_TargetGun = ttt_buymenu_add ( "Target Gun" , get_pcvar_num ( cvar_weapon_price ), PC_TRAITOR ); } public ttt_gamemode ( gamemode ) { if( gamemode == GAME_ENDED || gamemode == GAME_RESTARTING ) { for( new i = 1 ; i <= g_MaxPlayers ; i ++ ) { if( g_Glowing [ i ]) { g_Glowing [ i ] = false ; set_user_rendering ( i ); if( task_exists ( i + TASK_ID )) remove_task ( i + TASK_ID ); } } } } public ttt_item_selected ( id , item , name [], price ) { if( g_TargetGun == item ) { if( user_has_weapon ( id , WEAPON_CSWID )) engclient_cmd ( id , "drop" , WEAPON_NAME ); static data [ STOREABLE_STRUCTURE ]; if(! data [ STRUCT_CSWA_CSW ]) { data [ STRUCT_CSWA_ITEMID ] = g_TargetGun ; data [ STRUCT_CSWA_CSW ] = WEAPON_CSWID ; data [ STRUCT_CSWA_CLIP ] = get_pcvar_num ( cvar_weapon_clip ); data [ STRUCT_CSWA_MAXCLIP ] = get_pcvar_num ( cvar_weapon_clip ); data [ STRUCT_CSWA_AMMO ] = get_pcvar_num ( cvar_weapon_ammo ); data [ STRUCT_CSWA_STACKABLE ] = true ; data [ STRUCT_CSWA_SILENCED ] = - 1 ; data [ STRUCT_CSWA_SPEEDDELAY ] = _ : get_pcvar_float ( cvar_weapon_speed ); data [ STRUCT_CSWA_DAMAGE ] = _ : 0 ; data [ STRUCT_CSWA_RELOADTIME ] = _ : get_pcvar_float ( cvar_weapon_reload ); data [ STRUCT_CSWA_RECOIL ] = _ : get_pcvar_float ( cvar_weapon_recoil ); data [ STRUCT_CSWA_MODEL_V ] = g_szModels [ 0 ]; data [ STRUCT_CSWA_MODEL_P ] = g_szModels [ 1 ]; data [ STRUCT_CSWA_MODEL_W ] = g_szModels [ 2 ]; } cswa_give_specific ( id , data ); client_print_color ( id , print_team_default , "%s Compraste una !gTarget Gun!" , TTT_TAG ); return PLUGIN_HANDLED ; } return PLUGIN_CONTINUE ; } public cswa_damage ( weapon_id , victim , attacker , Float : damage ) { new NameA [ 32 ]; get_user_name ( attacker , NameA , charsmax ( NameA )); if( get_weapon_edict ( weapon_id , REPL_CSWA_ITEMID ) == g_TargetGun ) { if( get_pcvar_num ( cvar_message_mode ) >= 1 ) { client_print_color ( victim , print_team_default , "%s Han introducido un !tProyectil Explosivo !nen ti, !gEXPLOTARAS!" , TTT_TAG ); } else { client_print_color ( victim , print_team_default , "%s !t%s !nintrodujo un !tProyectil Explosivo !nen ti, !gEXPLOTARAS" , TTT_TAG , NameA ); } g_Glowing [ victim ] = true ; set_user_rendering ( victim , kRenderFxGlowShell , 255 , 0 , 0 , kRenderNormal , 30 ); emit_sound ( victim , CHAN_AUTO , g_szSounds , 1.0 , ATTN_NORM , 0 , PITCH_NORM ); set_task ( get_pcvar_float ( cvar_time_explode ), "targetgun_Explode" , victim + TASK_ID , _ , _ , "b" ); Set_user_screenfade ( victim , 255 , 0 , 0 , 2 , 100 ); shake_user_screen ( victim ); } } public targetgun_Explode ( id ) { if(! is_user_alive ( id ) || ttt_get_gamemode () == GAME_ENDED || ttt_get_gamemode () == GAME_PREPARING ) { remove_task ( id + TASK_ID ); return PLUGIN_HANDLED ; } strip_user_weapons ( id ); Explode ( id ); CreateExplosion ( id ); remove_task ( id + TASK_ID ); return PLUGIN_HANDLED ; } CreateExplosion ( id ) { static Float : origin [ 3 ]; entity_get_vector ( id , EV_VEC_origin , origin ); new victim = - 1 , Float : damage ; new Float : radius = get_pcvar_float ( cvar_target_radius ); new Float : dmg = get_pcvar_float ( cvar_target_damage ); while(( victim = find_ent_in_sphere ( victim , origin , radius )) != 0 ) { if( is_valid_ent ( victim ) && entity_get_float ( victim , EV_FL_takedamage ) != DAMAGE_NO ) { damage = ( dmg / radius )*( radius - entity_range ( id , victim )); if( damage > 0.0 ) { if( is_user_connected ( victim )) ttt_set_playerdata ( victim , PD_KILLEDBYITEM , g_TargetGun ); ExecuteHam ( Ham_TakeDamage , victim , id , id , damage , DMG_BLAST ); entity_set_vector ( victim , EV_VEC_velocity , Float :{ 0.0 , 0.0 , 0.0 }); if( is_user_alive ( victim )) ttt_set_playerdata ( victim , PD_KILLEDBYITEM , - 1 ); } } } ttt_set_playerdata ( id , PD_KILLEDBYITEM , g_TargetGun ); ExecuteHam ( Ham_TakeDamage , id , id , id , dmg , DMG_BLAST ); } Explode ( id ) { static origin [ 3 ]; get_user_origin ( id , origin , 0 ); message_begin ( MSG_BROADCAST , SVC_TEMPENTITY ); write_byte ( TE_TAREXPLOSION ); write_coord ( origin [ 0 ]); write_coord ( origin [ 1 ]); write_coord ( origin [ 2 ]); message_end (); } public Set_user_screenfade ( index , rrr , ggg , bbb , duracion , alpha ) { message_begin ( index ? MSG_ONE_UNRELIABLE : MSG_BROADCAST , g_pMsgScreeFade , _ , index ); write_short ( duracion * 4096 ); write_short ( duracion * 4096 ); write_short ( 0x0000 ); write_byte ( rrr ); write_byte ( ggg ); write_byte ( bbb ); write_byte ( alpha ); message_end ( ); } stock shake_user_screen ( index ) { message_begin ( MSG_ONE , g_pMsgScreeShake , { 0 , 0 , 0 }, index ); // Shake Screen write_short ( 1 << 14 ); write_short ( 1 << 14 ); write_short ( 1 << 14 ); message_end (); }
El plugin funciona todo lo mas bien pero el player no explota, alguna solucion??
Entonces no funciona.
Mensajes: 92
Temas: 47
Registro en: Aug 2016
Reputación:
0
(23/10/2016, 12:41 PM) Federicomb escribió: (23/10/2016, 12:33 PM) gianfranco1029 escribió: (06/10/2016, 08:36 PM) SthoNy escribió: [ TTT ] Item: Target Gun
Descripción :
Libreria :
Código PHP:
#include <amxmodx> #include <hamsandwich> #include <engine> #include <cs_weapons_api> #include <fun> #include <amx_settings_api> #include <ttt>
Requerimientos :
Código :
Código PHP:
#include <amxmodx> #include <hamsandwich> #include <engine> #include <cs_weapons_api> #include <fun> #include <amx_settings_api> #include <ttt> #define WEAPON_CSWID CSW_DEAGLE #define WEAPON_NAME "weapon_deagle" #define TASK_ID 3323 new g_TargetGun , g_Glowing [ 33 ], g_pMsgScreeFade , g_pMsgScreeShake , g_MaxPlayers ; new g_szModels [ 3 ][ TTT_FILELENGHT ]; new g_szSounds [ TTT_FILELENGHT ]; new cvar_weapon_speed , cvar_weapon_ammo , cvar_weapon_clip , cvar_weapon_price , cvar_weapon_reload , cvar_weapon_recoil , cvar_target_damage , cvar_target_radius , cvar_time_explode , cvar_message_mode ; public plugin_precache () { if(! amx_load_setting_string ( TTT_SETTINGSFILE , "TARGET GUN" , "MODEL_V" , g_szModels [ 0 ], charsmax ( g_szModels []))) { g_szModels [ 0 ] = "models/ttt/v_targetgun.mdl" ; amx_save_setting_string ( TTT_SETTINGSFILE , "TARGET GUN" , "MODEL_V" , g_szModels [ 0 ]); } precache_model ( g_szModels [ 0 ]); if(! amx_load_setting_string ( TTT_SETTINGSFILE , "TARGET GUN" , "MODEL_P" , g_szModels [ 1 ], charsmax ( g_szModels []))) { g_szModels [ 1 ] = "models/ttt/p_targetgun.mdl" ; amx_save_setting_string ( TTT_SETTINGSFILE , "TARGET GUN" , "MODEL_P" , g_szModels [ 1 ]); } precache_model ( g_szModels [ 1 ]); if(! amx_load_setting_string ( TTT_SETTINGSFILE , "TARGET GUN" , "MODEL_W" , g_szModels [ 2 ], charsmax ( g_szModels []))) { g_szModels [ 2 ] = "models/ttt/w_targetgun.mdl" ; amx_save_setting_string ( TTT_SETTINGSFILE , "TARGET GUN" , "MODEL_W" , g_szModels [ 2 ]); } precache_model ( g_szModels [ 2 ]); if(! amx_load_setting_string ( TTT_SETTINGSFILE , "TARGET GUN" , "SOUND_BEEP" , g_szSounds , charsmax ( g_szSounds ))) { g_szSounds = "ttt/targetgun_beep.wav" ; amx_save_setting_string ( TTT_SETTINGSFILE , "TARGET GUN" , "SOUND_BEEP" , g_szSounds ); } precache_sound ( g_szSounds ); } public plugin_init () { register_plugin ( "[TTT] Item: Target Gun" , TTT_VERSION , "SthoNy'" ); cvar_target_damage = my_register_cvar ( "ttt_target_damage" , "300.0" , "Target gun explosion damage. (Default: 300.0)" ); cvar_target_radius = my_register_cvar ( "ttt_target_radius" , "420.0" , "Target gun radius. (Default: 420.0)" ); cvar_weapon_clip = my_register_cvar ( "ttt_target_clip" , "1" , "Target gun clip ammo. (Default: 1)" ); cvar_weapon_ammo = my_register_cvar ( "ttt_target_ammo" , "1" , "Target gun backpack ammo. (Default: 1)" ); cvar_weapon_speed = my_register_cvar ( "ttt_target_speed" , "10.0" , "Target gun attack speed delay. (Default: 10.0)" ); cvar_weapon_reload = my_register_cvar ( "ttt_target_reload" , "0.0" , "Target gun reload speed. (Default: 0.0)" ); cvar_weapon_recoil = my_register_cvar ( "ttt_target_recoil" , "0.0" , "Target gun recoil. (Default: 0.0)" ); cvar_weapon_price = my_register_cvar ( "ttt_price_target" , "3" , "Target gun price. (Default: 3)" ); cvar_message_mode = my_register_cvar ( "ttt_message_mode" , "1" , "Message type 0 || 1. (Default: 1)" ); cvar_time_explode = my_register_cvar ( "ttt_time_explode" , "3.0" , "Target gun time explode (Default: 3.0)" ); g_MaxPlayers = get_maxplayers (); g_pMsgScreeFade = get_user_msgid ( "ScreenFade" ); g_pMsgScreeShake = get_user_msgid ( "ScreenShake" ); } public client_disconnect ( id ) remove_task ( id + TASK_ID ); public ttt_plugin_cfg () { g_TargetGun = ttt_buymenu_add ( "Target Gun" , get_pcvar_num ( cvar_weapon_price ), PC_TRAITOR ); } public ttt_gamemode ( gamemode ) { if( gamemode == GAME_ENDED || gamemode == GAME_RESTARTING ) { for( new i = 1 ; i <= g_MaxPlayers ; i ++ ) { if( g_Glowing [ i ]) { g_Glowing [ i ] = false ; set_user_rendering ( i ); if( task_exists ( i + TASK_ID )) remove_task ( i + TASK_ID ); } } } } public ttt_item_selected ( id , item , name [], price ) { if( g_TargetGun == item ) { if( user_has_weapon ( id , WEAPON_CSWID )) engclient_cmd ( id , "drop" , WEAPON_NAME ); static data [ STOREABLE_STRUCTURE ]; if(! data [ STRUCT_CSWA_CSW ]) { data [ STRUCT_CSWA_ITEMID ] = g_TargetGun ; data [ STRUCT_CSWA_CSW ] = WEAPON_CSWID ; data [ STRUCT_CSWA_CLIP ] = get_pcvar_num ( cvar_weapon_clip ); data [ STRUCT_CSWA_MAXCLIP ] = get_pcvar_num ( cvar_weapon_clip ); data [ STRUCT_CSWA_AMMO ] = get_pcvar_num ( cvar_weapon_ammo ); data [ STRUCT_CSWA_STACKABLE ] = true ; data [ STRUCT_CSWA_SILENCED ] = - 1 ; data [ STRUCT_CSWA_SPEEDDELAY ] = _ : get_pcvar_float ( cvar_weapon_speed ); data [ STRUCT_CSWA_DAMAGE ] = _ : 0 ; data [ STRUCT_CSWA_RELOADTIME ] = _ : get_pcvar_float ( cvar_weapon_reload ); data [ STRUCT_CSWA_RECOIL ] = _ : get_pcvar_float ( cvar_weapon_recoil ); data [ STRUCT_CSWA_MODEL_V ] = g_szModels [ 0 ]; data [ STRUCT_CSWA_MODEL_P ] = g_szModels [ 1 ]; data [ STRUCT_CSWA_MODEL_W ] = g_szModels [ 2 ]; } cswa_give_specific ( id , data ); client_print_color ( id , print_team_default , "%s Compraste una !gTarget Gun!" , TTT_TAG ); return PLUGIN_HANDLED ; } return PLUGIN_CONTINUE ; } public cswa_damage ( weapon_id , victim , attacker , Float : damage ) { new NameA [ 32 ]; get_user_name ( attacker , NameA , charsmax ( NameA )); if( get_weapon_edict ( weapon_id , REPL_CSWA_ITEMID ) == g_TargetGun ) { if( get_pcvar_num ( cvar_message_mode ) >= 1 ) { client_print_color ( victim , print_team_default , "%s Han introducido un !tProyectil Explosivo !nen ti, !gEXPLOTARAS!" , TTT_TAG ); } else { client_print_color ( victim , print_team_default , "%s !t%s !nintrodujo un !tProyectil Explosivo !nen ti, !gEXPLOTARAS" , TTT_TAG , NameA ); } g_Glowing [ victim ] = true ; set_user_rendering ( victim , kRenderFxGlowShell , 255 , 0 , 0 , kRenderNormal , 30 ); emit_sound ( victim , CHAN_AUTO , g_szSounds , 1.0 , ATTN_NORM , 0 , PITCH_NORM ); set_task ( get_pcvar_float ( cvar_time_explode ), "targetgun_Explode" , victim + TASK_ID , _ , _ , "b" ); Set_user_screenfade ( victim , 255 , 0 , 0 , 2 , 100 ); shake_user_screen ( victim ); } } public targetgun_Explode ( id ) { if(! is_user_alive ( id ) || ttt_get_gamemode () == GAME_ENDED || ttt_get_gamemode () == GAME_PREPARING ) { remove_task ( id + TASK_ID ); return PLUGIN_HANDLED ; } strip_user_weapons ( id ); Explode ( id ); CreateExplosion ( id ); remove_task ( id + TASK_ID ); return PLUGIN_HANDLED ; } CreateExplosion ( id ) { static Float : origin [ 3 ]; entity_get_vector ( id , EV_VEC_origin , origin ); new victim = - 1 , Float : damage ; new Float : radius = get_pcvar_float ( cvar_target_radius ); new Float : dmg = get_pcvar_float ( cvar_target_damage ); while(( victim = find_ent_in_sphere ( victim , origin , radius )) != 0 ) { if( is_valid_ent ( victim ) && entity_get_float ( victim , EV_FL_takedamage ) != DAMAGE_NO ) { damage = ( dmg / radius )*( radius - entity_range ( id , victim )); if( damage > 0.0 ) { if( is_user_connected ( victim )) ttt_set_playerdata ( victim , PD_KILLEDBYITEM , g_TargetGun ); ExecuteHam ( Ham_TakeDamage , victim , id , id , damage , DMG_BLAST ); entity_set_vector ( victim , EV_VEC_velocity , Float :{ 0.0 , 0.0 , 0.0 }); if( is_user_alive ( victim )) ttt_set_playerdata ( victim , PD_KILLEDBYITEM , - 1 ); } } } ttt_set_playerdata ( id , PD_KILLEDBYITEM , g_TargetGun ); ExecuteHam ( Ham_TakeDamage , id , id , id , dmg , DMG_BLAST ); } Explode ( id ) { static origin [ 3 ]; get_user_origin ( id , origin , 0 ); message_begin ( MSG_BROADCAST , SVC_TEMPENTITY ); write_byte ( TE_TAREXPLOSION ); write_coord ( origin [ 0 ]); write_coord ( origin [ 1 ]); write_coord ( origin [ 2 ]); message_end (); } public Set_user_screenfade ( index , rrr , ggg , bbb , duracion , alpha ) { message_begin ( index ? MSG_ONE_UNRELIABLE : MSG_BROADCAST , g_pMsgScreeFade , _ , index ); write_short ( duracion * 4096 ); write_short ( duracion * 4096 ); write_short ( 0x0000 ); write_byte ( rrr ); write_byte ( ggg ); write_byte ( bbb ); write_byte ( alpha ); message_end ( ); } stock shake_user_screen ( index ) { message_begin ( MSG_ONE , g_pMsgScreeShake , { 0 , 0 , 0 }, index ); // Shake Screen write_short ( 1 << 14 ); write_short ( 1 << 14 ); write_short ( 1 << 14 ); message_end (); }
El plugin funciona todo lo mas bien pero el player no explota, alguna solucion??
Entonces no funciona.
Claro a lo que me refería es que el player se pone con glow rojo y hace el sonido pero no cumple la función de explotar
Mensajes: 410
Temas: 9
Registro en: Apr 2015
Reputación:
5
Hiciste alguna modificación?
este item está testeado por mi y no le encontré ningún error
Mensajes: 92
Temas: 47
Registro en: Aug 2016
Reputación:
0
(23/10/2016, 04:43 PM) SthoNy escribió: Hiciste alguna modificación?
este item está testeado por mi y no le encontré ningún error
Nono, lo compile tal cual lo descargue. Falla en la parte de explotar. Te paso el code.
Código PHP:
#include <amxmodx> #include <hamsandwich> #include <engine> #include <cs_weapons_api> #include <fun> #include <amx_settings_api> #include <ttt> #define WEAPON_CSWID CSW_DEAGLE #define WEAPON_NAME "weapon_deagle" #define TASK_ID 3323 new g_TargetGun , g_Glowing [ 33 ], g_pMsgScreeFade , g_pMsgScreeShake , g_MaxPlayers ; new g_szModels [ 3 ][ TTT_FILELENGHT ]; new g_szSounds [ TTT_FILELENGHT ]; new cvar_weapon_speed , cvar_weapon_ammo , cvar_weapon_clip , cvar_weapon_price , cvar_weapon_reload , cvar_weapon_recoil , cvar_target_damage , cvar_target_radius , cvar_time_explode , cvar_message_mode ; public plugin_precache () { if(! amx_load_setting_string ( TTT_SETTINGSFILE , "TARGET GUN" , "MODEL_V" , g_szModels [ 0 ], charsmax ( g_szModels []))) { g_szModels [ 0 ] = "models/ttt/v_targetgun.mdl" ; amx_save_setting_string ( TTT_SETTINGSFILE , "TARGET GUN" , "MODEL_V" , g_szModels [ 0 ]); } precache_model ( g_szModels [ 0 ]); if(! amx_load_setting_string ( TTT_SETTINGSFILE , "TARGET GUN" , "MODEL_P" , g_szModels [ 1 ], charsmax ( g_szModels []))) { g_szModels [ 1 ] = "models/ttt/p_targetgun.mdl" ; amx_save_setting_string ( TTT_SETTINGSFILE , "TARGET GUN" , "MODEL_P" , g_szModels [ 1 ]); } precache_model ( g_szModels [ 1 ]); if(! amx_load_setting_string ( TTT_SETTINGSFILE , "TARGET GUN" , "MODEL_W" , g_szModels [ 2 ], charsmax ( g_szModels []))) { g_szModels [ 2 ] = "models/ttt/w_targetgun.mdl" ; amx_save_setting_string ( TTT_SETTINGSFILE , "TARGET GUN" , "MODEL_W" , g_szModels [ 2 ]); } precache_model ( g_szModels [ 2 ]); if(! amx_load_setting_string ( TTT_SETTINGSFILE , "TARGET GUN" , "SOUND_BEEP" , g_szSounds , charsmax ( g_szSounds ))) { g_szSounds = "ttt/targetgun_beep.wav" ; amx_save_setting_string ( TTT_SETTINGSFILE , "TARGET GUN" , "SOUND_BEEP" , g_szSounds ); } precache_sound ( g_szSounds ); } public plugin_init () { register_plugin ( "[TTT] Item: Target Gun" , TTT_VERSION , "SthoNy'" ); cvar_target_damage = my_register_cvar ( "ttt_target_damage" , "300.0" , "Target gun explosion damage. (Default: 300.0)" ); cvar_target_radius = my_register_cvar ( "ttt_target_radius" , "420.0" , "Target gun radius. (Default: 420.0)" ); cvar_weapon_clip = my_register_cvar ( "ttt_target_clip" , "1" , "Target gun clip ammo. (Default: 1)" ); cvar_weapon_ammo = my_register_cvar ( "ttt_target_ammo" , "1" , "Target gun backpack ammo. (Default: 1)" ); cvar_weapon_speed = my_register_cvar ( "ttt_target_speed" , "10.0" , "Target gun attack speed delay. (Default: 10.0)" ); cvar_weapon_reload = my_register_cvar ( "ttt_target_reload" , "0.0" , "Target gun reload speed. (Default: 0.0)" ); cvar_weapon_recoil = my_register_cvar ( "ttt_target_recoil" , "0.0" , "Target gun recoil. (Default: 0.0)" ); cvar_weapon_price = my_register_cvar ( "ttt_price_target" , "3" , "Target gun price. (Default: 3)" ); cvar_message_mode = my_register_cvar ( "ttt_message_mode" , "1" , "Message type 0 || 1. (Default: 1)" ); cvar_time_explode = my_register_cvar ( "ttt_time_explode" , "3.0" , "Target gun time explode (Default: 3.0)" ); g_MaxPlayers = get_maxplayers (); g_pMsgScreeFade = get_user_msgid ( "ScreenFade" ); g_pMsgScreeShake = get_user_msgid ( "ScreenShake" ); } public client_disconnect ( id ) remove_task ( id + TASK_ID ); public ttt_plugin_cfg () { g_TargetGun = ttt_buymenu_add ( "Target Gun" , get_pcvar_num ( cvar_weapon_price ), PC_TRAITOR ); } public ttt_gamemode ( gamemode ) { if( gamemode == GAME_ENDED || gamemode == GAME_RESTARTING ) { for( new i = 1 ; i <= g_MaxPlayers ; i ++ ) { if( g_Glowing [ i ]) { g_Glowing [ i ] = false ; set_user_rendering ( i ); if( task_exists ( i + TASK_ID )) remove_task ( i + TASK_ID ); } } } } public ttt_item_selected ( id , item , name [], price ) { if( g_TargetGun == item ) { if( user_has_weapon ( id , WEAPON_CSWID )) engclient_cmd ( id , "drop" , WEAPON_NAME ); static data [ STOREABLE_STRUCTURE ]; if(! data [ STRUCT_CSWA_CSW ]) { data [ STRUCT_CSWA_ITEMID ] = g_TargetGun ; data [ STRUCT_CSWA_CSW ] = WEAPON_CSWID ; data [ STRUCT_CSWA_CLIP ] = get_pcvar_num ( cvar_weapon_clip ); data [ STRUCT_CSWA_MAXCLIP ] = get_pcvar_num ( cvar_weapon_clip ); data [ STRUCT_CSWA_AMMO ] = get_pcvar_num ( cvar_weapon_ammo ); data [ STRUCT_CSWA_STACKABLE ] = true ; data [ STRUCT_CSWA_SILENCED ] = - 1 ; data [ STRUCT_CSWA_SPEEDDELAY ] = _ : get_pcvar_float ( cvar_weapon_speed ); data [ STRUCT_CSWA_DAMAGE ] = _ : 0 ; data [ STRUCT_CSWA_RELOADTIME ] = _ : get_pcvar_float ( cvar_weapon_reload ); data [ STRUCT_CSWA_RECOIL ] = _ : get_pcvar_float ( cvar_weapon_recoil ); data [ STRUCT_CSWA_MODEL_V ] = g_szModels [ 0 ]; data [ STRUCT_CSWA_MODEL_P ] = g_szModels [ 1 ]; data [ STRUCT_CSWA_MODEL_W ] = g_szModels [ 2 ]; } cswa_give_specific ( id , data ); client_print_color ( id , print_team_default , "%s Compraste una !gTarget Gun!" , TTT_TAG ); return PLUGIN_HANDLED ; } return PLUGIN_CONTINUE ; } public cswa_damage ( weapon_id , victim , attacker , Float : damage ) { new NameA [ 32 ]; get_user_name ( attacker , NameA , charsmax ( NameA )); if( get_weapon_edict ( weapon_id , REPL_CSWA_ITEMID ) == g_TargetGun ) { if( get_pcvar_num ( cvar_message_mode ) >= 1 ) { client_print_color ( victim , print_team_default , "%s Han introducido un !tProyectil Explosivo !nen ti, !gEXPLOTARAS!" , TTT_TAG ); } else { client_print_color ( victim , print_team_default , "%s !t%s !nintrodujo un !tProyectil Explosivo !nen ti, !gEXPLOTARAS" , TTT_TAG , NameA ); } g_Glowing [ victim ] = true ; set_user_rendering ( victim , kRenderFxGlowShell , 255 , 0 , 0 , kRenderNormal , 30 ); emit_sound ( victim , CHAN_AUTO , g_szSounds , 1.0 , ATTN_NORM , 0 , PITCH_NORM ); set_task ( get_pcvar_float ( cvar_time_explode ), "targetgun_Explode" , victim + TASK_ID , _ , _ , "b" ); Set_user_screenfade ( victim , 255 , 0 , 0 , 2 , 100 ); shake_user_screen ( victim ); } } public targetgun_Explode ( id ) { if(! is_user_alive ( id ) || ttt_get_gamemode () == GAME_ENDED || ttt_get_gamemode () == GAME_PREPARING ) { remove_task ( id + TASK_ID ); return PLUGIN_HANDLED ; } strip_user_weapons ( id ); Explode ( id ); CreateExplosion ( id ); remove_task ( id + TASK_ID ); return PLUGIN_HANDLED ; } CreateExplosion ( id ) { static Float : origin [ 3 ]; entity_get_vector ( id , EV_VEC_origin , origin ); new victim = - 1 , Float : damage ; new Float : radius = get_pcvar_float ( cvar_target_radius ); new Float : dmg = get_pcvar_float ( cvar_target_damage ); while(( victim = find_ent_in_sphere ( victim , origin , radius )) != 0 ) { if( is_valid_ent ( victim ) && entity_get_float ( victim , EV_FL_takedamage ) != DAMAGE_NO ) { damage = ( dmg / radius )*( radius - entity_range ( id , victim )); if( damage > 0.0 ) { if( is_user_connected ( victim )) ttt_set_playerdata ( victim , PD_KILLEDBYITEM , g_TargetGun ); ExecuteHam ( Ham_TakeDamage , victim , id , id , damage , DMG_BLAST ); entity_set_vector ( victim , EV_VEC_velocity , Float :{ 0.0 , 0.0 , 0.0 }); if( is_user_alive ( victim )) ttt_set_playerdata ( victim , PD_KILLEDBYITEM , - 1 ); } } } ttt_set_playerdata ( id , PD_KILLEDBYITEM , g_TargetGun ); ExecuteHam ( Ham_TakeDamage , id , id , id , dmg , DMG_BLAST ); } Explode ( id ) { static origin [ 3 ]; get_user_origin ( id , origin , 0 ); message_begin ( MSG_BROADCAST , SVC_TEMPENTITY ); write_byte ( TE_TAREXPLOSION ); write_coord ( origin [ 0 ]); write_coord ( origin [ 1 ]); write_coord ( origin [ 2 ]); message_end (); } public Set_user_screenfade ( index , rrr , ggg , bbb , duracion , alpha ) { message_begin ( index ? MSG_ONE_UNRELIABLE : MSG_BROADCAST , g_pMsgScreeFade , _ , index ); write_short ( duracion * 4096 ); write_short ( duracion * 4096 ); write_short ( 0x0000 ); write_byte ( rrr ); write_byte ( ggg ); write_byte ( bbb ); write_byte ( alpha ); message_end ( ); } stock shake_user_screen ( index ) { message_begin ( MSG_ONE , g_pMsgScreeShake , { 0 , 0 , 0 }, index ); // Shake Screen write_short ( 1 << 14 ); write_short ( 1 << 14 ); write_short ( 1 << 14 ); message_end (); }
Mensajes: 2,087
Temas: 3
Registro en: Jul 2015
Reputación:
14
Créditos:
- Venezuela en Pinta por la idea. Plaguero.
Mensajes: 410
Temas: 9
Registro en: Apr 2015
Reputación:
5
(17/11/2016, 05:12 PM) Hernandez escribió: Créditos:
- Venezuela en Pinta por la idea. Plaguero.
No sabía si estaba permitido poner él nombre de una comunidad pero, allí le puse los creditos
Cuando pueda optimizo un poco él code
Mensajes: 4,451
Temas: 45
Registro en: Jan 2014
Reputación:
24
(18/11/2016, 11:06 AM) SthoNy escribió: (17/11/2016, 05:12 PM) Hernandez escribió: Créditos:
- Venezuela en Pinta por la idea. Plaguero.
No sabía si estaba permitido poner él nombre de una comunidad pero, allí le puse los creditos
Cuando pueda optimizo un poco él code
él
él
él
él
Mensajes: 2,074
Temas: 110
Registro en: Apr 2014
Mensajes: 410
Temas: 9
Registro en: Apr 2015
Reputación:
5
Ni sabía de ese acento, como estoy del teléfono seguro con el autocorrector se puso