Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Plugin generated by AMXX-Studio */
- #include < amxmodx >
- #include < adv_vault >
- #include < hamsandwich >
- #include < cstrike >
- #include < amxmisc >
- #include < engine >
- #include < fun >
- #include < dhudmessage >
- #include < fakemeta_util >
- #include < geoip >
- #include < jctf >
- #include < colorchat >
- native cso_balrog3(id);
- native cso_rockguitar(id);
- native cso_thanatos7(id);
- native tienda_Paladin(id);
- new g_iPlugins[][] =
- {
- "rangos | evento | otras cosas",
- "Cs Apure Community",
- "1.0"
- }
- enum
- {
- CAMPO_RANGOS,
- CAMPO_FRAGS,
- CAMPO_DIAS,
- CAMPO_HORAS,
- CAMPO_MINUTOS,
- CAMPO_SEGUNDOS,
- CAMPO_MAX
- }
- new const g_hours[] =
- {
- // 9 PM a 6 AM
- 20, 21, 22, 23, 00, 01, 02, 03, 04, 05, 06, 07, 08
- }
- enum _:DATA
- {
- NOMBRE[33],
- FRAGS
- }
- new const RANGOS[][DATA] =
- {
- { "Ninguno",1 },
- { "Novato", 50 },
- { "Principiante",250 },
- { "Recluta", 1000 },
- { "Cabo", 2500 },
- { "Sub-Cabo", 5000 },
- { "Cabo-Mayor", 10000 },
- { "Teniente", 15000 },
- { "Sub-Teniente", 30000 },
- { "Capitan", 50000 },
- { "General en Jefe", 100000 },
- { "Mercenario Asesino", 250000 },
- { "Global Sentinel", 500000 }
- }
- enum _:DATA_TIENDA
- {
- NOMBRE[20],
- PRECIO,
- ADRENALINA,
- LIMIT
- }
- new const ItemsTienda[][DATA_TIENDA] =
- {
- { "Balrog III", 15000, 80, 2},
- { "Rock Guitar", 16000, 100, 3},
- { "Thanatos VII", 14000, 100, 3},
- { "AK-47 Paladin", 16000, 60, 2}
- }
- new const g_iMaps[][] = {
- "$2000$",
- "35hp_2_css",
- "aim_porno",
- "crossfire_ctf_cs",
- "de_crossfire",
- "aim_arena",
- "aim_ak-colk-cyber",
- "aim_ak-colk3",
- "aim_headshot",
- "awp_india2",
- "awp_india_2012",
- "cs_max",
- "de_dust",
- "de_dust2_2x2",
- "de_dust2_3x3",
- "de_bose",
- "de_c4",
- "fy_snow2009",
- "fy_snow_orange",
- "fy_hot_pool_day",
- "fy_new_pool_day2",
- "fy_pool_day",
- "fy_spring"
- }
- new g_iRangos[33], g_iFrags[33];
- new g_iMaxPlayers
- new g_iPlayerName[33][32]
- new g_iPlayerAuth[33][32]
- new g_iPlayerIP[33][32]
- new g_iPlayerCountry[33][64]
- new g_iPlayerTime[33][4]
- //new g_iLast_Played[33][64];
- new g_iEvents[33]
- new g_iEventHealth[33]
- new g_iLimit_Items[10]
- new SyncHUD, SyncHUD2
- new bool:g_happytime
- new g_currentmap[100]
- new g_iVault, g_iVault2, g_iCampos[CAMPO_MAX], g_iSort
- new motd[1536]
- enum (+= 100)
- {
- TASK_SHOWHUD,
- TASK_TIME
- }
- #define ID_SHOWHUD (taskid - TASK_SHOWHUD)
- #define ID_TIME (taskid - TASK_TIME)
- #define is_valid_player(%0) is_user_connected(%0) || !is_user_bot(%0) || !is_user_hltv(%0)
- new cvar_kill_hp, cvar_kill_hp_max, // regeneracion
- cvar_event_hp, cvar_event_frags_reward
- public plugin_init()
- {
- register_plugin(g_iPlugins[0], g_iPlugins[1], g_iPlugins[2])
- RegisterHam(Ham_Killed, "player", "fw_PlayerKilled")
- RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage")
- register_logevent("logevent_round_end", 2, "1=Round_End")
- register_forward(FM_ClientDisconnect, "fw_ClientDisconnect")
- register_concmd("ctf_poner_frags", "set_frags", _, "<jugador <frags> - Poner una cantidad especifica de frag's a un jugador", 0)
- register_concmd("ctf_dar_frags", "set_frags", _, "<jugador> <frags> - Darle frag's a un jugador", 0)
- register_concmd("ctf_dar_vida", "cmd_vida", _, "<jugador> <vida> - Dar vida a un jugador", 0)
- register_concmd("ctf_evento", "cmd_start_event", _, "<jugador> - Comenzar un evento con X jugador.", 0)
- register_concmd("ctf_evento_random", "cmd_start_random_event", _, "- Comenzar un evento con un jugador al azar")
- register_clcmd("say", "clcmd_say")
- register_clcmd("say_team", "clcmd_teamsay")
- register_clcmd("say /hf", "clcmd_sayhf")
- register_clcmd("say /tiempo", "clcmd_saytime")
- register_clcmd("say /toptime", "top_time")
- register_clcmd("say /Apespecial", "show_special_menu")
- register_clcmd("radio1", "show_special_menu")
- // regeneracion
- cvar_kill_hp = register_cvar("ctf_kill_hp", "30")
- cvar_kill_hp_max = register_cvar("ctf_kill_hp_max", "100")
- // evento
- cvar_event_hp = register_cvar("ctf_event_hp", "10000")
- cvar_event_frags_reward = register_cvar("ctf_event_frags_reward", "1000")
- SyncHUD = CreateHudSyncObj();
- SyncHUD2 = CreateHudSyncObj();
- g_iMaxPlayers = get_maxplayers();
- get_mapname(g_currentmap, charsmax(g_currentmap))
- g_iVault = adv_vault_open("Cs-Apure-RANGOS", false)
- g_iCampos[CAMPO_RANGOS] = adv_vault_register_field(g_iVault, "RANGOS")
- g_iCampos[CAMPO_FRAGS] = adv_vault_register_field(g_iVault, "FRAGS")
- adv_vault_init(g_iVault)
- g_iVault2 = adv_vault_open("Cs-Apure-HORAS", false)
- g_iCampos[CAMPO_DIAS] = adv_vault_register_field(g_iVault2, "DIAS")
- g_iCampos[CAMPO_HORAS] = adv_vault_register_field(g_iVault2, "HORAS")
- g_iCampos[CAMPO_MINUTOS] = adv_vault_register_field(g_iVault2, "MINUTOS")
- g_iCampos[CAMPO_SEGUNDOS] = adv_vault_register_field(g_iVault2, "SEGUNDOS")
- adv_vault_init(g_iVault2)
- g_iSort = adv_vault_sort_create(g_iVault2, ORDER_DESC, 0, 0, g_iCampos[CAMPO_DIAS], g_iCampos[CAMPO_HORAS], g_iCampos[CAMPO_MINUTOS], g_iCampos[CAMPO_SEGUNDOS])
- }
- public plugin_cfg()
- {
- set_task(0.1, "happy_hour")
- }
- public plugin_end()
- {
- static id
- for (id = 1; id < g_iMaxPlayers; id++)
- {
- // Player disconnected?
- if (!is_user_connected(id))
- return;
- GuardarR(id)
- GuardarT(id)
- }
- }
- public logevent_round_end() {
- static id
- for (id = 1; id < g_iMaxPlayers ; id++)
- {
- // Player disconnected?
- if (!is_user_connected(id))
- return;
- g_iEvents[id] = false
- fm_set_rendering(id)
- GuardarR(id)
- GuardarT(id)
- adv_vault_sort_update(g_iVault, g_iSort)
- }
- }
- public client_putinserver(id)
- {
- get_user_name(id, g_iPlayerName[id], charsmax(g_iPlayerName[]))
- get_user_authid(id, g_iPlayerAuth[id], charsmax(g_iPlayerAuth[]))
- reset_vars(id, 1)
- CargarR(id)
- CargarT(id)
- client_info(id)
- new steam = (contain(g_iPlayerAuth[id], "STEAM_0:1:") != -1 || contain(g_iPlayerAuth[id], "STEAM_0:0:") != -1)
- if(g_iFrags[id] == 0)
- {
- ColorChat(0, TEAM_COLOR, "^4Cs-Apure | ^1El Jugador:^3 %s^1 Se Ha Conectado Desde:^4 %s^1. ¡Bienvenido A^4 Cs-Apure^1! [^4%s^1]",
- g_iPlayerName[id], g_iPlayerCountry[id], steam ? "STEAM" : "ID LAN")
- }
- else
- {
- ColorChat(0, TEAM_COLOR, "^4Cs-Apure | ^1El Jugador:^3 %s^1 Se Ha Conectado Desde:^4 %s^1. (Rango:^4 %s^1) [^4%s^1]", g_iPlayerName[id], g_iPlayerCountry[id], RANGOS[g_iRangos[id]][NOMBRE], steam ? "STEAM" : "ID LAN")
- }
- if (!is_user_bot(id))
- {
- set_task(1.0, "check_time", id+TASK_TIME, _, _, "b")
- set_task(1.0, "ShowHUD", id+TASK_SHOWHUD, _, _, "b");
- }
- }
- public client_info(id)
- {
- get_user_ip(id, g_iPlayerIP[id], charsmax(g_iPlayerIP[]), 1)
- geoip_country(g_iPlayerIP[id], g_iPlayerCountry[id])
- if (equal(g_iPlayerCountry[id], "error"))
- {
- if (contain(g_iPlayerIP[id],"192.168.") == 0 || equal(g_iPlayerIP[id],"127.0.0.1") || contain(g_iPlayerIP[id],"10.") == 0 || contain(g_iPlayerIP[id],"172.") == 0)
- {
- g_iPlayerCountry[id] = "LAN"
- }
- if (equal(g_iPlayerIP[id],"loopback"))
- {
- g_iPlayerCountry[id] = "ListenServer User"
- }
- else
- {
- g_iPlayerCountry[id] = "Pais desconocido"
- }
- }
- }
- public reset_vars(id, resetall)
- {
- if(resetall)
- {
- g_iRangos[id] = 0
- g_iFrags[id] = 0
- g_iEvents[id] = false
- g_iEventHealth[id] = false
- for(new i = 0; i < 4; i++) g_iPlayerTime[id][i] = 0
- }
- }
- public fw_ClientDisconnect(id)
- {
- GuardarR(id)
- GuardarT(id)
- g_iEvents[id] = false
- g_iEventHealth[id] = false
- remove_task(id+TASK_SHOWHUD)
- remove_task(id+TASK_TIME)
- fm_set_rendering(id)
- if(task_exists(id))
- remove_task(id)
- }
- public ShowHUD(taskid)
- {
- new id = ID_SHOWHUD;
- if(!is_user_alive(id))
- {
- id = pev(id, pev_iuser2);
- }
- if(id != ID_SHOWHUD)
- {
- set_hudmessage(255, 130, 0, 0.02, 0.15, 0, 6.0, 1.0)
- ShowSyncHudMsg(ID_SHOWHUD, SyncHUD2, "| Nombre: %s |^n| Vida: %d |^n| Chaleco: %d |^n| Adrenalina: %d/100 |^n| Rango: %s |^n| Frags: %s |^n| Desde: %s |", g_iPlayerName[id], pev(id, pev_health), pev(id, pev_armorvalue), jctf_get_adrenaline(id), RANGOS[g_iRangos[id]][NOMBRE], add_point(g_iFrags[id]), g_iPlayerCountry[id])
- }
- else
- {
- set_hudmessage(255, 130, 0, 0.00, 0.15, 0, 6.0, 1.0)
- ShowSyncHudMsg(ID_SHOWHUD, SyncHUD, "| Vida: %d |^n| Chaleco: %d |^n| Adrenalina: %d/100|^n| Rango: %s |^n| Frags: %s/%s |^n| Hora Furia: %s |", pev(ID_SHOWHUD, pev_health), pev(ID_SHOWHUD, pev_armorvalue), jctf_get_adrenaline(ID_SHOWHUD), RANGOS[g_iRangos[ID_SHOWHUD]][NOMBRE], add_point(g_iFrags[ID_SHOWHUD]), add_point(RANGOS[g_iRangos[ID_SHOWHUD]][FRAGS]), g_happytime == true ? "ON" : "OFF")
- }
- }
- public fw_TakeDamage(victim, inflictor, attacker, Float:damage)
- {
- if (!is_user_connected(attacker))
- return HAM_IGNORED;
- if (g_iEvents[attacker] && g_iEvents[victim])
- return HAM_IGNORED;
- if(g_iEvents[victim] && (get_user_team(victim) == get_user_team(attacker)))
- return HAM_IGNORED;
- return HAM_IGNORED; // stop here
- }
- public fw_PlayerKilled(victim, attacker, shouldgib)
- {
- // Player disconnected?
- if(!is_user_connected(victim) || !is_user_connected(attacker))
- return;
- if(attacker == victim)
- return;
- //admin
- if(is_user_admin(attacker))
- {
- // activado modo furia
- if(g_happytime)
- {
- // por ser admin 2 + x2 del furia es 4 :u
- set_pev(attacker, pev_frags, float(pev(attacker, pev_frags)) + 3)
- g_iFrags[attacker] += 4
- }
- // desactivado modo furia
- else
- {
- // por ser admin 2
- set_pev(attacker, pev_frags, float(pev(attacker, pev_frags)) + 1)
- g_iFrags[attacker] += 2
- }
- }
- // no admin
- else
- {
- if(g_happytime)
- {
- // por usuario 1 + x2 del furia es 2 :u
- set_pev(attacker, pev_frags, float(pev(attacker, pev_frags)) + 1)
- g_iFrags[attacker] += 2
- }
- else
- {
- g_iFrags[attacker]++
- }
- }
- if(is_user_admin(victim))
- {
- if(g_happytime)
- {
- g_iFrags[attacker] += 4
- ColorChat(attacker, TEAM_COLOR, "^4Cs-Apure |^1 Ganas^3 '+4 Frags'^1 Por Matar Al Admin:^4 %s^1 En La^3 Hora Furia.", g_iPlayerName[victim])
- }
- else
- {
- g_iFrags[attacker] += 2
- ColorChat(attacker, TEAM_COLOR, "^4Cs-Apure |^1 Ganas^3 '+2 Frags'^1 Por Matar Al Admin:^4 %s^1.", g_iPlayerName[victim])
- }
- }
- if (g_iEvents[victim])
- {
- g_iFrags[attacker] += get_pcvar_num(cvar_event_frags_reward)
- ColorChat(attacker, TEAM_COLOR, "^4Cs-Apure |^1 ¡^3En Hora Buena^1! Has Ganado:^3 '+%s Frags'^1 Por Ganar El ^4Evento^1.", add_point(get_pcvar_num(cvar_event_frags_reward)))
- ColorChat(0, TEAM_COLOR, "^4Cs-Apure |^1 El Ganador Del Evento Es:^4 %s^1 Gano:^3 '+%s Frags'^1.", g_iPlayerName[attacker], add_point(get_pcvar_num(cvar_event_frags_reward)))
- ColorChat(0, TEAM_COLOR, "^4Cs-Apure |^1 El Ganador Del Evento Es:^4 %s^1 Gano:^3 '+%s Frags'^1.", g_iPlayerName[attacker], add_point(get_pcvar_num(cvar_event_frags_reward)))
- ColorChat(0, TEAM_COLOR, "^4Cs-Apure |^1 El Ganador Del Evento Es:^4 %s^1 Gano:^3 '+%s Frags'^1.", g_iPlayerName[attacker], add_point(get_pcvar_num(cvar_event_frags_reward)))
- set_hudmessage(255, 255, 0, -1.0, -1.0, 0, 0.0, 3.0, 5.0, 2.0)
- show_hudmessage(0, "El Ganador Del Evento Es: %s^nSu Ganancia: '+%s Frags'.", g_iPlayerName[attacker], add_point(get_pcvar_num(cvar_event_frags_reward)))
- g_iEvents[victim] = false
- SetHamParamInteger(3, 2)
- }
- g_iEventHealth[victim] = false
- check_range(attacker)
- GuardarR(attacker)
- if(!g_iEvents[attacker] && !g_iEventHealth[attacker])
- {
- new g_iAttackerHp = get_user_health(attacker)
- g_iAttackerHp += get_pcvar_num(cvar_kill_hp)
- if (g_iAttackerHp >= get_pcvar_num(cvar_kill_hp_max))
- g_iAttackerHp = get_pcvar_num(cvar_kill_hp_max)
- set_user_health(attacker, g_iAttackerHp)
- set_hudmessage(0, 255, 0, -1.0, 0.15, 0, 1.0, 1.0, 0.1, 0.1, -1)
- show_hudmessage(attacker, "¡Obtienes +%d De Vida!", get_pcvar_num(cvar_kill_hp))
- show_screenfade_kill(attacker, 0, 255, 0)
- }
- fm_set_rendering(victim)
- }
- public check_range(id)
- {
- new g_rangeup = false
- while (g_iFrags[id] >= RANGOS[g_iRangos[id]][FRAGS])
- {
- g_iRangos[id]++
- g_rangeup = true
- }
- if (g_rangeup)
- {
- ColorChat(id, TEAM_COLOR, "^4Cs-Apure |^1 ¡^3En Hora Buena^1! Has Subido De Rango: ^4%s^1.", RANGOS[g_iRangos[id]][NOMBRE])
- ColorChat(id, TEAM_COLOR, "^4Cs-Apure |^1 ¡^3En Hora Buena^1! Has Subido De Rango: ^4%s^1.", RANGOS[g_iRangos[id]][NOMBRE])
- ColorChat(id, TEAM_COLOR, "^4Cs-Apure |^1 ¡^3En Hora Buena^1! Has Subido De Rango: ^4%s^1.", RANGOS[g_iRangos[id]][NOMBRE])
- g_rangeup = false
- }
- }
- public check_time(taskid)
- {
- // Seconds and minutes
- if (g_iPlayerTime[ID_TIME][3] > 59)
- {
- g_iPlayerTime[ID_TIME][3] = 0
- g_iPlayerTime[ID_TIME][2]++
- }
- else
- g_iPlayerTime[ID_TIME][3]++
- // Hours
- if (g_iPlayerTime[ID_TIME][2] > 59)
- {
- g_iPlayerTime[ID_TIME][2] = 0
- g_iPlayerTime[ID_TIME][1]++
- }
- // Days
- if (g_iPlayerTime[ID_TIME][1] > 23)
- {
- g_iPlayerTime[ID_TIME][1] = 0
- g_iPlayerTime[ID_TIME][0]++
- }
- GuardarT(ID_TIME)
- }
- public clcmd_say(index)
- {
- new id = index
- static said[191]
- read_args(said, charsmax(said))
- remove_quotes(said)
- if (!is_user_connected(id))
- return PLUGIN_HANDLED;
- if (!ValidMessage(said, 1))
- return PLUGIN_CONTINUE;
- static color[11]
- get_user_team(index, color, charsmax(color))
- new g_iFlags = get_user_flags(id)
- if(is_user_admin(index))
- {
- format(said, charsmax(said), "%s^x03[^x04*%s*^x03][^x04%s^x03] %s^01:^x04 %s",
- (cs_get_user_team(index) == CS_TEAM_SPECTATOR ? "^x01*SPEC* " : is_user_alive(index) ? "" : "^x01*DEAD* "), RANGOS[g_iRangos[id]][NOMBRE], g_iFlags & ADMIN_RCON ? "Fundador" : g_iFlags & ADMIN_LEVEL_B ? "Staff" : g_iFlags & ADMIN_LEVEL_C ? "Girl" : g_iFlags & ADMIN_LEVEL_F ? "Encargado" : g_iFlags & ADMIN_LEVEL_H ? "Socio" : g_iFlags & ADMIN_KICK ? "Admin" : "Vip", g_iPlayerName[index], said)
- }
- else
- {
- format(said, charsmax(said), "%s^x03[^x04*%s*^x03] %s^01: %s", (cs_get_user_team(index) == CS_TEAM_SPECTATOR ? "^x01*SPEC* " : is_user_alive(index) ? "" : "^x01*DEAD* "), RANGOS[g_iRangos[id]][NOMBRE], g_iPlayerName[index], said)
- }
- static i, team[11];
- for (i = 1; i <= g_iMaxPlayers; i++)
- {
- // Player disconnected?
- if (!is_user_connected(i)) continue;
- get_user_team(i, team, charsmax(team))
- changeTeamInfo(i, color)
- writeMessage(i, said)
- changeTeamInfo(i, team)
- }
- return PLUGIN_HANDLED_MAIN;
- }
- public clcmd_teamsay(index)
- {
- new id = index
- static said[191]
- read_args(said, charsmax(said))
- remove_quotes(said)
- if (!ValidMessage(said, 1))
- return PLUGIN_CONTINUE;
- static playerTeam, teamname[19];
- playerTeam = get_user_team(index);
- new g_iFlags = get_user_flags(id)
- switch (playerTeam)
- {
- case 1: formatex( teamname, 18, " ^x01(*Rojos*) ");
- case 2: formatex( teamname, 18, " ^x01(*Azules*) ");
- default: formatex( teamname, 18, " ^x01(*Espectador*) ");
- }
- static color[11]
- if(is_user_admin(index))
- {
- get_user_team (index, color, charsmax(color));
- format(said, charsmax(said), "%s%s ^x03[^x04*%s*^x03][^x04%s^x03] %s^01:^x04 %s",
- is_user_alive( index ) ? "^x01" : "^x01*DEAD* ", teamname, RANGOS[g_iRangos[id]][NOMBRE], g_iFlags & ADMIN_RCON ? "Fundador" : g_iFlags & ADMIN_LEVEL_B ? "Staff" : g_iFlags & ADMIN_LEVEL_C ? "Girl" : g_iFlags & ADMIN_LEVEL_F ? "Encargado" : g_iFlags & ADMIN_LEVEL_H ? "Socio" : g_iFlags & ADMIN_KICK ? "Admin" : "Vip", g_iPlayerName[index], said)
- }
- else
- {
- get_user_team (index, color, charsmax(color));
- format(said, charsmax(said), "%s%s^x03[^x04*%s*^x03] %s^01: %s",
- is_user_alive( index ) ? "^x01" : "^x01*DEAD* ", teamname, RANGOS[g_iRangos[id]][NOMBRE], g_iPlayerName[index], said)
- }
- static i, team[11];
- for (i = 1; i <= g_iMaxPlayers; i++)
- {
- if (!is_user_connected(i)) continue;
- if (get_user_team(i) == playerTeam)
- {
- get_user_team(i, team, charsmax(team))
- changeTeamInfo(i, color)
- writeMessage(i, said)
- changeTeamInfo(i, team)
- }
- }
- return PLUGIN_HANDLED_MAIN;
- }
- public changeTeamInfo(player, team[])
- {
- message_begin(MSG_ONE, get_user_msgid( "TeamInfo" ), _, player)
- write_byte(player)
- write_string(team)
- message_end()
- }
- public writeMessage(player, message[])
- {
- message_begin(MSG_ONE, get_user_msgid( "SayText" ), {0, 0, 0}, player)
- write_byte(player)
- write_string(message)
- message_end()
- }
- public clcmd_sayhf(id)
- {
- ColorChat(id, TEAM_COLOR, "^4Cs-Apure |^1 La^4 'Hora Furia'^1 está:^4 %sACTIVADA", g_happytime == true ? "" : "DES")
- ColorChat(id, TEAM_COLOR, "^4Cs-Apure |^1 La^4 'Hora Furia'^1 %s", g_happytime == true ? "termina a las^4 6:00^1 (Hora^4 VEN^1)" : "empieza a las^4 21:00^1 (Hora^4 VEN^1)")
- ColorChat(id, TEAM_COLOR, "^4Cs-Apure |^1 La^4 'Hora Furia'^1 sirve para obtener el doble de^4 FRAGS!")
- return PLUGIN_HANDLED;
- }
- public clcmd_saytime(id)
- {
- ColorChat(id, TEAM_COLOR, "^4Cs-Apure |^1 Tiempo Jugado En Total En El Server:")
- ColorChat(id, TEAM_COLOR, "^4Cs-Apure | ^3%i ^1Día%s, ^3%i ^1Hora%s, ^3%i ^1Minuto%s y ^3%i ^1Segundo%s", g_iPlayerTime[id][0], (g_iPlayerTime[id][0] == 1 ? "" : "s"), g_iPlayerTime[id][1], (g_iPlayerTime[id][1] == 1 ? "" : "s"), g_iPlayerTime[id][2], (g_iPlayerTime[id][2] == 1 ? "" : "s"), g_iPlayerTime[id][3], (g_iPlayerTime[id][3] == 1 ? "" : "s"))
- return PLUGIN_HANDLED;
- }
- public show_special_menu(id)
- {
- for(new i = 0; i < sizeof(g_iMaps); i++)
- {
- if (equal(g_currentmap, g_iMaps[i]))
- {
- ColorChat(id, TEAM_COLOR, "^4Cs-Apure |^1 No Puedes Comprar ^4Armas ^1En Esté ^3Mapa^1." )
- return PLUGIN_HANDLED;
- }
- }
- new menu, Buffer[150], text[1024];
- formatex(Buffer, charsmax(Buffer), "\rCs-Apure | \wARMAS ESPECIALES^n\r* \yLas Armas Tienen Limite De Uso \r*^n\wPlata: \r%d\d, \wADRNL: \r%d", cs_get_user_money(id), jctf_get_adrenaline(id))
- menu = menu_create(Buffer, "handler_show_special_menu")
- for(new i = 0; i < sizeof(ItemsTienda); i++)
- {
- if(g_iLimit_Items[i] >= ItemsTienda[i][LIMIT] ) {
- formatex(text, charsmax(text), "\d%s \r[LIMITADO]", ItemsTienda[i][NOMBRE])
- } else if(jctf_get_adrenaline(id) < ItemsTienda[i][ADRENALINA]) {
- formatex(text, charsmax(text), "\d%s $%d ADRNL: %d \r[%d|%d]", ItemsTienda[i][NOMBRE], ItemsTienda[i][PRECIO], ItemsTienda[i][ADRENALINA], g_iLimit_Items[i], ItemsTienda[i][LIMIT])
- } else if(cs_get_user_money(id) < ItemsTienda[i][PRECIO]) {
- formatex(text, charsmax(text), "\d%s $%d ADRNL: %d \r[%d|%d]", ItemsTienda[i][NOMBRE], ItemsTienda[i][PRECIO], ItemsTienda[i][ADRENALINA], g_iLimit_Items[i], ItemsTienda[i][LIMIT])
- } else {
- formatex(text, charsmax(text), "\w%s \y$\w%d \yADRNL: \w%d \r[%d|%d]", ItemsTienda[i][NOMBRE], ItemsTienda[i][PRECIO], ItemsTienda[i][ADRENALINA], g_iLimit_Items[i], ItemsTienda[i][LIMIT])
- }
- menu_additem(menu, text, _, _, menu_makecallback("callback_special_menu"))
- }
- menu_setprop(menu, MPROP_EXITNAME, "Salir")
- menu_display(id, menu, 0)
- return PLUGIN_HANDLED;
- }
- public callback_special_menu(id, menu, item)
- {
- if(jctf_get_adrenaline(id) < ItemsTienda[item][ADRENALINA])
- return ITEM_DISABLED;
- if(cs_get_user_money(id) < ItemsTienda[item][PRECIO])
- return ITEM_DISABLED;
- if(g_iLimit_Items[item] >= ItemsTienda[item][LIMIT])
- return ITEM_DISABLED;
- return ITEM_ENABLED;
- }
- public handler_show_special_menu(id, menu, item)
- {
- if (!is_user_alive(id))
- return PLUGIN_HANDLED;
- if (item == MENU_EXIT)
- {
- menu_destroy(menu)
- return PLUGIN_HANDLED;
- }
- for(new i = 0; i < sizeof(g_iMaps); i++)
- {
- if (equal(g_currentmap, g_iMaps[i]))
- {
- ColorChat(id, TEAM_COLOR, "^4Cs-Apure |^1 No Puedes Comprar ^4Armas ^1En Esté ^3Mapa^1." )
- return PLUGIN_HANDLED;
- }
- }
- switch(item)
- {
- case 0: cso_balrog3(id);
- case 1: cso_rockguitar(id);
- case 2: cso_thanatos7(id);
- case 3: tienda_Paladin(id);
- }
- jctf_add_adrenaline(id, - ItemsTienda[item][ADRENALINA])
- cs_set_user_money(id, cs_get_user_money(id) - ItemsTienda[item][PRECIO], 1)
- g_iLimit_Items[item]++
- ColorChat(id, TEAM_COLOR, "^4Cs-Apure |^1 Has Comprado:^4 %s^1 Por:^3 $ %d^1 y ADRNL:^3 %s^1.", ItemsTienda[item][NOMBRE], ItemsTienda[item][PRECIO], ItemsTienda[item][ADRENALINA])
- return PLUGIN_HANDLED;
- }
- public GuardarR(id)
- {
- adv_vault_set_start(g_iVault)
- adv_vault_set_field(g_iVault, g_iCampos[CAMPO_RANGOS], g_iRangos[id])
- adv_vault_set_field(g_iVault, g_iCampos[CAMPO_FRAGS], g_iFrags[id])
- adv_vault_set_end(g_iVault, 0, g_iPlayerName[id])
- }
- public GuardarT(id)
- {
- adv_vault_set_start(g_iVault2)
- adv_vault_set_field(g_iVault2, g_iCampos[CAMPO_DIAS], g_iPlayerTime[id][0])
- adv_vault_set_field(g_iVault2, g_iCampos[CAMPO_HORAS], g_iPlayerTime[id][1])
- adv_vault_set_field(g_iVault2, g_iCampos[CAMPO_MINUTOS], g_iPlayerTime[id][2])
- adv_vault_set_field(g_iVault2, g_iCampos[CAMPO_SEGUNDOS], g_iPlayerTime[id][3])
- adv_vault_set_end(g_iVault2, 0, g_iPlayerName[id])
- }
- public CargarR(id)
- {
- if(!adv_vault_get_prepare(g_iVault, _, g_iPlayerName[id]))
- return;
- g_iRangos[id] = adv_vault_get_field(g_iVault, g_iCampos[CAMPO_RANGOS])
- g_iFrags[id] = adv_vault_get_field(g_iVault, g_iCampos[CAMPO_FRAGS])
- }
- public CargarT(id)
- {
- if(!adv_vault_get_prepare(g_iVault2, _, g_iPlayerName[id]))
- return;
- g_iPlayerTime[id][0] = adv_vault_get_field(g_iVault2, g_iCampos[CAMPO_DIAS])
- g_iPlayerTime[id][1] = adv_vault_get_field(g_iVault2, g_iCampos[CAMPO_HORAS])
- g_iPlayerTime[id][2] = adv_vault_get_field(g_iVault2, g_iCampos[CAMPO_MINUTOS])
- g_iPlayerTime[id][3] = adv_vault_get_field(g_iVault2, g_iCampos[CAMPO_SEGUNDOS])
- }
- // Happy hour
- public happy_hour()
- {
- new time_data[12]
- get_time("%H", time_data, 12)
- new g_time = str_to_num(time_data)
- // Time function
- for(new i = 0; i <= sizeof(g_hours)- 1; i++)
- {
- // Hour isn't the same?
- if(g_time != g_hours[i]) continue;
- // Enable happy time
- g_happytime = true
- break;
- }
- }
- public set_frags(id, level, cid)
- {
- if (!cmd_access(id, ADMIN_RCON, cid, 2))
- return PLUGIN_HANDLED;
- static arg[32], arg2[6], g_amount
- // ARG'v functions
- read_argv(1, arg, sizeof arg -1)
- read_argv(2, arg2, sizeof arg2 - 1)
- new g_player = cmd_target(id, arg, CMDTARGET_NO_BOTS | CMDTARGET_ALLOW_SELF)
- if (!g_player)
- return PLUGIN_HANDLED;
- g_amount = (str_to_num(arg2))
- ColorChat(0, TEAM_COLOR, "^4Cs-Apure |^1 El Admin:^4 %s^1 Le Ha Dado:^3 '+%s Frags'^1 A:^4 %s^1.", g_iPlayerName[id], add_point(g_amount), g_iPlayerName[g_player])
- g_iFrags[g_player] += g_amount
- check_range(g_player)
- GuardarR(g_player)
- Log("Admin: %s Le Ha Dado: %d Frags A: %s",
- g_iPlayerName[id], g_amount, g_iPlayerName[g_player])
- return PLUGIN_HANDLED;
- }
- // ctf_evento <jugador>
- public cmd_start_event(id, level, cid)
- {
- // Check for access flag - Start event
- if (!cmd_access(id, ADMIN_RCON, cid, 2))
- return PLUGIN_HANDLED;
- static arg[32], g_target
- // ARG'v functions
- read_argv(1, arg, charsmax(arg))
- g_target = cmd_target(id, arg, CMDTARGET_NO_BOTS | CMDTARGET_ALLOW_SELF | CMDTARGET_ONLY_ALIVE)
- // Player was not found
- if (!g_target)
- return PLUGIN_HANDLED;
- // Enough players per event
- if (fnGetEvents() > 3)
- {
- client_print(id, print_console, "Cs-Apure | Solo esta permitido 4 personas por evento.")
- return PLUGIN_HANDLED;
- }
- // Already on event
- if (g_iEvents[g_target])
- {
- client_print(id, print_console, "Cs-Apure | Esta persona ya esta en evento.")
- return PLUGIN_HANDLED;
- }
- // Print on the chat
- ColorChat(0, TEAM_COLOR, "^4Cs-Apure |^1 El Admin:^4 %s^1 Ha Iniciado Un Evento Con:^3 %s^1.", g_iPlayerName[id], g_iPlayerName[g_target])
- // Set health, armor and render
- g_iEvents[g_target] = true
- set_user_health(g_target, get_pcvar_num(cvar_event_hp))
- set_user_armor(g_target, 999)
- set_user_rendering(g_target, kRenderFxGlowShell, 212, 255, 0, kRenderNormal, 100)
- /*for (new i = 1; i < g_iMaxPlayers; i++)
- {
- if(!is_user_connected(i) || (cs_get_user_team(i) != CS_TEAM_T && cs_get_user_team(i) != CS_TEAM_CT))
- continue;
- server_cmd("mp_autoteambalance ^"0^"") // desactiva el auto balance
- server_cmd("mp_round_infinite ^"0^"") // la ronda infinita para evitar drogas xd
- server_cmd("sv_restart ^"1^"") // no lo se dime tu :u
- user_kill(i)
- if(g_iEvents[i] && cs_get_user_team(i) != CS_TEAM_T)
- engclient_cmd(i, "jointeam", "1")
- else
- engclient_cmd(i, "jointeam", "2")
- }*/
- // Show message on screen
- set_dhudmessage(255, 255, 255, -1.0, -1.0, 0, 0.0, 3.0, 5.0, 2.0)
- show_dhudmessage(0, "¡EVENTO INICIADO!^nMATA A %s Y Gana %s Frags", g_iPlayerName[g_target], add_point(get_pcvar_num(cvar_event_frags_reward)))
- Log("ADMIN <%s> ha iniciado un evento con <%s>", g_iPlayerName[id], g_iPlayerName[g_target])
- return PLUGIN_HANDLED; // stop here
- }
- // ctf_evento <jugador>
- public cmd_start_random_event(id, level, cid)
- {
- // Check for access flag - Start event
- if (!cmd_access(id, ADMIN_RCON, cid, 2))
- return PLUGIN_HANDLED;
- static g_target, iPlayersnum
- iPlayersnum = fnGetAlive()
- // Choose any random player
- g_target = fnGetRandomAlive(random_num(1, iPlayersnum))
- // Enough players per event
- if (fnGetEvents() > 3)
- {
- client_print(id, print_console, "Cs-Apure | Solo esta permitido 4 personas por evento.")
- return PLUGIN_HANDLED;
- }
- // Already on event
- if (g_iEvents[g_target])
- {
- client_print(id, print_console, "Cs-Apure | Esta persona ya esta en evento.")
- return PLUGIN_HANDLED;
- }
- // Print on the chat
- ColorChat(0, TEAM_COLOR, "^4Cs-Apure |^1 El Admin:^3 %s^1 Ha Iniciado Un ^4Evento Randon^1.", g_iPlayerName[id])
- // Set health, armor and render
- g_iEvents[g_target] = true
- set_user_health(g_target, get_pcvar_num(cvar_event_hp))
- set_user_armor(g_target, 999)
- set_user_rendering(g_target, kRenderFxGlowShell, 212, 255, 0, kRenderNormal, 100)
- // Show message on screen
- set_hudmessage(255, 255, 0, -1.0, -1.0, 0, 0.0, 3.0, 5.0, 2.0)
- show_hudmessage(0, "¡EVENTO AL AZAR INICIADO!^nMATA A %s Y Gana %s Frags", g_iPlayerName[g_target], add_point(get_pcvar_num(cvar_event_frags_reward)))
- Log("ADMIN <%s> ha iniciado un evento random.", g_iPlayerName[id])
- return PLUGIN_HANDLED; // stop here
- }
- public cmd_vida(id, level, cid)
- {
- if(!cmd_access(id, ADMIN_IMMUNITY, cid, 2))
- return PLUGIN_HANDLED;
- static arg[32], arg2[6], g_vida
- read_argv(1, arg, sizeof arg - 1)
- read_argv(2, arg2, sizeof arg2 - 1)
- new g_player = cmd_target(id, arg, CMDTARGET_NO_BOTS | CMDTARGET_ALLOW_SELF)
- if(!g_player)
- return PLUGIN_HANDLED;
- if (fnGetEvents() > 1)
- {
- client_print(id, print_console, "Cs-Apure | Solo se permite 2 persona con extra de vida")
- return PLUGIN_HANDLED;
- }
- // Already on event
- if (g_iEvents[g_player])
- {
- client_print(id, print_console, "Cs-Apure | Ya le diste vida a estar persona")
- return PLUGIN_HANDLED;
- }
- g_iEventHealth[g_player] = true
- g_vida = (str_to_num(arg2))
- ColorChat(id, TEAM_COLOR, "^4Cs-Apure |^1 Le Diste ^3'+%d De Vida'^1 A:^4 %s^1.", g_vida, g_iPlayerName[g_player])
- ColorChat(g_player, TEAM_COLOR, "^4Cs-Apure |^1 El Admin:^4 %s^1 Te Ha Dado:^3 '+%d De Vida'^1.", g_iPlayerName[id], g_vida)
- set_user_health(g_player, get_user_health(g_player) + g_vida)
- Log("ADMIN <%s> le dio vida a <%s>", g_iPlayerName[id], g_iPlayerName[g_player])
- return PLUGIN_HANDLED;
- }
- stock ValidMessage(text[], maxcount)
- {
- static len, i, count;
- len = strlen(text);
- count = 0;
- if (!len)
- return false;
- for (i = 0; i < len; i++)
- {
- if (text[i] != ' ')
- {
- count++
- if (count >= maxcount)
- return true;
- }
- }
- return false;
- }
- public top_time(id)
- {
- new KeyIndex;
- static len
- len = 0
- new toploop = min(adv_vault_sort_numresult(g_iVault2, g_iSort), 10);
- len += formatex(motd[len], sizeof motd-len,"<STYLE>body{background-color: rgba(255, 0, 0, 0.699);}table{background-color:rgba(0, 0, 0, 0.616);text-align:center;border-collapse:collapse;}th,td{color:rgb(255, 255, 255);padding:3px;}thead{color:white;background-color: rgb(255, 0, 0);border-bottom:3px solid rgb(255, 255, 255);}tr:nth-child(even){background-color:rgba(0, 0, 0, 0.548);}</STYLE>");
- len += formatex(motd[len], sizeof motd-len,"<body><table><thead><body style=^"background: #0d007e url('https://i.imgur.com/bIbUiKD.jpg') no-repeat;^"><tr><th width=5%% > Rank <th width=22%%> TAG <th width=20%%> Días <th width=20%%> Horas <th width=20%%> Minutos <th width=20%%> Segundos</tr></thead>");
- for(new Posicion = 1; Posicion <= toploop; Posicion++)
- {
- KeyIndex = adv_vault_sort_position(g_iVault2, g_iSort, Posicion);
- if(!adv_vault_get_prepare(g_iVault2, KeyIndex))
- continue;
- new DIAS = adv_vault_get_field(g_iVault2, g_iCampos[CAMPO_DIAS])
- new HORAS = adv_vault_get_field(g_iVault2, g_iCampos[CAMPO_HORAS])
- new MINUTOS = adv_vault_get_field(g_iVault2, g_iCampos[CAMPO_MINUTOS])
- new SEGUNDOS = adv_vault_get_field(g_iVault2, g_iCampos[CAMPO_SEGUNDOS])
- adv_vault_get_keyname(g_iVault2, KeyIndex, g_iPlayerName[id], 31 );
- len += formatex(motd[len], sizeof motd-len, "<tr>");
- len += formatex(motd[len], sizeof motd-len, "<td> %d. ", Posicion);
- len += formatex(motd[len], sizeof motd-len, "<td> %s ", g_iPlayerName[id]);
- len += formatex(motd[len], sizeof motd-len, "<td> %i ", DIAS);
- len += formatex(motd[len], sizeof motd-len, "<td> %i ", HORAS);
- len += formatex(motd[len], sizeof motd-len, "<td> %i ", MINUTOS);
- len += formatex(motd[len], sizeof motd-len, "<td> %i ", SEGUNDOS);
- }
- len += formatex(motd[len], sizeof motd-len, "</table></body>");
- show_motd( id, motd, "Cs-Apure | 10 Top Horas.");
- }
- stock add_point(number)
- {
- new count, i, str[29], str2[35], len
- num_to_str(number, str, charsmax(str))
- len = strlen(str)
- for (i = 0; i < len; i++)
- {
- if (i != 0 && ((len - i) %3 == 0))
- {
- add(str2, charsmax(str2), ".", 1)
- count++
- add(str2[i+count], 1, str[i], 1)
- }
- else
- add(str2[i+count], 1, str[i], 1)
- }
- return str2;
- }
- Log(const msg_format[], any:...)
- {
- static message[256]
- vformat(message, sizeof(message) - 1, msg_format, 2)
- // Set direction
- static dir[64], filename[98]
- if (!dir[0])
- {
- get_basedir(dir, sizeof(dir)-1)
- add(dir, sizeof(dir)-1, "/logs")
- }
- format_time(filename, charsmax(filename), "%m%d%Y")
- format(filename, sizeof(filename)-1, "%s/ACCIONES_%s.log", dir, filename)
- log_amx("%s", message)
- log_to_file(filename, "%s", message)
- }
- public show_screenfade_kill(id, red, green, blue)
- {
- // Screen fading
- message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, id)
- write_short(1<<10)
- write_short(1<<10)
- write_short(0x0000)
- write_byte(red) // r
- write_byte(green) // g
- write_byte(blue) // b
- write_byte(75)
- message_end()
- }
- fnGetAlive()
- {
- static iAlive, id
- iAlive = 0
- for (id = 1; id <= g_iMaxPlayers; id++)
- {
- if (is_user_alive(id))
- iAlive++
- }
- return iAlive;
- }
- fnGetRandomAlive(n)
- {
- static iAlive, id
- iAlive = 0
- for (id = 1; id <= g_iMaxPlayers; id++)
- {
- if (is_user_alive(id))
- iAlive++
- if (iAlive == n)
- return id;
- }
- return -1;
- }
- fnGetEvents()
- {
- static iEvents, id
- iEvents = 0
- for (id = 1; id <= g_iMaxPlayers; id++)
- {
- if (is_user_alive(id) && g_iEvents[id])
- iEvents++
- }
- return iEvents;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement