Hola a Todos
Mi problema es que no puedo lograr que los Terros y CT's ganen los Frags para Subir al siguiente nivel...
Aqui les Dejo el CODE
PHP Code:
/* Esto es un ejemplo
-- Por supuesto, esta pensado para los que ya tienen niveles creados
-- Reemplazar variable_de_nivel por su variable de nivel que hallan creado ustds
-- Con eso, y adaptarlo a lo que ustedes quieran, tendria que andar
/\ FORMA 1 /\
*/
// Includes
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <HamSandWich>
// Creditos y pelotudeces
#define PLUGIN "Tuto Rangos"
#define VERSION "1.0"
#define AUTHOR "Manu"
// Ni ganas de explicar :P Jaja
// Creamos la variable que contiene los nombres de los rangos...
new g_level[33] // Levels
new g_frags[33] // Frags para los Niveles
// La cantidad de Frags necesarios para avanzar de un rango a otro
new gRangoNecesario[] = {
5,
7,
13,
17,
32
}
new szRango[][] = {
"Nivel 1",
"Nivel 2",
"Nivel 3",
"Nivel 4",
"Nivel 5"
}
// Iniciamos el plugin
public plugin_init()
{
// Registramos..
register_plugin(PLUGIN, VERSION, AUTHOR)
// Registramos el evento DeathMsg, para checkearle al atacante el rango
RegisterHam(Ham_Killed, "player", "fw_PlayerKilled")
// Registramos /rango para despues mostrarselo
register_clcmd("say /nivel","show_rango")
}
// Evento del deathmsg
public fw_PlayerKilled(id, victim, attacker, shouldgib)
{
if(cs_get_user_team(attacker) == CS_TEAM_CT && cs_get_user_team(victim) == CS_TEAM_T) // Si el Terro es Atacante ganara 10 frags
{
g_frags[attacker] += 4
print_color(attacker, "[AMXX] Has Ganado 4 Frags por Matar a un Terrorista.")
check_level(attacker)
}
if (cs_get_user_team(attacker) == CS_TEAM_T && cs_get_user_team(victim) == CS_TEAM_CT) // si Terro es Atacante
{
g_frags[attacker] += 3 // acá quiere decir que le damos 3 Frags
print_color(attacker, "[AMXX] Has Ganado 3 Frags por Matar a un Anti-Terrorista.") // acá le mandamos un mensaje al al Terro
check_level(attacker)
}
}
public check_level(id)
{
if (g_frags[id] > gRangoNecesario[sizeof gRangoNecesario - 1] - 1)
return PLUGIN_HANDLED;
while (g_frags[id] >= gRangoNecesario[g_level[id]])
{
g_level[id]++ // Esto es para chequee cuando subes de nivel
print_color(id, "[AMXX] Felicidades has Subido al: %d", g_level[id]) // Cuando subas de nivel te enviara este mensaje diciendote a que nivel subiste
}
return PLUGIN_HANDLED;
}
public show_rango(index)
{
// Le printeamos el rango actual
client_print(index,print_chat,"[AMXX] Tu estas en el Nivel: %s",szRango[g_level[index]])
// Es decir, szRango[el rango actual del user]
// Pongamosle que mi rango es 4, me saltaria el string: General
return PLUGIN_HANDLED
}
stock print_color(const id,const input[], any:...)
{
new msg[191], players[32], count = 1;
vformat(msg,190,input,3);
replace_all(msg,190,"!g","^4");// green
replace_all(msg,190,"!n","^1");// normal
replace_all(msg,190,"!t","^3");// team
if (id) players[0] = id; else get_players(players,count,"ch");
for (new i=0;i<count;i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE,get_user_msgid("SayText"),_,players[i]);
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
Si pudiesen probar el Plugin, se los agradeceria
Cuando me mata algun BOT o algo, recien me dice Te han Sumado 3 Frags
Ayuda...
Se que el CODE esta mal pero no se como arreglarlo.