Mensajes: 55
Temas: 14
Registro en: Mar 2015
Reputación:
0
16/07/2018, 12:12 PM
https://amxmodx-es.com/Thread-Aporte-Party-2-2-Combos
pues como dice el titulo estoy teniendo problemas con ese sistema ya que al quitarse vida te sale el letrero como si tuvieras cuasando daño a un zombie, y que alguien me diga como corregir ese detalle y poder pasarlo al zp 4.3 virgen
No me impresiona nada que mis ojos no puedan ver.
Mensajes: 546
Temas: 65
Registro en: Jan 2017
Reputación:
4
16/07/2018, 01:34 PM
(Última modificación: 16/07/2018, 01:35 PM por warrior.)
Hola, proba con esto en takedamage:
Código PHP: if (!zp_get_user_zombie(attacker))
>>>>>>>>>>>>>
Código PHP: if (!zp_get_user_zombie(attacker) && zp_get_user_zombie(victim))
Mensajes: 55
Temas: 14
Registro en: Mar 2015
Reputación:
0
(16/07/2018, 01:34 PM)warrior escribió: Hola, proba con esto en takedamage:
Código PHP: if (!zp_get_user_zombie(attacker))
>>>>>>>>>>>>>
Código PHP: if (!zp_get_user_zombie(attacker) && zp_get_user_zombie(victim))
jajajjaa todo estaba alli en esa linea xD gracias si me sirvio y ahora tengo otro detalle quisiera poner el combo que sea por hits ya que por daño si eres sniper ganas muchisimo ap por el dmg entonces quiero que se gane de la siguiente manera y disculpa la molestia:
5 hit = 1 AP y luego yo pondria un happy hour que me de 1hit 1 ap
No me impresiona nada que mis ojos no puedan ver.
Mensajes: 546
Temas: 65
Registro en: Jan 2017
Reputación:
4
No te convendría aumentarle el daño para ganar combo siendo sniper ? Y/o bajar el daño de ataque a ese modo, para no ganar mucho ...porque armas como M3, scout y awp no sirve por hit por ser lentas
Mensajes: 55
Temas: 14
Registro en: Mar 2015
Reputación:
0
eso es lo que tengo pensado hacer tambien tengo ese mismo sistema con el Happy Hour que me lo dio NkkI pero no funciona aca te dejo el code a ver porque no entrega los ap y tiene errores ya que me compila todo bien pero me sale cada segundo en consola del sv esto:
L 07/16/2018 - 13:52:50: String formatted incorrectly - parameter 8 (total 7)
L 07/16/2018 - 13:52:50: [AMXX] Displaying debug trace (plugin "sistemaparty.amxx")
L 07/16/2018 - 13:52:50: [AMXX] Run time error 25: parameter error
L 07/16/2018 - 13:52:50: [AMXX] [0] sistemaparty.sma::reset_combo (line 236)
Código PHP: #include <amxmodx> #include <colorchat> #include <hamsandwich> #include <zombieplague>
#define PLUGIN "Party Menu" #define VERSION "2.2" #define AUTHOR "[R]ak"
#define TAG "[Party]" #define ID_HUD (taskid - TASK_HUD) #define TASK_COMBO 5546 #define TASK_COMBOP 5546
new const horas[] = { 13, 14, 15, 16, 18, 19, 20, 21, 22 ,23, 00 } new bool: g_happytime
enum (+= 77) { TASK_HUD = 777, TASK_ACEPT}
enum { NONE = -1, Master, Start_Amount}
enum _:pdata { In_Party, Position, Amount_In_Party, Block_Party, UserName[32] }
enum _:DataCallBack{ MASTER, USER }
new g_PartyData[33][pdata], Array:Party_Ids[33], g_maxplayers, g_MenuCallback[DataCallBack], g_MsgSayText
new cvar_time_acept, cvar_max_players, cvar_allow_bots
new g_combo[33], g_damage[33], g_Hits[33] // Combos Agregados new g_combop[33], g_damagep[33], g_Hitsp[33] // Combos Party Agregados new g_type, g_enabled, g_recieved, bool:g_showrecieved, g_hudmsg1, g_hudmsg2 // Bullet Dmg, Mysing Combo
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) // Event register_event("Damage", "on_damage", "b", "2!0", "3=0", "4!0") register_event("HLTV", "on_new_round", "a", "1=0", "2=0") register_event("HLTV","event_newround", "a","1=0", "2=0") g_type = register_cvar("amx_bulletdamage","1") g_recieved = register_cvar("amx_bulletdamage_recieved","1") register_clcmd("say /party", "cmdParty") register_clcmd("say_team", "cmdSayTeam") RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage") cvar_time_acept = register_cvar("party_time_acept","15") cvar_max_players = register_cvar("party_max_players","3") cvar_allow_bots = register_cvar("party_allow_bots","0") g_hudmsg1 = CreateHudSyncObj() g_hudmsg2= CreateHudSyncObj() g_maxplayers = get_maxplayers() g_MsgSayText = get_user_msgid("SayText") g_MenuCallback[MASTER] = menu_makecallback("check_master") g_MenuCallback[USER] = menu_makecallback("check_user") }
public event_newround() { for(new player = 0; player <= 32; player++) { g_combo[player] = g_combop[player] = 1 g_damage[player] = g_damagep[player] = 0 g_Hits[player] = g_Hitsp[player] = 0 } set_task(0.1,"happyhour") } public happyhour(id) { new data[12] get_time("%H", data, 12) new Tiempo = str_to_num(data) for(new i=0;i <= sizeof horas - 1;i++) { if(Tiempo != horas[i]) continue g_happytime = true break; } if(g_happytime) { ColorChat(0, TEAM_COLOR, "^x04[ZP]^x01 Estas en^x04 Happy Hour^x01 disfruta mientas ganas el^x04 Doble^x01 de AmmoPacks") } } public plugin_cfg() for(new i = 1; i <= g_maxplayers; i++) Party_Ids[i] = ArrayCreate(1, 1)
public client_connect(id) { g_combo[id] = g_combop[id] = 1 g_damage[id] = g_damagep[id] = 0 g_Hits[id] = g_Hitsp[id] = 0 } public client_disconnect(id) { if(g_PartyData[id][In_Party]) g_PartyData[id][Position] ? g_PartyData[id][Amount_In_Party] == 2 ? destoy_party(id) : remove_party_user(id) : destoy_party(id) g_PartyData[id][UserName][0] = 0 g_PartyData[id][Block_Party] = false }
// Ham Take Damage Forward public fw_TakeDamage(victim, inflictor, attacker, Float:damage, damage_type) { // Attacker is human... if (!zp_get_user_zombie(attacker) && zp_get_user_zombie(victim)) { if(!g_PartyData[attacker][In_Party]) // Combos Sin Party { // Combos Agregados g_damage[attacker] += floatround(damage) g_Hits[attacker]++ while(g_damage[attacker]>=(power(g_combo[attacker], 1)*330)) { g_combo[attacker]++ } remove_task(attacker+TASK_COMBO) set_task(0.1, "task_combo", attacker+TASK_COMBO) set_task(4.0, "reset_combo", attacker+TASK_COMBO) } else // Combos Del Party { new Players[32], user get_party_index(attacker, Players) for(new i; i < g_PartyData[attacker][Amount_In_Party]; i++) { user = Players[i] g_damagep[user] += floatround(damage) / g_PartyData[user][Amount_In_Party] g_Hitsp[user]++ while(g_damagep[user]>=(power(g_combop[user], 1)*430)) { g_combop[user]++ } remove_task(user+TASK_COMBOP) set_task(0.1, "task_party_combo", user+TASK_COMBOP) set_task(4.0, "reset_party_combo", user+TASK_COMBOP) } } } }
public on_new_round() { g_enabled = get_pcvar_num(g_type) if(get_pcvar_num(g_recieved)) g_showrecieved = true }
public on_damage(id) { if(g_enabled) { static damage; damage = read_data(2) if(g_showrecieved && zp_get_user_zombie(id)) { set_hudmessage(255, 0, 0, 0.45, 0.50, 2, 0.1, 4.0, 0.1, 0.1, -1) ShowSyncHudMsg(id, g_hudmsg2, "[Daño]= %i^n", damage) } } }
public task_combo(attacker) { attacker -= TASK_COMBO static flags flags = get_user_flags(attacker) if(g_combo[attacker]>0) { if(g_happytime) { set_hudmessage(0, 255, 0, -1.0, 0.6, 1, 0.1, 4.0, 0.01, 0.01, -1) ShowSyncHudMsg(attacker, g_hudmsg1, "[==== HAPPY COMBO ====]^n[Hits: %d | Daño: %d / %d]^n[Total de Combos: %d]^n^n[==== + %d de AP ====]", g_Hits[attacker], g_damage[attacker], g_damage[attacker], (power(g_combo[attacker], 1)*330), g_combo[attacker], g_combo[attacker] * 6+((flags & ADMIN_LEVEL_D ? 7: flags & ADMIN_LEVEL_A ? 5: flags & ADMIN_LEVEL_B ? 3 *2: 0))) } else { set_hudmessage(0, 200, 200, -1.0, 0.6, 1, 0.1, 4.0, 0.01, 0.01, -1) ShowSyncHudMsg(attacker, g_hudmsg1, "Combos Normales^nHits: %d | Damage: %d^n%d | %d^nTotal de Combos: %d^nTu Ganas: %d AMMO PACKS", g_Hits[attacker], g_damage[attacker], g_damage[attacker], (power(g_combo[attacker], 1)*330), g_combo[attacker], g_combo[attacker] * 6+((flags & ADMIN_LEVEL_D ? 7: flags & ADMIN_LEVEL_A ? 5: flags & ADMIN_LEVEL_B ? 3 : 0))) } } } public task_party_combo(i) { i -= TASK_COMBOP static flags flags = get_user_flags(i) if(g_combop[i]>0 && !zp_get_user_zombie(i) && is_user_alive(i)) { if(g_PartyData[i][In_Party]) { if(g_happytime) { set_hudmessage(0, 255, 255, -1.0, 0.6, 1, 0.1, 4.0, 0.01, 0.01, -1) ShowSyncHudMsg(i, g_hudmsg1, "[==== HAPPY COMBO PARTY ====]^n[Hits: %d | Daño: %d / %d]^n[Total de Combos Party: %d]^n[==== + %d de ap ====]", g_Hitsp[i], g_damagep[i], g_damagep[i], (power(g_combop[i], 1)*430), g_combop[i], g_combop[i] * 4+((flags & ADMIN_LEVEL_D ? 7: flags & ADMIN_LEVEL_A ? 5: flags & ADMIN_LEVEL_B ? 3 : 0))) } else { set_hudmessage(0, 200, 200, -1.0, 0.6, 1, 0.1, 4.0, 0.01, 0.01, -1) ShowSyncHudMsg(i, g_hudmsg1, "Combo de la Party^nHits: %d | Damage: %d^n%d | %d^nTotal de Combos: %d^nTu Ganas: %d AMMO PACKS", g_Hitsp[i], g_damagep[i], g_damagep[i], (power(g_combop[i], 1)*430), g_combop[i], g_combop[i] * 4+((flags & ADMIN_LEVEL_D ? 7: flags & ADMIN_LEVEL_A ? 5: flags & ADMIN_LEVEL_B ? 3 : 0))) } } } }
public reset_combo(id) { id -= TASK_COMBO static flags flags = get_user_flags(id) static ganancia; ganancia = g_combo[id] * 6+((flags & ADMIN_LEVEL_D ? 7: flags & ADMIN_LEVEL_A ? 5: flags & ADMIN_LEVEL_B ? 3 : 0)) if (g_combo[id]>0) { if(g_happytime) { set_hudmessage(120, 120, 120, -1.0, 0.25, 0, 0.1, 4.0, 0.01, 0.01, -1) ShowSyncHudMsg(id, g_hudmsg1, "^n^n^n^n Combo Terminado (%d)^nGanancia: + %d de ap por estar en HappyHour", g_combo[id], ganancia) client_print(id, print_chat, "%s^x04[HAPPYHOUR]^x01 Combo Total:^x04 %d^x01 | Daño Total:^x04 %d^x01 | Hits Echos:^x04 %d^x01 | Ganancia:^x04 %d^x01 por estar en Happy Hour", g_combo[id], g_damage[id], g_Hits[id], ganancia) zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) + ganancia) } else { set_hudmessage(120, 120, 120, -1.0, 0.25, 0, 0.1, 4.0, 0.01, 0.01, -1) ShowSyncHudMsg(id, g_hudmsg1, "^n^n^n^n Combo Terminado (%d)^nGanancia: %d AMMO PACKS", g_combo[id], ganancia) ColorChat(id, TEAM_COLOR, "^x04[ZP]^x01 Combo Total:^x04 %d^x01 | Damage Total:^x04 %d^x01 | Hits Echos:^x04 %d^x01 | Ganancia:^x04 %d", g_combo[id], g_damage[id], g_Hits[id], ganancia) zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) + ganancia) } } g_damage[id] = 0 g_Hits[id] = 0 g_combo[id] = 0 } public reset_party_combo(i) { i -= TASK_COMBOP static flags flags = get_user_flags(i) static gananciap; gananciap = g_combop[i] * 4+((flags & ADMIN_LEVEL_D ? 7: flags & ADMIN_LEVEL_A ? 5: flags & ADMIN_LEVEL_B ? 3 : 0)) if(g_PartyData[i][In_Party]) { if(!zp_get_user_zombie(i)) { if(g_happytime) { set_hudmessage(120, 120, 120, -1.0, 0.25, 0, 0.1, 4.0, 0.01, 0.01, -1) ShowSyncHudMsg(i, g_hudmsg1, "^n^n^n^n Combo Party Terminado (%d)^nGanancia: + %d de ap por estar en HappyHour", g_combop[i], gananciap) client_print(i, print_chat, "^x04[HAPPY HOUR]^x01 Combo party Total:^x04 %d^x01 | Daño Total:^x04 %d^x01 | Hits Echos:^x04 %d^x01 | Ganancia:^x04 %d^x01 por estar en HappyHour", g_combop[i], g_damagep[i], g_Hitsp[i], gananciap) } else { set_hudmessage(120, 120, 120, -1.0, 0.25, 0, 0.1, 4.0, 0.01, 0.01, -1) ShowSyncHudMsg(i, g_hudmsg1, "^n^n^n^n Combo Party Terminado (%d)^nGanancia: %d AMMO PACKS", g_combop[i], gananciap) ColorChat(i, TEAM_COLOR, "^x04[ZP]^x01 Combo party Total:^x04 %d^x01 | Damage Total:^x04 %d^x01 | Hits Echos:^x04 %d^x01 | Ganancia:^x04 %d", g_combop[i], g_damagep[i], g_Hitsp[i], gananciap) } zp_set_user_ammo_packs(i, zp_get_user_ammo_packs(i) + gananciap) } } g_damagep[i] = 0 g_Hitsp[i] = 0 g_combop[i] = 0 }
public cmdParty(id) { if(g_PartyData[id][In_Party]) show_party_info_menu(id) else show_party_menu(id) return PLUGIN_HANDLED }
public show_party_menu(id) { new iMenu = menu_create("[R]ak Acme Inc.- \rMenu Party:","party_menu"), BlockParty[50] menu_additem(iMenu, "\yCrear Party", "0") formatex(BlockParty, charsmax(BlockParty), "\yBloquear Invitaciones De Party: \w%s",g_PartyData[id][Block_Party] ? "Si" : "No") menu_additem(iMenu, BlockParty, "1") menu_setprop(iMenu, MPROP_EXITNAME, "Salir") menu_setprop(iMenu, MPROP_EXIT, MEXIT_ALL) menu_display(id, iMenu, 0) }
public show_party_info_menu(id) { new iMenu = menu_create("[R]ak Acme Inc.- \rMenu Party:","party_info_menu") menu_additem(iMenu, "Agregar Integrante", .callback = g_MenuCallback[MASTER]) menu_additem(iMenu, "Expulsar Integrande", .callback = g_MenuCallback[MASTER]) menu_additem(iMenu, "Destruir Party", .callback = g_MenuCallback[MASTER]) menu_additem(iMenu, "Salir del Party", .callback = g_MenuCallback[USER]) menu_setprop(iMenu, MPROP_EXITNAME, "Salir") menu_setprop(iMenu, MPROP_EXIT, MEXIT_ALL) menu_display(id, iMenu) }
public show_party_add_menu(id) { new iMenu = menu_create(g_PartyData[id][In_Party] ? "\rAgregar Integrante:" : "\rCrear Party:", "party_create_menu"), Poss[3], Name[32] for(new i = 1; i <= g_maxplayers; i++) { if(!is_available_to_party(i) || id == i) continue; get_user_name(i, Name, charsmax(Name)) num_to_str(i, Poss, charsmax(Poss)) menu_additem(iMenu, Name, Poss) } menu_setprop(iMenu, MPROP_EXITNAME, "Salir") menu_setprop(iMenu, MPROP_EXIT, MEXIT_ALL) menu_display(id, iMenu) }
public show_party_kick_menu(id) { new iMenu = menu_create("\rKick Party Menu:","party_kick_menu"), Players[32], Poss[3], user get_party_index(id, Players) for(new i; i < g_PartyData[id][Amount_In_Party]; i++) { user = Players[i] num_to_str(user, Poss, charsmax(Poss)) menu_additem(iMenu, g_PartyData[user][UserName], Poss) } menu_setprop(iMenu, MPROP_EXITNAME, "Salir") menu_display(id, iMenu) }
public show_party_invite_menu(id2, MasterId) { new MenuTitle[128], iMenu, Str_MasterId[3] set_player_party_name(MasterId) set_player_party_name(id2) client_print(MasterId, print_chat, "%s Solicitud enviada a %s", TAG, g_PartyData[id2][UserName]) formatex(MenuTitle, charsmax(MenuTitle), "%s te mando una invitacion para %s Party", g_PartyData[MasterId][UserName], g_PartyData[MasterId][In_Party] ? "unirte al" : "crear un") new UserTaskArgs[3] UserTaskArgs[0] = iMenu = menu_create( MenuTitle , "party_invite_menu") UserTaskArgs[1] = MasterId num_to_str(MasterId, Str_MasterId, charsmax(Str_MasterId)) menu_additem( iMenu , "Aceptar", Str_MasterId) menu_additem( iMenu , "Rechazar", Str_MasterId) if(is_user_bot(id2) && get_pcvar_num(cvar_allow_bots)) { party_invite_menu(id2, iMenu, 0) return } menu_setprop(iMenu, MPROP_EXIT, MEXIT_NEVER) menu_display(id2, iMenu) remove_task_acept(id2) set_task(get_pcvar_float(cvar_time_acept), "Time_Acept", id2+TASK_ACEPT, UserTaskArgs, 2) }
public party_menu(id, menu, item) { if(item == MENU_EXIT) { menu_destroy(menu) return } if(item) { g_PartyData[id][Block_Party] = g_PartyData[id][Block_Party] ? false : true show_party_menu(id) } else show_party_add_menu(id) menu_destroy(menu) }
public party_create_menu(id, menu, item) { if(item == MENU_EXIT) { menu_destroy(menu) return } new iKey[6], iAccess, iCallback, id2 menu_item_getinfo(menu, item, iAccess, iKey, charsmax(iKey), _, _, iCallback) id2 = str_to_num(iKey) if(!is_available_to_party(id2)) return show_party_invite_menu(id2, id) menu_destroy(menu) }
public party_invite_menu(id, menu, item) { if(item == MENU_EXIT) { menu_destroy(menu) remove_task_acept(id) return } new iKey[6], iAccess, iCallback, id_master menu_item_getinfo(menu, item, iAccess, iKey, charsmax(iKey), _, _, iCallback) id_master = str_to_num(iKey) switch(item) { case 0: { if(!g_PartyData[id_master][In_Party]) { create_party(id_master, id) set_task_party_hud(id_master) set_task_party_hud(id) } else { if(g_PartyData[id_master][Amount_In_Party] == get_pcvar_num(cvar_max_players)) { client_print(id, print_chat, "%s Ya se alcanzo el numero maximo de integrantes en la party", TAG) client_print(id_master, print_chat, "%s Ya alcanzaste el numero maximo de integrantes en la party", TAG) remove_task_acept(id) menu_destroy(menu) return } add_party_user(id_master, id) set_task_party_hud(id) } client_print(id_master, print_chat, "%s %s fue agregado al Party", TAG, g_PartyData[id][UserName]) } case 1: client_print(id_master, print_chat, "%s %s cancelo la invitacion de Party", TAG, g_PartyData[id][UserName]) } remove_task_acept(id) menu_destroy(menu) }
public party_kick_menu(id, menu, item) { if(item == MENU_EXIT) { menu_destroy(menu) return } new iKey[6], iAccess, iCallback, id2 menu_item_getinfo(menu, item, iAccess, iKey, charsmax(iKey), _, _, iCallback) id2 = str_to_num(iKey) if(is_user_connected(id2)) g_PartyData[id][Amount_In_Party] == 2 ? destoy_party(id) : remove_party_user(id2) menu_destroy(menu) }
public party_info_menu(id, menu,item) { if(item == MENU_EXIT) { menu_destroy(menu) return } switch(item) { case 0: { if(g_PartyData[id][Amount_In_Party] < get_pcvar_num(cvar_max_players)) show_party_add_menu(id) else client_print(id, print_chat, "%s Ya alcanzaste el numero maximo de integrantes en la party", TAG) } case 1: show_party_kick_menu(id) case 2: destoy_party(id) case 3: remove_party_user(id) } menu_destroy(menu) }
public PartyHud(taskid) { static id id = ID_HUD if(!is_user_connected(id)) { remove_task(taskid) return } static CountParty, PartyMsg[256], Players[32], id2 CountParty = 0 PartyMsg[0] = 0 get_party_index(id, Players) for(new i; i < g_PartyData[id][Amount_In_Party]; i++) { id2 = Players[i] if(CountParty) add(PartyMsg, charsmax(PartyMsg), "^n") format(PartyMsg, charsmax(PartyMsg), "%s%s", strlen(PartyMsg) ? PartyMsg : "^t^t^tMiembros del Party^n", g_PartyData[id2][UserName]) CountParty++ } set_hudmessage(255, 255, 255, 0.75, 0.34, 0, 6.0, 1.0); show_hudmessage(id, PartyMsg) }
public Time_Acept(UserTaskArgs[], taskid) { taskid -= TASK_ACEPT; if(!g_PartyData[taskid][In_Party]) { client_print(UserTaskArgs[1], print_chat, "%s %s cancelo la invitacion de party", TAG, g_PartyData[taskid][UserName]) menu_destroy(UserTaskArgs[0]) show_menu(taskid, 0, "^n", 1) } }
stock create_party(master, guest) { set_party_member(master, master) set_party_member(master, guest) set_party_member(guest, master) set_party_member(guest, guest) set_party_vars(master, Start_Amount) set_party_vars(guest, ++g_PartyData[master][Amount_In_Party]) }
stock add_party_user(master, guest) { new Players[32], member, amount = g_PartyData[master][Amount_In_Party] get_party_index(master, Players) for(new i; i < amount; i++) { member = Players[i] set_party_member(guest, member) set_party_member(member, guest) g_PartyData[member][Amount_In_Party]++ } set_party_member(guest, guest) set_party_vars(guest, amount+1) }
stock set_party_member(id, id2) ArrayPushCell(Party_Ids[id], id2)
stock set_party_vars(id, amount) { g_PartyData[id][In_Party] = true g_PartyData[id][Position] = amount-1 g_PartyData[id][Amount_In_Party] = amount }
stock destoy_party(id) { new Players[32], id2, Amount = g_PartyData[id][Amount_In_Party] get_party_index(id, Players) for(new i; i < Amount; i++) { id2 = Players[i] clear_party_user(id2) client_print(id2, print_chat, "%s La party fue destruida", TAG) } }
stock remove_party_user(user) { new Players[32], id, Amount = g_PartyData[user][Amount_In_Party] get_party_index(user, Players) clear_party_user(user) for(new i; i < Amount; i++) { id = Players[i] if(id != user) { ArrayClear(Party_Ids[id]) for(new z; z < Amount; z++) if(Players[z] != user) set_party_member(id, Players[z]) g_PartyData[id][Position] = i g_PartyData[id][Amount_In_Party] = Amount-1 client_print(id, print_chat, "%s %s salio del party", TAG, g_PartyData[user][UserName]) } } }
stock clear_party_user(id) { ArrayClear(Party_Ids[id]) g_PartyData[id][In_Party] = false g_PartyData[id][Position] = NONE g_PartyData[id][Amount_In_Party] = NONE remove_task_party_hud(id) }
stock set_task_party_hud(id) set_task(1.0, "PartyHud", id+TASK_HUD, _, _, "b")
stock remove_task_party_hud(id) remove_task(id+TASK_HUD)
stock remove_task_acept(id) if(task_exists(id+TASK_ACEPT)) remove_task(id+TASK_ACEPT)
stock set_player_party_name(id) { if(g_PartyData[id][UserName][0]) return 0 get_user_name(id, g_PartyData[id][UserName], charsmax(g_PartyData[][UserName])) return 1 }
stock is_available_to_party(id) { if(!is_user_connected(id) || g_PartyData[id][In_Party] || g_PartyData[id][Block_Party]) return false return true }
stock get_party_index(id, players[]) { for(new i; i < g_PartyData[id][Amount_In_Party]; i++) players[i] = ArrayGetCell(Party_Ids[id], i) return players[0] ? 1 : 0 }
public check_master(id) return g_PartyData[id][Position] ? ITEM_DISABLED : ITEM_ENABLED
public check_user(id) return g_PartyData[id][Position] ? ITEM_ENABLED : ITEM_DISABLED
public cmdSayTeam(id) { static Text[192] read_args(Text, charsmax(Text)) remove_quotes(Text) replace_all(Text, charsmax(Text), "%", "") if(!ValidMessage(Text) || !g_PartyData[id][In_Party]) { client_print(id, print_chat,"%s Tu Mensaje es invalido o no te encuentras en un Party", TAG) return PLUGIN_HANDLED; } static Message[192], Players[32], id2, Amount Amount = g_PartyData[id][Amount_In_Party] get_party_index(id, Players) formatex(Message, charsmax(Message), "^x04%s ^x03%s^x01 : %s", TAG, g_PartyData[id][UserName], Text) for(new i; i < Amount; i++) { id2 = Players[i] message_begin(MSG_ONE_UNRELIABLE, g_MsgSayText, _, id2) write_byte(id) write_string(Message) message_end() } return PLUGIN_HANDLED; }
ValidMessage(text[]) { static len, i len = strlen(text) if(!len) return false for(i = 0; i < len; i++) { if( text[i] != ' ' ) { return true } } return false }
No me impresiona nada que mis ojos no puedan ver.
Mensajes: 546
Temas: 65
Registro en: Jan 2017
Reputación:
4
El problema es que te falta el prefijo:
Código PHP: client_print(id, print_chat, "%s^x04[HAPPYHOUR]^x01 Combo Total:^x04 %d^x01 | Daño Total:^x04 %d^x01 | Hits Echos:^x04 %d^x01 | Ganancia:^x04 %d^x01 por estar en Happy Hour", g_combo[id], g_damage[id], g_Hits[id], ganancia)
Código PHP: client_print(id, print_chat, "%s^x04[HAPPYHOUR]^x01 Combo Total:^x04 %d^x01 | Daño Total:^x04 %d^x01 | Hits Echos:^x04 %d^x01 | Ganancia:^x04 %d^x01 por estar en Happy Hour", TAG,g_combo[id], g_damage[id], g_Hits[id], ganancia)
Cualquier cosa avisa e.e
Mensajes: 55
Temas: 14
Registro en: Mar 2015
Reputación:
0
(16/07/2018, 04:10 PM)warrior escribió: El problema es que te falta el prefijo:
Código PHP: client_print(id, print_chat, "%s^x04[HAPPYHOUR]^x01 Combo Total:^x04 %d^x01 | Daño Total:^x04 %d^x01 | Hits Echos:^x04 %d^x01 | Ganancia:^x04 %d^x01 por estar en Happy Hour", g_combo[id], g_damage[id], g_Hits[id], ganancia)
Código PHP: client_print(id, print_chat, "%s^x04[HAPPYHOUR]^x01 Combo Total:^x04 %d^x01 | Daño Total:^x04 %d^x01 | Hits Echos:^x04 %d^x01 | Ganancia:^x04 %d^x01 por estar en Happy Hour", TAG,g_combo[id], g_damage[id], g_Hits[id], ganancia)
Cualquier cosa avisa e.e
jajajaja si tambien era esa questioncita pero lo raro es que los combos estan raros esto me sale al dar 1 solo disparo :
fijate que dice 330 combos
https://imgur.com/wg72F1G
luego de recompensa me da esto:
https://imgur.com/a/Pfewmph
hay algo mal alli. y tengo que cambiar el combo por hits ya que si bajo el dmg el sniper tendra que matar de muchos tiros a un zombie.
No me impresiona nada que mis ojos no puedan ver.
Mensajes: 546
Temas: 65
Registro en: Jan 2017
Reputación:
4
16/07/2018, 05:25 PM
(Última modificación: 16/07/2018, 05:36 PM por warrior.)
Trata a que coincida la ganancia que sale al empezar y terminar el hud, como asi tambien la ganancia que te va a sumar, para no mezclar cualquiera
Código PHP: public task_combo(attacker) { attacker -= TASK_COMBO static flags flags = get_user_flags(attacker) static ganancia; ganancia = g_combo[id] * 6+((flags & ADMIN_LEVEL_D ? 7: flags & ADMIN_LEVEL_A ? 5: flags & ADMIN_LEVEL_B ? 3 : 0)) if(g_combo[attacker]>0) { if(g_happytime) { set_hudmessage(0, 255, 0, -1.0, 0.6, 1, 0.1, 4.0, 0.01, 0.01, -1) ShowSyncHudMsg(attacker, g_hudmsg1, "[==== HAPPY COMBO ====]^n[Hits: %d | Daño: %d / %d]^n[Total de Combos: %d]^n^n[==== + %d de AP ====]", g_Hits[attacker], g_damage[attacker], g_damage[attacker], (power(g_combo[attacker], 1)*330), g_combo[attacker], ganancia) } else { set_hudmessage(0, 200, 200, -1.0, 0.6, 1, 0.1, 4.0, 0.01, 0.01, -1) ShowSyncHudMsg(attacker, g_hudmsg1, "Combos Normales^nHits: %d | Damage: %d^n%d | %d^nTotal de Combos: %d^nTu Ganas: %d AMMO PACKS", g_Hits[attacker], g_damage[attacker], g_damage[attacker], (power(g_combo[attacker], 1)*330), g_combo[attacker], ganancia) } } }
public reset_combo(id) { id -= TASK_COMBO static flags flags = get_user_flags(id) static ganancia; ganancia = g_combo[id] * 6+((flags & ADMIN_LEVEL_D ? 7: flags & ADMIN_LEVEL_A ? 5: flags & ADMIN_LEVEL_B ? 3 : 0)) if (g_combo[id]>0) { if(g_happytime) { set_hudmessage(120, 120, 120, -1.0, 0.25, 0, 0.1, 4.0, 0.01, 0.01, -1) ShowSyncHudMsg(id, g_hudmsg1, "^n^n^n^n Combo Terminado (%d)^nGanancia: + %d de ap por estar en HappyHour", g_combo[id], ganancia) client_print(id, print_chat, "%s^x04[HAPPYHOUR]^x01 Combo Total:^x04 %d^x01 | Daño Total:^x04 %d^x01 | Hits Echos:^x04 %d^x01 | Ganancia:^x04 %d^x01 por estar en Happy Hour", g_combo[id], g_damage[id], g_Hits[id], ganancia) zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) + ganancia) } else { set_hudmessage(120, 120, 120, -1.0, 0.25, 0, 0.1, 4.0, 0.01, 0.01, -1) ShowSyncHudMsg(id, g_hudmsg1, "^n^n^n^n Combo Terminado (%d)^nGanancia: %d AMMO PACKS", g_combo[id], ganancia) ColorChat(id, TEAM_COLOR, "^x04[ZP]^x01 Combo Total:^x04 %d^x01 | Damage Total:^x04 %d^x01 | Hits Echos:^x04 %d^x01 | Ganancia:^x04 %d", g_combo[id], g_damage[id], g_Hits[id], ganancia) zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) + ganancia) } } g_damage[id] = 0 g_Hits[id] = 0 g_combo[id] = 0 }
Si quieres por hit, lo que debes hacer es a base del
Código PHP: static ganancia; ganancia = g_combo[id] * 6+((flags & ADMIN_LEVEL_D ? 7: flags & ADMIN_LEVEL_A ? 5: flags & ADMIN_LEVEL_B ? 3 : 0))
zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) + ((g_Hits[id] *ganancia) * g_happyhours ? 6 : 3) )
// segun el multiplicador que tengas, es la suma total de ap que ganaras al terminar el combo
Obviamente adaptando los hud..
Mensajes: 55
Temas: 14
Registro en: Mar 2015
Reputación:
0
ya lo solucione era porque tenia g_damage[attacker], g_damage[attacker] 2 veces y tomaba combo como g_damage ahora si me puedes ayudar a cambiar combo por hits? te lo agradeceria ya yo tomando el riesgo sobre las armas que tienen desventaja igual ya quisiera tener embos metodos por combo y por hits lo quisiera de la siguiente manera: sin Happy 6 hits 1 ap y con happy 3 hits 1 ap por favor
No me impresiona nada que mis ojos no puedan ver.
Mensajes: 546
Temas: 65
Registro en: Jan 2017
Reputación:
4
Yo en este momento no tengo el tiempo re-hacer uno por hit y otro por combo jeje, pero tejo una ida..:
Código PHP: static ganancia; ganancia = g_combo[id] * 6+((flags & ADMIN_LEVEL_D ? 7: flags & ADMIN_LEVEL_A ? 5: flags & ADMIN_LEVEL_B ? 3 : 0))
zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) + ((g_Hits[id] *ganancia) * g_happyhours ? 6 : 3) )
Mensajes: 55
Temas: 14
Registro en: Mar 2015
Reputación:
0
no es reestructurar uno nuevo al contrario es solo mover variable que todo quede igual, solo que al dar la recompensa solo tome la variable Hits * 1 para que sea el mismo valor en hits que en ap lo que pasa es que trato de hacer modificaciones y me tira errores al cambiar la variable combo por la Hits si me entiendes?
No me impresiona nada que mis ojos no puedan ver.
|