Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <amxmodx>
- #include <adv_vault>
- #include <cstrike>
- #include <fun>
- #include <hamsandwich>
- #define PLUGIN "Nuevo Plugin"
- #define VERSION "1.0"
- #define AUTHOR "Sugisaki"
- enum
- {
- NAME,
- STEAM_ID,
- PASSWORD,
- KILLS,
- DEATHS,
- MAX
- }
- enum _:STATE
- {
- UNREGISTER = 0,
- REGISTER
- }
- enum _:METHOD
- {
- BY_NAME,
- BY_ID
- }
- new g_name[33][32]
- new g_steamid[33][32]
- new g_password[33][32]
- new g_kills[33]
- new g_deaths[33]
- new reg_method[33]
- new field[MAX]
- new vault
- new bool:is_logged[33]
- stock save(id, const indexname[])
- {
- adv_vault_set_start(vault)
- adv_vault_set_field(vault, field[NAME], g_name[id])
- adv_vault_set_field(vault, field[PASSWORD], g_password[id])
- adv_vault_set_field(vault, field[STEAM_ID], g_steamid[id])
- adv_vault_set_field(vault, field[KILLS], g_kills[id])
- adv_vault_set_field(vault, field[DEATHS], g_deaths[id])
- adv_vault_set_end(vault, 0, indexname)
- }
- stock load(id, const indexname[])
- {
- if(!adv_vault_get_prepare(vault, 0, indexname)) return UNREGISTER
- adv_vault_get_field(vault, field[NAME], g_name[id], charsmax(g_name[]))
- adv_vault_get_field(vault, field[PASSWORD], g_password[id], charsmax(g_password[]))
- adv_vault_get_field(vault, field[STEAM_ID], g_steamid[id], charsmax(g_steamid[]))
- g_kills[id]= adv_vault_get_field(vault, field[KILLS])
- g_deaths[id] = adv_vault_get_field(vault, field[DEATHS])
- return REGISTER
- }
- public plugin_init()
- {
- register_plugin(PLUGIN, VERSION, AUTHOR)
- register_clcmd("NEW_PASSWORD", "fw_NEW_PASSWORD")
- register_clcmd("INGRESE_PASSWORD", "fw_INGRESE_PASSWORD")
- register_clcmd("INGRESE_NUEVA_PASSWORD", "fw_INGRESE_NUEVA_PASSWORD")
- RegisterHam(Ham_Spawn, "player", "hm_spawn", 1)
- RegisterHam(Ham_Killed, "player", "hm_killed", 1)
- register_clcmd("say /my", "fw_check_account")
- register_clcmd("say /changepass", "fw_changue_pass")
- register_clcmd("jointeam", "fw_jointeam")
- register_clcmd("chooseteam", "fw_chooseteam")
- vault = adv_vault_open("account_system", true)
- field[NAME] = adv_vault_register_field(vault, "name", DATATYPE_ARRAY, 32)
- field[PASSWORD] =adv_vault_register_field(vault, "password", DATATYPE_ARRAY, 32)
- field[STEAM_ID] =adv_vault_register_field(vault, "steamid", DATATYPE_ARRAY, 32)
- field[KILLS] =adv_vault_register_field(vault, "kills", DATATYPE_INT)
- field[DEATHS] =adv_vault_register_field(vault, "deaths", DATATYPE_INT)
- adv_vault_init(vault)
- }
- public client_connect(id)
- {
- is_logged[id] = false
- get_user_authid(id, g_steamid[id], charsmax(g_steamid[]))
- get_user_name(id, g_name[id], charsmax(g_name[]))
- }
- public client_putinserver(id)
- {
- set_task(0.1, "fw_show_menu", id)
- }
- public fw_show_menu(id)
- {
- static menu, temp[32]
- if(equal(g_steamid[id], "STEAM_ID_LAN") || equal(g_steamid[id], "STEAM_ID_PENDING") || equal(g_steamid[id], "VALVE_ID_LAN") || equal(g_steamid[id], "VALVE_ID_PENDING") )
- {
- if(!load(id, g_name[id]))
- {
- //formatex(temp, 31, "\wAccount System
- menu = menu_create("\wAccount System^n\wESTADO: \rNO REGISTRADO", "mh_unregister")
- menu_additem(menu, "Registrar")
- menu_addblank(menu, 2)
- menu_additem(menu, "Entrar como spec")
- }
- else
- {
- menu = menu_create("Account System^n\wESTADO: \yREGISTRADO^n\wTIPO DE REGISTRO: \yNOMBRE", "mh_register")
- menu_additem(menu, "Entrar")
- menu_addblank(menu, 2)
- menu_additem(menu, "Entrar como spec")
- }
- reg_method[id] = BY_NAME
- }
- else
- {
- if(!load(id, g_steamid[id]))
- {
- menu = menu_create("\wAccount System^n\wESTADO: \rNO REGISTRADO", "mh_unregister")
- menu_additem(menu, "Registrar")
- menu_addblank(menu, 2)
- menu_additem(menu, "Entrar como spec")
- }
- else
- {
- menu = menu_create("Account System^n\wESTADO: \yREGISTRADO^n\wTIPO DE REGISTRO: \yID", "mh_register")
- menu_additem(menu, "Entrar")
- menu_addblank(menu, 2)
- menu_additem(menu, "Entrar como spec")
- }
- reg_method[id] = BY_ID
- }
- menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
- menu_display(id, menu)
- }
- public join_spec(id)
- {
- engclient_cmd(id, "jointeam", "6")
- }
- public mh_unregister(id, menu, item)
- {
- if(item == MENU_EXIT)
- {
- menu_destroy(menu)
- return PLUGIN_HANDLED
- }
- switch(item)
- {
- case 0 : client_cmd(id, "messagemode NEW_PASSWORD")
- case 1 : join_spec(id)
- }
- menu_destroy(menu)
- return PLUGIN_HANDLED
- }
- public mh_register(id, menu, item)
- {
- if(item == MENU_EXIT)
- {
- menu_destroy(menu)
- return PLUGIN_HANDLED
- }
- switch(item)
- {
- case 0 : client_cmd(id, "messagemode INGRESE_PASSWORD")
- case 1 : join_spec(id)
- }
- menu_destroy(menu)
- return PLUGIN_HANDLED
- }
- public fw_NEW_PASSWORD(id)
- {
- static out[sizeof g_password[]]
- read_argv(1, out, charsmax(out))
- g_password[id] = out
- client_print(id, print_chat, "Clave: %s", out)
- switch(reg_method[id])
- {
- case BY_ID : save(id, g_steamid[id])
- case BY_NAME : save(id, g_name[id])
- }
- fw_show_menu(id)
- }
- public fw_INGRESE_PASSWORD(id)
- {
- static out[sizeof g_password[]]
- read_argv(1, out, charsmax(out))
- if(equal(out, g_password[id]))
- {
- is_logged[id] = true
- client_cmd(id, "chooseteam")
- }
- else
- {
- client_print(id, print_chat, "Clave invalida")
- fw_show_menu(id)
- }
- }
- public fw_INGRESE_NUEVA_PASSWORD(id)
- {
- static out[sizeof g_password[]]
- read_argv(1, out, charsmax(out))
- g_password[id] = out
- client_disconnect(id)
- client_print(id, print_chat, "Clave cambiada")
- return PLUGIN_HANDLED
- }
- public fw_check_account(id)
- {
- client_cmd(id, "toggleconsole")
- client_cmd(id, "^"echo^" //////////////////////////////////////////////")
- client_cmd(id, "^"echo^" Ultimo Nombre usado: %s", g_name[id])
- client_cmd(id, "^"echo^" Tipo de registro %s", reg_method[id] == BY_NAME ? "Nombre" : "ID")
- client_cmd(id, "^"echo^" Frags %i", g_kills[id])
- client_cmd(id, "^"echo^" Deaths %i", g_deaths[id])
- client_cmd(id, "^"echo^" //////////////////////////////////////////////")
- }
- public fw_chooseteam(id)
- {
- if(!is_logged[id])
- {
- fw_show_menu(id)
- return PLUGIN_HANDLED
- }
- return PLUGIN_CONTINUE
- }
- public fw_jointeam(id)
- {
- if(!is_logged[id])
- return PLUGIN_HANDLED
- return PLUGIN_CONTINUE
- }
- public hm_spawn(id)
- {
- set_user_frags(id, g_kills[id])
- cs_set_user_deaths(id, g_deaths[id])
- }
- public hm_killed(id, ki)
- {
- g_deaths[id] ++
- if(is_user_connected(ki))
- g_kills[ki]++
- }
- public client_disconnect(id)
- {
- if(!is_logged[id]) return
- static name[32]
- get_user_name(id, name, 32)
- g_name[id] = name
- switch(reg_method[id])
- {
- case BY_ID : save(id, g_steamid[id])
- case BY_NAME : save (id, g_name[id])
- }
- }
- public fw_changue_pass(id)
- {
- if(is_logged[id])
- {
- client_cmd(id, "messagemode INGRESE_NUEVA_PASSWORD")
- }
- else
- client_print(id, print_chat, "No puedes usar esta opcion en este momento")
- return PLUGIN_HANDLED
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement