Mensajes: 33
Temas: 12
Registro en: Mar 2015
Código PHP: new g_damage[33] new g_combo[33] new g_MsgSync3
enum _:g_cm
{
Combos,
Msj[33],
Rojo,
Verde,
Azul,
Multiplicado
}
new const Combo[][g_cm] =
{
{ 0, "Bien", 255, 255, 255, 1 },
{ 125, "Excelente x1", 0, 255, 255, 2 },
{ 200, "Genial x2", 0, 255, 255, 3 },
{ 320, "Super x3", 255, 255, 0, 4 },
{ 425, "Extremo x4", 255, 255, 0, 5 },
{ 800, "Rampage x5", 255, 0, 255, 6 },
{ 1000000000, "", 255, 255, 255, 0 }
}
enum (+= 100)
{ TASK_COMBO }
//putin server g_MsgSync3 = CreateHudSyncObj();
//dissconnect remove_task(id+TASK_COMBO)
//public public Combo_Terminado(id) { id -= TASK_COMBO for(new i = 0 ; i < sizeof Combo ; i++) { if (g_combo[id] >= Combo[i][Combos] && g_combo[id] < Combo[i+1][Combos]) { set_hudmessage(255, 255, 255, -1.0, 0.29, 0, 0.1, 4.5, 0.01, 0.01, -1) ShowSyncHudMsg(id, g_MsgSync3, "Combo de (%d) Finalizado^nBonificacion Multiplicada x%d^nTotal de BBPacks Ganado(%d)", g_combo[id], Combo[i][Multiplicado], g_combo[id] * Combo[i][Multiplicado]) update_xp(id, 0) g_combo[id] = 0 g_damage[id] = 0 g_bbpacks[id] += g_combo[id] * Combo[i][Multiplicado] } } }
porque no anda me falta lgo ?
Mensajes: 2,176
Temas: 99
Registro en: Dec 2013
Reputación:
42
Te falta agregar la función en TakeDamage para que sumen las variables del combo
Free agent - Vendo plugins, mods o apps del foro IPB (Invision community)
Contactarme vía Discord >>> AtselTV#8202
Mensajes: 33
Temas: 12
Registro en: Mar 2015
17/04/2015, 05:51 AM
(Última modificación: 17/04/2015, 05:53 AM por Frank.)
Y eso como seria ?
Código PHP: public ham_TakeDamage(victim, inflictor, attacker, Float:damage, damagebits) { if (!is_valid_ent(victim) || !g_isAlive[victim] || !is_user_connected(attacker)) return HAM_IGNORED g_combo[attacker] = 1 }
o algo por el estilo ?
Mensajes: 63
Temas: 10
Registro en: Feb 2015
Reputación:
0
(17/04/2015, 05:51 AM)Frank escribió: Y eso como seria ?
Código PHP: public ham_TakeDamage(victim, inflictor, attacker, Float:damage, damagebits) { if (!is_valid_ent(victim) || !g_isAlive[victim] || !is_user_connected(attacker)) return HAM_IGNORED g_combo[attacker] = 1 }
o algo por el estilo ?
Es en ese public, pero no hagas que el combo sea siempre igual a 1 porque no creo que vaya a subir
Es según a tu gusto, pero lo mas viable es ponerle para que al sumar cierta cantidad de daño se sume 1 combo
Mensajes: 289
Temas: 73
Registro en: Feb 2015
Reputación:
1
De donde sacaste el combo ese pasa el link
Mensajes: 2,176
Temas: 99
Registro en: Dec 2013
Reputación:
42
17/04/2015, 01:50 PM
(Última modificación: 17/04/2015, 02:01 PM por CSAxel.)
Este uso yo
Código PHP: enum _:DATA_COMBO { COMBO_NEXT, COMBO_RGB[3] };
enum { COMBO_XP = 0, COMBO_DAMAGE, COMBO_REWARD, MAX_COMBO };
new const g_szComboColor[][DATA_COMBO] = { { 1, { 255, 255, 255 } }, { 150, { 255, 0, 255 } }, { 300, { 0, 0, 255 } }, { 500, { 0, 255, 255 } }, { 1000, { 0, 255, 0 } }, { 2500, { 255, 255, 0 } }, { 5000, { 250, 120, 0 } }, { 10000, { 255, 0, 0 } } };
new g_iCombo[33][MAX_COMBO]; new Float:g_fComboDisplay[33];
const TASK_ID_COMBO = 21325;
#decine AmountComboNext(%1) (%1 * 100) #define is_user_valid_connected(%1) (1 <= %1 <= g_maxplayers && is_user_connected(%1))
/** Client_putinserver **/ g_iCombo[id][COMBO_XP] = 0; g_iCombo[id][COMBO_DAMAGE] = g_iCombo[id][COMBO_REWARD] = 0; g_fComboDisplay[id] = 0.0;
/** Client_disconnect **/ if (g_iCombo[id][COMBO_XP] > 1) { g_iCombo[id][COMBO_XP] = 0; g_iCombo[id][COMBO_DAMAGE] = g_iCombo[id][COMBO_REWARD] = 0; } remove_task(id + TASK_ID_COMBO);
/** TakeDamage **/ static Float:fGetTime; g_iCombo[attacker][COMBO_DAMAGE] += floatround(damage);
while (g_iCombo[attacker][COMBO_DAMAGE] >= AmountComboNext(g_iCombo[attacker][COMBO_XP])) g_iCombo[attacker][COMBO_XP]++;
fGetTime = get_gametime(); if (g_fComboDisplay[attacker] < fGetTime) { TaskComboXP(attacker, floatround(damage)); g_fComboDisplay[attacker] = (fGetTime + 0.1); remove_task(attacker + TASK_ID_COMBO); set_task(6.0, "TaskComboXP_Bonus", attacker + TASK_ID_COMBO); }
/** En cualquier parte **/ public TaskComboXP(id, idamage) { if (!is_user_valid_connected(id)) return; static iRGB[3], i; for (i = 0; i < sizeof(g_szComboColor); i++) { if (g_iCombo[id][COMBO_XP] >= g_szComboColor[i][COMBO_NEXT]) { iRGB[0] = g_szComboColor[i][COMBO_RGB][0]; iRGB[1] = g_szComboColor[i][COMBO_RGB][1]; iRGB[2] = g_szComboColor[i][COMBO_RGB][2]; } } set_hudmessage(iRGB[0], iRGB[1], iRGB[2], -1.0, 0.6, 0, 0.1, 6.0, 0.01, 0.01, -1); ShowSyncHudMsg(id, g_iMsgSync[HUD_COMBO], "Combo x%d de XP^nDaño: %d | Daño total: %d", g_iCombo[id][COMBO_XP], idamage, g_iCombo[id][COMBO_DAMAGE]); }
public TaskComboXP_Bonus(id) { id -= TASK_ID_COMBO; if (!is_user_valid_connected(id)) return; g_iCombo[id][COMBO_REWARD] += g_iCombo[id][COMBO_XP]; set_hudmessage(255, 255, 255, -1.0, 0.6, 0, 0.1, 5.0, 0.01, 0.01, -1); ShowSyncHudMsg(id, g_iMsgSync[HUD_COMBO], "¡ Ganaste %d de XP !^nDaño total: %d", g_iCombo[id][COMBO_REWARD], g_iCombo[id][COMBO_DAMAGE]); g_ammopacks[id] += g_iCombo[id][COMBO_REWARD]; g_iCombo[id][COMBO_XP] = 1; g_iCombo[id][COMBO_DAMAGE] = g_iCombo[id][COMBO_REWARD] = 0; g_fComboDisplay[id] = 0.0; }
Tómalo si quieres, y si no funciona dime que le falta.
Free agent - Vendo plugins, mods o apps del foro IPB (Invision community)
Contactarme vía Discord >>> AtselTV#8202
Mensajes: 33
Temas: 12
Registro en: Mar 2015
17/04/2015, 06:55 PM
(Última modificación: 17/04/2015, 06:56 PM por Frank.)
y como hago para que en ves de dar exp de bbpacks la variable es
Código PHP: enum _:DATA_COMBO { COMBO_NEXT, COMBO_RGB[3] };
enum { COMBO_XP = 0, COMBO_DAMAGE, COMBO_REWARD, MAX_COMBO };
new const g_szComboColor[][DATA_COMBO] = { { 1, { 255, 255, 255 } }, { 150, { 255, 0, 255 } }, { 300, { 0, 0, 255 } }, { 500, { 0, 255, 255 } }, { 1000, { 0, 255, 0 } }, { 2500, { 255, 255, 0 } }, { 5000, { 250, 120, 0 } }, { 10000, { 255, 0, 0 } } };
new g_iCombo[33][MAX_COMBO]; new Float:g_fComboDisplay[33];
const TASK_ID_COMBO = 21325;
#decine AmountComboNext(%1) (%1 * 100) #define is_user_valid_connected(%1) (1 <= %1 <= g_maxplayers && is_user_connected(%1))
/** Client_putinserver **/ g_iCombo[id][COMBO_XP] = 0; g_iCombo[id][COMBO_DAMAGE] = g_iCombo[id][COMBO_REWARD] = 0; g_fComboDisplay[id] = 0.0;
/** Client_disconnect **/ if (g_iCombo[id][COMBO_XP] > 1) { g_iCombo[id][COMBO_XP] = 0; g_iCombo[id][COMBO_DAMAGE] = g_iCombo[id][COMBO_REWARD] = 0; } remove_task(id + TASK_ID_COMBO);
/** TakeDamage **/ static Float:fGetTime; g_iCombo[attacker][COMBO_DAMAGE] += floatround(damage);
while (g_iCombo[attacker][COMBO_DAMAGE] >= AmountComboNext(g_iCombo[attacker][COMBO_XP])) g_iCombo[attacker][COMBO_XP]++;
fGetTime = get_gametime(); if (g_fComboDisplay[attacker] < fGetTime) { TaskComboXP(attacker, floatround(damage)); g_fComboDisplay[attacker] = (fGetTime + 0.1); remove_task(attacker + TASK_ID_COMBO); set_task(6.0, "TaskComboXP_Bonus", attacker + TASK_ID_COMBO); }
/** En cualquier parte **/ public TaskComboXP(id, idamage) { if (!is_user_valid_connected(id)) return; static iRGB[3], i; for (i = 0; i < sizeof(g_szComboColor); i++) { if (g_iCombo[id][COMBO_XP] >= g_szComboColor[i][COMBO_NEXT]) { iRGB[0] = g_szComboColor[i][COMBO_RGB][0]; iRGB[1] = g_szComboColor[i][COMBO_RGB][1]; iRGB[2] = g_szComboColor[i][COMBO_RGB][2]; } } set_hudmessage(iRGB[0], iRGB[1], iRGB[2], -1.0, 0.6, 0, 0.1, 6.0, 0.01, 0.01, -1); ShowSyncHudMsg(id, g_iMsgSync[HUD_COMBO], "Combo x%d de BBpacks^nDaño del Hit: %d^nDaño total: %d", g_iCombo[id][COMBO_XP], idamage, g_iCombo[id][COMBO_DAMAGE]); }
public TaskComboXP_Bonus(id) { id -= TASK_ID_COMBO; if (!is_user_valid_connected(id)) return; g_iCombo[id][COMBO_REWARD] += g_iCombo[id][COMBO_XP]; set_hudmessage(255, 255, 255, -1.0, 0.6, 0, 0.1, 5.0, 0.01, 0.01, -1); ShowSyncHudMsg(id, g_iMsgSync[HUD_COMBO], "Combo finalizado ganaste %d BBpacks^nDaño total: %d", g_iCombo[id][COMBO_REWARD], g_iCombo[id][COMBO_DAMAGE]); g_ammopacks[id] += g_iCombo[id][COMBO_REWARD]; g_iCombo[id][COMBO_XP] = 1; g_iCombo[id][COMBO_DAMAGE] = g_iCombo[id][COMBO_REWARD] = 0; g_fComboDisplay[id] = 0.0; }
Mensajes: 2,176
Temas: 99
Registro en: Dec 2013
Reputación:
42
Reemplaza g_ammopacks por g_bbpacks...
Free agent - Vendo plugins, mods o apps del foro IPB (Invision community)
Contactarme vía Discord >>> AtselTV#8202
Mensajes: 33
Temas: 12
Registro en: Mar 2015
18/04/2015, 01:39 AM
(Última modificación: 18/04/2015, 01:40 AM por Frank.)
y se puede hacer para que de plata?
Me tira error el hud
que es eso esta mal
Mensajes: 377
Temas: 82
Registro en: May 2014
Si queres que de plata podrias haces esto
Adherilo asi
Código PHP: enum _:DATA_COMBO { COMBO_NEXT, COMBO_RGB[3] };
enum { COMBO_XP = 0, COMBO_DAMAGE, COMBO_REWARD, MAX_COMBO };
new const g_szComboColor[][DATA_COMBO] = { { 1, { 255, 255, 255 } }, { 150, { 255, 0, 255 } }, { 300, { 0, 0, 255 } }, { 500, { 0, 255, 255 } }, { 1000, { 0, 255, 0 } }, { 2500, { 255, 255, 0 } }, { 5000, { 250, 120, 0 } }, { 10000, { 255, 0, 0 } } };
new g_iCombo[33][MAX_COMBO]; new Float:g_fComboDisplay[33];
const TASK_ID_COMBO = 21325;
#decine AmountComboNext(%1) (%1 * 100) #define is_user_valid_connected(%1) (1 <= %1 <= g_maxplayers && is_user_connected(%1))
/** Client_putinserver **/ g_iCombo[id][COMBO_XP] = 0; g_iCombo[id][COMBO_DAMAGE] = g_iCombo[id][COMBO_REWARD] = 0; g_fComboDisplay[id] = 0.0;
/** Client_disconnect **/ if (g_iCombo[id][COMBO_XP] > 1) { g_iCombo[id][COMBO_XP] = 0; g_iCombo[id][COMBO_DAMAGE] = g_iCombo[id][COMBO_REWARD] = 0; } remove_task(id + TASK_ID_COMBO);
/** TakeDamage **/ static Float:fGetTime; g_iCombo[attacker][COMBO_DAMAGE] += floatround(damage);
while (g_iCombo[attacker][COMBO_DAMAGE] >= AmountComboNext(g_iCombo[attacker][COMBO_XP])) g_iCombo[attacker][COMBO_XP]++;
fGetTime = get_gametime(); if (g_fComboDisplay[attacker] < fGetTime) { TaskComboXP(attacker, floatround(damage)); g_fComboDisplay[attacker] = (fGetTime + 0.1); remove_task(attacker + TASK_ID_COMBO); set_task(6.0, "TaskComboXP_Bonus", attacker + TASK_ID_COMBO); }
/** En cualquier parte **/ public TaskComboXP(id, idamage) { if (!is_user_valid_connected(id)) return; static iRGB[3], i; for (i = 0; i < sizeof(g_szComboColor); i++) { if (g_iCombo[id][COMBO_XP] >= g_szComboColor[i][COMBO_NEXT]) { iRGB[0] = g_szComboColor[i][COMBO_RGB][0]; iRGB[1] = g_szComboColor[i][COMBO_RGB][1]; iRGB[2] = g_szComboColor[i][COMBO_RGB][2]; } } set_hudmessage(iRGB[0], iRGB[1], iRGB[2], -1.0, 0.6, 0, 0.1, 6.0, 0.01, 0.01, -1); ShowSyncHudMsg(id, g_iMsgSync[HUD_COMBO], "Combo x%d de BBpacks^nDaño del Hit: %d^nDaño total: %d", g_iCombo[id][COMBO_XP], idamage, g_iCombo[id][COMBO_DAMAGE]); }
public TaskComboXP_Bonus(id) { id -= TASK_ID_COMBO; if (!is_user_valid_connected(id)) return; g_iCombo[id][COMBO_REWARD] += g_iCombo[id][COMBO_XP]; set_hudmessage(255, 255, 255, -1.0, 0.6, 0, 0.1, 5.0, 0.01, 0.01, -1); ShowSyncHudMsg(id, g_iMsgSync[HUD_COMBO], "Combo finalizado ganaste %d BBpacks^nDaño total: %d", g_iCombo[id][COMBO_REWARD], g_iCombo[id][COMBO_DAMAGE]); cs_get_user_money(id) += g_iCombo[id][COMBO_REWARD]; g_iCombo[id][COMBO_XP] = 1; g_iCombo[id][COMBO_DAMAGE] = g_iCombo[id][COMBO_REWARD] = 0; g_fComboDisplay[id] = 0.0; }
Mensajes: 33
Temas: 12
Registro en: Mar 2015
18/04/2015, 02:20 AM
(Última modificación: 18/04/2015, 02:43 AM por Frank.)
y lo de hud ? Muchas gracias cli asi esta bien
ACA ESTA COMPLETO
Código PHP: /* Plugin generated by AMXX-Studio */
#include <amxmodx> #include <amxmisc> #include <cstrike> #include <hamsandwich>
#define AmountComboNext(%1) (%1 * 100) //correcion se escribe define xD CSAXEL : decine #define is_user_valid_connected(%1) (1 <= %1 <= g_maxplayers && is_user_connected(%1))
#define PLUGIN "Dinero por combo" //super combo #define VERSION "1.0" //2000 #define AUTHOR "cLi" // by csaxel
//variables// new g_maxplayers //slots new g_iMsgSync //hud
//enumeradores// enum _:DATA_COMBO { COMBO_NEXT, COMBO_RGB[3] };
enum { COMBO_XP = 0, COMBO_DAMAGE, COMBO_REWARD, MAX_COMBO }; //const// new const g_szComboColor[][DATA_COMBO] = { { 1, { 255, 255, 255 } }, { 150, { 255, 0, 255 } }, { 300, { 0, 0, 255 } }, { 500, { 0, 255, 255 } }, { 1000, { 0, 255, 0 } }, { 2500, { 255, 255, 0 } }, { 5000, { 250, 120, 0 } }, { 10000, { 255, 0, 0 } } }; //mas variables// new g_iCombo[33][MAX_COMBO]; new Float:g_fComboDisplay[33]; //otra const// const TASK_ID_COMBO = 21325; //init// public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) g_iMsgSync = CreateHudSyncObj() RegisterHam(Ham_TakeDamage, "player", "ham_TakeDamage"); }
//cuando entra el cliente al servidor//
public client_putinserver(id){ g_iCombo[id][COMBO_XP] = 0; g_iCombo[id][COMBO_DAMAGE] = g_iCombo[id][COMBO_REWARD] = 0; g_fComboDisplay[id] = 0.0; } //cuando se va//
public client_disconnect(id){ if (g_iCombo[id][COMBO_XP] > 1) { g_iCombo[id][COMBO_XP] = 0; g_iCombo[id][COMBO_DAMAGE] = g_iCombo[id][COMBO_REWARD] = 0; } remove_task(id + TASK_ID_COMBO); } //cuando las balas hacen danio o alguien sufre danio public ham_TakeDamage(victim, inflictor, attacker, Float:damage, damagebits){ static Float:fGetTime; g_iCombo[attacker][COMBO_DAMAGE] += floatround(damage);
while (g_iCombo[attacker][COMBO_DAMAGE] >= AmountComboNext(g_iCombo[attacker][COMBO_XP])) g_iCombo[attacker][COMBO_XP]++;
fGetTime = get_gametime(); if (g_fComboDisplay[attacker] < fGetTime) { TaskComboXP(attacker, floatround(damage)); g_fComboDisplay[attacker] = (fGetTime + 0.1); remove_task(attacker + TASK_ID_COMBO); set_task(6.0, "TaskComboXP_Bonus", attacker + TASK_ID_COMBO); } } //task combo// public TaskComboXP(id, idamage) { if (!is_user_valid_connected(id)) return; static iRGB[3], i; for (i = 0; i < sizeof(g_szComboColor); i++) { if (g_iCombo[id][COMBO_XP] >= g_szComboColor[i][COMBO_NEXT]) { iRGB[0] = g_szComboColor[i][COMBO_RGB][0]; iRGB[1] = g_szComboColor[i][COMBO_RGB][1]; iRGB[2] = g_szComboColor[i][COMBO_RGB][2]; } } set_hudmessage(iRGB[0], iRGB[1], iRGB[2], -1.0, 0.6, 0, 0.1, 6.0, 0.01, 0.01, -1); ShowSyncHudMsg(id, g_iMsgSync, "Combo x%d de dolares^nDaño del Hit: %d^nDaño total: %d", g_iCombo[id][COMBO_XP], idamage, g_iCombo[id][COMBO_DAMAGE]); } //finalizamos el combo// public TaskComboXP_Bonus(id) { new dinero[33] dinero[id] = cs_get_user_money(id) id -= TASK_ID_COMBO; if (!is_user_valid_connected(id)) return; g_iCombo[id][COMBO_REWARD] += g_iCombo[id][COMBO_XP]; set_hudmessage(255, 255, 255, -1.0, 0.6, 0, 0.1, 5.0, 0.01, 0.01, -1); ShowSyncHudMsg(id, g_iMsgSync, "Combo finalizado ganaste %d dolares^nDaño total: %d", g_iCombo[id][COMBO_REWARD], g_iCombo[id][COMBO_DAMAGE]); dinero[id] += g_iCombo[id][COMBO_REWARD]; g_iCombo[id][COMBO_XP] = 1; g_iCombo[id][COMBO_DAMAGE] = g_iCombo[id][COMBO_REWARD] = 0; g_fComboDisplay[id] = 0.0; }
/* Creditos : CSAXEL */
Mensajes: 377
Temas: 82
Registro en: May 2014
te lo pase por privado y lo publicas crei que era mejor para vos que no lo vean xD igual ni se si anda
Mensajes: 2,176
Temas: 99
Registro en: Dec 2013
Reputación:
42
18/04/2015, 04:37 AM
(Última modificación: 18/04/2015, 04:37 AM por CSAxel.)
En TakeDamage, acuerdate de chequear si esta conectado y si no dispara al jugador del mismo equipo:
Código PHP: if (!is_user_connected(attacker)) return HAM_IGNORED;
if (get_user_team(attacker) == get_user_team(victim)) return HAM_SUPERCEDE;
Free agent - Vendo plugins, mods o apps del foro IPB (Invision community)
Contactarme vía Discord >>> AtselTV#8202
Mensajes: 11
Temas: 4
Registro en: Apr 2015
19/04/2015, 01:05 PM
(Última modificación: 19/04/2015, 01:05 PM por CliNt.)
No funciona.
O si funciona el hud no aparece
Mensajes: 642
Temas: 25
Registro en: Feb 2014
Reputación:
17
(18/04/2015, 02:20 AM)Frank escribió: Código PHP: /* Plugin generated by AMXX-Studio */
#include <amxmodx> #include <amxmisc> #include <cstrike> #include <hamsandwich>
#define AmountComboNext(%1) (%1 * 100) //correcion se escribe define xD CSAXEL : decine #define is_user_valid_connected(%1) (1 <= %1 <= g_maxplayers && is_user_connected(%1))
#define PLUGIN "Dinero por combo" //super combo #define VERSION "1.0" //2000 #define AUTHOR "cLi" // by csaxel
//variables// new g_maxplayers //slots new g_iMsgSync //hud
//enumeradores// enum _:DATA_COMBO { COMBO_NEXT, COMBO_RGB[3] };
enum { COMBO_XP = 0, COMBO_DAMAGE, COMBO_REWARD, MAX_COMBO }; //const// new const g_szComboColor[][DATA_COMBO] = { { 1, { 255, 255, 255 } }, { 150, { 255, 0, 255 } }, { 300, { 0, 0, 255 } }, { 500, { 0, 255, 255 } }, { 1000, { 0, 255, 0 } }, { 2500, { 255, 255, 0 } }, { 5000, { 250, 120, 0 } }, { 10000, { 255, 0, 0 } } }; //mas variables// new g_iCombo[33][MAX_COMBO]; new Float:g_fComboDisplay[33]; //otra const// const TASK_ID_COMBO = 21325; //init// public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) g_iMsgSync = CreateHudSyncObj() RegisterHam(Ham_TakeDamage, "player", "ham_TakeDamage"); }
//cuando entra el cliente al servidor//
public client_putinserver(id){ g_iCombo[id][COMBO_XP] = 0; g_iCombo[id][COMBO_DAMAGE] = g_iCombo[id][COMBO_REWARD] = 0; g_fComboDisplay[id] = 0.0; } //cuando se va//
public client_disconnect(id){ if (g_iCombo[id][COMBO_XP] > 1) { g_iCombo[id][COMBO_XP] = 0; g_iCombo[id][COMBO_DAMAGE] = g_iCombo[id][COMBO_REWARD] = 0; } remove_task(id + TASK_ID_COMBO); } //cuando las balas hacen danio o alguien sufre danio public ham_TakeDamage(victim, inflictor, attacker, Float:damage, damagebits){ static Float:fGetTime; g_iCombo[attacker][COMBO_DAMAGE] += floatround(damage);
while (g_iCombo[attacker][COMBO_DAMAGE] >= AmountComboNext(g_iCombo[attacker][COMBO_XP])) g_iCombo[attacker][COMBO_XP]++;
fGetTime = get_gametime(); if (g_fComboDisplay[attacker] < fGetTime) { TaskComboXP(attacker, floatround(damage)); g_fComboDisplay[attacker] = (fGetTime + 0.1); remove_task(attacker + TASK_ID_COMBO); set_task(6.0, "TaskComboXP_Bonus", attacker + TASK_ID_COMBO); } } //task combo// public TaskComboXP(id, idamage) { if (!is_user_valid_connected(id)) return; static iRGB[3], i; for (i = 0; i < sizeof(g_szComboColor); i++) { if (g_iCombo[id][COMBO_XP] >= g_szComboColor[i][COMBO_NEXT]) { iRGB[0] = g_szComboColor[i][COMBO_RGB][0]; iRGB[1] = g_szComboColor[i][COMBO_RGB][1]; iRGB[2] = g_szComboColor[i][COMBO_RGB][2]; } } set_hudmessage(iRGB[0], iRGB[1], iRGB[2], -1.0, 0.6, 0, 0.1, 6.0, 0.01, 0.01, -1); ShowSyncHudMsg(id, g_iMsgSync, "Combo x%d de dolares^nDaño del Hit: %d^nDaño total: %d", g_iCombo[id][COMBO_XP], idamage, g_iCombo[id][COMBO_DAMAGE]); } //finalizamos el combo// public TaskComboXP_Bonus(id) { new dinero[33] dinero[id] = cs_get_user_money(id) id -= TASK_ID_COMBO; if (!is_user_valid_connected(id)) return; g_iCombo[id][COMBO_REWARD] += g_iCombo[id][COMBO_XP]; set_hudmessage(255, 255, 255, -1.0, 0.6, 0, 0.1, 5.0, 0.01, 0.01, -1); ShowSyncHudMsg(id, g_iMsgSync, "Combo finalizado ganaste %d dolares^nDaño total: %d", g_iCombo[id][COMBO_REWARD], g_iCombo[id][COMBO_DAMAGE]); dinero[id] += g_iCombo[id][COMBO_REWARD]; g_iCombo[id][COMBO_XP] = 1; g_iCombo[id][COMBO_DAMAGE] = g_iCombo[id][COMBO_REWARD] = 0; g_fComboDisplay[id] = 0.0; }
/* Creditos : CSAXEL */
Ese combo es igual del del zr, pero con unos enums y diferentes nombres de variables...
(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: 3,238
Temas: 47
Registro en: Feb 2015
Reputación:
34
Podrias adaptar este a tu mod!
Sis. de combos zm y hm
Tiene happyhour.
|