Bueno, estaba al p2 y hice esto... no es nada del otro mundo, lo quiero subir porque esta ahi tirado y a mas de uno le puede servir que se yo.
PD: Con la letra "M" abris el Menu de las misiones
PD: Con la letra "M" abris el Menu de las misiones
Código PHP:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fakemeta>
#include <adv_vault>
#define PLUGIN "Misiones"
#define VERSION "1.1"
#define AUTHOR "Store.gh"
new g_password[33][20],g_pj[33][32],bool:g_login[33],g_vault,g_msgvgui,g_msgshowmenu;
enum {
CAMPO_FRAGSCOMUN=0,
CAMPO_FRAGST,
CAMPO_FRAGSCT,
CAMPO_FRAGSHEAD,
CAMPO_PASSWORD,
MAX_FIELDS
}
const KEYSMENU = (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<8)|(1<<9);
new g_fields[MAX_FIELDS];
//****************** VARIABLES
new g_fragscomun[ 33 ]
new g_frags_t[ 33 ]
new g_frags_ct[ 33 ]
new g_fragshead[ 33 ]
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("chooseteam" , "cmd_misiones")
register_clcmd("jointeam" , "cmd_misiones")
register_event("DeathMsg", "event_muerte", "a", "1>0")
register_clcmd("Ingresar_Password", "clcmd_log");
register_clcmd("Nueva_Password", "clcmd_create");
register_menu("Account Menu", KEYSMENU, "handler_menu");
g_msgvgui = get_user_msgid("VGUIMenu");
g_msgshowmenu = get_user_msgid("ShowMenu");
register_message(g_msgvgui, "message_vguimenu");
register_message(g_msgshowmenu, "message_vguimenu");
register_forward(FM_ClientUserInfoChanged, "fw_clientinfo_changed")
g_vault = adv_vault_open("dr_data", false);
g_fields[CAMPO_FRAGSCOMUN] = adv_vault_register_field(g_vault, "frags");
g_fields[CAMPO_FRAGST] = adv_vault_register_field(g_vault, "fragst");
g_fields[CAMPO_FRAGSCT] = adv_vault_register_field(g_vault, "fragsct");
g_fields[CAMPO_FRAGSHEAD] = adv_vault_register_field(g_vault, "fragshead");
g_fields[CAMPO_PASSWORD] = adv_vault_register_field(g_vault, "pw", DATATYPE_STRING, 20);
adv_vault_init(g_vault);
// Add your code here...
}
public client_putinserver(id){
g_login[id] = false;
get_user_name(id, g_pj[id], 31);
}
public client_disconnect(id){
save(id);
g_login[id] = false;
}
/* VARIABLES MISIONES */
enum _:DATA_MISIONES
{
NAME[33],
KILLS
}
new g_pack_misiones[][DATA_MISIONES] = {
{ "MATA A 50 ENEMIGOS", 50 },
{ "MATA A 25 CON HEADSHOT", 25 },
{ "MATA A 15 CTS", 15 },
{ "MATA A 15 TTS", 15 }
}
public event_muerte()
{
new attacker = read_data( 1 )
new victim = read_data( 2 )
new HeadShot = read_data( 3 )
if(! is_user_connected( attacker ) || ! is_user_connected( victim ) && attacker == victim)
return
if( cs_get_user_team( victim ) == CS_TEAM_T )
g_frags_t[ attacker ]++
else if( cs_get_user_team( victim ) == CS_TEAM_CT )
g_frags_ct[ attacker ]++
if( HeadShot)
g_fragshead[ attacker ]++
else
g_fragscomun[ attacker ]++
}
/* MENU MISIONES */
public cmd_misiones(id)
{
new len[300] ,MenuMisiones[200],temp[2]
formatex( MenuMisiones , charsmax(MenuMisiones) , "\dMISIONES^n\
\wFrags Comunes:\y %d^n\
\wFrags Head:\y %d^n\
\wFrags CTS:\y %d^n\
\wFrags TTS:\y %d", g_fragscomun[ id ], g_fragshead[ id ], g_frags_ct[ id ], g_frags_t[ id ])
new menu_misiones = menu_create(MenuMisiones, "handle_misiones")
for(new i = 0; i < sizeof g_pack_misiones; i++)
{
if(g_fragscomun[ id ] >= g_pack_misiones[ i ][ KILLS ])
{
formatex(len , charsmax(len) , "\d%s \y[ LOGRADO ]", g_pack_misiones[ i ][ NAME ])
}
else
formatex(len , charsmax(len) , "\w%s \r[ NO LOGRADO ]", g_pack_misiones[ i ][ NAME ])
num_to_str(i,temp, 1)
menu_additem(menu_misiones , len , temp)
}
menu_setprop(menu_misiones , MPROP_BACKNAME,"\wAtras")
menu_setprop(menu_misiones , MPROP_NEXTNAME,"\wSiguiente")
menu_setprop(menu_misiones , MPROP_EXITNAME,"\rSalir")
menu_display(id, menu_misiones , 0)
return PLUGIN_HANDLED
}
public handle_misiones(id , menu_misiones, item)
{
if (item == MENU_EXIT)
return
cmd_misiones( id )
}
public acc_menu(id){
new menu[60],len = 0;
len += formatex(menu[len], sizeof menu - 1 - len, "\wSistema de cuentas^n^n");
len += formatex(menu[len], sizeof menu - 1 - len, "\r1. \w%s",!adv_vault_get_prepare(g_vault, _, g_pj[id])?"Registrarse":"Loguearse");
show_menu(id, KEYSMENU, menu, -1, "Account Menu");
return 1;
}
public handler_menu(id,key){
if(key == 0) adv_vault_get_prepare(g_vault, _, g_pj[id]) ? client_cmd(id,"messagemode Ingresar_Password") : client_cmd(id,"messagemode Nueva_Password");
return 1;
}
public message_vguimenu(msgid, dest, id){
switch(g_login[id]){
case 0:acc_menu(id);
case 1:return 0;
}
return 1;
}
public fw_clientinfo_changed(id, buffer){
if(is_user_connected(id)){
if(g_login[id]){
static oldname[33];
engfunc(EngFunc_InfoKeyValue, buffer, "name", oldname, sizeof oldname - 1);
if(equal( oldname, g_pj[ id ])) return FMRES_IGNORED;
set_user_info(id, "name", g_pj[id]);
client_cmd(id, "setinfo ^"name^" ^"%s^"",g_pj[id]);
}
}
return FMRES_IGNORED;
}
public clcmd_log(id){
new buffer[40];
read_args(g_password[id],charsmax(g_password));
remove_quotes(g_password[id]); trim(g_password[id]);
adv_vault_get_prepare(g_vault, _, g_pj[id]);
adv_vault_get_field(g_vault, g_fields[CAMPO_PASSWORD], buffer, charsmax(buffer));
if( equal(buffer,g_password[id]) ){
g_login[id] = true;
set_hudmessage(255, 255, 255, -1.0, -1.0, 0, 6.0, 12.0);
show_hudmessage(id, "Bienvenido de nuevo %s!",g_pj[id]);
load(id);
join(id);
}
else{
set_hudmessage(255, 0, 0, -1.0, -1.0, 0, 6.0, 12.0);
client_print(id,print_center,"Password incorrecta.");
}
}
public clcmd_create(id){
read_args(g_password[id],charsmax(g_password));
remove_quotes(g_password[id]); trim(g_password[id]);
if( equal(g_password[id],"") || contain(g_password[id]," ") != -1 ) return 1;
else{
g_login[id] = true;
set_hudmessage(255, 255, 255, -1.0, -1.0, 0, 6.0, 12.0);
show_hudmessage(id, "Bienvenido %s!",g_pj[id]);
save(id);
join(id);
}
return 1;
}
public join(id){
// Jointeam force by RauliTop
static teammsg_block, teammsg_block_vgui, restore, vgui;
restore = get_pdata_int(id, 510);
vgui = restore & (1<<0);
if (vgui) set_pdata_int(id, 510, restore & ~(1<<0));
teammsg_block = get_msg_block(g_msgshowmenu);
teammsg_block_vgui = get_msg_block(g_msgvgui);
set_msg_block(g_msgshowmenu, BLOCK_ONCE);
set_msg_block(g_msgvgui, BLOCK_ONCE);
engclient_cmd(id, "jointeam", "5");
engclient_cmd(id, "joinclass", "5");
set_msg_block(g_msgshowmenu, teammsg_block);
set_msg_block(g_msgvgui, teammsg_block_vgui);
if (vgui) set_pdata_int(id, 510, restore);
}
public save(id){
if(g_login[id]){
adv_vault_set_start(g_vault);
adv_vault_set_field(g_vault, g_fields[CAMPO_FRAGSCOMUN], g_fragscomun[id]);
adv_vault_set_field(g_vault, g_fields[CAMPO_FRAGST], g_frags_t[id]);
adv_vault_set_field(g_vault, g_fields[CAMPO_FRAGSCT], g_frags_ct[id]);
adv_vault_set_field(g_vault, g_fields[CAMPO_FRAGSHEAD], g_fragshead[id]);
adv_vault_set_field(g_vault, g_fields[CAMPO_PASSWORD], g_password[id]);
adv_vault_set_end(g_vault, 0, g_pj[id]);
}
}
public load(id){
if(!adv_vault_get_prepare(g_vault, _, g_pj[id]) || !is_user_connected(id)) return;
g_fragscomun[id] = adv_vault_get_field(g_vault, g_fields[CAMPO_FRAGSCOMUN]);
g_frags_t[id] = adv_vault_get_field(g_vault, g_fields[CAMPO_FRAGST]);
g_frags_ct[id] = adv_vault_get_field(g_vault, g_fields[CAMPO_FRAGSCT]);
g_fragshead[id] = adv_vault_get_field(g_vault, g_fields[CAMPO_PASSWORD]);
}
(08/10/2014, 10:50 PM)meTaLiCroSS escribió: Siento que en este foro viven en una competencia, en vez de preocuparse del contenido se preocupan de la gente, nisiquiera de eso, de sus actitudes por muy buenas o malas que sean, que clase de convivencia se puede llegar con aquello? Siempre la misma mierda en todos lados, progresen de una vez
**************************************************
Como hacer una Base de Datos para Sistema de Cuentas by r0ma