Mensajes: 171
Temas: 20
Registro en: Oct 2013
06/01/2014, 09:59 PM
(Última modificación: 06/01/2014, 10:03 PM por xGreat.)
Tengo un problema con call func, en el primer plugin tengo esto:
Código PHP: if( callfunc_begin("dar_dinero", "Test.amxx") == 1 ) { callfunc_push_int(id); callfunc_end(); return; }
y en el segundo plugin esto:
Código PHP: public dar_dinero(id) { if (!g_UsedDinero[id]) { Dinero[id] += 5000 g_UsedDinero[id] = true say(id, "Encontraste 5000 Pesos Botados") } }
y no funciona, la public que quiero abrir se llama "dar_dinero" y el plugin "Test.amxx" y no me sirve, no se habré, alguna solucion ?, Gracias
Mensajes: 2,870
Temas: 13
Registro en: Oct 2013
Reputación:
24
Usa una native.. mas facil
Mensajes: 34
Temas: 7
Registro en: Jan 2014
Reputación:
0
06/01/2014, 10:06 PM
(Última modificación: 06/01/2014, 10:12 PM por internel.)
a lo mejor si cambias ese say(id, ...) por client_print(id, print_chat, "Encontraste 5000 pesos Botados")
edito: probé esa funcion en un plugin y me anda bien, a lo mejor te anda pero no estás mandando el mensaje correctamente.
Mensajes: 171
Temas: 20
Registro en: Oct 2013
(06/01/2014, 10:05 PM)[R]ak escribió: Usa una native.. mas facil
Estuve viendo como se usa las natives pero no se como se usa, me ayudas ? Gracias.
(06/01/2014, 10:06 PM)internel escribió: a lo mejor si cambias ese say(id, ...) por client_print(id, print_chat, "Encontraste 5000 pesos Botados")
edito: probé esa funcion en un plugin y me anda bien, a lo mejor te anda pero no estás mandando el mensaje correctamente.
No anda nada, Porque esos 5000 Se suman a un dinero que tengo y no se suman :S
Mensajes: 965
Temas: 45
Registro en: Oct 2013
Reputación:
19
1 plugin
client_cmd(id, "givemoney")
2 plugin
// Plugin init
register_clcmd("givemoney", "dar_dinero")
Mensajes: 34
Temas: 7
Registro en: Jan 2014
Reputación:
0
(06/01/2014, 10:18 PM)xGreat escribió: (06/01/2014, 10:05 PM)[R]ak escribió: Usa una native.. mas facil
Estuve viendo como se usa las natives pero no se como se usa, me ayudas ? Gracias.
(06/01/2014, 10:06 PM)internel escribió: a lo mejor si cambias ese say(id, ...) por client_print(id, print_chat, "Encontraste 5000 pesos Botados")
edito: probé esa funcion en un plugin y me anda bien, a lo mejor te anda pero no estás mandando el mensaje correctamente.
No anda nada, Porque esos 5000 Se suman a un dinero que tengo y no se suman :S
mmm, como dice [R]ak te conviene utilizar natives para cuando trabajes con variables.
te recomiendo usar las natives, o sino la segunda opción es la que te dice Metrikcz la cual no te la sugiero mucho porque podría saturar al servidor con comandos del cliente, pero funciona igual y te lleva a lo mismo, asi que intenta con cualquiera de las 2 opciones a ver cual te resulta más cómodo.
Mensajes: 2,870
Temas: 13
Registro en: Oct 2013
Reputación:
24
(06/01/2014, 10:53 PM)Metrikcz escribió: 1 plugin
client_cmd(id, "givemoney")
2 plugin
// Plugin init
register_clcmd("givemoney", "dar_dinero")
No comentes cosas absurdas
Mensajes: 171
Temas: 20
Registro en: Oct 2013
(06/01/2014, 11:05 PM)internel escribió: (06/01/2014, 10:18 PM)xGreat escribió: (06/01/2014, 10:05 PM)[R]ak escribió: Usa una native.. mas facil
Estuve viendo como se usa las natives pero no se como se usa, me ayudas ? Gracias.
(06/01/2014, 10:06 PM)internel escribió: a lo mejor si cambias ese say(id, ...) por client_print(id, print_chat, "Encontraste 5000 pesos Botados")
edito: probé esa funcion en un plugin y me anda bien, a lo mejor te anda pero no estás mandando el mensaje correctamente.
No anda nada, Porque esos 5000 Se suman a un dinero que tengo y no se suman :S
mmm, como dice [R]ak te conviene utilizar natives para cuando trabajes con variables.
te recomiendo usar las natives, o sino la segunda opción es la que te dice Metrikcz la cual no te la sugiero mucho porque podría saturar al servidor con comandos del cliente, pero funciona igual y te lleva a lo mismo, asi que intenta con cualquiera de las 2 opciones a ver cual te resulta más cómodo.
Como dije antes, no se usar natives, que alguien me ayude o que me enseñe a usar natives :S
Mensajes: 34
Temas: 7
Registro en: Jan 2014
Reputación:
0
06/01/2014, 11:26 PM
(Última modificación: 06/01/2014, 11:26 PM por internel.)
en un plugin pones:
Código PHP: #include <amxmodx> #include <amxmisc>
#define PLUGIN "Crear Natives" #define VERSION "1.0" #define AUTHOR "Internel"
/* AQUÍ VARIABLES */
new g_dinero[33]
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) }
public plugin_natives() { register_library("prueba"); register_native("f_obt_dinero", "native_obt_dinero", 1); register_native("f_set_dinero", "native_set_dinero", 1) }
public native_obt_dinero(id) return g_dinero[id];
public native_set_dinero(id, cantidad) { g_dinero[id] = cantidad; }
entonces en el segundo plugin solo llamas así:
Código PHP: #include <prueba>
public tu_funcion(id) { f_set_dinero(id, f_obt_dinero(id) + 5000) }
espero que funcione, cualquier cosa dime no mas xd
Mensajes: 2,870
Temas: 13
Registro en: Oct 2013
Reputación:
24
Registras una librería q no chequeas
Gente haciendo copy paste
Mensajes: 34
Temas: 7
Registro en: Jan 2014
Reputación:
0
(06/01/2014, 11:29 PM)[R]ak escribió: Registras una librería q no chequeas
Gente haciendo copy paste
agh, se me olvidó el otro archivo xD
no es copy paste, es solo un código que habia escrito hace un tiempo.
El otro archivo que tienes que hacer es el include, creas un archivo de cero y pones esto:
Código PHP: #if defined _prueba_included #endinput #endif #define _prueba_included
native f_obt_dinero(id); native f_set_dinero(id, cantidad)
luego lo guardas como prueba.inc
Mensajes: 2,870
Temas: 13
Registro en: Oct 2013
Reputación:
24
Sabes para que es register_library?
Mensajes: 34
Temas: 7
Registro en: Jan 2014
Reputación:
0
07/01/2014, 12:01 AM
(Última modificación: 07/01/2014, 12:02 AM por internel.)
(06/01/2014, 11:59 PM)[R]ak escribió: Sabes para que es register_library?
registra el plugin como una librería a través de un archivo include con el nombre que le quiera dar.
así el sub-plugin registra ese include y tiene acceso a las funciones de la librería
Mensajes: 2,870
Temas: 13
Registro en: Oct 2013
Reputación:
24
Mensajes: 965
Temas: 45
Registro en: Oct 2013
Reputación:
19
plugin 2
public plugin_natives() register_native("dardinero", "dar_dinero", 1)
amxmodx.inc
native dardinero(id)
plugin 1
dardinero(id)
Mensajes: 171
Temas: 20
Registro en: Oct 2013
Que alguien postee algo que sirva porfavor
Mensajes: 34
Temas: 7
Registro en: Jan 2014
Reputación:
0
07/01/2014, 12:22 AM
(Última modificación: 07/01/2014, 12:29 AM por internel.)
(07/01/2014, 12:09 AM)[R]ak escribió: O.o u fail dude
entonces puedes explicar que es? así se evita tener el error del concepto
Mensajes: 965
Temas: 45
Registro en: Oct 2013
Reputación:
19
(07/01/2014, 12:20 AM)xGreat escribió: Que alguien postee algo que sirva porfavor
no has probado lo que acabo de postear ?
Mensajes: 996
Temas: 11
Registro en: Oct 2013
Reputación:
20
07/01/2014, 01:55 AM
(Última modificación: 07/01/2014, 01:56 AM por [Anti].)
es simple, yo las uso así y siempre me funciono:
Código PHP: //en donde tenes la funcion a la que queres llamar: public plugin_natives() register_native( "Name_Native", "Funcion", 1) /*Nombre de la native y el de la funcion, el 1 me parece que es algo de los parametros*/ //en el plugin que llama a la funcion en el otro: native Name_Native(args); public asdasd(id) Name_Native(id);
Mensajes: 225
Temas: 15
Registro en: Oct 2013
Reputación:
1
xGreat:
1.- Pone esto dentro de tu plugin del Test.sma
Código PHP: public plugin_natives() register_native("native_dar_dinero", "dar_dinero", 1)
2.- Luego compilas.
3.- Abres tu otro plugin y al principio del plugin:
Código PHP: native native_dar_dinero(id)
4.- Luego en tu mismo plugin donde querias llamar con el call_func llamas a native_dar_dinero(id)
Ejemplo
Código PHP: /* Plugin generated by AMXX-Studio */ #include <amxmodx>
native native_dar_dinero(id)
public plugin_init() { register_plugin("3", "2", "1") register_clcmd("say /dinero", "Function") }
public Function(id) native_dar_dinero(id)
Mensajes: 996
Temas: 11
Registro en: Oct 2013
Reputación:
20
(07/01/2014, 03:04 AM)LA BANDA escribió: xGreat:
1.- Pone esto dentro de tu plugin del Test.sma
Código PHP: public plugin_natives() register_native("native_dar_dinero", "dar_dinero", 1)
2.- Luego compilas.
3.- Abres tu otro plugin y al principio del plugin:
Código PHP: native native_dar_dinero(id)
4.- Luego en tu mismo plugin donde querias llamar con el call_func llamas a native_dar_dinero(id)
Ejemplo
Código PHP: /* Plugin generated by AMXX-Studio */ #include <amxmodx>
native native_dar_dinero(id)
public plugin_init() { register_plugin("3", "2", "1") register_clcmd("say /dinero", "Function") }
public Function(id) native_dar_dinero(id)
exactamente lo que puse yo...
Mensajes: 225
Temas: 15
Registro en: Oct 2013
Reputación:
1
(07/01/2014, 04:33 AM)[Anti] escribió: exactamente lo que puse yo...
Dale
Mensajes: 171
Temas: 20
Registro en: Oct 2013
Solucionado, Vi un TUT de Roccoxx, Gracias igual a todos los que postearon.
|