fixear party + combo
#1
Bombilla 
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. Fuck yeah
Responder
#2
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)) 
Responder
#3
(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. Fuck yeah
Responder
#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
Responder
#5
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[] = { 131415161819202122 ,2300 
new 
boolg_happytime

enum 
(+= 77) { TASK_HUD 777TASK_ACEPT}

enum NONE = -1MasterStart_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_maxplayersg_MenuCallback[DataCallBack], g_MsgSayText

new cvar_time_aceptcvar_max_playerscvar_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_typeg_enabledg_recievedbool:g_showrecievedg_hudmsg1g_hudmsg2 // Bullet Dmg, Mysing Combo

public plugin_init() 
{
    
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
// 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_hudmsg2CreateHudSyncObj()
    
    
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 0player <= 32player++) 
    {
        
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"data12)
    new 
Tiempo str_to_num(data)
    
    for(new 
i=0;<= sizeof horas 1;i++)
    {
        if(
Tiempo != horas[i]) continue
        
g_happytime true
        
break;
    }
    if(
g_happytime)
    {
        
ColorChat(0TEAM_COLOR"^x04[ZP]^x01 Estas en^x04 Happy Hour^x01 disfruta mientas ganas el^x04 Doble^x01 de AmmoPacks")
    }

public 
plugin_cfg()
    for(new 
1<= g_maxplayersi++)
    
Party_Ids[i] = ArrayCreate(11)

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] == 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(victiminflictorattackerFloat:damagedamage_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
(attackerPlayers)
            for(new 
ig_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 
damagedamage read_data(2)
        if(
g_showrecieved && zp_get_user_zombie(id))
        {    
            
set_hudmessage(255000.450.5020.14.00.10.1, -1)
            
ShowSyncHudMsg(idg_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(02550, -1.00.610.14.00.010.01, -1)
            
ShowSyncHudMsg(attackerg_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 7flags ADMIN_LEVEL_A 5flags ADMIN_LEVEL_B *20)))
            } else {
            
set_hudmessage(0200200, -1.00.610.14.00.010.01, -1)
            
ShowSyncHudMsg(attackerg_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 7flags ADMIN_LEVEL_A 5flags ADMIN_LEVEL_B 0)))
        }
    }
}
public 
task_party_combo(i)
{
    
-= TASK_COMBOP
    
    
static flags
    flags 
get_user_flags(i)
    
    if(
g_combop[i]>&& !zp_get_user_zombie(i) && is_user_alive(i))
    {
        if(
g_PartyData[i][In_Party])
        {
            if(
g_happytime) {
                
set_hudmessage(0255255, -1.00.610.14.00.010.01, -1)
                
ShowSyncHudMsg(ig_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 7flags ADMIN_LEVEL_A 5flags ADMIN_LEVEL_B 0)))
                } else {
                
set_hudmessage(0200200, -1.00.610.14.00.010.01, -1)
                
ShowSyncHudMsg(ig_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 7flags ADMIN_LEVEL_A 5flags ADMIN_LEVEL_B 0)))
            }
        }
    }
}

public 
reset_combo(id)
{
    
id -= TASK_COMBO
    
static flags
    flags 
get_user_flags(id)
    
    static 
gananciaganancia g_combo[id] * 6+((flags ADMIN_LEVEL_D 7flags ADMIN_LEVEL_A 5flags ADMIN_LEVEL_B 0))
    if (
g_combo[id]>0)
    {
        if(
g_happytime) {
            
set_hudmessage(120120120, -1.00.2500.14.00.010.01, -1)
            
ShowSyncHudMsg(idg_hudmsg1"^n^n^n^n Combo Terminado (%d)^nGanancia: + %d de ap por estar en HappyHour"g_combo[id], ganancia)
            
client_print(idprint_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(idzp_get_user_ammo_packs(id) + ganancia)
            } else {
            
set_hudmessage(120120120, -1.00.2500.14.00.010.01, -1)
            
ShowSyncHudMsg(idg_hudmsg1"^n^n^n^n Combo Terminado (%d)^nGanancia: %d AMMO PACKS"g_combo[id], ganancia)
            
ColorChat(idTEAM_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(idzp_get_user_ammo_packs(id) + ganancia)
        }
    }
    
    
g_damage[id] = 0
    g_Hits
[id] = 0
    g_combo
[id] = 0
}
public 
reset_party_combo(i)
{
    
-= TASK_COMBOP
    
static flags
    flags 
get_user_flags(i)
    
    static 
gananciapgananciap g_combop[i] * 4+((flags ADMIN_LEVEL_D 7flags ADMIN_LEVEL_A 5flags ADMIN_LEVEL_B 0))
    if(
g_PartyData[i][In_Party])
    {
        if(!
zp_get_user_zombie(i))
        {
            if(
g_happytime) {
                
set_hudmessage(120120120, -1.00.2500.14.00.010.01, -1)
                
ShowSyncHudMsg(ig_hudmsg1"^n^n^n^n Combo Party Terminado (%d)^nGanancia: + %d de ap por estar en HappyHour"g_combop[i], gananciap)
                
client_print(iprint_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(120120120, -1.00.2500.14.00.010.01, -1)
                
ShowSyncHudMsg(ig_hudmsg1"^n^n^n^n Combo Party Terminado (%d)^nGanancia: %d AMMO PACKS"g_combop[i], gananciap)
                
ColorChat(iTEAM_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(izp_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(BlockPartycharsmax(BlockParty), "\yBloquear Invitaciones De Party: \w%s",g_PartyData[id][Block_Party] ? "Si" "No")
    
    
menu_additem(iMenuBlockParty"1")
    
    
menu_setprop(iMenuMPROP_EXITNAME"Salir")
    
menu_setprop(iMenuMPROP_EXITMEXIT_ALL)
    
    
menu_display(idiMenu0)
}

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(iMenuMPROP_EXITNAME"Salir")
    
menu_setprop(iMenuMPROP_EXITMEXIT_ALL)
    
    
menu_display(idiMenu)
}

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 
1<= g_maxplayersi++) {
        
        if(!
is_available_to_party(i) || id == i)
            continue;
        
        
get_user_name(iNamecharsmax(Name))
        
num_to_str(iPosscharsmax(Poss))
        
menu_additem(iMenuNamePoss)
    }
    
    
menu_setprop(iMenuMPROP_EXITNAME"Salir")
    
menu_setprop(iMenuMPROP_EXITMEXIT_ALL)
    
    
menu_display(idiMenu)
}

public 
show_party_kick_menu(id) {
    
    new 
iMenu menu_create("\rKick Party Menu:","party_kick_menu"), Players[32], Poss[3], user
    
    get_party_index
(idPlayers)
    
    for(new 
ig_PartyData[id][Amount_In_Party]; i++) {
        
user Players[i]
        
num_to_str(userPosscharsmax(Poss))
        
menu_additem(iMenug_PartyData[user][UserName], Poss)
    }
    
    
menu_setprop(iMenuMPROP_EXITNAME"Salir")
    
    
menu_display(idiMenu)
}

public 
show_party_invite_menu(id2MasterId) {
    
    new 
MenuTitle[128], iMenuStr_MasterId[3]
    
    
set_player_party_name(MasterId)
    
set_player_party_name(id2)
    
    
client_print(MasterIdprint_chat"%s Solicitud enviada a %s"TAGg_PartyData[id2][UserName])
    
    
formatex(MenuTitlecharsmax(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_createMenuTitle "party_invite_menu")
    
UserTaskArgs[1] = MasterId
    
    num_to_str
(MasterIdStr_MasterIdcharsmax(Str_MasterId))
    
    
menu_additemiMenu "Aceptar"Str_MasterId)
    
menu_additemiMenu "Rechazar"Str_MasterId)
    
    if(
is_user_bot(id2) && get_pcvar_num(cvar_allow_bots)) {
        
party_invite_menu(id2iMenu0)
        return
    }
    
    
menu_setprop(iMenuMPROP_EXITMEXIT_NEVER)
    
    
menu_display(id2iMenu)
    
    
remove_task_acept(id2)
    
    
set_task(get_pcvar_float(cvar_time_acept), "Time_Acept"id2+TASK_ACEPTUserTaskArgs2)
}


public 
party_menu(idmenuitem) {
    
    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(idmenuitem) {
    
    if(
item == MENU_EXIT) {
        
menu_destroy(menu)
        return
    }
    
    new 
iKey[6], iAccessiCallbackid2
    
    menu_item_getinfo
(menuitemiAccessiKeycharsmax(iKey), __iCallback)
    
    
id2 str_to_num(iKey)
    
    if(!
is_available_to_party(id2))
        return
    
    
show_party_invite_menu(id2id)
    
    
menu_destroy(menu)
}

public 
party_invite_menu(idmenuitem) {
    
    if(
item == MENU_EXIT) {
        
menu_destroy(menu)
        
remove_task_acept(id)
        return
    }
    
    new 
iKey[6], iAccessiCallbackid_master
    
    menu_item_getinfo
(menuitemiAccessiKeycharsmax(iKey), __iCallback)
    
    
id_master str_to_num(iKey)
    
    switch(
item) {
        case 
0: {
            
            if(!
g_PartyData[id_master][In_Party]) {
                
create_party(id_masterid)
                
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(idprint_chat"%s Ya se alcanzo el numero maximo de integrantes en la party"TAG)
                    
client_print(id_masterprint_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_masterid)
                
set_task_party_hud(id)
            }
            
            
client_print(id_masterprint_chat"%s %s fue agregado al Party"TAGg_PartyData[id][UserName])
        }
        case 
1client_print(id_masterprint_chat"%s %s cancelo la invitacion de Party"TAGg_PartyData[id][UserName])
        }
    
    
remove_task_acept(id)
    
    
menu_destroy(menu)
}

public 
party_kick_menu(idmenuitem) {
    
    if(
item == MENU_EXIT) {
        
menu_destroy(menu)
        return
    }
    
    new 
iKey[6], iAccessiCallbackid2
    
    menu_item_getinfo
(menuitemiAccessiKeycharsmax(iKey), __iCallback)
    
    
id2 str_to_num(iKey)
    
    if(
is_user_connected(id2))
        
g_PartyData[id][Amount_In_Party] == destoy_party(id) : remove_party_user(id2)
    
    
menu_destroy(menu)
}

public 
party_info_menu(idmenu,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(idprint_chat"%s Ya alcanzaste el numero maximo de integrantes en la party"TAG)
        }
        case 
1show_party_kick_menu(id)
            case 
2destoy_party(id)
            case 
3remove_party_user(id)
        }
    
    
menu_destroy(menu)
}

public 
PartyHud(taskid) {
    
    static 
id
    id 
ID_HUD
    
    
if(!is_user_connected(id)) {
        
remove_task(taskid)
        return
    }
    
    static 
CountPartyPartyMsg[256], Players[32], id2
    
    CountParty 
0
    PartyMsg
[0] = 0
    
    get_party_index
(idPlayers)
    for(new 
ig_PartyData[id][Amount_In_Party]; i++) {
        
        
id2 Players[i]
        
        if(
CountParty)
            
add(PartyMsgcharsmax(PartyMsg), "^n")
        
        
format(PartyMsgcharsmax(PartyMsg), "%s%s"strlen(PartyMsg) ? PartyMsg "^t^t^tMiembros del Party^n"g_PartyData[id2][UserName])
        
CountParty++
    }
    
    
set_hudmessage(2552552550.750.3406.01.0);
    
show_hudmessage(idPartyMsg)
}

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"TAGg_PartyData[taskid][UserName])
        
menu_destroy(UserTaskArgs[0])
        
show_menu(taskid0"^n"1)
    }
}

stock create_party(masterguest) {
    
    
set_party_member(mastermaster)
    
set_party_member(masterguest)
    
set_party_member(guestmaster)
    
set_party_member(guestguest)
    
    
set_party_vars(masterStart_Amount)
    
set_party_vars(guest, ++g_PartyData[master][Amount_In_Party])
}

stock add_party_user(masterguest) {
    
    new 
Players[32], memberamount g_PartyData[master][Amount_In_Party]
    
    
get_party_index(masterPlayers)
    
    for(new 
iamounti++) {
        
        
member Players[i]
        
        
set_party_member(guestmember)
        
set_party_member(memberguest)
        
g_PartyData[member][Amount_In_Party]++
        
    }
    
    
set_party_member(guestguest)
    
set_party_vars(guestamount+1)    
}

stock set_party_member(idid2)
    
ArrayPushCell(Party_Ids[id], id2)

stock set_party_vars(idamount) {
    
    
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], id2Amount g_PartyData[id][Amount_In_Party]
    
get_party_index(idPlayers)
    
    for(new 
iAmounti++) {
        
id2 Players[i]
        
clear_party_user(id2)
        
client_print(id2print_chat"%s La party fue destruida"TAG)
        
    }
}

stock remove_party_user(user) {
    
    new 
Players[32], idAmount g_PartyData[user][Amount_In_Party]
    
    
get_party_index(userPlayers)
    
    
clear_party_user(user)
    
    for(new 
iAmounti++) {
        
        
id Players[i]
        
        if(
id != user) {
            
            
ArrayClear(Party_Ids[id])
            
            for(new 
zAmountz++)                    
                if(
Players[z] != user)
                
set_party_member(idPlayers[z])
            
            
g_PartyData[id][Position] = i
            g_PartyData
[id][Amount_In_Party] = Amount-1
            client_print
(idprint_chat"%s %s salio del party"TAGg_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
(idg_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(idplayers[]) {
    
    for(new 
ig_PartyData[id][Amount_In_Party]; i++)
        
players[i] = ArrayGetCell(Party_Ids[id], i)
    
    return 
players[0] ? 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(Textcharsmax(Text))
    
remove_quotes(Text)
    
    
replace_all(Textcharsmax(Text), "%""")
    
    if(!
ValidMessage(Text) || !g_PartyData[id][In_Party]) {
        
        
client_print(idprint_chat,"%s Tu Mensaje es invalido o no te encuentras en un Party"TAG)
        return 
PLUGIN_HANDLED;
    }
    
    static 
Message[192], Players[32], id2Amount 
    Amount 
g_PartyData[id][Amount_In_Party]
    
    
get_party_index(idPlayers)
    
    
formatex(Messagecharsmax(Message), "^x04%s ^x03%s^x01 : %s"TAGg_PartyData[id][UserName], Text)
    
    for(new 
iAmounti++) {
        
        
id2 Players[i]
        
        
message_begin(MSG_ONE_UNRELIABLEg_MsgSayText_id2)
        
write_byte(id)
        
write_string(Message)
        
message_end()
    }
    
    return 
PLUGIN_HANDLED;
}

ValidMessage(text[]) {
    static 
leni
    len 
strlen(text)
    
    if(!
len)
        return 
false
    
    
for(0leni++) {
        if( 
text[i] != ' ' ) {
            return 
true
        
}
    }
    
    return 
false

No me impresiona nada que mis ojos no puedan ver. Fuck yeah
Responder
#6
El problema es que te falta el prefijo:

Código PHP:
client_print(idprint_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(idprint_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
Responder
#7
(16/07/2018, 04:10 PM)warrior escribió: El problema es que te falta el prefijo:

Código PHP:
client_print(idprint_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(idprint_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. Fuck yeah
Responder
#8
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 
gananciaganancia g_combo[id] * 6+((flags ADMIN_LEVEL_D 7flags ADMIN_LEVEL_A 5flags ADMIN_LEVEL_B 0))
    
    if(
g_combo[attacker]>0)
    {
        if(
g_happytime) {
            
set_hudmessage(02550, -1.00.610.14.00.010.01, -1)
            
ShowSyncHudMsg(attackerg_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(0200200, -1.00.610.14.00.010.01, -1)
            
ShowSyncHudMsg(attackerg_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 
gananciaganancia g_combo[id] * 6+((flags ADMIN_LEVEL_D 7flags ADMIN_LEVEL_A 5flags ADMIN_LEVEL_B 0))
    if (
g_combo[id]>0)
    {
        if(
g_happytime) {
            
set_hudmessage(120120120, -1.00.2500.14.00.010.01, -1)
            
ShowSyncHudMsg(idg_hudmsg1"^n^n^n^n Combo Terminado (%d)^nGanancia: + %d de ap por estar en HappyHour"g_combo[id], ganancia)
            
client_print(idprint_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(idzp_get_user_ammo_packs(id) + ganancia)
            } else {
            
set_hudmessage(120120120, -1.00.2500.14.00.010.01, -1)
            
ShowSyncHudMsg(idg_hudmsg1"^n^n^n^n Combo Terminado (%d)^nGanancia: %d AMMO PACKS"g_combo[id], ganancia)
            
ColorChat(idTEAM_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(idzp_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:
g_Hits[attacker]++ 



Código PHP:
static ganancia
ganancia g_combo[id] * 6+((flags ADMIN_LEVEL_D 7flags ADMIN_LEVEL_A 5flags ADMIN_LEVEL_B 0))

zp_set_user_ammo_packs(idzp_get_user_ammo_packs(id) + ((g_Hits[id] *ganancia) * g_happyhours 3) ) 
// segun el multiplicador que tengas, es la suma total de ap que ganaras al terminar el combo

Obviamente adaptando los hud..
Responder
#9
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. Fuck yeah
Responder
#10
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 7flags ADMIN_LEVEL_A 5flags ADMIN_LEVEL_B 0))

zp_set_user_ammo_packs(idzp_get_user_ammo_packs(id) + ((g_Hits[id] *ganancia) * g_happyhours 3) ) 
Responder
#11
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. Fuck yeah
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)