Sistema de Rangos por Niveles + Hud

 
Crear una Cuenta


Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Aporte Sistema de Rangos por Niveles + Hud

#1
[Imagen: A8E.png]

[Imagen: BBD.png]

Buenas gente de DG, les traigo otro aporte "Sistema de Rangos por Niveles + Hud".
Al matar a 25 enemigos, subirás 1 nivel, al llegar a 10 niveles subiras un rango (Modificable). 
Si tienen alguna duda, comenten y tratare de solucionarlo.

Código PHP:
#include <amxmodx>
#include <fakemeta>

#define PLUGIN "Sistema de Rangos por Niveles + Hud"
#define VERSION "1.0"
#define AUTHOR "september"

#define NIVEL_NEXT(%1)    (%1 * 25)
#define NIVEL_MAX 50
#define ID_HUD (taskid - TASK_HUD)
#define TASK_HUD 232332

new const PREFIX[] = "[DG]";
new const 
WEB[] = "www.Drunk-Gaming.com";

new 
g_nivel[33];
new 
g_frags[33];
new 
g_rangos[33];
new 
g_hud;
new 
g_playername[33][32];

enum _:data_rangos
{
 
   rangos_nombre[32],
 
   rangos_nivel
};

new const 
rangos[][data_rangos] =
{
 
   "Novato"10 },
 
   "Iniciado"20 },
 
   "Avanzado"30 },
 
   "Experto"40 },
 
   "Profesional"50 }
};

public 
plugin_init()
{
 
   register_plugin(PLUGINVERSIONAUTHOR);

 
   register_event("DeathMsg""event_death""a");

 
   g_hud CreateHudSyncObj();
}

public 
client_putinserver(id)
{
 
   get_user_name(idg_playername[id], charsmax(g_playername[]));

 
   g_nivel[id] = 1;
 
   g_frags[id] = 0;
 
   g_rangos[id] = 0;

 
   set_task(1.0"hud"id+TASK_HUD__"b");
}

public 
client_disconnect(id)
{
 
   remove_task(id+TASK_HUD);
}

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(255,150,0, -1.00.8002.00.9);
 
       ShowSyncHudMsg(ID_HUDg_hud"Nombre: %s^nRango: %s | Nivel: %d/50^n%s",
 
       g_playername[id], rangos[g_rangos[id]][rangos_nombre], g_nivel[id], WEB);
 
   }
 
   else
    
{
 
       set_hudmessage(0,255,0, -1.00.8002.00.9);
 
       ShowSyncHudMsg(ID_HUDg_hud"Rango: %s | Nivel: %d/50^n%s",
 
       rangos[g_rangos[id]][rangos_nombre], g_nivel[id], WEB);
 
   }
}

public 
event_death()
{
 
   new attacker read_data(1);
 
   new victim read_data(2);

 
   if(victim == attacker) return;

 
   if(is_user_alive(attacker))
 
   {
 
       g_frags[attacker]++;
 
       update_nivel(attacker);
 
       update_rango(attacker);
 
   }
}

public 
update_nivel(id)
{
 
   new aumento_nivel false;

 
   while(g_frags[id] >= NIVEL_NEXT(g_nivel[id]) && g_nivel[id] < NIVEL_MAX)
 
   {
 
       g_nivel[id]++;
 
       aumento_nivel true;
 
   }

 
   if(aumento_nivel)
 
   {
 
       chatcolor(id"^4%s ^1Felicidades! subiste al nivel ^4%d^1."PREFIXg_nivel[id]);
 
       aumento_nivel false;
 
   }
}

public 
update_rango(id)
{
 
   new aumento_rango false;

 
   while(g_nivel[id] >= rangos[g_rangos[id]][rangos_nivel] && g_rangos[id] < sizeof(rangos)-1)
 
   {
 
       g_rangos[id]++;
 
       aumento_rango true;
 
   }

 
   if(aumento_rango)
 
   {
 
       chatcolor(id"^4%s ^1Felicidades! subiste al rango ^4%s^1."PREFIXrangos[g_rangos[id]][rangos_nombre]);
 
       aumento_rango false;
 
   }
}

stock chatcolor(const id, const input[], any:...)
{
 
   new count 1players[32];
 
   static msg[191];
 
   vformat(msg190input3);

 
   replace_all(msg190"!g""^4");
 
   replace_all(msg190"!y""^1");
 
   replace_all(msg190"!team""^3");
 
   replace_all(msg190"!team2""^0");

 
   if (idplayers[0] = id; else get_players(playerscount"ch");
 
   {
 
       for (new 0counti++)
 
       {
 
           if (is_user_connected(players[i]))
 
           {
 
               message_begin(MSG_ONE_UNRELIABLEget_user_msgid("SayText"), _players[i]);
 
               write_byte(players[i]);
 
               write_string(msg);
 
               message_end();
 
           }
 
       }
 
   }


LINK DE DESCARGA:


■ http://www.mediafire.com/file/bgln298j1j...iveles.rar
Shipping Blaze y MiguelonM. les gusta este Post
[Imagen: 7F7.png]
[Imagen: 76561198072463789.png]
Responder

#2
Buen aporte september, pero aun me pregunto, ¿porque no haces una versión del código adaptado a adv_vault al momento de terminar el código sin adv_vault? claro, publicando también el código sin adv_vault, ¿De que serviría? pues, el código sin adv_vault les serviría a la gente que quiera usarlo con otro sistema de Base De Datos y el código con adv_vault le serviría a la gente que ocupa esa DB, esa es una critica constructiva que te pueda servir para futuros aportes.

PD: Si tienes suficiente tiempo para adaptar el código a adv_vault seria, *boom* genial jaja.

Atte. comando34
september ツ le gusta este Post
[Imagen: d01VNa6.png]
[Imagen: v2OrjEp.jpg]
[Imagen: lec0CAW.png]
Responder

#3
Buen aporte September Big Grin.

Aun tratando de entender , pero voy de a pocos. Wink
september ツ le gusta este Post
Responder

#4
(02-11-2018, 03:43 AM)DG BOT RUSO escribió: Buen aporte september, pero aun me pregunto, ¿porque no haces una versión del código adaptado a adv_vault al momento de terminar el código sin adv_vault? claro, publicando también el código sin adv_vault, ¿De que serviría? pues, el código sin adv_vault les serviría a la gente que quiera usarlo con otro sistema de Base De Datos y el código con adv_vault le serviría a la gente que ocupa esa DB, esa es una critica constructiva que te pueda servir para futuros aportes.

PD: Si tienes suficiente tiempo para adaptar el código a adv_vault seria, *boom* genial jaja.

Atte. comando34

Hola comando, hay sistemas de guardados sql, mysql, fvault, nfvault y adv_vault. Yo no pongo ningun guardado en mis aportes para que ustedes lo puedan adaptar con el guardado que tengan, hay gente que usa diferentes guardados y cada guardado son distintos entre ellos. Si quieres que te adapte este aporte en algun plugin con guardado no tengo problema que hacertelo.

Saludos!.
NiankkUwU:3 y Shipping Blaze les gusta este Post
[Imagen: 7F7.png]
[Imagen: 76561198072463789.png]
Responder



Salto de foro:


Usuarios navegando en este tema:
1 invitado(s)

Forum software by © MyBB Theme edited by © FangBlade