27/04/2020, 11:15 PM
hola chicos bueno necesito un plugins donde le pueda meter skin de arma que se vallan desblokeando por lvl del jugador y que para los admin sea gratis algo como esto
pero que sea con skin de arma
Código PHP:
#include <amxmodx>
#include <cstrike>
#include <colorchat>
#define PLUGIN "Admin Model Menu"
#define VERSION "1.0"
#define AUTHOR "Dimision"
#define next_level(%1) (%1 * 10)
#define HUD_ID (taskid - TASK_SHOWHUD)
#define MAXLEVEL 100
#define TASK_SHOWHUD 12345
new g_level[33], g_frags[33];
new synchud;
enum model_caract
{
NOMBRE[42],
MODEL_NAME[52],
NIVEL
}
new const g_model[][model_caract] =
{
{ "Agustin" , "models/player/Agustin/Agustin.mdl", 1},
{ "AngelMiku" , "models/player/AngelMiku/AngelMiku.mdl" , 5},
{ "Laura" , "models/player/Laura/Laura.mdl" , 7}
}
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /super", "model_menu")
register_clcmd("say /level", "say_level")
register_event("DeathMsg", "EventoM", "a")
synchud = CreateHudSyncObj();
}
public client_putinserver(id)
{
g_level[id] = 0;
g_frags[id] = 0;
set_task(1.0, "ShowHud", id+TASK_SHOWHUD, _, _, "b")
}
public client_disconnect(id)
remove_task(id+TASK_SHOWHUD)
public plugin_precache()
{
for(new i = 0; i < sizeof g_model; i++)
{
precache_model(g_model[i][MODEL_NAME])
}
}
public EventoM()
{
new attacker = read_data(1) // ID del atacante
new victim = read_data(2) // ID de la victima
if(attacker == victim || !is_user_connected(attacker) || !is_user_connected(victim))
return;
g_frags[attacker]++
check_level(attacker)
}
/*====================|Chequeos|====================*/
public check_level(id)
{
static lvl;
lvl = g_level[id];
while(g_frags[id] >= next_level(g_level[id]))
{
g_level[id]++
g_frags[id] = 0
}
if (lvl < g_level[id])
ColorChat(id, GREEN, "[AMXX] ^x01Felicitaciones subiste al nivel^x04 ^"%d^"", g_level[id])
}
public model_menu(id)
{
new len[150]
new menu = menu_create("\rAdmin Model Menu", "menu_wybierz")
for(new i = 0; i < sizeof g_model; i++)
{
if(g_level[id] >= g_model[i][NIVEL])
{
formatex(len, charsmax(len), "\wModel \y%s \r( \yDISPONIBLE \r)", g_model[i][NOMBRE])
menu_additem(menu, len, "")
}
else
{
formatex(len, charsmax(len), "\d( \wNivel: \r%d \d)", g_model[i][NIVEL])
menu_additem(menu, len, "")
}
}
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, menu, 0)
}
public menu_wybierz(id, menu, item)
{
if (item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED;
}
if(g_level[id] < g_model[item][NIVEL])
{
ColorChat(id, GREEN, "[AMXX] ^x01Nivel Requerido ^x03- ^x04%d", g_model[item][NIVEL])
model_menu(id)
return PLUGIN_HANDLED;
}
cs_set_user_model(id, g_model[item][NOMBRE])
ColorChat(id, GREEN, "[AMXX] ^x01Te pusiste el model ^x04%d", g_model[item][NOMBRE])
menu_destroy(menu)
return PLUGIN_HANDLED
}
public ShowHUD(taskid)
{
static id;id = HUD_ID
// Chequeo de que si esta vivo podes sacarlo si queres.
if(!is_user_alive(id))
return;
set_hudmessage(255, 255, 255, 0.02, 0.15, 0, 6.0, 12.0)
ShowSyncHudMsg(id, synchud, "Level: %d^nFrags: %d/%d (%d Restantes)", g_level[id], g_frags[id], next_level(g_level[id]), g_frags[id] - next_level(g_level[id]))
}
public say_level(id)
{
ColorChat(id, GREEN, "[AMXX] ^x01Tu nivel es^x04 ^"%d^" ^x03| ^x01Level maximo^x04 ^"%d^"", g_level[id], MAXLEVEL)
ColorChat(id, GREEN, "[AMXX] ^x01Te faltan^x04 ^"%d^" frags para el nivel ^"%d^"", g_frags[id] - next_level(g_level[id]), (g_level[id] + 1))
}
pero que sea con skin de arma