+- Allied Modders en español (https://amxmodx-es.com)
+-- Foro: AMX Mod X - Scripting (https://amxmodx-es.com/Forum-AMX-Mod-X-Scripting)
+--- Foro: Scripting (https://amxmodx-es.com/Forum-Scripting)
+--- Tema: [ZA] Ayuda con esta idea (/Thread-ZA-Ayuda-con-esta-idea)
[ZA] Ayuda con esta idea - ascaban2000 - 23/05/2017
Bueno la idea que Tengo no se si sera Fácil o Difícil de Realizar pero es algo que se explica muy simple (Creo)
Que es lo que quiero que me ayuden pues en agregarle al Sistema de Combo que trae el [ZA] que para realizar un Combo se necesita una cierta cantidad de daño y ir bajando ese daño dependiendo del admin también agregarlo a la hora del vicio
Para hacer 1 de EXP se necesita 1500 de daño para realizar 1 Combo.
EJEMPLO: Estoy atacando a un zombie le pegue 42 balas y hice 2000 de daño Gano 1 de EXP por que nada mas eh echo 1 combo y me faltaría 1000 de daño para otro Combo ya sea el Combo numero 1 o 2
Espero que me puedan ayudar aki les dejo el zombieapocalypse46.sma de bajo
PD: Se que la idea ya la invento otro, pero la idea para mi es el reto de agregarlo al [ZA] sin remplazar el sistema de combo
RE: [ZA] Ayuda con esta idea - cLAANS - 24/05/2017
Pues es simple .. No se para que dejas tu codigo, nadie te lo hara xD.
1. Creas tu macro, la que se te de las ganas.
2. Funcion TakDamage (Post)
- Obtenes el danio, lo sumas a una variable local, compras con un if (Aunque si queres otra forma podrias usar un while) si la variable global supero a la macro.
- Si se comple la condicion anterior, le sumas 1 de exp.
- Aca viene lo que nos separa (?) .. Podes setear la variable global en 0 y hacer el if [Sumas el combo que va en la macro], o podes hacer el while y dejar la variable global que siga sumando
- Tambien si deseas, que por ej, en 5 segundos dejo de atacar (Sacar daño) ... podes obtener tiempo sys_time( ) y limpiar la variable
- Lo de menos daño siendo admin o por hora feliz, lo puedes definir en la misma macro.
Si quiere que te de una mano de como aplicarla al combo de tu zp, explicame como funciona y no vendrian mal una porciones de codigo, no descargare tu codigo y me pondre a buscar linea por lineas las funciones.
¡ Ya tenes todo servido ahora te toca pensar a ti !
Saludos,
cLAANS.-
RE: [ZA] Ayuda con esta idea - ascaban2000 - 24/05/2017
Creo que esto son los códigos con que funciona el sistema de combo
1) SECTION_COMBO
2) TASK_COMBO
3) #define ID_COMBO (taskid - TASK_COMBO)
4) a) new g_damage_done[33] // damage done for combo
b) new g_combo[33] // combo for experience
c) new g_comboreward[33] // total experience in combo
5) a) Array:g_combo_levels
b) Array:g_combo_colors
c) Array:g_combo_says
el muestra un Hud que dice Hits echos (combo), Daño total y EXP obtenida
entonces por cada 1 Hit echo es 1 EXP si hago 2 Hits seria 2 de EXP y muestra el daño que hiciste pero no lo toma en cuenta para hacer un Hit o Combo
PD: si quieres no entendiste muy bien me dices estaré atento
RE: [ZA] Ayuda con esta idea - cLAANS - 24/05/2017
(24/05/2017, 09:48 AM)ascaban2000 escribió: Creo que esto son los códigos con que funciona el sistema de combo
1) SECTION_COMBO
2) TASK_COMBO
3) #define ID_COMBO (taskid - TASK_COMBO)
4) a) new g_damage_done[33] // damage done for combo
b) new g_combo[33] // combo for experience
c) new g_comboreward[33] // total experience in combo
5) a) Array:g_combo_levels
b) Array:g_combo_colors
c) Array:g_combo_says
el muestra un Hud que dice Hits echos (combo), Daño total y EXP obtenida
entonces por cada 1 Hit echo es 1 EXP si hago 2 Hits seria 2 de EXP y muestra el daño que hiciste pero no lo toma en cuenta para hacer un Hit o Combo
PD: si quieres no entendiste muy bien me dices estaré atento
Vale .. entonces tu lo que deseas es cambiar en vez de que te de experiencia por hits, te de experiencia por "x" damage, verdad ?
Saludos,
cLAANS.-
RE: [ZA] Ayuda con esta idea - ascaban2000 - 24/05/2017
(24/05/2017, 07:33 PM)cLAANS escribió:
(24/05/2017, 09:48 AM)ascaban2000 escribió: Creo que esto son los códigos con que funciona el sistema de combo
1) SECTION_COMBO
2) TASK_COMBO
3) #define ID_COMBO (taskid - TASK_COMBO)
4) a) new g_damage_done[33] // damage done for combo
b) new g_combo[33] // combo for experience
c) new g_comboreward[33] // total experience in combo
5) a) Array:g_combo_levels
b) Array:g_combo_colors
c) Array:g_combo_says
el muestra un Hud que dice Hits echos (combo), Daño total y EXP obtenida
entonces por cada 1 Hit echo es 1 EXP si hago 2 Hits seria 2 de EXP y muestra el daño que hiciste pero no lo toma en cuenta para hacer un Hit o Combo
PD: si quieres no entendiste muy bien me dices estaré atento
Vale .. entonces tu lo que deseas es cambiar en vez de que te de experiencia por hits, te de experiencia por "x" damage, verdad ?
Saludos,
cLAANS.-
Si eso mismo
RE: [ZA] Ayuda con esta idea - cLAANS - 24/05/2017
Vale entonces es super simple, fijate que g_damage_done[ 33 ]; debe almacenar el daño. Vos ahi mismo deberias hacer algo como
y bueno, deberias sacar la parte donde usa g_hits imagino, la verdad que no sabria decirte
Saludos,
cLAANS.-
RE: [ZA] Ayuda con esta idea - ascaban2000 - 24/05/2017
(24/05/2017, 08:36 PM)cLAANS escribió: Vale entonces es super simple, fijate que g_damage_done[ 33 ]; debe almacenar el daño. Vos ahi mismo deberias hacer algo como
y bueno, deberias sacar la parte donde usa g_hits imagino, la verdad que no sabria decirte
Saludos,
cLAANS.-
Man yo no se mucho de agregar Código solo se copiar y pegar me podrías ayudar un poco mas explicándome detalladamente donde va cada cosa y que tengo que hacer (de Verdad no se mucho solo me guió por otros códigos)
PD: en el ZA no hay nada llamado g_hits
RE: [ZA] Ayuda con esta idea - kikizon2 - 25/05/2017
Si solo sabes copiar y pegar, date un tiro plis.
Sección incorrecta, supongo que sabes leer, no?
Aquí solo se da ayuda con códigos, no se dejan tus cosas en bandeja.
RE: [ZA] Ayuda con esta idea - cLAANS - 25/05/2017
(24/05/2017, 11:29 PM)ascaban2000 escribió:
(24/05/2017, 08:36 PM)cLAANS escribió: Vale entonces es super simple, fijate que g_damage_done[ 33 ]; debe almacenar el daño. Vos ahi mismo deberias hacer algo como
y bueno, deberias sacar la parte donde usa g_hits imagino, la verdad que no sabria decirte
Saludos,
cLAANS.-
Man yo no se mucho de agregar Código solo se copiar y pegar me podrías ayudar un poco mas explicándome detalladamente donde va cada cosa y que tengo que hacer (de Verdad no se mucho solo me guió por otros códigos)
PD: en el ZA no hay nada llamado g_hits
No, aprende. No vas a venir y tener el mejor zp de un dia para el otro, ni de una semana para la otra, ni para un mes para el otro.
Metele ganas, lee, guiate de buenas respuestas (Metaligay, rak, gente como chamo, axel, entre otros)
Yo no tengo drama en ayudarte, pero siempre y cuando vengas con preguntas puntuales.
Saludos,
cLAANS.-
RE: [ZA] Ayuda con esta idea - ascaban2000 - 25/05/2017
Si es verdad prácticamente estoy diciendo que me lo hagan después y si me lo hacen no aprendo nada y si la idea es aprender disculpen (estoy de acuerdo con ustedes debo aprender o siempre seré una ka-ka copiando y pegando) JAjaaj debería pegarme un tiro como dice kikizon2 XD
Continuemos con el tema (Bueno si no quieren ayudarme con la idea los entiendo)
cLAANS
El combo no usa ningún g_hits
Pero Creo que el que cuenta los hits es el g_combo
¿Significa que se puede hacer de otra forma quitando el g_combo y hacer que "g_damage_done" haga que cada vez que llegue a un cierto daño le sume la exp ?
la pregunta es como hago que sume el g_damage_done para que cada cierto daño te sume la exp y hacer que abaje ese daño con los diferentes admins o Happy Hour(Hora Feliz)
PD: Disculpen por esa respuesta estoy claro que eso no se hace
RE: [ZA] Ayuda con esta idea - Chamo. - 25/05/2017
Vale te explico yo, lo mismo que @cLAANS, revisando un ZA 4.6 Default que tengo por aquí, lo único que veo necesitas es hacer esto:
if (I_Flags & TU_ADMIN_1) I_NeedDamage -= 250 else if (I_Flags & TU_ADMIN_2) I_NeedDamage -= 175 else if (I_Flags & TU_ADMIN_3) I_NeedDamage -= 90
if (tu_variable_vicio) I_NeedDamage -= 100
return I_NeedDamage; }
Listo, la tienes re-fácil, solo tienes que pensar.
PD: La forma de comprobar accesos la hago de esa forma, dado que no se si manejas una Array/Array dinámica para hacerlo
RE: [ZA] Ayuda con esta idea - ascaban2000 - 25/05/2017
(25/05/2017, 02:42 PM)Chamo. escribió: Vale te explico yo, lo mismo que @cLAANS, revisando un ZA 4.6 Default que tengo por aquí, lo único que veo necesitas es hacer esto:
// Set combo tasks set_task(0.1, "combo_counter", attacker+TASK_COMBO) set_task(5.0, "give_bonus", attacker+TASK_COMBO)
}
Errores de Compile:
Error: Undefined symbol "GetComboDamage" on line 12317
Error: Undefined symbol "GetComboDamage" on line 12322
Error: Invalid expression, assumed zero on line 12322
Error: Undefined symbol "I_Player" on line 12322
Error: Too many error messages on one line on line 12322
Quite esto del código para hacer un test rápidamente
Código PHP:
if (I_Flags & TU_ADMIN_1) I_NeedDamage -= 250 else if (I_Flags & TU_ADMIN_2) I_NeedDamage -= 175 else if (I_Flags & TU_ADMIN_3) I_NeedDamage -= 90
if (tu_variable_vicio) I_NeedDamage -= 100
También quito el return por que lanza otro error al compilar que seria este
Warning: Function "on_damage" should return a value on line 12279
PD: incluso el código donde se define el daño para la ganancia de exp la cambie hacia Give_bonus(id) sigue los mismo errores
RE: [ZA] Ayuda con esta idea - Xezumn - 14/06/2017
Compañero, a mi no me tiro error, lo puse asi pero al final del plugin