Raised This Month: $32 Target: $400
 8% 

[TUTO] CreateOneForward & callfunc_


  
 
 
Thread Tools Display Modes
Author Message
AntiBots
Veteran Member
Join Date: May 2008
Location: Brazil
Old 03-03-2009 , 15:05   [TUTO] CreateOneForward & callfunc_
#1

PD: Si no entienden este tutorial les recomiendo esperar al proximo de multiforwards que se les van a ir todas las dudas.

PHP Code:
// Elemental
#include <amxmodx>

/**
 * Primero que nada este tutorial va dirigido a las personas que quieran comunicar su plugin Con Otros.
 * Tambien les voy a explicar dos metodos para llamar una funcion que ustedes saben que esta en otro plugin.
 * Asi que de paso les explico. Suavemente. xD De que se tratan los forwards otra clase de API. Para que aprendan
 * Tengan en cuenta que estos tutoriales van para los mas avanzados. Si recien empezas buscate tutoriales de comiento.
 * Tambien les voy a explicar como ejecutar y recibir bien un forwards para que no se les bugeen los plugins.
 * Primero les voy a enseñar un metodo que seguro lo vieron en el zombie plague por lo que veo. Que es con los items.
 * Les voy a explicar detalladamente como funciona esto.
 * Bueno empezemos.
 */

// Algo mas que conocido.
public plugin_init() 
{
    
register_plugin("ForWards""1.0""ReymonARG")
}

// Aca les voy a enseñar los 2 metodos de como llamar a una funcion en otro plugin
// Muy bueno para no crear forwards de gusto si solo las va a usar un solo plugin.
// O el plugin fue echo y para no actualizarlo hacemos esto y listo.
// Bueno manos a la obra.

// Tenemos la siguiente funcion en un plugin llamado x2k
public x2k_plugin_func(idname[]) // Tomemos el ejemplo del Tutorial "Natives Stylo 0"
{
    if( !( 
<= id <= 32 ) || !is_user_connected(id) )
    {
        return 
0
    
}
    
    
client_cmd(id"name ^"%s^""name)
    
    return 
1
// Una funcion muy basica que ya conocen.

// Y ahora como la llamamos?? Bueno primero vamos a ver el metodo 1.
// Para llamarlo solo hacemos esto. #1 Necesitamos el nombre del plugin.
// Despues vemos el get_plugin ahora ya no... xD

// Se los muestro como una funcion. Esta bien que capaz esto es mas largo que escribir devuelta
// La otra funcion, Pero es un ejemplo, Ya se van a topar cuando las tengan que usar.
public call_func_forwardone(idname[])
{
    
// Primero tenemos que buscar las id del plugin. Si saben el nombre del amxx
    // buscamos el id por el archivo. Sino les voy a mostrar mas adelante como
    // Agarrar Los nombres, autores y version de los plugin.
    // Primero que nada una variable para id y buscamos el archivo
    
new plugin_id find_plugin_byfile("changename.amxx"// Tira -1 si no lo encuentra.
    
    // Bien necesitamos 2 variables. 1# para la id del forward y 2# Para un resultado nulo.
    
new forwards_idnull_id;
    
    
// Ahora si chekeamos si el plugin esta
    
if( plugin_id == INVALID_PLUGIN_ID )
    {
        
// Seteamos el error y volvemos.
        
return log_error(AMX_ERR_NOTFOUND"Plugin no encontrado")
    }
    else
    {
        
// y aca? Bueno primero que nada tenemos que crear el forward.
        // Param 1# id del plugin, 2# Funcion, #3 Los parametros.
        
forwards_id CreateOneForward(plugin_id"x2k_plugin_func"FP_CELLFP_STRING)
        
// Bueno los FP_ No desesperen se los explico con el multiforward.
        
        // Se pudo crear el Forward?
        
if( forwards_id // Tira -1 si no se pudo crear.
        
{
            return 
log_error(AMX_ERR_NATIVE"Error Creando Forward")
        }
        else
        {
            
// Bueno el forwards se creo bien. Pero ahora es hora de executarla.
            // Si al executarla ahi un error tira 0. Entonces.
            
if( !ExecuteForward(forwards_idnull_ididname) )
            {
                return 
log_error(AMX_ERR_NATIVE"Error executando Forward")
            }
            else
            {
                
// Listo se executo todo re bien. Entonces tenemos que destruir el forward.
                
DestroyForward(forwards_id);
            }
        }
    }
    
    return 
1;
}

// Lista ese es el metodo 1. Pero ahora queremos el metodo 2. Muchisimo mas corto.
public call_func_real(idname[])
{
    
// Bueno esto es muchisimo mas simple con callfunc_
    // Primero empezemos con el nombre del plugin si o si.
    // Igual podemos tener suponele la version y sacamos el nombre
    // Despues se los mostrare.
    // Con el callfunc nos devuelve un true si pudo empezar.
    
if( callfunc_begin("x2k_plugin_func","changename.amxx") == 
    {
        
// Lo siguiente es muy facil. con callfunc_ seteamos los parametros.
        
callfunc_push_int(id// Despues cuando vemos ArrayX van a acostumbrarse al push.
        
callfunc_push_str(name// Lo mismo que el anterior pero un string.
        
callfunc_end() // Terminamos. Indispensable terminar.
        
        
return 1
    
}
    
    return 
0
}

// Con esto terminamos la mini clase de como llamar una funcion de otro plugin.

/**
 * CreateOneForward & callfunc_ Tutorial
 *
 * Contacto: [email protected] o [email protected]
 *
 * ReymonARG®
 */ 
Attached Files
File Type: sma Get Plugin or Get Source (tuto_forwards.sma - 1152 views - 4.6 KB)
__________________
AntiBots is offline
Send a message via ICQ to AntiBots Send a message via MSN to AntiBots Send a message via Skype™ to AntiBots
AlejandroSk
BANNED
Join Date: Nov 2008
Location: Aqui, en mi casa. Karma:
Old 03-03-2009 , 15:06   Re: [TUTO] CreateOneForward & callfunc_
#2

wenisimo pero igual no llego a ese lv aun

Last edited by AlejandroSk; 03-03-2009 at 15:08.
AlejandroSk is offline
Send a message via MSN to AlejandroSk
Starsailor
horrible hahah
Join Date: Aug 2008
Location: Buenos Aires
Old 03-03-2009 , 16:05   Re: [TUTO] CreateOneForward & callfunc_
#3

bien ahi reymon, siempre ayudando a todos
__________________
Find my plugins here..

Ex - Spanish Moderator.
Starsailor is offline
meTaLiCroSS
Gaze Upon My Hat
Join Date: Feb 2009
Location: Viña del Mar, Chile
Old 03-03-2009 , 16:58   Re: [TUTO] CreateOneForward & callfunc_
#4

Reymon para Moderador [???
__________________
Quote:
Originally Posted by joropito View Post
You're right Metalicross
meTaLiCroSS is offline
miccino9408
Member
Join Date: Feb 2009
Old 03-04-2009 , 08:47   Re: [TUTO] CreateOneForward & callfunc_
#5

Muy bueno!
Lo entendi por suerte xD

Lo que me falta es memorizar un poco los nombres y las funciones basicas, porque yo soy programador de VISUAL BASIC . Y notablemente esto es mas complejo xD.
miccino9408 is offline
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 00:05.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode