Mensajes: 2,176
Temas: 99
Registro en: Dec 2013
Reputación:
42
14/06/2014, 09:18 PM
(Última modificación: 14/06/2014, 09:21 PM por CSAxel.)
Por algo lo hice a través de una CVAR. Si tiene un mod donde ya tienen hookeado el chooseteam, lo setea en 0 a la CVAR y listo, sin problemas..Y usan el comando /hab para abrir el menú.. Es para la comodidad de cada uno
Free agent - Vendo plugins, mods o apps del foro IPB (Invision community)
Contactarme vía Discord >>> AtselTV#8202
Mensajes: 101
Temas: 13
Registro en: Apr 2014
Muy bueno, capas lo pruebe
Mensajes: 2,105
Temas: 196
Registro en: Mar 2014
Reputación:
13
Mensajes: 2,870
Temas: 13
Registro en: Oct 2013
Reputación:
24
19/06/2014, 11:40 PM
(Última modificación: 20/06/2014, 01:06 AM por [R]ak.)
edit:
al carajo lo que dije antes...
aver... si van a decir algo como "retorna X" decí el por que;
1ero.-
Código: #define HAM_IGNORED 1 /**< Calls target function, returns normal value */
#define HAM_HANDLED 2 /**< Tells the module you did something, still calls target function and returns normal value */
#define HAM_OVERRIDE 3 /**< Still calls the target function, but returns whatever is set with SetHamReturn*() */
#define HAM_SUPERCEDE 4 /**< Block the target call, and use your return value (if applicable) (Set with SetHamReturn*()) */
2do.- Si tiene IGNORED y le decis pone HAM_HANDLED decí por que; como estaba al pedo me puse a ver el sdk;
Código: extern bool gDoForwards;
// Return value pushes
#define PUSH_VOID() ReturnStack.push(new Data(RET_VOID, NULL)); OrigReturnStack.push(new Data(RET_VOID, NULL));
#define PUSH_INT() ReturnStack.push(new Data(RET_INTEGER, (void *)&ret)); OrigReturnStack.push(new Data(RET_INTEGER, (void *)&origret));
#define PUSH_FLOAT() ReturnStack.push(new Data(RET_FLOAT, (void *)&ret)); OrigReturnStack.push(new Data(RET_FLOAT, (void *)&origret));
#define PUSH_VECTOR() ReturnStack.push(new Data(RET_VECTOR, (void *)&ret)); OrigReturnStack.push(new Data(RET_VECTOR, (void *)&origret));
#define PUSH_CBASE() ReturnStack.push(new Data(RET_CBASE, (void *)&ret)); OrigReturnStack.push(new Data(RET_CBASE, (void *)&origret));
#define PUSH_STRING() ReturnStack.push(new Data(RET_STRING, (void *)&ret)); OrigReturnStack.push(new Data(RET_STRING, (void *)&origret));
// Pop off return values
#define POP() delete ReturnStack.front(); ReturnStack.pop(); delete OrigReturnStack.front(); OrigReturnStack.pop();
// Parameter value pushes
#define MAKE_VECTOR() \
int iThis=PrivateToIndex(pthis); \
CVector<Data *> *__vec=new CVector<Data *>; \
ParamStack.push(__vec); \
P_CBASE(pthis, iThis)
#define P_INT(___PARAM) __vec->push_back(new Data(RET_INTEGER, (void *) & (___PARAM)));
#define P_FLOAT(___PARAM) __vec->push_back(new Data(RET_FLOAT, (void *) & (___PARAM)));
#define P_VECTOR(___PARAM) __vec->push_back(new Data(RET_VECTOR, (void *) & (___PARAM)));
#define P_STR(___PARAM) __vec->push_back(new Data(RET_STRING, (void *) & (___PARAM)));
#define P_CBASE(__PARAM, __INDEX) __vec->push_back(new Data(RET_CBASE, (void *) & (__PARAM), reinterpret_cast<int *>(& (__INDEX))));
#define P_ENTVAR(__PARAM, __INDEX) __vec->push_back(new Data(RET_ENTVAR, (void *) & (__PARAM), reinterpret_cast<int *>(& (__INDEX))));
#define P_TRACE(__PARAM) __vec->push_back(new Data(RET_TRACE, (void *) (__PARAM)));
#define P_PTRVECTOR(__PARAM) __vec->push_back(new Data(RET_VECTOR, (void *) (__PARAM)));
#define P_PTRFLOAT(__PARAM) __vec->push_back(new Data(RET_FLOAT, (void *) (__PARAM)));
#define P_ITEMINFO(__PARAM) __vec->push_back(new Data(RET_ITEMINFO, (void *) & (__PARAM)));
#define KILL_VECTOR() \
CVector<Data *>::iterator end=__vec->end(); \
for (CVector<Data *>::iterator i=__vec->begin(); i!=end; ++i) \
{ \
delete (*i); \
} \
delete __vec; \
ParamStack.pop();
#define PRE_START() \
bool DoForwards=gDoForwards; \
gDoForwards=true; \
int result=HAM_UNSET; \
ReturnStatus.push(&result); \
int thisresult=HAM_UNSET; \
if (DoForwards) \
{ \
CVector<Forward*>::iterator end=hook->pre.end(); \
for (CVector<Forward*>::iterator i=hook->pre.begin(); i!=end; i++) \
{ \
if ((*i)->state == FSTATE_OK) \
{ \
thisresult=MF_ExecuteForward((*i)->id,iThis
#define PRE_END() \
); \
} \
if (thisresult > result) \
{ \
result=thisresult; \
} \
} \
} \
if (result < HAM_SUPERCEDE) \
{
#define POST_START() \
} \
if (DoForwards) \
{ \
CVector<Forward*>::iterator end=hook->post.end(); \
for (CVector<Forward*>::iterator i=hook->post.begin(); i!=end; i++) \
{ \
if ((*i)->state == FSTATE_OK) \
{ \
MF_ExecuteForward((*i)->id,iThis
#define POST_END() \
); \
} \
} \
} \
ReturnStatus.pop();
#define CHECK_RETURN() \
if (thisresult < HAM_OVERRIDE) \
{ \
return origret; \
}
#define CHECK_RETURN_STR() \
if (thisresult < HAM_OVERRIDE) \
{ \
return origret.c_str(); \
}
#define CHECK_RETURN_VEC() \
if (thisresult < HAM_OVERRIDE) \
{ \
memcpy(out, &origret, sizeof(Vector)); \
return; \
}
cuando se llama TakeDamage
Código: int Hook_Int_Entvar_Entvar_Float_Int(Hook *hook, void *pthis, entvars_t *inflictor, entvars_t *attacker, float damage, int damagebits)
{
int ret=0;
int origret=0;
PUSH_INT()
int iInflictor=EntvarToIndex(inflictor);
int iAttacker=EntvarToIndex(attacker);
MAKE_VECTOR()
P_ENTVAR(inflictor, iInflictor)
P_ENTVAR(attacker, iAttacker)
P_FLOAT(damage)
P_INT(damagebits)
PRE_START()
,iInflictor, iAttacker, damage, damagebits
PRE_END()
#if defined _WIN32
origret=reinterpret_cast<int (__fastcall*)(void*, int, entvars_t *, entvars_t *, float, int)>(hook->func)(pthis, 0, inflictor, attacker, damage, damagebits);
#elif defined __linux__
origret=reinterpret_cast<int (*)(void*, entvars_t *, entvars_t *, float, int)>(hook->func)(pthis, inflictor, attacker, damage, damagebits);
#endif
POST_START()
,iInflictor, iAttacker, damage, damagebits
POST_END()
KILL_VECTOR()
POP()
CHECK_RETURN()
return ret;
}
Explicame que diferencia hay entre HAM_IGNORED y HAM_HANDLED; dejen de hablar de mas
Mensajes: 73
Temas: 13
Registro en: Jun 2014
20/06/2014, 02:59 PM
(Última modificación: 20/06/2014, 03:00 PM por Avila.)
(19/06/2014, 09:04 PM)K.- escribió: Hola , me podes decir las variables que tengo que guardar para que se guarden las habilidades ? Gracias
creo que ;
Código PHP: gHab[id][i] gPaginas[id][i]
Mensajes: 499
Temas: 55
Registro en: Nov 2013
Reputación:
10
Podrias explicar de paso como agregar una habilidad, pq con este sistema de habilidades que hiciste para agregar nuevas habs hay q cambiar varias cosas, alguien q no sabe mucho no podra hacerlo.
(08/10/2014, 10:50 PM)meTaLiCroSS escribió: Siento que en este foro viven en una competencia, en vez de preocuparse del contenido se preocupan de la gente, nisiquiera de eso, de sus actitudes por muy buenas o malas que sean, que clase de convivencia se puede llegar con aquello? Siempre la misma mierda en todos lados, progresen de una vez
**************************************************
Como hacer una Base de Datos para Sistema de Cuentas by r0ma
Mensajes: 2,176
Temas: 99
Registro en: Dec 2013
Reputación:
42
(30/06/2014, 02:33 PM)Store.gh escribió: Podrias explicar de paso como agregar una habilidad, pq con este sistema de habilidades que hiciste para agregar nuevas habs hay q cambiar varias cosas, alguien q no sabe mucho no podra hacerlo. El tema es que hice este sistema con las habilidades disponibles
Si van a agregar una habilidad es demasiado sensillo
Tienen que agregar una macro y con esa macro aumentas la habilidad.. Agregar las cvars para esa habilidad. cambiar los valores de las constantes (MAX_HAB) y modificar la constante donde guarda el nombre de la habilidad y el máximo. No es dificil solo eso
Free agent - Vendo plugins, mods o apps del foro IPB (Invision community)
Contactarme vía Discord >>> AtselTV#8202
Mensajes: 499
Temas: 55
Registro en: Nov 2013
Reputación:
10
Yy yo creo que tambien hay que cambiar el resetear habilidades no te parece? Si agregas una , al apretar la opcion 7 queria la hab agregada aparecera la funcion del resetear habilidades..
Y si alguien no quiere hacer una habilidad con una macro o cvar? Que tendria que hacer? Porq por lo visto , si no lo hace con cvar o macro va a tirar error
(08/10/2014, 10:50 PM)meTaLiCroSS escribió: Siento que en este foro viven en una competencia, en vez de preocuparse del contenido se preocupan de la gente, nisiquiera de eso, de sus actitudes por muy buenas o malas que sean, que clase de convivencia se puede llegar con aquello? Siempre la misma mierda en todos lados, progresen de una vez
**************************************************
Como hacer una Base de Datos para Sistema de Cuentas by r0ma
Mensajes: 2,176
Temas: 99
Registro en: Dec 2013
Reputación:
42
Es lo mismo.. No va a afectar en nada. Si lo haces o no con macros, o con cvars. No va a afectar al plugins. Son juegos de variables. No es muy difícil. Lo hice de una manera simple. Para el que quiera agregar alguna habilidad en especial, es muy facil. Esto es un plugin, el que lo quiera modificar, que se arregle él.
Free agent - Vendo plugins, mods o apps del foro IPB (Invision community)
Contactarme vía Discord >>> AtselTV#8202
Mensajes: 499
Temas: 55
Registro en: Nov 2013
Reputación:
10
01/07/2014, 12:20 AM
(Última modificación: 01/07/2014, 12:22 AM por Store.gh.)
Ahh posta . Pq me preocupo en esto si es un plugin no un tut. Yo hice otro tipo de habs muy diferente a este. Este tipo de menu que usaste me viene bien para las mejoras
A por cierto , no estoy seguro de q sea lo mismo el resetear habilidades... aparecera la funcion 2 veces pero una de ellas sera sin que te pida puntos, entendes lo que te digo?
(08/10/2014, 10:50 PM)meTaLiCroSS escribió: Siento que en este foro viven en una competencia, en vez de preocuparse del contenido se preocupan de la gente, nisiquiera de eso, de sus actitudes por muy buenas o malas que sean, que clase de convivencia se puede llegar con aquello? Siempre la misma mierda en todos lados, progresen de una vez
**************************************************
Como hacer una Base de Datos para Sistema de Cuentas by r0ma
Mensajes: 2,176
Temas: 99
Registro en: Dec 2013
Reputación:
42
09/08/2014, 11:04 PM
(Última modificación: 09/08/2014, 11:05 PM por CSAxel.)
¡¡ ACTUALIZADO v3.0 !!
Hice bastantes cambios y muchos fixeos y modificaciones
Cualquier bug que encuentren no duden en postear.
Free agent - Vendo plugins, mods o apps del foro IPB (Invision community)
Contactarme vía Discord >>> AtselTV#8202
Mensajes: 642
Temas: 25
Registro en: Feb 2014
Reputación:
17
en ClcmdHab mira por:
Código PHP: if (gHab[id][i] >= Habilidades[i][MAXIMO]) formatex(g_szText, charsmax(g_szText), "NIVEL DE \r%s\d MÄXIMO"); else formatex(g_szText, charsmax(g_szText), "%s \y[%d/%d]", Habilidades[i][NAME], gHab[id][i], Habilidades[i][MAXIMO]);
(19/06/2014, 11:08 PM)01011001 escribió: No tiene niveles infinitos, llega hasta 2147483648 (Y despues hace un integer overflow)
(19/06/2014, 11:08 PM)[R]ak escribió: Mis conocimientos aumentaron un 500% con este post
Mensajes: 2,176
Temas: 99
Registro en: Dec 2013
Reputación:
42
Cuando tenga tiempo corrijo un par de cosas.. Gracias :3
Free agent - Vendo plugins, mods o apps del foro IPB (Invision community)
Contactarme vía Discord >>> AtselTV#8202
Mensajes: 54
Temas: 20
Registro en: Jan 2015
Reputación:
0
Eu como lo abro las habilidades
APORTES
[...COMPLETO...] Mod Zombie Apocalypse 4.6 con mejoras V1.0 [100%] Completo. Click aca
[...COMPLETO...]Mod Zombie Apocalypse 4.6 con mejoras V2.0 [100%] Completo. Click aca
[...ESPERA...] Plugin Niveles+ Habilidades MODO NORMAL [38%] Completado. PROXIMAMENTE
Mensajes: 203
Temas: 14
Registro en: Jan 2014
(03/02/2015, 09:49 PM)Gastonspas escribió: Eu como lo abro las habilidades
/hab
Mensajes: 473
Temas: 8
Registro en: Feb 2015
Mensajes: 54
Temas: 20
Registro en: Jan 2015
Reputación:
0
No me abre como lo abro el menu de habilidades
APORTES
[...COMPLETO...] Mod Zombie Apocalypse 4.6 con mejoras V1.0 [100%] Completo. Click aca
[...COMPLETO...]Mod Zombie Apocalypse 4.6 con mejoras V2.0 [100%] Completo. Click aca
[...ESPERA...] Plugin Niveles+ Habilidades MODO NORMAL [38%] Completado. PROXIMAMENTE
Mensajes: 11
Temas: 0
Registro en: Feb 2015
Reputación:
0
Ya se lo explique a Gastonspas por privado pero lo digo aca,
Si lo van a usar para un servidor y no quieren que la gente tenga que poner /hab cambien esto
Código PHP: register_clcmd("say /hab", "ClcmdHab");
->
Código PHP: register_clcmd("menuhabilidades", "ClcmdHab");
y hagan un hud avisando que tienen que bindear una tecla con "menuhabilidades"
es la linea 236
Mensajes: 54
Temas: 20
Registro en: Jan 2015
Reputación:
0
Como hago para que se guarden los puntos por que se cambia de mapa y se pierden y tengo un plugin guaradado de cuenta alguien me podria decir como
APORTES
[...COMPLETO...] Mod Zombie Apocalypse 4.6 con mejoras V1.0 [100%] Completo. Click aca
[...COMPLETO...]Mod Zombie Apocalypse 4.6 con mejoras V2.0 [100%] Completo. Click aca
[...ESPERA...] Plugin Niveles+ Habilidades MODO NORMAL [38%] Completado. PROXIMAMENTE
Mensajes: 2,025
Temas: 55
Registro en: Nov 2013
Reputación:
18
(05/02/2015, 12:09 PM)Gastonspas escribió: Como hago para que se guarden los puntos por que se cambia de mapa y se pierden y tengo un plugin guaradado de cuenta alguien me podria decir como
Depende el sistema de guardado que tengas
Mensajes: 2,176
Temas: 99
Registro en: Dec 2013
Reputación:
42
Actualizado a v4.0
Se me dió por actualizar este plugin. Lo mejoré bastante y puse muchas cosas (Vean Changelogs, igual no es tanto). Lo que si modifiqué bastante fue el código y unas natives para el que quiera usar los puntos y habilidades en otros plugins si quiere.
Alguna que otra sugerencia es bienvenida
Free agent - Vendo plugins, mods o apps del foro IPB (Invision community)
Contactarme vía Discord >>> AtselTV#8202
Mensajes: 383
Temas: 91
Registro en: Jan 2014
(09/07/2015, 04:03 AM)CSAxel escribió: Actualizado a v4.0
Se me dió por actualizar este plugin. Lo mejoré bastante y puse muchas cosas (Vean Changelogs, igual no es tanto). Lo que si modifiqué bastante fue el código y unas natives para el que quiera usar los puntos y habilidades en otros plugins si quiere.
Alguna que otra sugerencia es bienvenida
Si o si es necesario utilizarlo en AMX 1.8.3?
Mensajes: 100
Temas: 45
Registro en: May 2014
Reputación:
0
20/11/2015, 12:42 PM
(Última modificación: 20/11/2015, 12:42 PM por lucholichi.)
me sale este error
Error: Undefined symbol "Ham_CS_Player_ResetMaxSpeed" on line 283
Código PHP: RegisterHam(Ham_CS_Player_ResetMaxSpeed, "player", "Ham_Player_ResetMaxSpeed_Post", true);
Mensajes: 3,595
Temas: 5
Registro en: Aug 2014
Reputación:
10
(20/11/2015, 12:42 PM)lucholichi escribió: me sale este error
Error: Undefined symbol "Ham_CS_Player_ResetMaxSpeed" on line 283
Código PHP: RegisterHam(Ham_CS_Player_ResetMaxSpeed, "player", "Ham_Player_ResetMaxSpeed_Post", true);
Proba añadiendo esto abajo de la linea 238:
Código PHP: new Ham:Ham_CS_Player_ResetMaxSpeed = Ham_Item_PreFrame
Heber[S]ourcE
Veteran Member
in
Desvirtue
Tatakae
|