| supertrio17 |
06-03-2020 13:52 |
Re: vip/admin models
1 Attachment(s)
PHP Code:
#include <amxmodx> #include <amxmisc> #include <cstrike>
#define PLUGIN "Admin Model Menu" #define VERSION "1.1" #define AUTHOR "Mr. Boopsy" #define ADMIN_LEVEL_Q ADMIN_LEVEL_C
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("say /admodels", "admin") }
public plugin_precache() { precache_model("models/player/Asasin/Asasin.mdl") precache_model("models/player/Death/Death.mdl") precache_model("models/player/Dobby/Dobby.mdl") precache_model("models/player/Sonic/Sonic.mdl") precache_model("models/player/Skeleton/Skeleton.mdl") precache_model("models/player/Joker/Joker.mdl") precache_model("models/player/Iron/Iron.mdl") } public admin(id) { new CsTeams:Team = cs_get_user_team(id);
if (Team == CS_TEAM_CT) { if (get_user_flags(id) & ADMIN_LEVEL_H) { model_menu_ct(id); } else { ChatColor(id, "!n>> !gYou don't have required flag!"); } } else if (Team == CS_TEAM_T) { if (get_user_flags(id) & ADMIN_LEVEL_H) { model_menu_tt(id); } else { ChatColor(id, "!n>> !gYou don't have required flag!"); } } else if (get_user_flags(id) & ADMIN_LEVEL_H) { if (!(Team == CS_TEAM_CT) || !(Team == CS_TEAM_CT)) { ChatColor(id, "!n>> !gYou have to be in valid team to use this command!"); } } }
public model_menu_ct(id) { new menu_ct = menu_create("\r[\wAdmin Models\r]\r", "menu_ct_f") menu_additem(menu_ct, "\wDeath", "1", 0) menu_additem(menu_ct, "\wSonic", "2", 0) menu_additem(menu_ct, "\wSkeleton", "3", 0)
menu_setprop(menu_ct, MPROP_EXIT, MEXIT_ALL) menu_display(id, menu_ct, 0) }
public model_menu_tt(id) { new menu_tt = menu_create("\r[\wAdmin Models\r]\r", "menu_tt_f") menu_additem(menu_tt, "\wAsasin", "1", 0) menu_additem(menu_tt, "\wDobby", "2", 0) menu_additem(menu_tt, "\wJoker", "3", 0) menu_additem(menu_tt, "\wIron", "4", 0)
menu_setprop(menu_tt, MPROP_EXIT, MEXIT_ALL) menu_display(id, menu_tt, 0) }
public menu_ct_f(id, menu_ct, item) { if (item == MENU_EXIT) { menu_destroy(menu_ct) return PLUGIN_HANDLED } new data[6], iName[64] new acces, callback menu_item_getinfo(menu_ct, item, acces, data,5, iName, 63, callback) new key = str_to_num(data) switch(key) { case 1 : cs_set_user_model(id, "Death") case 2 : cs_set_user_model(id, "Sonic") case 3 : cs_set_user_model(id, "Skeleton") } menu_destroy(menu_ct) return PLUGIN_HANDLED }
public menu_tt_f(id, menu_tt, item_tt) { if (item_tt == MENU_EXIT) { menu_destroy(menu_tt) return PLUGIN_HANDLED } new data_tt[6], iName_tt[64] new acces_tt, callback_tt menu_item_getinfo(menu_tt, item_tt, acces_tt, data_tt,5, iName_tt, 63, callback_tt) new key_tt = str_to_num(data_tt) switch(key_tt) { case 1 : cs_set_user_model(id, "Asasin") case 2 : cs_set_user_model(id, "Dobby") case 3 : cs_set_user_model(id, "Joker") case 4 : cs_set_user_model(id, "Iron") } menu_destroy(menu_tt) return PLUGIN_HANDLED }
stock ChatColor(const id, const input[], any:...) { new count = 1, players[32]; static msg[191]; vformat(msg, 190, input, 3); replace_all(msg, 190, "!g", "^4"); // verde replace_all(msg, 190, "!n", "^1"); // galben/alb/negru replace_all(msg, 190, "!t", "^3"); // rosu/albastru/gri replace_all(msg, 190, "!t2", "^0"); // rosu2/albastru2/gri2 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(); } } } }
I changed a few things in code. I added error message when people in SPEC try to use it, and translated error messages for people without "t" admin flag.
I found one error, that I have no time to fix, maybe tommorow when if I find some free time.
The error occurs when you change teams, so if admin already has for example Sonic model, and changes team to TT, he will have that model when spawned. You can compile that code or download .sma from here.
Edit:
Tested and working!
|