Activar/Desactivar Ham's Forward
#1
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 Sonrisa



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(idprint_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.
Responder
#2
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.
Responder
#3
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.
Responder
#4
(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
Responder
#5
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 Crab
Hi Milashkasiya CrabCrab

Soy un #Panda.. Soy solo un tipo que parece #común pero soy todo lo contrario; alguien #atípico en esta sociedad actual

[Imagen: xl0jvd-5.png]
Link
Responder
#6
Perdón me olvidé de decir que Fakemeta también tiene para hacer esto, usando register_forward y unregister_forward Gran sonrisa



#Roccoxx

Ya te respondió Neel si tienes dudas me dices Sonrisa
Búsqueda de la ecuación perfecta.
Responder
#7
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.
Responder
#8
(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.
Responder
#9
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?
Responder
#10
(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
.
Responder
#11
Interesante, no tenia idea de esto.
Quizás los use, gracias por aportar
NUEVO ZOMBIE PLAGUE + LVLS!! UNETE A LA COMUNIDAD
[Imagen: b_350_20_ffad41_e98100_000000_591f11.png]


Responder
#12
Gracias por el aporte o.o esta muy bueno, aprendi un poco mas Excitedeyes
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)