Multiplicar experiencia ganada
#1
Me encontré ésto en el submundo y quiero que multiplique la experiencia a ciertas flags de admin, ¿será posible que me ayuden?


Código PHP:
#include <amxmodx>
#include <colorchat>
#include <hamsandwich>
#include <zombieapocalypse>

#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

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_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("buyequip""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
    
}
}

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) && (cs_get_user_team(attacker) != cs_get_user_team(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)
    {
        
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 EXP"
        
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])
        {
            
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 Exp"
            
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)
    {
        
set_hudmessage(120120120, -1.00.2500.14.00.010.01, -1)
        
ShowSyncHudMsg(idg_hudmsg1"^n^n^n^n Combo Terminado (%d)^nGanancia: %d Exp"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)
        
za_set_user_experience(idza_get_user_experience(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))
        {
            
set_hudmessage(120120120, -1.00.2500.14.00.010.01, -1)
            
ShowSyncHudMsg(ig_hudmsg1"^n^n^n^n Combo Party Terminado (%d)^nGanancia: %d Exp"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)
        }
        
za_set_user_experience(iza_get_user_experience(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

/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ ansicpg1252\\ deff0\\ deflang3082{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ f0\\ fs16 \n\\ par }
*/ 
Responder
#2
https://amxmodx-es.com/Thread-Guia-Ganan...o-de-admin
[Imagen: zcsztw-4.png] [Imagen: 6u5fj2-4.png]
[Imagen: linkedin_thumb_image.png][Imagen: 76561198283253977.png][Imagen: linkedin_thumb_image.png]
Responder
#3
(07/12/2015, 03:55 PM)NkkI escribió: https://amxmodx-es.com/Thread-Guia-Ganan...o-de-admin

No me sirve, no quiero modificar mucho el código Triste
Responder
#4
Use el sistema de kikizon. Si queres agregar mas ganancias, fijate como lo hace en el tutorial.

Código PHP:
#include <amxmodx>
#include <colorchat>
#include <hamsandwich>
#include <zombieapocalypse>

#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

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_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

/* Ganancia */
new kGanancia[33], kAccountType[33][20];

enum _GANANCIA_DATA
{
    
GD_ADM_TYPE[20],
    
GD_ADM_FLAG,
    
GD_ADM_GN,
    
GD_ADM_GHH
}

new const 
Ganancias[][GANANCIA_DATA] = {
    
//|    TIPO DE ADM     |     FLAGS    | GANANCIA NORMAL | GANANCIA EN HH
    
"ADMIN VIP",         ADMIN_LEVEL_F,         2,         3     },
    { 
"ADMIN PRO",         ADMIN_LEVEL_G,         3,         4     },
    { 
"ADMIN PLATINO",     ADMIN_LEVEL_H,         4,         5     }
}

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("buyequip""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 
client_putinserver(idLoad_AdminTypes(id);

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
    
}
}

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) && (cs_get_user_team(attacker) != cs_get_user_team(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)
    {
        
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 EXP"
        
g_Hits[attacker], g_damage[attacker], g_damage[attacker], (power(g_combo[attacker], 1)*330), g_combo[attacker], g_combo[attacker] * kGanancia[attacker])
    }
}
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])
        {
            
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 Exp"
            
g_Hitsp[i], g_damagep[i], g_damagep[i], (power(g_combop[i], 1)*430), g_combop[i], g_combop[i] * kGanancia[i])
        }
    }
}

public 
reset_combo(id)
{
    
id -= TASK_COMBO
    
static flags
    flags 
get_user_flags(id)
    
    if (
g_combo[id]>0)
    {
        
set_hudmessage(120120120, -1.00.2500.14.00.010.01, -1)
        
ShowSyncHudMsg(idg_hudmsg1"^n^n^n^n Combo Terminado (%d)^nGanancia: %d Exp"g_combo[id], g_combo[id] * kGanancia[id])
        
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], kGanancia[id])
        
za_set_user_experience(idza_get_user_experience(id) + (g_combo[id] * kGanancia[id]))
    }
    
    
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)
    
    if(
g_PartyData[i][In_Party])
    {
        if(!
zp_get_user_zombie(i))
        {
            
set_hudmessage(120120120, -1.00.2500.14.00.010.01, -1)
            
ShowSyncHudMsg(ig_hudmsg1"^n^n^n^n Combo Party Terminado (%d)^nGanancia: %d Exp"g_combop[i], g_combop[i] * kGanancia[i])
            
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], kGanancia[i])
        }
        
za_set_user_experience(iza_get_user_experience(i) + (g_combop[i] * kGanancia[i]))
    }
    
    
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
}

Load_AdminTypes(id)
{
    if(
is_user_admin(id)) // Si es admin
    
{
        new 
iflags get_user_flags(id);
        
        for(
sizeof Ganancias i++ ) 
        {
            if(
flags Ganancias[i][GD_ADM_FLAG]) // Si las flags del player es igual a las que definimos arriba
            
{
                
kGanancia[id] = Ganancias[i][GD_ADM_GN]; // Le damos la ganancia Normal
                
formatex(kAccountType[id], charsmax(kAccountType), "%s"Ganancias[i][GD_ADM_TYPE]); // Le damos formato a 'kAccountType'
                
                
break; // Salimos del Loopeo
            
}
        }
    }
    else 
// Si no es admin
    
{
        
kGanancia[id] = 1// Ganancia por 1 (que seria lo normal);
        
formatex(kAccountType[id], charsmax(kAccountType), "Usuario Normal"); // Le damos formato a 'kAccountType'
    
}

TFD ------ 10% (proyecto parado)

[Imagen: 76561198053053139.png]
Responder
#5
(07/12/2015, 04:20 PM)Matians escribió: Use el sistema de kikizon. Si queres agregar mas ganancias, fijate como lo hace en el tutorial.

Código PHP:
#include <amxmodx>
#include <colorchat>
#include <hamsandwich>
#include <zombieapocalypse>

#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

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_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

/* Ganancia */
new kGanancia[33], kAccountType[33][20];

enum _GANANCIA_DATA
{
    
GD_ADM_TYPE[20],
    
GD_ADM_FLAG,
    
GD_ADM_GN,
    
GD_ADM_GHH
}

new const 
Ganancias[][GANANCIA_DATA] = {
    
//|    TIPO DE ADM     |     FLAGS    | GANANCIA NORMAL | GANANCIA EN HH
    
"ADMIN VIP",         ADMIN_LEVEL_F,         2,         3     },
    { 
"ADMIN PRO",         ADMIN_LEVEL_G,         3,         4     },
    { 
"ADMIN PLATINO",     ADMIN_LEVEL_H,         4,         5     }
}

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("buyequip""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 
client_putinserver(idLoad_AdminTypes(id);

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
    
}
}

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) && (cs_get_user_team(attacker) != cs_get_user_team(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)
    {
        
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 EXP"
        
g_Hits[attacker], g_damage[attacker], g_damage[attacker], (power(g_combo[attacker], 1)*330), g_combo[attacker], g_combo[attacker] * kGanancia[attacker])
    }
}
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])
        {
            
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 Exp"
            
g_Hitsp[i], g_damagep[i], g_damagep[i], (power(g_combop[i], 1)*430), g_combop[i], g_combop[i] * kGanancia[i])
        }
    }
}

public 
reset_combo(id)
{
    
id -= TASK_COMBO
    
static flags
    flags 
get_user_flags(id)
    
    if (
g_combo[id]>0)
    {
        
set_hudmessage(120120120, -1.00.2500.14.00.010.01, -1)
        
ShowSyncHudMsg(idg_hudmsg1"^n^n^n^n Combo Terminado (%d)^nGanancia: %d Exp"g_combo[id], g_combo[id] * kGanancia[id])
        
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], kGanancia[id])
        
za_set_user_experience(idza_get_user_experience(id) + (g_combo[id] * kGanancia[id]))
    }
    
    
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)
    
    if(
g_PartyData[i][In_Party])
    {
        if(!
zp_get_user_zombie(i))
        {
            
set_hudmessage(120120120, -1.00.2500.14.00.010.01, -1)
            
ShowSyncHudMsg(ig_hudmsg1"^n^n^n^n Combo Party Terminado (%d)^nGanancia: %d Exp"g_combop[i], g_combop[i] * kGanancia[i])
            
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], kGanancia[i])
        }
        
za_set_user_experience(iza_get_user_experience(i) + (g_combop[i] * kGanancia[i]))
    }
    
    
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
}

Load_AdminTypes(id)
{
    if(
is_user_admin(id)) // Si es admin
    
{
        new 
iflags get_user_flags(id);
        
        for(
sizeof Ganancias i++ ) 
        {
            if(
flags Ganancias[i][GD_ADM_FLAG]) // Si las flags del player es igual a las que definimos arriba
            
{
                
kGanancia[id] = Ganancias[i][GD_ADM_GN]; // Le damos la ganancia Normal
                
formatex(kAccountType[id], charsmax(kAccountType), "%s"Ganancias[i][GD_ADM_TYPE]); // Le damos formato a 'kAccountType'
                
                
break; // Salimos del Loopeo
            
}
        }
    }
    else 
// Si no es admin
    
{
        
kGanancia[id] = 1// Ganancia por 1 (que seria lo normal);
        
formatex(kAccountType[id], charsmax(kAccountType), "Usuario Normal"); // Le damos formato a 'kAccountType'
    
}


Gracias, pruebo y te digo Guiño
Responder
#6
Oka, cualquier error me mandas un P.M. ( o lo publicas acá ), y te ayudo.

Yo hice que la ganancia sea COMBO x Ganancia de admin.

Ejemplo, sos un admin con las FLAGS H, serias ADMIN PLATINO, ganarías COMBO * 4.
TFD ------ 10% (proyecto parado)

[Imagen: 76561198053053139.png]
Responder
#7
Código PHP:
Load_AdminTypes(id)
{
    if(
is_user_admin(id)) // Si es admin
    
{
        new 
iflags get_user_flags(id);
        
        for(
sizeof Ganancias i++ ) 
        {
            if(
flags Ganancias[i][GD_ADM_FLAG]) // Si las flags del player es igual a las que definimos arriba
            
{
                
kGanancia[id] = Ganancias[i][GD_ADM_GN]; // Le damos la ganancia Normal
                
formatex(kAccountType[id], charsmax(kAccountType), "%s"Ganancias[i][GD_ADM_TYPE]); // Le damos formato a 'kAccountType'
                
                
break; // Salimos del Loopeo
            
}
        }
    }
}
    else 
// Si no es admin
    
{
        
kGanancia[id] = 1// Ganancia por 1 (que seria lo normal);
        
formatex(kAccountType[id], charsmax(kAccountType), "Usuario Normal"); // Le damos formato a 'kAccountType'
    


Error aquí

Código PHP:
else // Si no es admin 

Código PHP:
Invalid function or declaration on line 
Responder
#8
Metiste una "}" de mas
[Imagen: bvpq9q-6.png]

NO DOY AYUDA VIA MENSAJE PRIVADO

* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
Responder
#9
Hace copy&paste, fijate que el que yo puse no tiene } de mas, pero si lo queres arreglar

Código PHP:
}
}
// Borra esta llave que esta de mas
    
else // Si no es admin
    

TFD ------ 10% (proyecto parado)

[Imagen: 76561198053053139.png]
Responder
#10
Listo, gracias.
Responder
#11
No multiplica la experiencia Triste
Responder
#12
Yo lo había probado y me funcionaba, editaste algo?
TFD ------ 10% (proyecto parado)

[Imagen: 76561198053053139.png]
Responder
#13
No modifiqué nada, no multiplica la experiencia y en el print después de terminar el combo la ganancia siempre dice que es 2.
Responder
#14
Ahora te voy a hacer otro plugin que ande bien el combo, ahora chequeo bien todo.
TFD ------ 10% (proyecto parado)

[Imagen: 76561198053053139.png]
Responder
#15
(15/12/2015, 07:16 PM)Matians escribió: Ahora te voy a hacer otro plugin que ande bien el combo, ahora chequeo bien todo.

Gracias Cutecry
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)