Nueva actualizacion en progreso,sea paciente.
Hns+Laser+Niveles V-1.0.0
ChangeLog:
Código:
V-1.0.0 - Posteo Del Plugin
Esperando BUGs
Lo Que Voy A Postear En Este Th Va a ser Un HnsNiveles Que a diferencia del Anterior,Esta Tal Ves un poco Mas accesible a la Hora de Editar el Code U Otra Cosa.
Esta mucho mas Ordenado Y (Creo) No Contiene Ningún BuG. Lo Termine Ayer,Lo Posteo Hoy .
Tengan Presente Que Es Un "Hns Por Niveles" Un Poco Simple Comparado a La Versión que Había Posteado Antes,Les Puede Servir como BASE para Seguirle Agregando Cosas o Usarlo Directamente.Me Llevo Unas Semanas Armarlo Ya que Lo Estoy Realizando Para Una Comunidad Que Tal Ves Empiece.
Requerimientos:
- Include:ColorChat
- Include:HnsNatives(Posteado Por Mi)
- Archivo .ini: Vips (en configs)
- Archivo de Texto: informacion.txt(En Cstrike para la información)
Contiene 2 CVars:
- menu_abrir(Por Defecto 1) = Permite Determinar Si Podemos Abrir el Menu Principal
- carnage_habilidades(Por Defecto 0) = Permite Determinar Si Las Habilidades Estarán habilitadas en carnage (Recomendado 0)
Contiene Un Guardado Por SQLite y También:
- Sistema de Logueo/Registro SQL
- Habilidades
- Niveles X Frags
- Sistema de Dinero (Para Poder comprar Items en la Tienda)
- Party (Incluida División de Frags)
- HappyHour
- Vips( Multiplicador Indicado en Vips.ini y El Players)
- Hookeo Del Say
- Carnage
- Rangos TT / CT
- Cambio de Contraseña
- Informacion/Reglas
- Menu Admin(AmxModMenu / DarNiveles)
- Menu de Reseteo
- Estadisticas
Creditos:
Código:
r0ma'
CSAXEL
cLAANS
[R]ank
Espero Les Guste Y Este Mod Sea De Su Agrado.
Código PHP:
#include amxmisc
#include amxmodx
#include ColorChat
#include cstrike
#include engine
#include fakemeta
#include fakemeta_util
#include fun
#include hamsandwich
#include sqlx
new const Plugin[] = "HnsNiveles"
new const Version[] = "1.0.0"
new const Author[] = "jollero"
new const Prefix[] = "BlackGaming"
new const SayProhibidos[][] = { "190", "200" , "210", ":"}
#define CARNAGE_ROUND 5
#define Macro(%1) %1 *15
#define vida(%1) (%1 * 10)
#define chaleco(%1) (%1 * 10)
#define gravedad(%1) (%1 * 0.05)
#define velocidad(%1) (%1 * 5)
#define damage(%1) (%1 *10)
#define tiempoitems(%1) (%1 * 1)
#define ADMIN_ACCESS_ALL ADMIN_RCON
#define MYSQL
#if defined MYSQL
#define MYSQL_HOST "127.0.0.1"
#define MYSQL_USER "root"
#define MYSQL_PASS ""
#define MYSQL_DATEBASE "cuentas"
#else
#define SQLITE_DATEBASE "cuentas"
#endif
enum {
OFFLINE,
LOGUEADO
}
enum
{
REGISTRAR_USUARIO,
REGISTRAR_PASSWORD,
LOGUEAR_USUARIO,
LOGUEAR_PASSWORD,
CARGAR_DATOS,
GUARDAR_DATOS,
CAMBIAR_PASSWORD
}
enum _: DatosHab
{
NombreHab[40],
Necesario,
Maximo
}
new const HabDatos[][DatosHab] = {
{"Vida", 7, 15},
{"Chaleco", 10, 10},
{"Velocidad", 8,5},
{"Gravedad", 10, 6},
{"Danio", 12, 10},
{"-Tiempo En Plantar Laser", 6, 5},
{"-Tiempo En Sacar Laser", 6, 5},
{"+1 Laser", 10, 4},
{"-Tiempo En Congelacion", 7, 5},
{"+Tiempo En Congelacion", 7, 5},
{"+Tiempo de Items", 8, 6}
}
enum _:DatosShop
{
Nombre[36],
Precio,
lvl
}
new const ShopDatos[][DatosShop] = {
{"Flashbang", 30000, 6},
{"HeGrenade", 45000, 8},
{"Pasos Silenciosos(Solo TT || 15's)", 70000, 13},
{"Gravedad ( 10's)", 100000, 20},
{"Congeladora", 80000, 23},
{"Velocidad ( 15's)", 130000, 35},
{"Invisibilidad( 15's)", 150000, 50},
{"+150 Vida", 142000, 64},
{"Pack De Granadas", 120000, 70},
{"Arma Random", 180000, 85},
{"Inmunidad (20's)", 230000, 110},
{"Respawn", 250000, 125}
}
enum _: DatosVenta
{
NombreVenta[60],
PrecioVenta
}
new const VentaDatos[][DatosVenta] = {
{"Admin Comun", 15},
{"Admin Full", 20},
{"Multiplicador x2", 15},
{"Multiplicador x3", 20},
{"Multiplicador x4", 30},
{"Multiplicador x5", 40},
{"Multiplicador x6", 55},
{"Admin Full + Multiplicador x3", 30}
}
enum _: DatosReglas
{
NombreReglas[92]
}
new const ReglasDatos[][DatosReglas] = {
{"No bugear players poniendo minas y no matar bugeados"},
{"No poner minas en escalera de arriba o abajo, solo de costado"},
{"No romper minas que no pertenezcan a uno mismo"},
{"No regalarse frags en party"},
{"No floodear el chat (abusar del say y del mic)"},
{"No insultar, tanto a usuarios como a admins"},
{"No prestar cuentas, de lo contrario, seran borradas"},
{"Esta completamente prohibido usar cualquier Tipo de Cheats"},
{"Los CTs estan obligados a buscar y tratar de matar a los TTs"},
{"En caso de no obedecer las reglas, seran baneados"}
}
enum vip_data
{
szname[32],
imultiplicador
}
enum (+= 77) {
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 const Costo[] = {1,6,15,24,50}
new const RangosT[][] = {"TestT","RangoT1","RangoT2","RangoT3","RangoT4"}
new const RangosCT[][] = {"TestCT","RangoCT1","RangoCT2","RangoCT3","RangoCT4"}
new const szTable[ ] = "cuentas"
new const szPrefix[ ] = "[Cuentas]"
const VelocidadHab = 240
const VidaHab = 100
const ChalecoHab = 100
new Float:HUD_STATS_X[33]
new Float:HUD_STATS_Y[33]
new Cvar_HabCarnage
new Cvar_Menu
new cvar_time_acept
new cvar_max_players
new cvar_allow_bots
new g_experiencia[ 33 ]
new Nivel[33]
new Frags[33]
new Reset[33]
new Plata[33]
new Puntos[33]
new ItemRonda[33]
new Velocidad[33]
new Habilidades[33][11]
new Rangos[33]
new FragsCarnage[33]
new g_target[33]
new g_vipmult[33]
new Laseres[33]
new g_PartyData[33][pdata]
new g_MenuCallback[DataCallBack]
new Array:Party_Ids[33]
new g_id[ 33 ]
new g_estado[ 33 ]
new g_usuario[ 33 ][ 34 ]
new g_password[ 33 ][ 34 ]
new g_playername[ 33 ][ 33 ]
new red[33]
new green[33]
new blue[33]
new Key = (1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7) | (1<<8) | (1<<9) | (1<<10)
new const horas[] = { 17,18,00,01,02,03,04,05,06,07,08,09,10 }
new Ham:Ham_Player_ResetMaxSpeed = Ham_Item_PreFrame
new Handle:g_hTuple
new g_rondas
new g_carnage
new g_maxplayers
new bool: HappyHour
new Array:g_vips
new g_nomoney
new moneymessage
new MostrarHora
new HudCarnage
new HudHappy
new HudHora
new Hud
public hns_hab_laserplantas(id) return Habilidades[id][5]
public hns_hab_lasersacas(id) return Habilidades[id][6]
public hns_frags_laser(id)
{
new frags = 1
if(HappyHour){
Frags[id] += frags * g_vipmult[id]*2
Plata[id] += 500*2
Check(id)
}
else {
Frags[id] += frags * g_vipmult[id]
Plata[id] += 500
Check(id)
}
}
public hns_hab_lasermas(id)
{
if(Habilidades[id][6] == 1) { Laseres[id] = 4
}
else if(Habilidades[id][7] == 2) { Laseres[id] = 5
}
else if(Habilidades[id][7] == 3) { Laseres[id] = 6
}
else if(Habilidades[id][7] == 4) { Laseres[id] = 7
}
return Habilidades[id][7],Laseres[id]
}
public hns_hab_frostdescongelacion(id) return Habilidades[id][8]
public hns_hab_frostcongelacion(id) return Habilidades[id][9]
public plugin_init() {
register_plugin(Plugin, Version, Author)
register_clcmd( "chooseteam", "clcmd_changeteam" )
register_clcmd( "jointeam", "clcmd_changeteam" )
register_clcmd( "menuselect", "menu_select" )
register_menu("menu estadisticas", Key, "HandlerEstadisticas")
register_event("DeathMsg", "EventoM", "a")
RegisterHam( Ham_Spawn, "player", "fw_PlayerSpawn_Post", 1)
RegisterHam(Ham_TakeDamage, "player", "TakeDamage")
register_event("HLTV" , "RoundStart" , "a", "1=0", "2=0")
register_event("Money", "EventMoney", "b")
register_logevent("round_end", 2, "1=Round_End")
RegisterHam(Ham_Player_ResetMaxSpeed, "player", "Ham_Player_ResetMaxSpeed_Post", true)
register_clcmd("DAR_LEVEL", "nivel")
register_clcmd( "CREAR_USUARIO", "reg_usuario" )
register_clcmd( "CREAR_PASSWORD", "reg_password" )
register_clcmd( "LOGUEAR_USUARIO", "log_usuario" )
register_clcmd( "LOGUEAR_PASSWORD", "log_password" )
register_clcmd("CAMBIAR_PASSWORD", "cambiar_password")
register_clcmd("say", "message_saytext")
register_message( get_user_msgid( "ShowMenu" ), "message_ShowMenu" )
register_message( get_user_msgid( "VGUIMenu" ), "message_VGUIMenu" )
register_message(get_user_msgid("StatusIcon"), "message_statusicon")
Cvar_HabCarnage = register_cvar("carnage_habilidades", "0")
Cvar_Menu = register_cvar("menu_abrir", "1")
g_nomoney = register_cvar("bloquear_dinero", "1")
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","1")
g_MenuCallback[MASTER] = menu_makecallback("check_master")
g_MenuCallback[USER] = menu_makecallback("check_user")
Hud = CreateHudSyncObj()
HudHappy = CreateHudSyncObj()
HudCarnage = CreateHudSyncObj()
HudHora = CreateHudSyncObj()
g_maxplayers = get_maxplayers()
moneymessage = get_user_msgid("Money")
g_rondas = 0
load_vips()
MySQLx_Init( )
}
public plugin_natives()
{
register_native("hns_hab_laserplantas", "hns_hab_laserplantas", 1)
register_native("hns_hab_lasersacas", "hns_hab_lasersacas", 1)
register_native("hns_frags_laser", "hns_frags_laser", 1)
register_native("hns_hab_lasermas", "hns_hab_lasermas", 1)
register_native("hns_hab_frostdescongelacion", "hns_hab_frostdescongelacion", 1)
register_native("hns_hab_frostcongelacion", "hns_hab_frostcongelacion", 1)
}
public plugin_cfg(){
for(new i = 1; i <= g_maxplayers; i++)
Party_Ids[i] = ArrayCreate(1, 1)
}
public client_putinserver(id)
{
Nivel[id] = 1
Frags[id] = 0
Reset[id] = 0
Plata[id] = 0
Puntos[id] = 0
FragsCarnage[id] = 0
ItemRonda[id] = 0
Laseres[id] = 3
HUD_STATS_X[id] = 0.03
HUD_STATS_Y[id] = 0.08
red[id] = 42
green[id] = 255
blue[id] = 85
MostrarHora = true
remover_item(id)
check_rango(id)
set_task(1.0,"ShowHud", id+570, _,_,"b")
show_login_menu( id );
//----------------Vip-----------------------
g_vipmult[id] = 1
new name[32]
get_user_name(id, name, charsmax(name))
new size = ArraySize(g_vips)
new vips[vip_data]
for(new i = 0; i < size; i++)
{
ArrayGetArray(g_vips, i, vips)
if(equali(vips[szname], name))
{
g_vipmult[id] = vips[imultiplicador]
break
}
}
}
public client_disconnect(id)
{
if( g_estado[ id ] == LOGUEADO ) {
guardar_datos( id );
g_estado[ id ] = OFFLINE;
}
remove_task(id+570)
if(g_PartyData[id][In_Party])
g_PartyData[id][Position] ? g_PartyData[id][Amount_In_Party] == 2 ? destoy_party(id) : remove_party_user(id) : destoy_party(id)
g_PartyData[id][UserName][0] = 0
g_PartyData[id][Block_Party] = false
}
public client_infochanged( id ) {
if( g_estado[ id ] == OFFLINE )
return PLUGIN_CONTINUE;
static nam[ 33 ];
get_user_info( id, "name", nam, charsmax( nam ) );
if( !equal( g_playername[ id ], nam ) ) {
set_user_info( id, "name", g_playername[ id ] );
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}
public plugin_precache()
{
register_forward(FM_PlayerPreThink, "fw_PlayerPreThink")
}
public message_saytext(id)
{
static szSay[192]
read_args(szSay, charsmax(szSay))
remove_quotes(szSay)
replace_all(szSay, charsmax(szSay), "%", " ")
static szNombre[32];get_user_name(id, szNombre, 32)
for(new i = 0; i < sizeof(SayProhibidos); i++)
{
if(contain(szSay, SayProhibidos[i]) != -1)
{
ColorChat(id, GREEN, "^4[^3%s^4]^1:^4 Estan Prohibidos Estos Tipos de Numeros",Prefix)
return PLUGIN_HANDLED
}
}
switch(cs_get_user_team(id))
{
case CS_TEAM_UNASSIGNED: ColorChat(0, GREEN, "^4[^3%s^4] ^3%s ^1: %s", szNombre, szSay)
case CS_TEAM_T: ColorChat(0, GREEN, "^4[^3%d^4][^3x%d^4]^3%s ^1: %s", Nivel[id],g_vipmult[id], szNombre, szSay)
case CS_TEAM_CT: ColorChat(0, GREEN, "^4[^3%d^4][^3x%d^4] ^3%s ^1: %s", Nivel[id],g_vipmult[id], szNombre, szSay)
case CS_TEAM_SPECTATOR: ColorChat(0, GREY, "^4[^3%d^4] ^3%s ^1: %s", szNombre, szSay)
}
return PLUGIN_HANDLED
}
public message_statusicon(msg_id, msg_dest, id)
{
static szIcon[8]
get_msg_arg_string(2, szIcon, charsmax(szIcon))
if (equal(szIcon, "buyzone") && get_msg_arg_int(1))
{
set_pdata_int(id, 235, get_pdata_int(id, 235) & ~(1<<0))
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}
public EventMoney( id )
{
if(get_pcvar_num(g_nomoney))
{
set_pdata_int(id, 115, 0);
message_begin(MSG_ONE_UNRELIABLE, moneymessage, _, id)
write_long(0)
write_byte(1)
message_end()
}
}
public fw_PlayerPreThink(id)
{
if (!is_user_alive(id))
return;
if (Velocidad[id])
set_pev(id, pev_maxspeed, 350.0)
}
public ShowHud(id)
{
id -= 570
new nombre[32];get_user_name(id, nombre, charsmax(nombre))
new Hora[9];get_time("%H:%M:%S",Hora,8)
if(!is_user_alive(id))
return
if (is_user_alive(id))
{
set_hudmessage(red[id], green[id], blue[id], HUD_STATS_X[id], HUD_STATS_Y[id], 0, 6.0, 12.0)
ShowSyncHudMsg(id, Hud, "Name: %s | Nivel: %d ^nFrags: %d | Resets: %d ^nPlata: %d | Pts: %d ^nFragsC: %d | HAPPY: %s ^n%s %s",
nombre,Nivel[id],Frags[id],Reset[id],Plata[id], Puntos[id],FragsCarnage[id], HappyHour ? "ON | Frags x2" : "OFF", cs_get_user_team(id) == CS_TEAM_T ? "RangoTT:" : "RangoCT:",
cs_get_user_team(id) == CS_TEAM_T ? RangosT[Rangos[id]] : RangosCT[Rangos[id]])
}
if(HappyHour) {
set_hudmessage(0, 85, 255, 0.03, 0.02, 0, 6.0, 12.0)
ShowSyncHudMsg(id, HudHappy, "Estas Jugando La HappyHours: Ganas el Doble de Frags y Dinero")
}
if(MostrarHora){
set_hudmessage(212, 255, 212, 0.65, 0.05, 0, 6.0, 12.0)
ShowSyncHudMsg(id,HudHora,"La Hora Es:^n[ %s ]",Hora)
}
if(g_carnage){
set_hudmessage(0, 120, 220, -1.0, 0.06, 1, 1.0, 1.0, 1.0, 1.0)
ShowSyncHudMsg(id, HudCarnage, "Comenzo la Ronda Carnage!")
}
else {
set_hudmessage(0, 120, 220, -1.0, 0.06, 1, 1.0, 1.0, 1.0, 1.0)
ShowSyncHudMsg(id, HudCarnage, "Para la Ronda Carnage: falta%s %d ronda%s.",
CARNAGE_ROUND - g_rondas > 1 ? "n" : "", CARNAGE_ROUND - g_rondas, CARNAGE_ROUND - g_rondas > 1 ? "s" : "")
}
}
public remover_item(id)
{
set_user_footsteps(id, 0)
set_pev(id, pev_gravity, 1.0)
Velocidad[id] = false
set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 250)
set_user_godmode(id, 0)
}
public fw_PlayerSpawn_Post(id)
{
if(!is_user_alive(id) || cs_get_user_team(id))
return
ItemRonda[id] = 0
remover_item(id)
set_task(1.0, "check_carnage", id)
if(g_carnage || get_pcvar_num(Cvar_HabCarnage))
{
set_user_health(id, VidaHab + vida(Habilidades[id][0]))
cs_set_user_armor(id, ChalecoHab + chaleco(Habilidades[id][1]), CS_ARMOR_KEVLAR)
set_user_gravity(id, get_user_gravity(id) - gravedad(Habilidades[id][3]))
}
if(cs_get_user_team(id) == CS_TEAM_T)
{
strip_user_weapons(id)
give_item(id,"weapon_hegrenade")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_smokegrenade")
}
else if(cs_get_user_team(id) == CS_TEAM_CT)
{
strip_user_weapons(id)
give_item(id,"weapon_knife")
}
}
public TakeDamage(victim, attacker,inflictor, Float:damage, damage_type)
{
if (victim == attacker || ! is_user_connected(attacker))
return
if (g_carnage || get_pcvar_num(Cvar_HabCarnage))
{
damage += (damage(Habilidades[attacker][4]))
if (damage > 0.0) SetHamParamFloat(4, damage)
}
}
public Ham_Player_ResetMaxSpeed_Post(id)
{
if (!is_user_alive(id))
return
if(g_carnage || get_pcvar_num(Cvar_HabCarnage))
{
set_user_maxspeed(id, float(VelocidadHab) + float(velocidad(Habilidades[id][2])))
}
}
public RoundStart()
{
new data[12]
get_time("%H", data, 12)
new Tiempo = str_to_num(data)
for( new i = 1; i <= g_maxplayers; i++ ) {
if( g_estado[ i ] == LOGUEADO && is_user_connected( i ) )
guardar_datos( i );
}
for(new i=0;i <= sizeof horas - 1;i++)
{
if(Tiempo != horas[i]) continue
HappyHour = true
break;
}
g_rondas++
g_carnage = 0
if (g_rondas == CARNAGE_ROUND)
{
g_rondas = 0
g_carnage = 1
set_cvar_num("hns_hidetime", 0)
set_cvar_num("hns_hiders_knife", 2)
set_cvar_num("hns_hiders_flashbangs", 0)
set_cvar_num("hns_hiders_smokegren", 0)
}
}
public round_end()
{
if (g_carnage) {
set_cvar_num("hns_hidetime", 10)
set_cvar_num("hns_hiders_knife", 1)
set_cvar_num("hns_hiders_flashbangs", 2)
set_cvar_num("hns_hiders_smokegren", 1)
}
if (!EquipoTTAlive())
{
set_task(0.5, "taskChangeTeam")
}
}
public taskChangeTeam()
{
static id, CsTeams:Teams
for (id = 1; id <= g_maxplayers; id++)
{
if (!is_user_connected(id))
continue;
Teams = cs_get_user_team(id)
switch (Teams)
{
case CS_TEAM_T:
{
cs_set_user_team(id, CS_TEAM_CT)
}
case CS_TEAM_CT:
{
cs_set_user_team(id, CS_TEAM_T)
}
}
}
}
public EventoM()
{
new attacker = read_data(1)
new victim = read_data(2)
new Player[32], usuarios;get_party_index(attacker, Player)
if(!is_user_connected(attacker) || is_user_connected(victim) && attacker == victim)
return;
new frags = 1
if(HappyHour){
if(g_PartyData[attacker][Amount_In_Party]) {
for(new i = 0; i < g_PartyData[attacker][Amount_In_Party]; i++)
{
usuarios = Player[i]
Frags[usuarios] += frags * g_vipmult[attacker]*2
Plata[attacker] += 500*2
Check(usuarios)
Check(i)
}
}
else if(g_carnage){
FragsCarnage[attacker] += 2
CheckCarnage(attacker)
}
else {
Frags[attacker] += frags * g_vipmult[attacker]*2
Plata[attacker] += 500*2
Check(attacker)
}
}
else {
if(g_PartyData[attacker][Amount_In_Party]) {
for(new i = 0; i < g_PartyData[attacker][Amount_In_Party]; i++)
{
usuarios = Player[i]
Frags[usuarios] += frags * g_vipmult[attacker]
Plata[attacker] += 500
Check(usuarios)
Check(i)
}
}
else if(g_carnage){
FragsCarnage[attacker] += 1
CheckCarnage(attacker)
}
else {
Frags[attacker] += frags * g_vipmult[attacker]
Plata[attacker] += 500
Check(attacker)
}
}
}
Check(id)
{
if(Frags[id] >= Macro(Nivel[id]))
{
Frags[id] = 0
Nivel[id]++
check_rango(id)
ColorChat(id, GREEN, "^4[^3%s^4] Felicidades !! Avanzaste de Nivel", Prefix)
}
}
CheckCarnage(id)
{
if(FragsCarnage[id] >= 10)
{
Puntos[id]++
ColorChat(id, GREEN, "^4[^3%s^4] Ganaste Un Punto", Prefix)
}
}
public check_rango(id)
{
if(Nivel[id] >= Costo[Rangos[id]])
{
Rangos[id]++
}
}
public check_carnage(id)
{
if (!g_carnage)
return
switch(random_num(1,4))
{
case 1:
{
set_hudmessage(255, 42, 42, 0.26, 0.1, 0, 6.0, 12.0)
show_hudmessage(id, "Carnage AWP")
set_user_health(id, 100)
strip_user_weapons(id)
Dar_arma(id,"weapon_knife", CSW_KNIFE, 1)
Dar_arma(id,"weapon_awp", CSW_AWP, 30)
}
case 2:
{
set_hudmessage(255, 42, 42, 0.26, 0.1, 0, 6.0, 12.0)
show_hudmessage(id, "Carnage HEADSHOT")
set_user_health(id, 100)
strip_user_weapons(id)
set_user_hitzones(id,0,2)
Dar_arma(id,"weapon_deagle", CSW_DEAGLE, 100)
}
case 3:
{
set_hudmessage(255, 42, 42, 0.26, 0.1, 0, 6.0, 12.0)
show_hudmessage(id, "Carnage CUCHI")
set_user_health(id, 100)
strip_user_weapons(id)
Dar_arma(id,"weapon_knife", CSW_KNIFE, 1)
}
case 4:
{
set_hudmessage(255, 42, 42, 0.26, 0.1, 0, 6.0, 12.0)
show_hudmessage(id, "Carnage M3")
set_user_health(id, 100)
strip_user_weapons(id)
Dar_arma(id,"weapon_knife", CSW_KNIFE, 1)
Dar_arma(id,"weapon_m3,", CSW_M3, 100)
}
}
}
public message_VGUIMenu( iMsgid, iDest, id ) {
if( g_estado[ id ] == LOGUEADO || get_msg_arg_int( 1 ) != 2 )
return PLUGIN_CONTINUE;
show_login_menu( id )
return PLUGIN_HANDLED
}
public message_ShowMenu( iMsgid, iDest, id ) {
if( g_estado[ id ] == LOGUEADO )
return PLUGIN_CONTINUE
static sMenuCode[ 33 ]
get_msg_arg_string( 4, sMenuCode, charsmax( sMenuCode ) )
if( containi( sMenuCode, "Team_Select" ) != -1 ) {
show_login_menu( id )
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE
}
public clcmd_changeteam( id ) {
if( g_estado[ id ] != LOGUEADO ) {
show_login_menu( id )
return PLUGIN_HANDLED
}
else {
Asd(id)
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE
}
public Asd(id)
{
if(get_pcvar_num(Cvar_Menu))
{
GameMenu(id)
return PLUGIN_HANDLED
}
return PLUGIN_HANDLED
}
public show_login_menu( id ) {
new menu = menu_create( "Menu de cuentas", "login_menu" )
menu_additem( menu, "\r [ \yCrear cuenta \r]", "1" )
menu_additem( menu, "\r [ \yIngresar \r]", "2" )
menu_setprop( menu, MPROP_EXIT, MEXIT_NEVER )
menu_display( id, menu )
menu_destroy( menu )
}
public login_menu( id, menu, item ) {
}
public menu_select( id ) {
if( g_estado[ id ] == OFFLINE ) {
new args[ 3 ]
read_args( args, charsmax( args ) )
if( str_to_num( args ) == 1 )
client_cmd( id, "messagemode CREAR_USUARIO" )
else
client_cmd( id, "messagemode LOGUEAR_USUARIO" )
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE
}
public GameMenu(id)
{
new menu,Texto[200]
formatex(Texto,charsmax(Texto),"\wMenu Principal \y%s\
\wV.\y%s \wBy \y%s",Plugin,Version,Author)
menu = menu_create(Texto,"HandlerPrincipal")
formatex(Texto,charsmax(Texto)," \r[\w Estadisticas \r]")
menu_additem(menu,Texto,"0")
formatex(Texto,charsmax(Texto)," \r[\w Resetear Niveles \r]")
menu_additem(menu,Texto,"1")
formatex(Texto,charsmax(Texto)," \r[\w Tienda \r]")
menu_additem(menu,Texto,"2")
formatex(Texto,charsmax(Texto)," \r[\w Habilidades \r]")
menu_additem(menu,Texto,"3")
formatex(Texto,charsmax(Texto)," \r[\w Party \r]")
menu_additem(menu,Texto,"4")
formatex(Texto,charsmax(Texto)," \r[\w Menu Extra \r]")
menu_additem(menu,Texto,"5")
formatex(Texto,charsmax(Texto)," \r[\y Reglas \r]")
menu_additem(menu,Texto,"6")
menu_display(id, menu, 0)
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
return PLUGIN_HANDLED
}
public HandlerPrincipal(id, menu, item)
{
if(item == MENU_EXIT)
return PLUGIN_HANDLED
switch(item)
{
case 0: EstadisticasMenu(id)
case 1: ResetMenu(id)
case 2: TiendaMenu(id)
case 3: HabMenu(id)
case 4: cmdParty(id)
case 5: ExtraMenu(id)
case 6: ReglasMenu(id)
}
return PLUGIN_HANDLED
}
public ExtraMenu(id)
{
new menu,Texto[50]
formatex(Texto,charsmax(Texto),"\rMenu \wExtra \y%s",Plugin)
menu = menu_create(Texto,"HandlerExtra")
formatex(Texto,charsmax(Texto)," \r[\w Menu de Admin \r]")
menu_additem(menu,Texto,"0", _, menu_makecallback("MenuAcceso"))
formatex(Texto,charsmax(Texto)," \r[\w Lista de Niveles \r]")
menu_additem(menu,Texto,"1")
formatex(Texto,charsmax(Texto)," \r[\w Venta \r]")
menu_additem(menu,Texto,"2")
formatex(Texto,charsmax(Texto)," \r[\w Pocision Hud Principal \r]")
menu_additem(menu,Texto,"3")
formatex(Texto,charsmax(Texto)," \r[\w Color Hud Principal \r]")
menu_additem(menu,Texto,"4")
formatex(Texto,charsmax(Texto)," \r[\y Informacion \r]")
menu_additem(menu,Texto,"5")
formatex(Texto,charsmax(Texto)," \r[\y Cambiar Contrasenia \r]")
menu_additem(menu,Texto,"6")
menu_display(id, menu)
}
public MenuAcceso(id)
{
if (get_user_flags(id) & ADMIN_ACCESS_ALL)
return ITEM_ENABLED
return ITEM_DISABLED
}
public HandlerExtra(id,menu,item)
{
if(item == MENU_EXIT)
return PLUGIN_HANDLED
switch(item)
{
case 0: Menu_Admin(id)
case 1: ListaNiveles(id)
case 2: Venta(id)
case 3: MenuHud(id)
case 4: MenuHudColor(id)
case 5:
{
show_motd(id, "informacion.txt", "Informacion del servidor")
return PLUGIN_HANDLED
}
case 6: client_cmd(id, "messagemode CAMBIAR_PASSWORD")
}
return PLUGIN_HANDLED
}
public EstadisticasMenu(id)
{
new menu[1800], len, MiNombre[33];get_user_name(id, MiNombre, 32)
len = 0
len += formatex(menu[len], charsmax(menu) - len,"\wEstadisticas \y%s^n",Plugin)
len += formatex(menu[len], charsmax(menu) - len,"\wAlias \r[\y %s \r] \y|| \w%s \r[\y %s \r] \y|| \wNivel \r[\y %d \r]^n",MiNombre,cs_get_user_team(id) == CS_TEAM_T ? "RangoTT:" : "RangoCT:",cs_get_user_team(id) == CS_TEAM_T ? RangosT[Rangos[id]] : RangosCT[Rangos[id]],Nivel[id])
len += formatex(menu[len], charsmax(menu) - len,"\wFrags \r[\y %d \r] \y|| \wVips \r[\y x%d \r]^n",Frags[id], g_vipmult[id])
len += formatex(menu[len], charsmax(menu) - len,"\wResets \r[\y %d \r] \y|| \wPlata \r[\y %d \r]^n",Reset[id],Plata[id])
len += formatex(menu[len], charsmax(menu) - len,"\wPuntos \r[\y %d \r] \y|| \wFragsC \r[\y %d \r]^n",Puntos[id],FragsCarnage[id])
len += formatex(menu[len], sizeof menu -1 - len ,"\r0.\wSalir")
menu_display(id, menu[len])
show_menu( id , Key, menu, -1,"menu estadisticas")
}
public HandlerEstadisticas(id,key)
{
switch(key)
{
case 0: return PLUGIN_HANDLED
}
return PLUGIN_HANDLED
}
public ResetMenu(id)
{
new menu,Texto[100]
formatex(Texto,charsmax(Texto),"\wMenu de Reseteo \y%s^nResets: \r[ \y%d/3 \r]",Plugin, Reset[id])
menu = menu_create(Texto,"HandlerReset")
formatex(Texto,charsmax(Texto),"\wResetear Cuenta: \r[\y %s \r]", Nivel[id] >= 200 ? "Disponible" : "Nivel Requerido : 200")
menu_additem(menu,Texto,"0")
menu_display(id, menu, 0)
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
}
public HandlerReset(id, menu, item)
{
if(item == MENU_EXIT)
return PLUGIN_HANDLED
switch(item)
{
case 0:
{
if(Reset[id] < 3)
{
if(Nivel[id] >= 200)
{
Nivel[id] = 1
Frags[id] = 0
Reset[id]++
Plata[id] += 30000
ColorChat(id, GREEN, "^4[^3%s^4] Reseteaste Tu Cuenta Con Exito", Prefix)
}
else
{
ColorChat(id, GREEN, "^4[^3%s^4] Necesitas Ser Nivel 200 Para Resetear Tu Cuenta", Prefix)
return PLUGIN_HANDLED
}
}
else
{
ColorChat(id, GREEN, "^4[^3%s^4] Llegaste Al Maximo De Resets Permitidos", Prefix)
return PLUGIN_HANDLED
}
}
}
return PLUGIN_HANDLED
}
public TiendaMenu(id)
{
new menu,Texto[200]
if(g_carnage)
{
ColorChat(id, GREEN, "^4[^3%s^4] No Puedes Abir La Tienda en Carnage",Prefix)
return PLUGIN_HANDLED
}
if(!is_user_alive(id))
{
ColorChat(id, GREEN, "^4[^3%s^4] Necesitas Estar Vivo Para Abrir La Tienda", Prefix)
return PLUGIN_HANDLED
}
formatex(Texto,charsmax(Texto),"\wTienda \y%s ^nPlata: \r[\y %d \r]",Plugin,Plata[id])
menu = menu_create(Texto,"HandlerTienda")
for(new i = 0;i < sizeof(ShopDatos); i++)
{
formatex(Texto,charsmax(Texto),"\w%s\r||\wCosto \y%d\r||\wLvl\y%d ",ShopDatos[i][Nombre],ShopDatos[i][Precio],ShopDatos[i][lvl])
menu_additem(menu, Texto)
}
menu_display(id, menu , 0)
menu_setprop(menu, MPROP_BACKNAME, "Anterior")
menu_setprop(menu, MPROP_NEXTNAME, "Siguiente")
menu_setprop(menu, MPROP_EXITNAME, "Salir del Menu")
return PLUGIN_HANDLED
}
public HandlerTienda(id, menu, item)
{
if(item == MENU_EXIT)
return PLUGIN_HANDLED
if(Plata[id] < ShopDatos[item][Precio])
{
ColorChat(id, GREEN, "^4[^3%s^4] No Tenes Plata Suficiente para Comprar %s",Prefix,ShopDatos[item][Nombre])
return PLUGIN_HANDLED
}
if(Nivel[id] < ShopDatos[item][lvl])
{
ColorChat(id, GREEN, "^4[^3%s^4] No Tenes Nivel Suficiente Para Comprar %s",Prefix,ShopDatos[item][Nombre])
return PLUGIN_HANDLED
}
if(ItemRonda[id] >= 1)
{
ColorChat(id, GREEN, "^4[^3%s^4] Solo Puedes Comprar 1 Ves Por Ronda",Prefix)
return PLUGIN_HANDLED
}
switch(item)
{
case 0: Dar_arma(id, "weapon_hegrenade", CSW_HEGRENADE, 1)
case 1: Dar_arma(id, "weapon_flashbang", CSW_FLASHBANG, 1)
case 2: {
if(cs_get_user_team(id) == CS_TEAM_T) {
set_user_footsteps(id, 1)
set_task(15.0 + tiempoitems(Habilidades[id][10]),"remover_item", id)
}
else {
ColorChat(id, GREEN, "^4[^3%s^4] Necesitas Ser Terrorista Para Comprar Este Item",Prefix)
return PLUGIN_HANDLED
}
}
case 3: { set_pev(id, pev_gravity, 0.1);set_task(10.0 + tiempoitems(Habilidades[id][10]), "remover_item", id)
}
case 4: Dar_arma(id, "weapon_smokegrenade", CSW_SMOKEGRENADE, 1)
case 5: { Velocidad[id] = true;set_task(15.0 + tiempoitems(Habilidades[id][10]), "remove_item", id)
}
case 6: { set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 10);set_task(15.0 + tiempoitems(Habilidades[id][10]),"remove_item", id)
}
case 7: set_user_health(id, get_user_health(id) + 150)
case 8: {
Dar_arma(id, "weapon_hegrenade", CSW_HEGRENADE, 1)
Dar_arma(id, "weapon_flashbang", CSW_FLASHBANG, 2)
Dar_arma(id, "weapon_smokegrenade", CSW_SMOKEGRENADE, 1)
}
case 9: {
new AlAzar = random_num(0 , 4)
switch(AlAzar)
{
case 0: Dar_arma(id, "weapon_usp", CSW_USP, 5)
case 1: Dar_arma(id, "weapon_ak47", CSW_AK47, 4)
case 2: Dar_arma(id, "weapon_m4a1", CSW_M4A1, 5)
case 3: Dar_arma(id, "weapon_deagle", CSW_DEAGLE, 2)
case 4: Dar_arma(id, "weapon_awp", CSW_AWP, 3)
}
}
case 10: { set_user_godmode(id, 1);set_task(20.0 + tiempoitems(Habilidades[id][10]), "remove_item", id)
}
case 11: ExecuteHamB(Ham_CS_RoundRespawn, id)
}
Plata[id] -= ShopDatos[item][Precio]
ItemRonda[id]++
ColorChat(id, GREEN, "^4[^3%s^4] Compraste %s",Prefix, ShopDatos[item][Nombre])
return PLUGIN_HANDLED
}
public HabMenu(id)
{
new menu,Texto[150]
if(g_carnage)
{
ColorChat(id, GREEN, "^4[^3%s^4] No Puedes Abir El Menu de Habilidades en Carnage",Prefix)
return PLUGIN_HANDLED
}
if(!is_user_alive(id))
{
ColorChat(id, GREEN, "^4[^3%s^4] Necesitas Estar Vivo Para Mejorar Tus Habilidades", Prefix)
return PLUGIN_HANDLED
}
formatex(Texto,charsmax(Texto),"\wHabilidades \y%s ^n\wPuntos: \r[\y %d \r]",Plugin,Puntos[id])
menu = menu_create(Texto,"HandlerHabilidades")
for(new i = 0;i < sizeof(HabDatos); i++)
{
if(Habilidades[id][i] < HabDatos[i][Maximo])
formatex(Texto,charsmax(Texto),"\w%s \r|| \wP.Necesarios: \r[\y %d \r]",HabDatos[i][NombreHab],HabDatos[i][Necesario])
else
formatex(Texto,charsmax(Texto),"\w%s \r|| \wMejorada Al Maximo",HabDatos[i][NombreHab])
menu_additem(menu,Texto)
}
menu_display(id, menu, 0)
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
return PLUGIN_HANDLED
}
public HandlerHabilidades(id, menu, item)
{
if(item == MENU_EXIT)
return PLUGIN_HANDLED
if(Puntos[id] < HabDatos[item][Necesario])
{
ColorChat(id, GREEN, "^4[^3%s^4] No Tenes Puntos Necesarios Para Mejorar esta Habilidad",Prefix)
return PLUGIN_HANDLED
}
if(Habilidades[id][item] >= HabDatos[item][Maximo])
{
ColorChat(id, GREEN, "^4[^3%s^4] Ya Mejoraste Al Maximo Esta Habilidad",Prefix)
return PLUGIN_HANDLED
}
Habilidades[id][item]++
Puntos[id] -= HabDatos[item][Necesario]
ColorChat(id, GREEN, "^4[^3%s^4] Mejoraste la Habilidad %s",Prefix,HabDatos[item][NombreHab])
return PLUGIN_HANDLED
}
public Menu_Admin(id)
{
new menu,Texto[100]
if (!(get_user_flags(id) & ADMIN_ACCESS_ALL)){
ColorChat(id, RED, "[ %s ] Solo Los Admins Pueden Abrir Este Menu")
return PLUGIN_HANDLED
}
formatex(Texto,charsmax(Texto),"\wMenu \rAdmin \y%s",Plugin)
menu = menu_create(Texto,"HandlerMenuAdmin")
formatex(Texto,charsmax(Texto),"\wAdminMenu")
menu_additem(menu,Texto,"0")
formatex(Texto,charsmax(Texto),"\wDar Niveles")
menu_additem(menu,Texto,"1")
menu_display(id, menu)
return PLUGIN_HANDLED
}
public HandlerMenuAdmin(id,menu,item)
{
if(item == MENU_EXIT)
return PLUGIN_HANDLED
switch(item)
{
case 0: client_cmd(id, "amxmodmenu")
case 1: cmd_level(id)
}
return PLUGIN_HANDLED
}
public cmd_level( id )
{
if (!(get_user_flags(id) & ADMIN_KICK)) {
ColorChat(id, GREY, "Solo Los Admins Pueden Ingresar A Este Menu")
return PLUGIN_HANDLED
}
new menu = menu_create( "\y[ BlackGaming] \rEliga jugador a dar \ynivel\w:", "player_nivel" )
new Temp[40], players[ 32 ], tempid, szName[32], szTempid[ 10 ], pnum
get_players(players, pnum, "a")
for( new i; i<pnum; i++ )
{
tempid = players[ i ]
get_user_name( tempid, szName, charsmax( szName ))
formatex(Temp, charsmax(Temp), "%s", szName)
num_to_str( tempid, szTempid, charsmax( szTempid ))
menu_additem( menu, Temp, szTempid, 0 )
}
menu_setprop(menu, MPROP_BACKNAME, "\yAtras")
menu_setprop(menu, MPROP_NEXTNAME, "\ySiguiente")
menu_setprop(menu, MPROP_EXITNAME, "\ySalir")
menu_display(id, menu, 0 )
return PLUGIN_HANDLED
}
public player_nivel( id, menu, item )
{
if( item == MENU_EXIT ) {
menu_destroy(menu)
return PLUGIN_HANDLED
}
new data[6], basura
menu_item_getinfo(menu, item, basura, data, charsmax(data), "", 0, basura)
g_target[id] = str_to_num(data);
console_cmd(id, "messagemode DAR_LEVEL")
menu_destroy(menu)
return PLUGIN_HANDLED
}
public nivel(id)
{
static iNumStr[12];
read_args(iNumStr, charsmax(iNumStr))
remove_quotes(iNumStr)
trim(iNumStr)
new iArg[ 32 ]
read_argv( 1, iArg, 32 )
new len = strlen(iArg)
for (new i = 0; i < len; i++) {
if (!isdigit(iArg[i])) {
ColorChat(id, GREY, "Solo Numeros.")
return
}
}
niveles(id, str_to_num( iArg ))
}
public niveles( id, amount )
{
if (!is_user_connected(g_target[id])) return
new dName[ 32 ]; get_user_name(id, dName, charsmax(dName))
new rName[ 32 ]; get_user_name(g_target[id], rName, charsmax(rName))
Nivel[g_target[id]] += amount
check_rango(g_target[id])
ColorChat(id, GREEN, "Le Diste %d Niveles a %s", amount, rName)
ColorChat(g_target[id], GREEN, "el admin %s te dio %d niveles", dName, amount)
}
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("\rMenu Party:","party_menu"), BlockParty[50]
menu_additem(iMenu, "\yCrear Party", "0")
formatex(BlockParty, charsmax(BlockParty), "\yBloquear Invitaciones De Party: \w%s",g_PartyData[id][Block_Party] ? "Si" : "No")
menu_additem(iMenu, BlockParty, "1")
menu_setprop(iMenu, MPROP_EXITNAME, "Salir")
menu_setprop(iMenu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, iMenu, 0)
}
public show_party_info_menu(id) {
new iMenu = menu_create("\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(iMenu, MPROP_EXITNAME, "Salir")
menu_setprop(iMenu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, iMenu)
}
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 i = 1; i <= g_maxplayers; i++) {
if(!is_available_to_party(i) || id == i)
continue;
get_user_name(i, Name, charsmax(Name))
num_to_str(i, Poss, charsmax(Poss))
menu_additem(iMenu, Name, Poss)
}
menu_setprop(iMenu, MPROP_EXITNAME, "Salir")
menu_setprop(iMenu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, iMenu)
}
public show_party_kick_menu(id) {
new iMenu = menu_create("\rKick Party Menu:","party_kick_menu"), Players[32], Poss[3], user
get_party_index(id, Players)
for(new i; i < g_PartyData[id][Amount_In_Party]; i++) {
user = Players[i]
num_to_str(user, Poss, charsmax(Poss))
menu_additem(iMenu, g_PartyData[user][UserName], Poss)
}
menu_setprop(iMenu, MPROP_EXITNAME, "Salir")
menu_display(id, iMenu)
}
public show_party_invite_menu(id2, MasterId) {
new MenuTitle[128], iMenu, Str_MasterId[3]
set_player_party_name(MasterId)
set_player_party_name(id2)
ColorChat(MasterId, GREEN, "^4[^3%s^4] Solicitud enviada a %s", Prefix, g_PartyData[id2][UserName])
formatex(MenuTitle, charsmax(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_create( MenuTitle , "party_invite_menu")
UserTaskArgs[1] = MasterId
num_to_str(MasterId, Str_MasterId, charsmax(Str_MasterId))
menu_additem( iMenu , "Aceptar", Str_MasterId)
menu_additem( iMenu , "Rechazar", Str_MasterId)
if(is_user_bot(id2) && get_pcvar_num(cvar_allow_bots)) {
party_invite_menu(id2, iMenu, 0)
return
}
menu_setprop(iMenu, MPROP_EXIT, MEXIT_NEVER)
menu_display(id2, iMenu)
remove_task_acept(id2)
set_task(get_pcvar_float(cvar_time_acept), "Time_Acept", id2+TASK_ACEPT, UserTaskArgs, 2)
}
public party_menu(id, menu, item) {
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(id, menu, item) {
if(item == MENU_EXIT) {
menu_destroy(menu)
return
}
new iKey[6], iAccess, iCallback, id2
menu_item_getinfo(menu, item, iAccess, iKey, charsmax(iKey), _, _, iCallback)
id2 = str_to_num(iKey)
if(!is_available_to_party(id2))
return
show_party_invite_menu(id2, id)
menu_destroy(menu)
}
public party_invite_menu(id, menu, item) {
if(item == MENU_EXIT) {
menu_destroy(menu)
remove_task_acept(id)
return
}
new iKey[6], iAccess, iCallback, id_master
menu_item_getinfo(menu, item, iAccess, iKey, charsmax(iKey), _, _, iCallback)
id_master = str_to_num(iKey)
switch(item) {
case 0: {
if(!g_PartyData[id_master][In_Party]) {
create_party(id_master, id)
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)) {
ColorChat(id, BLUE, "^3[^4%s^3] Ya se alcanzo el numero maximo de integrantes en la party", Prefix)
ColorChat(id_master, BLUE, "^3[^4%s^3] Ya alcanzaste el numero maximo de integrantes en la party", Prefix)
remove_task_acept(id)
menu_destroy(menu)
return
}
add_party_user(id_master, id)
set_task_party_hud(id)
}
ColorChat(id_master, GREEN, "^4[^3%s^4] %s fue agregado al Party", Prefix, g_PartyData[id][UserName])
}
case 1: ColorChat(id_master, BLUE, "^3[^4%s^3] %s cancelo la invitacion de Party", Prefix, g_PartyData[id][UserName])
}
remove_task_acept(id)
menu_destroy(menu)
}
public party_kick_menu(id, menu, item) {
if(item == MENU_EXIT) {
menu_destroy(menu)
return
}
new iKey[6], iAccess, iCallback, id2
menu_item_getinfo(menu, item, iAccess, iKey, charsmax(iKey), _, _, iCallback)
id2 = str_to_num(iKey)
if(is_user_connected(id2))
g_PartyData[id][Amount_In_Party] == 2 ? destoy_party(id) : remove_party_user(id2)
menu_destroy(menu)
}
public party_info_menu(id, menu,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
ColorChat(id, BLUE, "^3[^4%s^3] Ya alcanzaste el numero maximo de integrantes en la party", Prefix)
}
case 1: show_party_kick_menu(id)
case 2: destoy_party(id)
case 3: remove_party_user(id)
}
menu_destroy(menu)
}
public PartyHud(taskid) {
static id
id = 570
if(!is_user_connected(id)) {
remove_task(id+570)
return
}
static CountParty, PartyMsg[256], Players[32], id2
CountParty = 0
PartyMsg[0] = 0
get_party_index(id, Players)
for(new i; i < g_PartyData[id][Amount_In_Party]; i++) {
id2 = Players[i]
if(CountParty)
add(PartyMsg, charsmax(PartyMsg), "^n")
format(PartyMsg, charsmax(PartyMsg), "%s%s", strlen(PartyMsg) ? PartyMsg : "Miembros del Party^n", g_PartyData[id2][UserName])
CountParty++
}
set_hudmessage(85, 255, 212, 0.5, 0.25, 0, 6.0, 12.0)
show_hudmessage(id, PartyMsg)
}
public Time_Acept(UserTaskArgs[], taskid) {
taskid -= TASK_ACEPT;
if(!g_PartyData[taskid][In_Party]) {
ColorChat(UserTaskArgs[1], BLUE, "^3[^4%s^3] %s cancelo la invitacion de party", Prefix, g_PartyData[taskid][UserName])
menu_destroy(UserTaskArgs[0])
show_menu(taskid, 0, "^n", 1)
}
}
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 ReglasMenu(id)
{
new menu,Texto[230]
formatex(Texto,charsmax(Texto),"\rReglas \y%s",Plugin)
menu = menu_create(Texto,"HandlerReglas")
for(new i = 0;i < sizeof(ReglasDatos);i++)
{
formatex(Texto,charsmax(Texto),"\w%s.",ReglasDatos[i][NombreReglas])
menu_additem(menu,Texto)
}
menu_display(id, menu, 0)
}
public HandlerReglas(id, menu, item)
{
if(item == MENU_EXIT)
return PLUGIN_HANDLED
return PLUGIN_HANDLED
}
public ListaNiveles(id)
{
new menu,niveles[50], Posicion[10]
formatex(niveles,charsmax(niveles),"\wLista de \rNiveles \y%s", Plugin)
menu = menu_create(niveles,"HandlerNiveles")
for(new i = 1; i < 251 + 1; i++)
{
formatex(niveles, charsmax(niveles), "\wNivel %d \d|%s Frags: %d", i, Nivel[id] >= i ? "\y" : "\r", Macro(i))
num_to_str(i, Posicion, charsmax(Posicion))
menu_additem(menu, niveles, Posicion)
}
menu_setprop(menu, MPROP_BACKNAME, "Anterior")
menu_setprop(menu, MPROP_NEXTNAME, "Siguiente")
menu_setprop(menu, MPROP_EXITNAME, "Salir del Menu")
menu_display(id, menu, 0)
}
public HandlerNiveles(id, menu, item)
{
if(item == MENU_EXIT)
return PLUGIN_HANDLED
return PLUGIN_HANDLED
}
public Venta(id)
{
new menu,Texto[180]
formatex(Texto,charsmax(Texto),"\rInformacion \wSobre Venta \y%s ^n\wPrecios Basados en 1 Mes",Plugin)
menu = menu_create(Texto,"HandlerVenta")
for(new i = 0;i < sizeof(VentaDatos); i++)
{
formatex(Texto,charsmax(Texto),"\w%s \r||\y %s $$", VentaDatos[i][NombreVenta],VentaDatos[i][PrecioVenta])
menu_additem(menu,Texto)
}
menu_display(id, menu, 0)
}
public HandlerVenta(id,menu,item)
{
if(item == MENU_EXIT)
return PLUGIN_HANDLED
return PLUGIN_HANDLED
}
public MenuHud(id)
{
new menu,Texto[100]
formatex(Texto,charsmax(Texto),"\rModificar \yHud")
menu = menu_create(Texto,"HandlerMenuHud")
formatex(Texto,charsmax(Texto),"\wMover HUD \yArriba")
menu_additem(menu,Texto,"0")
formatex(Texto,charsmax(Texto),"\wMover HUD \yAbajo")
menu_additem(menu,Texto,"1")
formatex(Texto,charsmax(Texto),"\wMover HUD \yIsquierda")
menu_additem(menu,Texto,"2")
formatex(Texto,charsmax(Texto),"\wMover HUD \yDerecha")
menu_additem(menu,Texto,"3")
formatex(Texto,charsmax(Texto),"\wPosicion \yCentrada")
menu_additem(menu,Texto,"4")
formatex(Texto,charsmax(Texto),"\wPosicion \yOriginal")
menu_additem(menu,Texto,"5")
menu_display(id,menu,0)
}
public HandlerMenuHud(id,menu,item)
{
if(item == MENU_EXIT)
return PLUGIN_HANDLED
switch(item)
{
case 0:
{
HUD_STATS_Y[id] -= 0.003
MenuHud(id)
}
case 1:
{
HUD_STATS_Y[id] += 0.003
MenuHud(id)
}
case 2:
{
HUD_STATS_X[id] -= 0.003
MenuHud(id)
}
case 3:
{
HUD_STATS_X[id] += 0.003
MenuHud(id)
}
case 4:
{
HUD_STATS_X[id] = -1.0
HUD_STATS_Y[id] = 0.26
MenuHud(id)
}
case 5:
{
HUD_STATS_X[id] = 0.03
HUD_STATS_Y[id] = 0.08
MenuHud(id)
}
}
return PLUGIN_HANDLED
}
public MenuHudColor(id)
{
new menu,Texto[100]
formatex(Texto,charsmax(Texto),"\rModificar \yHud")
menu = menu_create(Texto,"HandlerMenuHudColor")
formatex(Texto,charsmax(Texto),"\wColor Original")
menu_additem(menu,Texto,"0")
formatex(Texto,charsmax(Texto),"\wBlanco")
menu_additem(menu,Texto,"1")
formatex(Texto,charsmax(Texto),"\wRojo")
menu_additem(menu,Texto,"2")
formatex(Texto,charsmax(Texto),"\wVerde")
menu_additem(menu,Texto,"3")
formatex(Texto,charsmax(Texto),"\wAzul")
menu_additem(menu,Texto,"4")
formatex(Texto,charsmax(Texto),"\wAmarillo")
menu_additem(menu,Texto,"5")
formatex(Texto,charsmax(Texto),"\wVioleta")
menu_additem(menu,Texto,"6")
formatex(Texto,charsmax(Texto),"\wCeleste")
menu_additem(menu,Texto,"7")
menu_display(id,menu,0)
}
public HandlerMenuHudColor(id,menu,item)
{
if(item == MENU_EXIT)
return PLUGIN_HANDLED
switch(item)
{
case 0:
{
red[id] = 42
green[id] = 255
blue[id] = 85
MenuHudColor(id)
}
case 1:
{
red[id] = 255
green[id] = 255
blue[id] = 255
MenuHudColor(id)
}
case 2:
{
red[id] = 255
green[id] = 0
blue[id] = 0
MenuHudColor(id)
}
case 3:
{
red[id] = 0
green[id] = 255
blue[id] = 0
MenuHudColor(id)
}
case 4:
{
red[id] = 0
green[id] = 0
blue[id] = 255
MenuHudColor(id)
}
case 5:
{
red[id] = 255
green[id] = 255
blue[id] = 0
MenuHudColor(id)
}
case 6:
{
red[id] = 255
green[id] = 0
blue[id] = 255
MenuHudColor(id)
}
case 7:
{
red[id] = 0
green[id] = 255
blue[id] = 255
MenuHudColor(id)
}
}
return PLUGIN_HANDLED
}
//-----------------------------------------------------------------------
//---- StockS ----
//-----------------------------------------------------------------------
stock Dar_arma(id, const weapon[], CSW, balas)
{
static ent
ent = give_item(id, weapon)
if(ent <= 0)
ent = find_ent_by_owner(id, weapon, id)
cs_set_weapon_ammo(ent, balas)
cs_set_user_bpammo(id, CSW, 0)
}
stock create_party(master, guest) {
set_party_member(master, master)
set_party_member(master, guest)
set_party_member(guest, master)
set_party_member(guest, guest)
set_party_vars(master, Start_Amount)
set_party_vars(guest, ++g_PartyData[master][Amount_In_Party])
}
stock add_party_user(master, guest) {
new Players[32], member, amount = g_PartyData[master][Amount_In_Party]
get_party_index(master, Players)
for(new i; i < amount; i++) {
member = Players[i]
set_party_member(guest, member)
set_party_member(member, guest)
g_PartyData[member][Amount_In_Party]++
}
set_party_member(guest, guest)
set_party_vars(guest, amount+1)
}
stock set_party_member(id, id2)
ArrayPushCell(Party_Ids[id], id2)
stock set_party_vars(id, amount) {
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], id2, Amount = g_PartyData[id][Amount_In_Party]
get_party_index(id, Players)
for(new i; i < Amount; i++) {
id2 = Players[i]
clear_party_user(id2)
ColorChat(id2, BLUE, "^3[^4%s^3] La party fue destruida", Prefix)
}
}
stock remove_party_user(user) {
new Players[32], id, Amount = g_PartyData[user][Amount_In_Party]
get_party_index(user, Players)
clear_party_user(user)
for(new i; i < Amount; i++) {
id = Players[i]
if(id != user) {
ArrayClear(Party_Ids[id])
for(new z; z < Amount; z++)
if(Players[z] != user)
set_party_member(id, Players[z])
g_PartyData[id][Position] = i
g_PartyData[id][Amount_In_Party] = Amount-1
ColorChat(id, BLUE, "^3[^4%s^3] %s salio del party", Prefix, g_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+570, _, _, "b")
stock remove_task_party_hud(id)
remove_task(id+570)
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(id, g_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(id, players[]) {
for(new i; i < g_PartyData[id][Amount_In_Party]; i++)
players[i] = ArrayGetCell(Party_Ids[id], i)
return players[0] ? 1 : 0
}
load_vips()
{
new buffer[64]
get_configsdir(buffer, charsmax(buffer))
add(buffer, charsmax(buffer), "/vips.ini")
new f = fopen(buffer, "rt")
if(!f)
{
set_fail_state("No existe el archivo de vips")
return PLUGIN_HANDLED
}
new vips[vip_data], szmult[32], cont
g_vips = ArrayCreate(sizeof(vips), 1)
while(!feof(f))
{
fgets(f, buffer, charsmax(buffer))
trim(buffer)
if(!buffer[0] || buffer[0] == ';' || buffer[0] == '/')
continue
parse(buffer, vips[szname], charsmax(vips[szname]), szmult, charsmax(szmult))
if(!is_str_num(szmult))
continue
vips[imultiplicador] = str_to_num(szmult)
ArrayPushArray(g_vips, vips)
cont++
}
fclose(f)
log_amx("vips cargados desde archivo: %d", cont)
return PLUGIN_HANDLED
}
EquipoTTAlive()
{
static id, Terrors
Terrors = 0
for (id = 1; id <= g_maxplayers; id++)
{
if (!is_user_connected(id) || cs_get_user_team(id) != CS_TEAM_T)
continue
if (is_user_alive(id))
{
Terrors++
}
}
return 1
}
/************************************************************************************************************************
Registro Y Eso :v
*************************************************************************************************************************/
public reg_usuario( id ) {
read_args( g_usuario[ id ], charsmax( g_usuario[ ] ) );
remove_quotes( g_usuario[ id ] );
trim( g_usuario[ id ] );
md5( g_usuario[ id ], g_usuario[ id ] );
new szQuery[ 128 ], iData[ 2 ];
iData[ 0 ] = id;
iData[ 1 ] = REGISTRAR_USUARIO;
formatex( szQuery, charsmax( szQuery ), "SELECT * FROM %s WHERE Usuario=^"%s^"", szTable, g_usuario[ id ] );
SQL_ThreadQuery( g_hTuple, "DataHandler", szQuery, iData, 2 );
return PLUGIN_HANDLED;
}
public reg_password( id ) {
read_args( g_password[ id ], charsmax( g_password[ ] ) );
remove_quotes( g_password[ id ] );
trim( g_password[ id ] );
md5( g_password[ id ], g_password[ id ] );
new szQuery[ 256 ], iData[ 2 ];
iData[ 0 ] = id;
iData[ 1 ] = REGISTRAR_PASSWORD;
get_user_name( id, g_playername[ id ], charsmax( g_playername[ ] ) );
formatex( szQuery, charsmax( szQuery ), "INSERT INTO %s (Usuario, Password, Pj) VALUES (^"%s^", ^"%s^", ^"%s^")", szTable, g_usuario[ id ], g_password[ id ], g_playername[ id ] );
SQL_ThreadQuery(g_hTuple, "DataHandler", szQuery, iData, 2);
return PLUGIN_HANDLED;
}
public log_usuario( id ) {
read_args( g_usuario[ id ], charsmax( g_usuario[ ] ) );
remove_quotes( g_usuario[ id ] );
trim( g_usuario[ id ] );
md5( g_usuario[ id ], g_usuario[ id ] );
new szQuery[ 128 ], iData[ 2 ];
iData[ 0 ] = id;
iData[ 1 ] = LOGUEAR_USUARIO;
formatex( szQuery, charsmax( szQuery ), "SELECT * FROM %s WHERE Usuario=^"%s^"", szTable, g_usuario[ id ] );
SQL_ThreadQuery( g_hTuple, "DataHandler", szQuery, iData, 2 );
return PLUGIN_HANDLED;
}
public log_password( id ) {
read_args( g_password[ id ], charsmax( g_password[ ] ) );
remove_quotes( g_password[ id ] );
trim( g_password[ id ] );
md5( g_password[ id ], g_password[ id ] );
new szQuery[ 128 ], iData[ 2 ];
iData[ 0 ] = id;
iData[ 1 ] = LOGUEAR_PASSWORD;
formatex( szQuery, charsmax( szQuery ), "SELECT * FROM %s WHERE Usuario=^"%s^" AND Password=^"%s^"", szTable, g_usuario[ id ], g_password[ id ] );
SQL_ThreadQuery( g_hTuple, "DataHandler", szQuery, iData, 2 );
return PLUGIN_HANDLED;
}
public cambiar_password(id)
{
new szPass[34]
read_args(szPass, charsmax(szPass))
remove_quotes(szPass)
trim(szPass)
md5(szPass, szPass)
if (equal(g_password[id], szPass))
{
client_print(id, print_center, "Tu clave nueva es igual a la actual.")
client_cmd(id, "messagemode CAMBIAR_PASSWORD")
}
else
{
g_password[id] = szPass
new szQuery[250], szData[2]
szData[0] = id
szData[1] = CAMBIAR_PASSWORD
formatex( szQuery, charsmax( szQuery ), "UPDATE %s SET Password=^"%s^" WHERE Usuario=^"%s^"", szTable, szPass, g_usuario[ id ])
SQL_ThreadQuery( g_hTuple, "DataHandler", szQuery, szData, 2 );
}
return PLUGIN_HANDLED;
}
public guardar_datos( id ) {
new szQuery[900 ], iData[ 2 ];
iData[ 0 ] = id;
iData[ 1 ] = GUARDAR_DATOS;
formatex( szQuery, charsmax( szQuery ), "UPDATE %s SET Experiencia='%d',Nivel='%d',Frags='%d',Reset='%d',Plata='%d',Puntos='%d',Rangos='%d',FragsC='%d',HB1='%d',HB2='%d',HB3='%d',HB4='%d',HB5='%d',HB6='%d',HB7='%d',HB8='%d',HB9='%d',HB10='%d',HB11='%d',Red='%d',Green='%d',Blue='%d',HudX='%.2f',HudY='%.2f' WHERE id='%d'",
szTable, g_experiencia[ id ],Nivel[id],Frags[id],Reset[id],Plata[id],Puntos[id],Rangos[id],FragsCarnage[id],
Habilidades[id][0],Habilidades[id][1],Habilidades[id][2],Habilidades[id][3],Habilidades[id][4],Habilidades[id][5],Habilidades[id][6],Habilidades[id][7],Habilidades[id][8],Habilidades[id][9],Habilidades[id][10],red[id],green[id],blue[id],HUD_STATS_X[id],HUD_STATS_Y[id], g_id[ id ] );
SQL_ThreadQuery( g_hTuple, "DataHandler", szQuery, iData, 2 );
}
public DataHandler( failstate, Handle:Query, error[ ], error2, data[ ], datasize, Float:time ) {
static id;
id = data[ 0 ];
if( !is_user_connected( id ) )
return;
switch( failstate ) {
case TQUERY_CONNECT_FAILED: {
log_to_file( "SQL_LOG_TQ.txt", "Error en la conexion al MySQL [%i]: %s", error2, error );
return;
}
case TQUERY_QUERY_FAILED:
log_to_file( "SQL_LOG_TQ.txt", "Error en la consulta al MySQL [%i]: %s", error2, error );
}
switch( data[ 1 ] ) {
case REGISTRAR_USUARIO: {
if( !SQL_NumResults( Query ) )
client_cmd( id, "messagemode CREAR_PASSWORD" );
else {
client_print( id, print_chat, "%s El usuario ya existe.", szPrefix );
client_cmd( id, "spk buttons/button10.wav" );
show_login_menu( id );
}
}
case REGISTRAR_PASSWORD: {
if( failstate < TQUERY_SUCCESS ) {
if( containi( error, "Usuario" ) != -1 )
client_print( id, print_chat, "%s El usuario ya existe.", szPrefix );
else if( containi( error, "Pj" ) != -1 )
client_print( id, print_chat, "%s El nombre de personaje esta en uso.", szPrefix );
else
client_print( id, print_chat, "%s Error al crear la cuenta. Intente nuevamente.", szPrefix );
client_cmd( id, "spk buttons/button10.wav" );
show_login_menu( id );
}
else {
client_print( id, print_chat, "%s Tu cuenta ha sido creada correctamente.", szPrefix );
new szQuery[ 900 ], iData[ 2 ];
iData[ 0 ] = id;
iData[ 1 ] = CARGAR_DATOS;
formatex( szQuery, charsmax( szQuery ), "SELECT id, Experiencia,Nivel,Frags,Reset,Plata,Puntos,Rangos,FragsC,HB1,HB2,HB3,HB4,HB5,HB6,HB7,HB8,HB9,HB10,HB11,Red,Green,Blue,HudX,HudY FROM %s WHERE Usuario=^"%s^"", szTable, g_usuario[ id ] );
SQL_ThreadQuery( g_hTuple, "DataHandler", szQuery, iData, 2 );
}
}
case LOGUEAR_USUARIO: {
if( SQL_NumResults( Query ) )
client_cmd( id, "messagemode LOGUEAR_PASSWORD" );
else {
client_print( id, print_chat, "%s El usuario no existe.", szPrefix );
client_cmd( id, "spk buttons/button10.wav" );
show_login_menu( id );
}
}
case LOGUEAR_PASSWORD: {
if( SQL_NumResults( Query ) ) {
g_id[ id ] = SQL_ReadResult( Query, 0 );
SQL_ReadResult( Query, 3, g_playername[ id ], charsmax( g_playername[ ] ) );
g_experiencia[ id ] = SQL_ReadResult( Query, 4 )
Nivel[id] = SQL_ReadResult( Query, 5 )
Frags[id] = SQL_ReadResult( Query, 6 )
Reset[id] = SQL_ReadResult( Query, 7 )
Plata[id] = SQL_ReadResult( Query, 8 )
Puntos[id] = SQL_ReadResult( Query, 9 )
Rangos[id] = SQL_ReadResult( Query, 10 )
FragsCarnage[id] = SQL_ReadResult( Query, 11 )
Habilidades[id][0] = SQL_ReadResult( Query, 12 )
Habilidades[id][1] = SQL_ReadResult( Query, 13 )
Habilidades[id][2] = SQL_ReadResult( Query, 14 )
Habilidades[id][3] = SQL_ReadResult( Query, 15 )
Habilidades[id][4] = SQL_ReadResult( Query, 16 )
Habilidades[id][5] = SQL_ReadResult( Query, 17 )
Habilidades[id][6] = SQL_ReadResult( Query, 18 )
Habilidades[id][7] = SQL_ReadResult( Query, 19 )
Habilidades[id][8] = SQL_ReadResult( Query, 20 )
Habilidades[id][9] = SQL_ReadResult( Query, 21 )
Habilidades[id][10] = SQL_ReadResult( Query, 22 )
red[id] = SQL_ReadResult( Query, 23 )
green[id] = SQL_ReadResult( Query, 24 )
blue[id] = SQL_ReadResult( Query, 25 )
SQL_ReadResult(Query, 26, HUD_STATS_X[id])
SQL_ReadResult(Query, 27, HUD_STATS_Y[id])
func_login_success( id )
}
else {
client_print( id, print_chat, "%s Contrasenia incorrecta.", szPrefix );
client_cmd( id, "spk buttons/button10.wav" );
show_login_menu( id );
}
}
case CARGAR_DATOS: {
if( SQL_NumResults( Query ) ) {
g_id[ id ] = SQL_ReadResult( Query, 0 );
g_experiencia[ id ] = SQL_ReadResult( Query, 1 );
Nivel[id] = SQL_ReadResult( Query, 2 )
Frags[id] = SQL_ReadResult( Query, 3 )
Reset[id] = SQL_ReadResult( Query, 4 )
Plata[id] = SQL_ReadResult( Query, 5 )
Puntos[id] = SQL_ReadResult( Query, 6 )
Rangos[id] = SQL_ReadResult( Query, 7 )
FragsCarnage[id] = SQL_ReadResult( Query, 8 )
Habilidades[id][0] = SQL_ReadResult( Query, 9 )
Habilidades[id][1] = SQL_ReadResult( Query, 10 )
Habilidades[id][2] = SQL_ReadResult( Query, 11 )
Habilidades[id][3] = SQL_ReadResult( Query, 12 )
Habilidades[id][4] = SQL_ReadResult( Query, 13 )
Habilidades[id][5] = SQL_ReadResult( Query, 14 )
Habilidades[id][6] = SQL_ReadResult( Query, 15 )
Habilidades[id][7] = SQL_ReadResult( Query, 16 )
Habilidades[id][8] = SQL_ReadResult( Query, 17 )
Habilidades[id][9] = SQL_ReadResult( Query, 18 )
Habilidades[id][10] = SQL_ReadResult( Query, 19 )
red[id] = SQL_ReadResult( Query, 20 )
green[id] = SQL_ReadResult( Query, 21 )
blue[id] = SQL_ReadResult( Query, 22 )
SQL_ReadResult(Query, 23, HUD_STATS_X[id])
SQL_ReadResult(Query, 24, HUD_STATS_Y[id])
func_login_success( id );
}
else {
client_print( id, print_chat, "%s Error al cargar los datos, intente nuevamente.", szPrefix );
show_login_menu( id );
}
}
case GUARDAR_DATOS: {
if( failstate < TQUERY_SUCCESS )
console_print( id, "%s Error en el guardado de datos.", szPrefix );
else
console_print( id, "%s Datos guardados.", szPrefix );
}
case CAMBIAR_PASSWORD: {
if( failstate < TQUERY_SUCCESS )
client_print( id, print_chat, "%s Error al intentar cambiar la clave.", szPrefix );
else
client_print( id, print_chat, "%s Clave cambiada correctamente.", szPrefix );
}
}
}
public func_login_success( id ) {
engclient_cmd( id, "jointeam", "5" );
engclient_cmd( id, "joinclass", "5" );
g_estado[ id ] = LOGUEADO;
set_user_info( id, "name", g_playername[ id ] );
}
#if defined MYSQL
public MySQLx_Init( )
{
g_hTuple = SQL_MakeDbTuple( MYSQL_HOST, MYSQL_USER, MYSQL_PASS, MYSQL_DATEBASE );
if( !g_hTuple )
{
log_to_file( "SQL_ERROR.txt", "No se pudo conectar con la base de datos." );
return pause( "a" );
}
return PLUGIN_CONTINUE;
}
#else
public MySQLx_Init( )
{
new get_type[ 12 ];
SQL_SetAffinity( "sqlite" );
SQL_GetAffinity( get_type, sizeof get_type );
if( !equali( get_type, "sqlite" ) )
{
log_to_file( "SQLITE_ERROR.txt", "Error de conexion" );
return pause( "a" );
}
g_hTuple = SQL_MakeDbTuple( "", "", "", SQLITE_DATEBASE );
return PLUGIN_CONTINUE
}
#endif
public plugin_end( )
SQL_FreeHandle( g_hTuple );