24/01/2023, 11:18 PM
(Última modificación: 26/01/2023, 04:31 AM por Goose x_O. Edited 5 times in total.
Razón: muy largo el msj al p2
)
Solucionado muchas gracias Emanuelitop
Código PHP:
#include <amxmodx>
#include <ColorChat>
#include <adv_vault>
#include <HamSandwich>
#include <fakemeta>
#include <engine>
#define PLUGIN "Sistema Rangos"
#define VERSION "1.0"
#define AUTHOR "author"
#define SiguienteRango(%1) (%1 * 25)
new hud
new Rangos[33]
new Frags[33]
new g_vault
enum
{
CAMPO_rangos,
CAMPO_frags,
CAMPO_MAX
}
new g_MsgSayText, g_MaxPlayers
const SPECT = 3
new g_campos[CAMPO_MAX]
new g_playername[33][32]
public plugin_natives()
{
register_native("Frags", "Native_Frags", 1)
}
public Native_Frags(id)
{
return Frags[id]++
}
new const gHats[][]={
"models/Oxidados/hats/Nuevo.mdl",
"models/Oxidados/hats/Recluta.mdl",
"models/Oxidados/hats/Soldado.mdl",
"models/Oxidados/hats/Soldado1.mdl",
"models/Oxidados/hats/Cabo.mdl",
"models/Oxidados/hats/Cabo1.mdl",
"models/Oxidados/hats/Sargento.mdl",
"models/Oxidados/hats/Sargento1.mdl",
"models/Oxidados/hats/Sargento2.mdl",
"models/Oxidados/hats/Suboficial.mdl",
"models/Oxidados/hats/Subteniente.mdl",
"models/Oxidados/hats/Teniente.mdl",
"models/Oxidados/hats/Capitan.mdl",
"models/Oxidados/hats/Comandante.mdl",
"models/Oxidados/hats/TenienteCoronel.mdl",
"models/Oxidados/hats/Coronel.mdl",
"models/Oxidados/hats/General.mdl",
"models/Oxidados/hats/Full.mdl"
}
new const Lista[][] = {
"Nuevo",
"Recluta",
"Soldado",
"Soldado 1",
"Cabo",
"Cabo 1",
"Sargento",
"Sargento 1",
"Sargento 2",
"Suboficial",
"Subteniente",
"Teniente",
"Capitan",
"Comandante",
"Teniente Coronel",
"Coronel",
"General",
"Full"
}
new const Prefix [] = "Oxidados"
new i
new const gSubio[] = { "Oxidados/Subiste.wav" }
new const gReviviste[] = { "Oxidados/Reviviste.wav" }
new gHatEnt[33];
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_event("DeathMsg", "Muerto", "a")
//register_event( "CurWeapon", "Event_CurWeapon", "be", "1=1" )
register_clcmd("say", "HookSay")
register_clcmd("chooseteam" , "MenuPrincipal");
register_clcmd("jointeam" , "MenuPrincipal");
register_clcmd("say /menu" , "MenuPrincipal");
register_clcmd("say /reglas" , "Reglas");
register_clcmd("say /lista" , "ListaDeRangos");
register_clcmd("say /compras" , "MenuCompras");
register_clcmd("say /precios" , "MenuCompras");
hud = CreateHudSyncObj()
g_vault = adv_vault_open("data", false)
g_campos[CAMPO_rangos] = adv_vault_register_field(g_vault, "Rangos")
g_campos[CAMPO_frags] = adv_vault_register_field(g_vault, "Frags")
adv_vault_init(g_vault)
g_MaxPlayers = get_maxplayers()
g_MsgSayText = get_user_msgid("SayText")
set_task( 90.0, "Publicidad", .flags = "b" );
}
public Publicidad()
{
ColorChat( 0, GREEN, "^x04[%s]^x01 Admins y Vips Ganaran Frags x2", Prefix);
}
public plugin_precache()
{
precache_sound(gSubio)
precache_sound(gReviviste)
for(new i = 0; i < sizeof(gHats);i++)
precache_model(gHats[i])
return PLUGIN_CONTINUE;
}
Guardar(id)
{
adv_vault_set_start(g_vault)
adv_vault_set_field(g_vault, g_campos[CAMPO_rangos], Rangos[id])
adv_vault_set_field(g_vault, g_campos[CAMPO_frags], Frags[id])
adv_vault_set_end(g_vault, 0, g_playername[id])
return PLUGIN_CONTINUE
}
Cargar(id) {
if(!adv_vault_get_prepare(g_vault, _, g_playername[id]))
return
Rangos[id] = adv_vault_get_field(g_vault, g_campos[CAMPO_rangos])
Frags[id] = adv_vault_get_field(g_vault, g_campos[CAMPO_frags])
}
public client_putinserver(id)
{
get_user_name( id, g_playername[ id ], charsmax( g_playername[ ] ) );
set_task(1.0, "ShowHUD", id+570, _, _, "b")
gHatEnt[id] = 1;
Cargar(id)
}
public client_disconnect(id)
{
if(is_valid_ent(gHatEnt[id]))
remove_entity(gHatEnt[id]);
Guardar(id);
return PLUGIN_HANDLED;
}
public Muerto()
{
new attacker = read_data(1)
new victim = read_data(2)
if(attacker == victim || !is_user_connected(attacker) || !is_user_connected(victim))
return
Frags[attacker] += (get_user_flags(attacker) & ADMIN_KICK) ? 2 : 1
SubirRango(attacker)
}
public SubirRango(id)
{
static Sumar;
Sumar = Rangos[id];
static nombre[32]
get_user_name(id, nombre, charsmax(nombre))
while(Frags[id] >= SiguienteRango(Rangos[id]))
{
Rangos[id]++
Frags[id] = 0
if(!is_valid_ent(gHatEnt[id])){
new iEntHat;
iEntHat = create_entity("info_target")
entity_set_int(iEntHat, EV_INT_movetype, MOVETYPE_FOLLOW)
entity_set_edict(iEntHat, EV_ENT_aiment, i)
gHatEnt[id] = iEntHat
}
entity_set_model(gHatEnt[id], gHats[ Rangos[id] ])
}
if (Sumar < Rangos[id])
{
client_cmd(id, "spk %s", gSubio)
ColorChat(0, GREEN, "[%s]^x01 El Jugador^x03 %s^x01 Subio Al Rango:^x04 %s", Prefix, nombre, Lista[Rangos[id]])
ColorChat(id, GREEN, "[%s]^x01 Felicidades Subiste Al Rango:^x04 %s", Prefix, Lista[Rangos[id]])
}
Guardar(id)
return
}
public ShowHUD(id)
{
static HUD_ID;
HUD_ID = id-570;
id = HUD_ID;
if (!is_user_alive(id))
{
id = pev(id, pev_iuser2);
if (!is_user_alive(id)) return;
}
static Tag[33];
get_user_name(id, Tag, charsmax(Tag));
if(id == HUD_ID){
//set_hudmessage(0, 255, 0, 0.0, 0.12, 1, 1.0, 1.0, 1.0, 1.0) //Izquierda Arriba
set_hudmessage(255, 255, 255, -1.0, 0.06, 1, 1.0, 1.0, 1.0, 1.0) //Centro Arriba
ShowSyncHudMsg(id, hud," [%s Hns Bcm]^n Nombre: %s^n Rango: %s^n Frags: %d", Prefix, Tag, Lista[Rangos[id]], Frags[id])
}
else{
//set_hudmessage(0, 255, 0, 0.0, 0.12, 1, 1.0, 1.0, 1.0, 1.0) //Izquierda Arriba
set_hudmessage(255, 255, 255, -1.0, 0.06, 1, 1.0, 1.0, 1.0, 1.0);// Centro Arriba
ShowSyncHudMsg(HUD_ID, hud," [%s Hns Bcm]^n Estas Viendo A: %s^n Rango: %s^n Frags: %d", Prefix, Tag, Lista[Rangos[id]], Frags[id])
}
}