Ràngós CSGO + Knifes Por Rângô
#1
Lengua 
Son los rangos de kikizone con knifes es algo fácil pero acá lo dejo si alguien busca esto.

no lo probé pero compila si hay algo malo me dicen,

lo aporte con tal de que no se pierda en los pedidos

nFvault
Código PHP:
#include amxmisc
#include fakemeta
#include nfvault
#include hamsandwich
#include cstrike
#include ColorChat

new const Web[] = "AMXMODX-ES.COM"  // Se Muestra en HUD
new const Prefijo[] = "!g[RANGOS]!y" // Prefijo en say
new const Sonido[] = "rango/up.wav" // Sonido Rango UP

new const PLUGIN[][] = { "Rangos CSGO + Knifes""1.0""kikizon" }

enum _:DATA_K K_NOMBRE32 ], VMDL30 ], PMDL30 ], NECESARIO }
enum _:DATA {NOMBRE[30], FRAGS }

new const 
Knifes[ ][ DATA_K ] = {
    { 
"Normal""v_knife""p_knife"},
    { 
"Knife feo :v""v_knife""p_knife"}
};

new const 
Rangos[][DATA] = {
    { 
"Sin Rango"100 },
    { 
"Silver I"200 },
    { 
"Silver II"300 },
    { 
"Silver III"500 },
    { 
"Silver IV"700 },
    { 
"Silver Elite"800 },
    { 
"Silver Elite Master"900 },
    { 
"Gold Nova I"1000 },
    { 
"Gold Nova II"1200 },
    { 
"Gold Nova III"1300 },
    { 
"Gold Nova Master"1400 },
    { 
"Master Guardian I",1500 },
    { 
"Master Guardian II"1700 },
    { 
"Master Guardian Elite"1800 },
    { 
"Distinguished Master Guardian"1900 },
    { 
"Legendary Eagle"2000 },
    { 
"Legendary Eagle Master"2100 },
    { 
"Supreme Master First Class"2200 },
    { 
"The Global Elite"2500 },
         { 
""99999 //fix
}


new 
g_rango[33], g_frags[33], kElegido33 ]
new 
SyncHUDg_maxplayersg_msgTeamInfog_msgSayTextg_playername[33][32];
#define TASK_HUD 2100
#define ID_HUD (taskid - TASK_HUD)
#define XD is_user_connected(id) || !is_user_bot(id) || !is_user_hltv(id)
new VaultRango[128], szRangos[180], szKey[30]

/* ====================================
*[Cvars]*
=====================================*/
new cvar_Hudcvar_knifex2cvar_hsx2
/* ====================================
*[INIT]*
=====================================*/
public plugin_init() {
    
register_plugin(PLUGIN[0], PLUGIN[1], PLUGIN[2])
    
    
register_event("DeathMsg""Event_DeathMsg""a")
    
register_logevent("logevent_round_end"2"1=Round_End")
    
RegisterHam(Ham_Item_Deploy"weapon_knife""ham_KnifeDeployPost"true);
    
register_clcmd("say""message_saytext"
    
register_clcmd("say_team""message_sayteam")
    
    
register_clcmd("asd""ShowMenuKnifes")
    
    
    
cvar_Hud register_cvar("rangos_hud""1")          // 1 - Mostrar HUD | 0 - No Mostrar
    
cvar_knifex2 register_cvar("rangos_knifex2""1")    // 1 - x2 frags con knife | 0 - ÑO :v
    
cvar_hsx2 register_cvar("rangos_hsx2""1")        // 1 - x2 frags de HeadShot | 0 - ÑO :v
    
    
    
SyncHUD CreateHudSyncObj()
    
g_maxplayers get_maxplayers()
    
g_msgTeamInfo get_user_msgid("TeamInfo")
    
g_msgSayText get_user_msgid("SayText")
    
    
nfv_file("Ranguitos"VaultRangocharsmax(VaultRango))
}
public 
plugin_precache() {
    static 
ibuffer[300];
    
    for(
0sizeof Knifes; ++i)
    {
        
formatexbuffercharsmax(buffer), "models/%s.mdl"Knifes][ VMDL ] );
        
precache_modelbuffer );
        
        
formatexbuffercharsmax(buffer), "models/%s.mdl"Knifes][ PMDL ] );
        
precache_modelbuffer );
    }
    
precache_sound(Sonido)
}
public 
ham_KnifeDeployPost(wpn) {
    static 
idid get_weapon_ent_owner(wpn);
    
    if (!
pev_valid(id) || !is_user_aliveid )) return;
    
    static 
WeaponIDWeaponID cs_get_weapon_id(wpn); 
    
    static 
buffer[128];
    
    if(
WeaponID == CSW_KNIFE)
    {
        
formatexbuffercharsmaxbuffer ), "models/%s.mdl"Knifes[kElegido[id]][VMDL]);
        
set_pev(idpev_viewmodel2buffer );
        
        
formatexbuffercharsmaxbuffer ), "models/%s.mdl"Knifes[kElegido[id]][PMDL]);
        
set_pev(idpev_weaponmodel2buffer);
    }
}

public 
ShowMenuKnifesindex ) {
    static 
kmenustring[80]; menu menu_create"\rMenu de Cuchillos""menu_knifes" );
    
    for( 
0sizeof Knifes; ++)
    {
        if(
g_rangoindex ] >= Knifes][ NECESARIO ])
            
menu_additemmenuKnifes][ K_NOMBRE ], "" );
        else
        {
            
formatexstringcharsmax( string ), "\d%s \y[ \r%s \y]"Knifes][ K_NOMBRE ], RangosKnifes[k][NECESARIO]][NOMBRE]);
            
menu_additemmenustring"" );
        }
    }
    
    
menu_displayindexmenu );
    return 
PLUGIN_HANDLED;
}

public 
menu_knifesindexmenuitem ){
    if(
item == MENU_EXIT){
        
menu_destroymenu );
        return 
PLUGIN_HANDLED;
    }
    
    if(
g_rangoindex ] < Knifesitem ][ NECESARIO ])
    {
        
ColorChatindexNORMAL"Necesitas ser rango: !g^"%s^" !npara usar este knife"RangosKnifes[item][NECESARIO]][NOMBRE]);
        
ShowMenuKnifesindex );
        return 
PLUGIN_HANDLED;
    }
    
    
kElegidoindex ] = item;
    
engclient_cmdindex"weapon_knife");
    
    
menu_destroymenu );
    return 
PLUGIN_HANDLED;
}
public 
HUD(taskid) {
    new 
id ID_HUD
    
    
if (!is_user_alive(id)) {
        
id pev(idpev_iuser2)
        if (!
is_user_alive(id)) return;
    }
    
    if(
id != ID_HUD) {
        
set_hudmessage(2552552550.600.6716.01.0)
        
ShowSyncHudMsg(ID_HUDSyncHUD"Frags: %d  ||  Rango: %s"g_frags[id], Rangos[g_rango[id]][NOMBRE])
        } else {
        
set_hudmessage(025500.00.2016.01.0)
        
ShowSyncHudMsg(ID_HUDSyncHUD"=======================^nFrags: %d^nRango: %s^n=======================^nSig. Rango: %s^nFrags Restantes: %d^n=======================^n%s"
        
g_frags[id], Rangos[g_rango[id]][NOMBRE], Rangos[g_rango[id]+1][NOMBRE], Rangos[g_rango[id]][FRAGS] -  g_frags[id], Web)
    }
    

/* ==================================
[PUTINSERVER]
===================================*/
public client_putinserver(id) {
    
get_user_nameidg_playernameid ], charsmaxg_playername[ ] ) );
    
g_rango[id] = 0
    g_frags
[id] = 0
    
    Cargar
(id)
    
    if(
get_pcvar_num(cvar_Hud)) 
        
set_task(1.0"HUD"id+TASK_HUD__"b")
}
/* ==================================
[DISCONNECT]
===================================*/
public client_disconnect(id) {
    if(
XDGuardar(id);
    
    
remove_task(id+TASK_HUD)
}

/* ==================================
[ROUND END]
===================================*/
public logevent_round_end() {
    for(new 
id 1id <= g_maxplayersid++) {
        if(
XD
            
Guardar(id); 
    }
}
/* ==================================
[DEATHMSG]
===================================*/
public Event_DeathMsg() {
    new 
attacker read_data(1)
    new 
victim read_data(2)
    new 
hs read_data(3)
    
    if(
victim == attacker) return;
    
    if(
is_user_alive(attacker)) {
        
g_frags[attacker]++
        
        if(
get_pcvar_num(cvar_knifex2)) {
            if(
get_user_weapon(attacker) == CSW_KNIFE) return; 
                
g_frags[attacker]++
        }
        if(
get_pcvar_num(cvar_hsx2)) {
            if(
hsg_frags[attacker]++
        }
        
AumentarRango(attacker)
    }
}
/* ================================
[UPDATE RANGO]
=================================*/
AumentarRango(id) {    
    new 
Aumento false
    
    
while(g_frags[id] >= Rangos[g_rango[id]][FRAGS]) {
        
Aumento true
        g_rango
[id]++
    }
    
    if(
Aumento) {
        
ColorChat(idNORMAL"%s Felicidades subiste al rango: !g[ %s ]"PrefijoRangos[g_rango[id]][NOMBRE])
        
client_cmd(id"spk %s"Sonido)
        
Aumento false
    
}

/*=====================================
*[SAY]*
=====================================*/
public message_saytext(id) { 
    static 
said[192
    
read_args(saidcharsmax(said)) 
    
remove_quotes(said
    
    if (
said[0] == '@' || said[0] == '%' || said[0] == '/' || said[0] == '.' || said[0] == '!' || equal (said""))
        return 
PLUGIN_HANDLED
    
    
if (!ValidMessage(said1)) return PLUGIN_CONTINUE;
    
    static 
color[11], name[32], alive[11]
    
get_user_team(id,color,charsmax(color))
    
get_user_name(id,name,charsmax(name))
    
    if (
is_user_alive (id)) {
        
alive ""
        
} else {
        
alive "[Muerto]"
    
}
    
    if (
is_user_admin(id)) {
        if (
get_user_flags(id) & ADMIN_KICK
            
format(saidcharsmax(said), "^x01%s^x04%s ^x03%s ^x04: %s"aliveRangos[g_rango[id]][NOMBRE], namesaid)
        } else {
        
format(saidcharsmax(said), "^x01%s^04%s ^x03%s ^x01: %s"aliveRangos[g_rango[id]][NOMBRE], namesaid)
    }
    
    static 
iteam[11
    for (
1<= g_maxplayersi++) {
        if (!
is_user_connected(i)) continue
        
get_user_name(id,name,charsmax(name))
        
        if (
is_user_admin(i) || is_user_alive(id) && is_user_alive(i) || !is_user_alive(id) && !is_user_alive(i)) {
            
get_user_team(iteamcharsmax(team))
            
changeTeamInfo(icolor)
            
writeMessage(isaid)
            
changeTeamInfo(iteam)
        }
    }
    return 
PLUGIN_HANDLED_MAIN;
}

public 
message_sayteam(id)
{    
    static 
said[192
    
read_args(saidcharsmax(said)) 
    
remove_quotes(said
    
    if (
said[0] == '@' || said[0] == '%' || said[0] == '/' || said[0] == '.' || said[0] == '!' || equal (said""))
        return 
PLUGIN_HANDLED
    
    
if (!ValidMessage(said1)) return PLUGIN_CONTINUE
    
    static 
playerTeamplayerTeamName[19]
    
playerTeam get_user_team(id)
    
    switch (
playerTeam) {
        case 
1copy (playerTeamName6"TE")
            case 
2copy (playerTeamName8"CT"
            default: 
copy (playerTeamName11"SPEC"
    }
    
    static 
color[11], name[32], alive[11]
    
get_user_team(id,color,charsmax(color))
    
get_user_name(id,name,charsmax(name))
    
    if (
is_user_alive (id)) {
        
alive ""
        
} else {
        
alive "[MUERTO]"
    
}
    
    if (
is_user_admin(id)) {
        if (
get_user_flags(id) & ADMIN_RCON)
            
format(saidcharsmax(said), "^x01%s [ %s ] ^x04%s ^x03%s ^x04: %s"aliveplayerTeamRangos[g_rango[id]], namesaid)
        } else {
        
format(saidcharsmax(said), "^x01%s [ %s ] ^04%s ^x03%s ^x01: %s"aliveplayerTeamRangos[g_rango[id]],namesaid)
    }
    
    static 
iteam[11
    for (
1<= g_maxplayersi++) {
        if (!
is_user_connected(i)) continue;
        
get_user_name(id,name,charsmax(name))
        
        if (
get_user_team(i) == playerTeam || is_user_admin(i)) {
            if (
is_user_alive(id) && is_user_alive(i) || !is_user_alive(id) && !is_user_alive(i)) {
                
get_user_team(iteamcharsmax(team))
                
changeTeamInfo(icolor)
                
writeMessage(isaid)
                
changeTeamInfo(iteam)
            }
        }
    }
    return 
PLUGIN_HANDLED_MAIN;
}
public 
changeTeamInfo(playerteam[]) {
    
message_begin(MSG_ONEg_msgTeamInfo_player)
    
write_byte(player)
    
write_string(team)
    
message_end()
}




public 
writeMessage(playermessage[]) {
    
message_begin(MSG_ONEg_msgSayText, {000}, player)
    
write_byte(player)
    
write_string(message)
    
message_end()
}
/* ===================================
*[GUARDADO]*
=====================================*/
Guardar(id) {
    
formatex(szKeycharsmax(szKey), "data_rangos"
    
formatex(szRangoscharsmax(szRangos), "%d %d"g_frags[id], g_rango[id])
    
    
nfv_set_data(VaultRangoszKeyg_playername[id], szRangos)
}

Cargar(id) {
    new 
g_load_c1[25], g_load_c2[25]
    
formatex(szKeycharsmax(szKey), "data_rangos"
    
    if(!
nfv_get_data(VaultRangoszKeyg_playername[id], szRangossizeof(szRangos) - 1)) return; 
    
    
parse(szRangosg_load_c1charsmax(g_load_c1), g_load_c2charsmax(g_load_c2))
    
    
g_frags[id] = str_to_num(g_load_c1)
    
g_rango[id] = str_to_num(g_load_c2)

/* ===================================
*[STOCKS]*
=====================================*/
stock get_weapon_ent_owner(ent)
{
    if (
pev_valid(ent) != 2)
        return -
1;
    
    return 
get_pdata_cbase(ent414);


// Stock para Saber Si el mensaje es valido
stock ValidMessage(text[], maxcount) {
    static 
lenicount
    len 
strlen(text)
    
count 0
    
    
if (!len)
        return 
false;
    
    for (
0leni++) {
        if (
text[i] != ' ') {
            
count++
            if (
count >= maxcount)
                return 
true;
        }
    }
    return 
false;




Una mierda que hize sin testear jaja

es esto;

delected


Archivos adjuntos
.inc   rg.inc (Tamaño: 154 bytes / Descargas: 52)
[Imagen: zcsztw-4.png] [Imagen: 6u5fj2-4.png]
[Imagen: linkedin_thumb_image.png][Imagen: 76561198283253977.png][Imagen: linkedin_thumb_image.png]
Responder
#2
Genius
Y lo aportas después que....yo me viera echo un menú de knife por rangos ....

GeniusGenius
Malandro Buen aporte a muchos les servira..

PD: Me as ganado en apostarlo Genius aunque tiene muchas diferencias :'v
Responder
#3
Que ganas de aportar las cosas de kiki Roflmao yo aportar el weapon cso game?? Roflmao Roflmao
[Imagen: b_350_20_323957_202743_f19a15_111111.png]

Estudia siempre; el tiempo es oro, lo material se puede recuperar pero el tiempo no se puede recuperar.
(02/10/2016, 05:05 PM)meTaLiCroSS escribió: Siempre me gusta ayudar cuando alguien esta interesado realmente en ver que esta programando.
(08/08/2019, 05:32 PM)meTaLiCroSS escribió: grax x el dato cr4ck


Mis aportes

PLUGINS
MAPAS
Menú LANG [SF] Sistema de Frags
Say System (Admin Prefix)
Responder
#4
Vaya al parecer no tienen imaginacion ni creatividad para aportar sus propias cosas y recurren a aportar algo de otro persona....

Pd: Este no es el codigo original Roflmao
NO RESPONDO MP POR SOPORTE
Responder
#5
Facilitas trabajo para los nuevos buen aporte pero como dice flores Oh god why
* Ing. Informático * Mapper * Venezolano
Responder
#6
(07/08/2015, 09:23 AM)FloresMagon escribió: Vaya al parecer no tienen imaginacion ni creatividad para aportar sus propias cosas y recurren a aportar algo de otro persona....

Pd: Este no es el codigo original Roflmao

Roflmao
Responder
#7
(07/08/2015, 09:17 AM)totopizza escribió: Que ganas de aportar las cosas de kiki Roflmao yo aportar el weapon cso game?? Roflmao Roflmao
ese no lo tengo pacman
(07/08/2015, 09:23 AM)FloresMagon escribió: Vaya al parecer no tienen imaginacion ni creatividad para aportar sus propias cosas y recurren a aportar algo de otro persona....

Pd: Este no es el codigo original Roflmao

.l.
solo queria ser popular en medio de la guerra de ayer pacman
no es el cde original por que nunca lo posteo
[Imagen: zcsztw-4.png] [Imagen: 6u5fj2-4.png]
[Imagen: linkedin_thumb_image.png][Imagen: 76561198283253977.png][Imagen: linkedin_thumb_image.png]
Responder
#8
(07/08/2015, 06:46 PM)NkkI escribió:
(07/08/2015, 09:17 AM)totopizza escribió: Que ganas de aportar las cosas de kiki Roflmao yo aportar el weapon cso game?? Roflmao Roflmao
ese no lo tengo pacman
(07/08/2015, 09:23 AM)FloresMagon escribió: Vaya al parecer no tienen imaginacion ni creatividad para aportar sus propias cosas y recurren a aportar algo de otro persona....

Pd: Este no es el codigo original Roflmao

.l.
solo queria ser popular en medio de la guerra de ayer pacman
no es el cde original por que nunca lo posteo

u.u :'v y como Agg mas knifes u.u? Explica :'v
Responder
#9
Código PHP:
new const Knifes[ ][ DATA_K ] = {
//   nombre     mdlv        mdlp     rango
    
"Normal""v_knife""p_knife"},
    { 
"Knife feo :v""v_feo""p_feo"},
    
//nuevo
    
{"hola soy un knife""vmdl""pmdl"5//sin coma el ultimo

pacman
[Imagen: zcsztw-4.png] [Imagen: 6u5fj2-4.png]
[Imagen: linkedin_thumb_image.png][Imagen: 76561198283253977.png][Imagen: linkedin_thumb_image.png]
Responder
#10
seria algo así ?
pacman Thats what she said

Código PHP:
new const Knifes[][D_K] = 
{
    { 
"Default""v_default""p_default"},
    { 
"Bayonet""v_bayonet""p_bayonet"},
    { 
"ButterFly""v_butterfly""p_butterfly"},
    { 
"Flip""v_flip""p_flip"},
    { 
"Gut""v_gut""p_gut"},
    { 
"Huntsman""v_huntsman""p_huntsman"},
    { 
"M9 Bayonet""v_m9""p_m9"},
    { 
"Karambit""v_karambit""p_karambit"}
}; 
Responder
#11
El código original ^^
NO RESPONDO MP POR SOPORTE
Responder
#12
Thats what she said tu si lo tienes u.u A ysi
Responder
#13
si pacman
[Imagen: zcsztw-4.png] [Imagen: 6u5fj2-4.png]
[Imagen: linkedin_thumb_image.png][Imagen: 76561198283253977.png][Imagen: linkedin_thumb_image.png]
Responder
#14
u.u pacman Whatever
Responder
#15
( 24) Load fails: Plugin uses an unknown function (name "adv_vault_get_field") - check your modules.ini.

a q se debe eso?
Responder
#16
Ese error es porque no tenes instalado la API de adv vault.
Tenes que descargar el adv_vault.sma, compilarlo, pegarlo en la carpeta plugins y en plugins.ini lo instalas como si fuera un plugin cualquiera (adv_vault.amxx)
Otra cosa, la linea de adv_vault.amxx debe estar puesta mas antes de los plugins que utilizan adv_vault (osea, casi al principio)
Heber[S]ourcE
Veteran Member
in
Desvirtue
Tatakae
Responder
#17
Un ejemplo
Código:
Adv_vault.amxx // antes  de los rangos
Rangos.amxx  /// así debe de estar :)
Whatever

Aquí esta el .inc y source del adv_vault
--> https://amxmodx-es.com/Thread-API-Advanc...12-06-2015
Responder
#18
L 08/08/2015 - 20:33:40: [AMXX] Displaying debug trace (plugin "rangos.amxx")
L 08/08/2015 - 20:33:40: [AMXX] Run time error 4: index out of bounds
L 08/08/2015 - 20:33:40: [AMXX] [0] rangos.sma::HUD (line 131)
Responder
#19
modificaste algo del plugin o.O?

si no luego veo cuando ande en la pc..

Whatever

por que el hud si sale, esta default yo solo le agrege knifes.
[Imagen: zcsztw-4.png] [Imagen: 6u5fj2-4.png]
[Imagen: linkedin_thumb_image.png][Imagen: 76561198283253977.png][Imagen: linkedin_thumb_image.png]
Responder
#20
si sale bien, solo cambie el tag y el mdl, mas nada, me interesa esto para mi dm, tengo que examinar bien para saber como editar algo en el rank del cuchillo, pero de momento quitar los errores, ah otra cosa no se estan guardando los frags, hago 100 frags me salgo o se cambia mapa y aparecen bugs salen otros rangos y a la final no se guardan.
Responder
#21
prueba ahora pacman
[Imagen: zcsztw-4.png] [Imagen: 6u5fj2-4.png]
[Imagen: linkedin_thumb_image.png][Imagen: 76561198283253977.png][Imagen: linkedin_thumb_image.png]
Responder
#22
probare, sugerencias si usas Inc colorchat para que agregas un stock chatcolor?

solo cambia
Código PHP:
chatcolor(id"%s Felicidades subiste al rango: !g[ %s ]"PrefijoRangos[g_rango[id]][NOMBRE]) 

--------->

Código PHP:
ColorChat(idNORMAL"%s Felicidades subiste al rango:^x04 [ %s ]"PrefijoRangos[g_rango[id]][NOMBRE]) 


y elimina el stock
Responder
#23
a mierda cierto gracias es que acostumbro a usar el inc y ese plug ya trae stock xD
ahora edito Oh god why
[Imagen: zcsztw-4.png] [Imagen: 6u5fj2-4.png]
[Imagen: linkedin_thumb_image.png][Imagen: 76561198283253977.png][Imagen: linkedin_thumb_image.png]
Responder
#24
Pobre kikizon Cutecry Le roban todas sus ideas Roflmao
Buen aporte @NkkI Whatever
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Crash'
Responder
#25
el adv_vaul tiene problemas de guardado, usare de momento solo el nfvaul
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)