Mensajes: 3,238
Temas: 47
Registro en: Feb 2015
Reputación:
34
TTT Item Invisible
Descripción:
- Al comprar este item, se te otorgará invisibilidad por 10 segundos(solo si sos Traidor).
Cvars:
Código PHP: cvarTimeInvisible = register_cvar( "ttt_timeinvisible", "10.0" ) // Tiempo de la invisibilidad. cvarPriceInvisible = register_cvar( "ttt_priceinvisible", "1000" ) // Precio de la invisibilidad.
Requerimientos:
- Mod Trouble in Terrorist Town
Código:
Código PHP: #include <amxmodx> #include <cstrike> #include <fun> #include <ttt>
new const PluginAndPrefix[ ][ ] = { "[TTT] Invisible Item", "1.0", "Skylar", "[ TTT ]" };
new gInvisibleItem; new cvarTimeInvisible, cvarPriceInvisible;
public plugin_init( ) { register_plugin( PluginAndPrefix[ 0 ], PluginAndPrefix[ 1 ], PluginAndPrefix[ 2 ] ); cvarTimeInvisible = register_cvar( "ttt_timeinvisible", "10.0" ); cvarPriceInvisible = register_cvar( "ttt_priceinvisible", "1000" ); }
public ttt_plugin_cfg( ) { new name[ TTT_ITEMLENGHT ]; formatex( name, charsmax( name ), "Invisible (10 Segundos)" ); gInvisibleItem = ttt_buymenu_add( name, get_pcvar_num( cvarPriceInvisible ), PC_TRAITOR ); }
public ttt_item_selected( id, item, name[ ], price ) { if( !is_user_alive( id ) ) return PLUGIN_HANDLED; if( gInvisibleItem == item ) { client_print( id, print_chat, "%s Compraste: Invisible (10 Segundos)", PluginAndPrefix[ 3 ] ); set_user_rendering( id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 40 ); set_task( get_pcvar_float( cvarTimeInvisible ), "RemoveInvisible", id ); } return PLUGIN_HANDLED; }
public RemoveInvisible( id ) set_user_rendering( id, kRenderFxNone, 0, 0, 0, kRenderNormal, 25 );
Mensajes: 410
Temas: 9
Registro en: Apr 2015
Reputación:
5
08/04/2016, 08:08 PM
(Última modificación: 08/04/2016, 08:08 PM por SthoNy'.)
Buen aporte te me adelantaste venia a aportar lo mismo
PD: Es totalmente invisible o se alcanza a ver el jugador?
Mensajes: 2,094
Temas: 59
Registro en: Feb 2015
Reputación:
15
08/04/2016, 08:19 PM
(Última modificación: 08/04/2016, 08:19 PM por OsweRRR.)
Deberías usar AddToFullPack para darle la invisibilidad completamente al usuario, Así como lo veo diría que esta " Semi-Invisible".
Buen aporte papu
(18/11/2014, 05:47 PM)Neeeeeeeeeel.- escribió: Por qué necesitan una guía para todo? Meté mano y que salga lo que salga... es la mejor forma de aprender.
(16/05/2016, 11:08 PM)kikizon2 escribió: No cabe duda que tienen mierda en vez de cerebro, par de pendejos v:
Mensajes: 3,238
Temas: 47
Registro en: Feb 2015
Reputación:
34
08/04/2016, 09:07 PM
(Última modificación: 08/04/2016, 09:09 PM por Skylar.)
(08/04/2016, 08:19 PM)OsweRRR escribió: Deberías usar AddToFullPack para darle la invisibilidad completamente al usuario, Así como lo veo diría que esta "Semi-Invisible".
Buen aporte papu
Creo que está bien así.
Y no se usar AddToFullPack
Gracias
(08/04/2016, 08:08 PM)SthoNy escribió: Buen aporte te me adelantaste venia a aportar lo mismo
PD: Es totalmente invisible o se alcanza a ver el jugador?
Es semi-invisible..
Gracias
Mensajes: 1,836
Temas: 66
Registro en: Oct 2013
No quiero ser un FORRO, pero esto es como crear un shop con un item que tenga invisibilidad..
Al menos hacelo con addtofullpack o como se diga
Mensajes: 3,238
Temas: 47
Registro en: Feb 2015
Reputación:
34
(08/04/2016, 09:12 PM)josue9243 escribió: No quiero ser un FORRO, pero esto es como crear un shop con un item que tenga invisibilidad..
Al menos hacelo con addtofullpack o como se diga
Leé el comentario que puse último.
" No se usar AddToFullPack"
Mensajes: 3,466
Temas: 18
Registro en: Oct 2013
Reputación:
54
Mensajes: 3,284
Temas: 41
Registro en: Jan 2014
Reputación:
28
Mensajes: 3,466
Temas: 18
Registro en: Oct 2013
Reputación:
54
El scope del plugin es hacerlo invisible. Y el uso de set_user_rendering basta. El hookeo de AddToFullPack es lo que estoy preguntandoles mas que nada
Mensajes: 3,284
Temas: 41
Registro en: Jan 2014
Reputación:
28
Mensajes: 1,836
Temas: 66
Registro en: Oct 2013
(09/04/2016, 12:06 AM)meTaLiCroSS escribió: El scope del plugin es hacerlo invisible. Y el uso de set_user_rendering basta. El hookeo de AddToFullPack es lo que estoy preguntandoles mas que nada
Pense que addtofullpack servia mas para jugadores, ahora que veo es mas para entidades, aun que también sirve con jugadores.
Supuestamente addtofullpack hookea la visualización de entidades por frame, creo que si se puede hacer eso que dije.
Mensajes: 3,238
Temas: 47
Registro en: Feb 2015
Reputación:
34
(09/04/2016, 09:57 AM)josue9243 escribió: (09/04/2016, 12:06 AM)meTaLiCroSS escribió: El scope del plugin es hacerlo invisible. Y el uso de set_user_rendering basta. El hookeo de AddToFullPack es lo que estoy preguntandoles mas que nada
Pense que addtofullpack servia mas para jugadores, ahora que veo es mas para entidades, aun que también sirve con jugadores.
Supuestamente addtofullpack hookea la visualización de entidades por frame, creo que si se puede hacer eso que dije.
Miren este código de Sugisaki..
Código PHP: #include <amxmodx> #include <fakemeta> #include <engine>
#define PLUGIN "Nuevo Plugin" #define VERSION "1.0" #define AUTHOR "Sugisaki"
new Float:fPTime[33] new bool:buyed[33]
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("set_in", "fw_test") register_forward(FM_AddToFullPack, "AddToFullPack", 1) } public AddToFullPack(es, e, ent, host, flags, player, set) { if(!player) return if(buyed[ent]) { set_es(es, ES_Effects, EF_NODRAW) if(halflife_time() >= fPTime[ent]) { buyed[ent] = false } } } public fw_test(id) { buyed[player] = true fPTime[player] = halflife_time() + 10.0 }
Pero el código así está bien jaja, funciona perfecto la invisibilidad...
Mensajes: 3,466
Temas: 18
Registro en: Oct 2013
Reputación:
54
(09/04/2016, 09:57 AM)josue9243 escribió: (09/04/2016, 12:06 AM)meTaLiCroSS escribió: El scope del plugin es hacerlo invisible. Y el uso de set_user_rendering basta. El hookeo de AddToFullPack es lo que estoy preguntandoles mas que nada
Pense que addtofullpack servia mas para jugadores, ahora que veo es mas para entidades, aun que también sirve con jugadores.
Supuestamente addtofullpack hookea la visualización de entidades por frame, creo que si se puede hacer eso que dije.
No tiene ningun sentido lo que acabas de decir.
Lee mi tutorial paso a paso si quieres recien entender algo.
No estoy aqui para criticar que no saben un moco, si no que si "no estan seguros" de algo que van a predicar, no lo hagan, logrando asi confundir usuarios con sus deducciones.
Los entvars de set_user_rendering van directos a AddToFullPack. Esta forward se llama por cada entidad para ser enviada a cada player. Si "evitas" que AddToFullPack indique donde esta el jugador target, mas que un simple bug pasará, ¿por que? Los jugadores deben saber donde estan el resto de los jugadores. Eventos varios requieren saber su ubicacion actual (origin) por lo que hacerlo invisible 101% (que no sea enviado a los otros jugadores) es un riesgo para muchas caracteristicas. Si se puede hacer invisible 100% sin requerir AddToFullPack y es que el renderamount (último parametro de set_user_rendering) sea 0, es decir, no tenga relleno
Algo que acotar?
Mensajes: 2,105
Temas: 25
Registro en: Jan 2014
Reputación:
20
Cito este mensaje, por si alguien no entiende la explicación de Metal, y tiene alguna duda del porque es malo pero en un lenguaje gringo.
(10/04/2016, 07:33 PM)hud escribió: Descifrando todo ese lenguaje chino, y preguntándole a Metal, cuando me surgió la duda en su respectivo momento.
Hacer al jugador invisible mediante el uso de AddToFullPack, es malo, debido a que:
Si yo "estoy invisible" y corro debería escucharse el sonido de mis pasos, si vos le bloqueas el envió de estos datos al jugador, no importa el ruido que haga mi entidad en el estado que estoy invisible no me vas a escuchar. Saltar, correr, garcharme a tu vieja, etc. Es decir todo sonido que emita tu entidad.
Si sos invisible se supone que debo escuchar los ruidos que hagas, y de esta manera detectar tu posición.
Lo que dijo metal en ese thread es simple, si lo que se busca es hacerlo invisible en sí y nada mas. Basta con usar set_user_rendering, porque así, solamente modificamos el relleno del modelo, nada mas.
Ahora, si no te importa el bug que se genera al evitar mandarle los datos con AddToFullPack. Es diferente. Y si uno posee alguna especie de Wall Hack, o cheat parecido a esas características, no importa ya que no va a recibir los datos de los vectores de la entidad del jugador invisible ni tampoco el sonido de la misma (a medias).
(25/03/2015, 10:35 PM)hud escribió: (25/03/2015, 10:30 PM)meTaLiCroSS escribió: *edit* puto
Cabe.
Mensajes: 454
Temas: 95
Registro en: May 2015
Reputación:
8
Mensajes: 3,238
Temas: 47
Registro en: Feb 2015
Reputación:
34
(18/04/2016, 04:16 PM)Blackk escribió: Buen aporte (Y)
Ty
Mensajes: 20
Temas: 2
Registro en: Jan 2016
Reputación:
0
Hola Skylar! Descargué y probé tu plugin, me copó... Le modifiqué el % de invi para hacerlo caaaasi visible, de 40 baje a 15. Seteando el 'kRenderTransAlpha' en '0' no se ve nada de nada.
Me gustaría agregarle un msj por say que te avise cuando se va la invisibilidad. De a poco voy entendiendo un poco más las líneas, pero quise hacerlo yo y no me salió (obvio jaja). Cómo sería?
Mensajes: 2,087
Temas: 3
Registro en: Jul 2015
Reputación:
14
(21/04/2016, 05:18 PM)bitterness. escribió: Hola Skylar! Descargué y probé tu plugin, me copó... Le modifiqué el % de invi para hacerlo caaaasi visible, de 40 baje a 15. Seteando el 'kRenderTransAlpha' en '0' no se ve nada de nada.
Me gustaría agregarle un msj por say que te avise cuando se va la invisibilidad. De a poco voy entendiendo un poco más las líneas, pero quise hacerlo yo y no me salió (obvio jaja). Cómo sería?
En remove_invisible haces un client_print
Mensajes: 6,664
Temas: 81
Registro en: Jan 2014
Reputación:
68
(21/04/2016, 05:18 PM)bitterness. escribió: Hola Skylar! Descargué y probé tu plugin, me copó... Le modifiqué el % de invi para hacerlo caaaasi visible, de 40 baje a 15. Seteando el 'kRenderTransAlpha' en '0' no se ve nada de nada.
Me gustaría agregarle un msj por say que te avise cuando se va la invisibilidad. De a poco voy entendiendo un poco más las líneas, pero quise hacerlo yo y no me salió (obvio jaja). Cómo sería?
Cambia:
Código PHP: public RemoveInvisible( id ) set_user_rendering( id, kRenderFxNone, 0, 0, 0, kRenderNormal, 25 );
por :
Código PHP: public RemoveInvisible( id ) { if( !is_user_alive( id )) return;
set_user_rendering( id ); client_print( id , print_chat , "Se te acabo la invisibilidad, puto :v" ); }
Mensajes: 20
Temas: 2
Registro en: Jan 2016
Reputación:
0
Sabía que iba un client_print pero no qué info se ponía antes.. Luego lo pruebo.. se puede usar client_print_color para que no salga todo el say en color normal?
Gracias a ambos!
Mensajes: 6,664
Temas: 81
Registro en: Jan 2014
Reputación:
68
(21/04/2016, 05:44 PM)bitterness. escribió: Sabía que iba un client_print pero no qué info se ponía antes.. Luego lo pruebo.. se puede usar client_print_color para que no salga todo el say en color normal?
Gracias a ambos!
Si usas amx 1.8.3 creo que si, no estoy seguro pero creo que se implemento, si no, usa un stock.
Mensajes: 3,238
Temas: 47
Registro en: Feb 2015
Reputación:
34
(21/04/2016, 07:53 PM)kikizon2 escribió: (21/04/2016, 05:44 PM)bitterness. escribió: Sabía que iba un client_print pero no qué info se ponía antes.. Luego lo pruebo.. se puede usar client_print_color para que no salga todo el say en color normal?
Gracias a ambos!
Si usas amx 1.8.3 creo que si, no estoy seguro pero creo que se implemento, si no, usa un stock.
Creo que desde 1.8.2, probé usando el stock client_print_color desde 1.8.2 y me funcionó.
Mensajes: 20
Temas: 2
Registro en: Jan 2016
Reputación:
0
Ya casi anda al 100% como quiero ?)
* Sí me dejó usar el client_print_color
* Si compro "Invisibilidad" y me matan antes de que se termine, el 'tiempo' sigue 'corriendo' y en la ronda siguiente me aparece el say "Ya no sos mas invisible".
Para lo del say, usé lo que dijo kikizon, y anda bien:
Código PHP: public RemoveInvisible( id ) { if( !is_user_alive( id )) return;
set_user_rendering( id ); client_print_color( id , print_chat , "^3[^4TTT^3]^1 Ya no sos mas invisible." ); }
Ahora, si me matan estando invisible... en la ronda siguiente no debería aparecerme ese say *cara pensativa de wpp*
Mensajes: 2,087
Temas: 3
Registro en: Jul 2015
Reputación:
14
(22/04/2016, 02:59 AM)bitterness. escribió: Ya casi anda al 100% como quiero ?)
* Sí me dejó usar el client_print_color
* Si compro "Invisibilidad" y me matan antes de que se termine, el 'tiempo' sigue 'corriendo' y en la ronda siguiente me aparece el say "Ya no sos mas invisible".
Para lo del say, usé lo que dijo kikizon, y anda bien:
Código PHP: public RemoveInvisible( id ) { if( !is_user_alive( id )) return;
set_user_rendering( id ); client_print_color( id , print_chat , "^3[^4TTT^3]^1 Ya no sos mas invisible." ); }
Ahora, si me matan estando invisible... en la ronda siguiente no debería aparecerme ese say *cara pensativa de wpp*
Prueba esto a ver
Código PHP: #include <amxmodx> #include <cstrike> #include <fun> #include <ttt> #include <hamsandwich>
new const PluginAndPrefix[ ][ ] = { "[TTT] Invisible Item", "1.0", "Skylar", "[ TTT ]" };
new gInvisibleItem; new cvarTimeInvisible, cvarPriceInvisible;
public plugin_init( ) { register_plugin( PluginAndPrefix[ 0 ], PluginAndPrefix[ 1 ], PluginAndPrefix[ 2 ] ); RegisterHam(Ham_Killed, "player", "fw_PlayerKilled") cvarTimeInvisible = register_cvar( "ttt_timeinvisible", "10.0" ); cvarPriceInvisible = register_cvar( "ttt_priceinvisible", "1000" ); }
public ttt_plugin_cfg( ) { new name[ TTT_ITEMLENGHT ]; formatex( name, charsmax( name ), "Invisible (10 Segundos)" ); gInvisibleItem = ttt_buymenu_add( name, get_pcvar_num( cvarPriceInvisible ), PC_TRAITOR ); }
public ttt_item_selected( id, item, name[ ], price ) { if( !is_user_alive( id ) ) return PLUGIN_HANDLED; if( gInvisibleItem == item ) { client_print( id, print_chat, "%s Compraste: Invisible (10 Segundos)", PluginAndPrefix[ 3 ] ); set_user_rendering( id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 40 ); set_task( get_pcvar_float( cvarTimeInvisible ), "RemoveInvisible", id ); } return PLUGIN_HANDLED; }
public RemoveInvisible( id ) set_user_rendering( id, kRenderFxNone, 0, 0, 0, kRenderNormal, 25 );
public fw_PlayerKilled(victim, attacker, shouldgib) { RemoveInvisible(victim) client_print(victim, "Has muerto, por lo tanto se ha acabado tu invisibilidad") }
Mensajes: 6,664
Temas: 81
Registro en: Jan 2014
Reputación:
68
(21/04/2016, 11:34 PM)Skylar escribió: (21/04/2016, 07:53 PM)kikizon2 escribió: (21/04/2016, 05:44 PM)bitterness. escribió: Sabía que iba un client_print pero no qué info se ponía antes.. Luego lo pruebo.. se puede usar client_print_color para que no salga todo el say en color normal?
Gracias a ambos!
Si usas amx 1.8.3 creo que si, no estoy seguro pero creo que se implemento, si no, usa un stock.
Creo que desde 1.8.2, probé usando el stock client_print_color desde 1.8.2 y me funcionó.
do babes creo que la libreria ttt ya tiene el stock de print color
|