Raised This Month: $51 Target: $400
 12% 

Party Menu By [R]ak *Update* V.2.2


  
 
 
Thread Tools Display Modes
rak
Veteran Member
Join Date: Oct 2011
Location: banned country
Old 07-22-2012 , 03:27   Re: Party Menu By [R]ak *Update* V.2.0
#51

Quote:
Originally Posted by AfteR. View Post
Lo acabo de revisar... arregla lo de "Agregar Integrande" XD
jajajajajajajajaja ahí lo arregle y agrege una cvar nueva

gracias AfteR
__________________

www.amxmodx-es.com

Steam: Luchokoldo
rak is offline
Send a message via MSN to rak Send a message via Skype™ to rak
rak
Veteran Member
Join Date: Oct 2011
Location: banned country
Old 08-16-2012 , 15:59   Re: Party Menu By [R]ak *Update* V.2.2
#52

update *-*
__________________

www.amxmodx-es.com

Steam: Luchokoldo
rak is offline
Send a message via MSN to rak Send a message via Skype™ to rak
Roccoxx
AlliedModders Donor
Join Date: Jan 2012
Location: Argentina
Old 08-16-2012 , 18:46   Re: Party Menu By [R]ak *Update* V.2.2
#53

Quote:
Originally Posted by rak View Post
update *-*
rak , que bugs corregiste en la v 2.2?
__________________
Tutorials here (Spanish)

Like as another Pijudo said: "Tired and retired"
Roccoxx is offline
Send a message via MSN to Roccoxx
rak
Veteran Member
Join Date: Oct 2011
Location: banned country
Old 08-16-2012 , 22:07   Re: Party Menu By [R]ak *Update* V.2.2
#54

Quote:
Originally Posted by Roccoxx View Post
rak , que bugs corregiste en la v 2.2?
fijate las diferencias xD

v2.1
PHP Code:
#include <amxmodx>

#define PLUGIN "Party Menu"
#define VERSION "2.1"
#define AUTHOR "[R]ak"

#define TAG    "[Party]"
#define ID_HUD    (taskid - TASK_HUD)

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

public plugin_init() {
    
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
register_clcmd("say /party""cmdParty")
    
register_clcmd("say_team""cmdSayTeam")
    
    
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_maxplayers get_maxplayers()
    
g_MsgSayText get_user_msgid("SayText")
    
    
g_MenuCallback[MASTER] = menu_makecallback("check_master")
    
g_MenuCallback[USER] = menu_makecallback("check_user")
}

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

public 
client_disconnect(id) {
    
    if(
g_PartyData[id][In_Party])
        
g_PartyData[id][Position] ? remove_party_user(id) : destoy_party(id)
        
    
g_PartyData[id][UserName][0] = 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[2], 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(idiMenu0)
}

public 
show_party_kick_menu(id) {
    
    new 
iMenu menu_create("\rKick Party Menu:","party_kick_menu"), Players[32], Poss[2], 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[2]
    
    
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[2]
    
    
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_displayid2iMenu0)
    
    
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)
        return
    }
    
    new 
iKey[6], iAccessiCallbackid_master
    
    menu_item_getinfo
(menuitemiAccessiKeycharsmax(iKey), __iCallback)
    
    
id_master str_to_num(iKey)
    
    switch(
item) {
        case 
0: {
            
client_print(id_masterprint_chat"%s %s fue agregado al Party"TAGg_PartyData[id][UserName])
            
            if(!
g_PartyData[id_master][In_Party]) {
                
create_party(id_masterid)
                
set_task_party_hud(id_master)
                
set_task_party_hud(id)
            }
            else {
                
add_party_user(id_masterid)
                
set_task_party_hud(id)
            }
        }
        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))
        
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])
    }
}

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

V2.2
PHP Code:
#include <amxmodx>

#define PLUGIN "Party Menu"
#define VERSION "2.2"
#define AUTHOR "[R]ak"

#define TAG    "[Party]"
#define ID_HUD    (taskid - TASK_HUD)

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

public plugin_init() {
    
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
register_clcmd("say /party""cmdParty")
    
register_clcmd("say_team""cmdSayTeam")
    
    
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_maxplayers get_maxplayers()
    
g_MsgSayText get_user_msgid("SayText")
    
    
g_MenuCallback[MASTER] = menu_makecallback("check_master")
    
g_MenuCallback[USER] = menu_makecallback("check_user")
}

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

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
    
}

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

__________________

www.amxmodx-es.com

Steam: Luchokoldo
rak is offline
Send a message via MSN to rak Send a message via Skype™ to rak
Roccoxx
AlliedModders Donor
Join Date: Jan 2012
Location: Argentina
Old 08-18-2012 , 00:38   Re: Party Menu By [R]ak *Update* V.2.2
#55

Quote:
Originally Posted by Roccoxx View Post
rak , que bugs corregiste en la v 2.2?
ah ok gracias , me recomendas ahora ponerlo en el zp?
__________________
Tutorials here (Spanish)

Like as another Pijudo said: "Tired and retired"
Roccoxx is offline
Send a message via MSN to Roccoxx
rak
Veteran Member
Join Date: Oct 2011
Location: banned country
Old 08-18-2012 , 00:40   Re: Party Menu By [R]ak *Update* V.2.2
#56

Quote:
Originally Posted by Roccoxx View Post
ah ok gracias , me recomendas ahora ponerlo en el zp?
si; roma lo testeo en su servidor y funciona de 10
__________________

www.amxmodx-es.com

Steam: Luchokoldo
rak is offline
Send a message via MSN to rak Send a message via Skype™ to rak
Roccoxx
AlliedModders Donor
Join Date: Jan 2012
Location: Argentina
Old 08-18-2012 , 00:42   Re: Party Menu By [R]ak *Update* V.2.2
#57

Quote:
Originally Posted by rak View Post
si; roma lo testeo en su servidor y funciona de 10
es zp el de el?
__________________
Tutorials here (Spanish)

Like as another Pijudo said: "Tired and retired"
Roccoxx is offline
Send a message via MSN to Roccoxx
rak
Veteran Member
Join Date: Oct 2011
Location: banned country
Old 08-18-2012 , 00:54   Re: Party Menu By [R]ak *Update* V.2.2
#58

Quote:
Originally Posted by Roccoxx View Post
es zp el de el?
tiene un HNS
__________________

www.amxmodx-es.com

Steam: Luchokoldo
rak is offline
Send a message via MSN to rak Send a message via Skype™ to rak
Roccoxx
AlliedModders Donor
Join Date: Jan 2012
Location: Argentina
Old 08-18-2012 , 01:01   Re: Party Menu By [R]ak *Update* V.2.2
#59

Joya
__________________
Tutorials here (Spanish)

Like as another Pijudo said: "Tired and retired"
Roccoxx is offline
Send a message via MSN to Roccoxx
stickcs
Senior Member
Join Date: Jan 2011
Old 08-18-2012 , 01:18   Re: Party Menu By [R]ak *Update* V.2.2
#60

Quote:
Originally Posted by Roccoxx View Post
Joya
Yo lo tengo puesto en mi zp, obviamente tenes que adaptarlo pero funciona de 10, como le dije a rak va a serle mucho mas facil a la gente incorporarlo con esto.

PD: no creo que tengas problemas es bastante sencillo
__________________
Miragehost [Gameservers]
stickcs is offline
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 11:12.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode