Mensajes: 105
Temas: 4
Registro en: Oct 2013
Reputación:
0
Un plugin bastante sencillo que explica en casi 0 palabras como funciona esto, simplemente con ver el código entenderán. Si tiene dudas las revisaré apenas pueda
Código PHP: #include <amxmodx>
#include <hamsandwich>
new HamHook:g_FwdHamSpawn; // Se debe crear la variable con el tag HamHook:
new g_ToggleSpam;
public plugin_init() {
register_plugin("HamHook Ejemplo", "0.000000001", "gladius");
register_clcmd("say /unpoquitodespam", "CmdSpam");
DisableHamForward(g_FwdHamSpawn = RegisterHam(Ham_Spawn, "player", "Ham_Spawn_Post", true)); // Creamos la forward y obtenemos el id de la forward de Hamsandwich y lo desactivamos de inmedianto (De adentro hacia afuera leanlo)
}
public Ham_Spawn_Post(id)
{
client_print(id, print_chat, "Por favooooor tocameeeeee amxmodx-es.com");
}
public CmdSpam(id)
{
if(get_user_flags(id) & ADMIN_BAN) // Lo hice así para hacerlo más simple, usen los parametros de register_clcmd
{
g_ToggleSpam ? DisableHamForward(g_FwdHamSpawn) : EnableHamForward(g_FwdHamSpawn); // Activamos / Desactivamos la forward dependiendo de la variable g_ToggleSpam
g_ToggleSpam = !g_ToggleSpam; // Si la variable es true, se setea en false y viceversa.
}
return PLUGIN_HANDLED;
}
Búsqueda de la ecuación perfecta.
Mensajes: 1,616
Temas: 19
Registro en: Oct 2013
Reputación:
16
Gracias por el aporte, ya entendí el problema que tenía
Ni te molestes en enviarme un mensaje privado para pedirme ayuda porque NO lo voy a contestar.
Gracias por su atención.
Mensajes: 3,020
Temas: 49
Registro en: Oct 2013
Reputación:
33
esto no lo sabia e.e.
una pregunta para que queremos nosotros desabilitar una forward de ham?
Ingeniero agrónomo y desarrollador de Software.
tutoriales-allied
buscas un zp?
"La imitación es la forma más sincera de admiración con la que puede pagar la mediocridad a la grandeza"
Merci Alliedmodders pour m'introduire dans la programmation.
Mensajes: 4,637
Temas: 73
Registro en: Oct 2013
Reputación:
44
19/10/2013, 12:28 AM
(Última modificación: 19/10/2013, 12:28 AM por Neeeeeeeeeel.-.)
(19/10/2013, 12:20 AM)roccoxx escribió: esto no lo sabia e.e.
una pregunta para que queremos nosotros desabilitar una forward de ham? Por ejemplo, vos hacés 450 ifs en el Ham_Killed pero solo lo chequeas cuando el jugador tiene la variable "superpoderoso[id] = 1"
Si solo habilitás el ham cuando haya por lo menos 1 jugador con superpoderoso[id] = 1 la velocidad de ejecución de tu plugin baja unos 0.00000000001 segundos
Mensajes: 2,870
Temas: 13
Registro en: Oct 2013
Reputación:
24
buen aporte! tambien esta para las forwards en fakemeta para el q no sepa;
(19/10/2013, 12:28 AM)Neeeeeeeeeel.- escribió: (19/10/2013, 12:20 AM)roccoxx escribió: esto no lo sabia e.e.
una pregunta para que queremos nosotros desabilitar una forward de ham?
Por ejemplo, vos hacés 450 ifs en el Ham_Killed pero solo lo chequeas cuando el jugador tiene la variable "superpoderoso[id] = 1"
Si solo habilitás el ham cuando haya por lo menos 1 jugador con superpoderoso[id] = 1 la velocidad de ejecución de tu plugin baja unos 0.00000000001 segundos
eso.. en tu plugins son muchos bytes de memoria ahorrada
Mensajes: 105
Temas: 4
Registro en: Oct 2013
Reputación:
0
Perdón me olvidé de decir que Fakemeta también tiene para hacer esto, usando register_forward y unregister_forward
#Roccoxx
Ya te respondió Neel si tienes dudas me dices
Búsqueda de la ecuación perfecta.
Mensajes: 1,616
Temas: 19
Registro en: Oct 2013
Reputación:
16
Basicamente sería para evitar el llamado de los hooks, ahorrando memoria comprobando por ejemplo si x variable es verdadera, si el usuario esta vivo, etc
Ni te molestes en enviarme un mensaje privado para pedirme ayuda porque NO lo voy a contestar.
Gracias por su atención.
Mensajes: 4,637
Temas: 73
Registro en: Oct 2013
Reputación:
44
19/10/2013, 03:48 AM
(Última modificación: 19/10/2013, 03:48 AM por Neeeeeeeeeel.-.)
(19/10/2013, 12:57 AM)alan_el_more escribió: Basicamente sería para evitar el llamado de los hooks, ahorrando memoria comprobando por ejemplo si x variable es verdadera, si el usuario esta vivo, etc Es solo una de las utilidades...
Suponete que vos querés hacer dos tipos de verificaciones diferentes según una circunstancia global.
Registrás 2 y activás el que te conviene según como cambie esa circunstancia global y ahorras 0.00000000000001 seg mas.
Mensajes: 843
Temas: 303
Registro en: Oct 2013
Reputación:
2
perdon por revivir pero es mejor usar ham DisableHamForward(g_FwdHamSpawn = RegisterHam(Ham_Spawn, o fakemeta unregister_forward(FM_Spawn, para remover entidades? tambien hablando de eficiencia?
Mensajes: 2,454
Temas: 14
Registro en: Oct 2013
Reputación:
51
(24/03/2015, 01:39 AM)wicho escribió: perdon por revivir pero es mejor usar ham DisableHamForward(g_FwdHamSpawn = RegisterHam(Ham_Spawn, o fakemeta unregister_forward(FM_Spawn, para remover entidades? tambien hablando de eficiencia?
Para remover entidades? Si te referís a remover entidades del map ( como info_map_parameters ) se usa fakemeta... Además tienen distinta funcionalidad las forwards que mencionaste, es depende que intentes hacer.
No hago trabajos privados. Si necesitás ayuda, abrí un nuevo tema.
¿Buscás un ejemplo o algún modo de juego? Podés echarle un vistazo a mis aportes.
Mensajes: 613
Temas: 78
Registro en: Dec 2013
Reputación:
12
Interesante, no tenia idea de esto.
Quizás los use, gracias por aportar
NUEVO ZOMBIE PLAGUE + LVLS!! UNETE A LA COMUNIDAD
Mensajes: 126
Temas: 16
Registro en: Feb 2015
Gracias por el aporte o.o esta muy bueno, aprendi un poco mas
|