Senior Member
Join Date: May 2020
Location: Serbia
|
06-14-2020
, 22:14
Re: vip/admin models
|
#24
|
Quote:
Originally Posted by baly222
oh yes work sry my fault .. but just still problem about changing teams
|
Sorry if I am a little bit late on this, but I had no time, anyways, here you go.
I fixed that problem when changing teams, now you get a message when you respawn telling you that there is no need to reapply a model, and you get a message when you change teams that your model is set to default, and that you need to get a new skin. You can change your message prefix, and you can add your server name too. Hope I helped
PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <CromChat>
#include <hamsandwich>
new CsTeams:g_PreTeam[33]
new CsTeams:g_PostTeam[33]
new bool:g_HasModel[33]
#define VERSION "1.3"
#define SERVER_PREFIX "&x04[AMM]"
public plugin_init()
{
register_plugin("Admin Model Menu", VERSION, "Mr. Boopsy");
CC_SetPrefix(SERVER_PREFIX)
register_clcmd("say /admodels", "admin");
register_clcmd("say /ad", "admin");
register_clcmd("say_team /admodels", "admin");
register_clcmd("say_team /ad", "admin");
RegisterHam(Ham_Spawn, "player", "OnPlayerSpawn", 1);
RegisterHam(Ham_Killed, "player", "OnPlayerDeath", 0);
}
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 OnPlayerDeath(id)
{
new iPlayers[32], iPnum
get_players(iPlayers, iPnum)
for(new i, id2; i < iPnum; i++)
{
id2 = iPlayers[i]
if (get_user_flags(id2) & ADMIN_LEVEL_H)
{
g_PreTeam[id2] = cs_get_user_team(id2);
}
}
}
public OnPlayerSpawn(id)
{
new iPlayers[32], iPnum
get_players(iPlayers, iPnum)
for(new i, id3; i < iPnum; i++)
{
id3 = iPlayers[i]
if(g_HasModel[id] == true)
{
if (get_user_flags(id3) & ADMIN_LEVEL_H)
{
g_PostTeam[id3] = cs_get_user_team(id3);
if(g_PostTeam[id3] == g_PreTeam[id3])
{
CC_SendMessage(id3, "&x01>> &x04Your model was set, no need for change!");
}
else if(g_PostTeam[id3] != g_PreTeam[id3])
{
cs_reset_user_model(id3)
g_HasModel[id] = false;
CC_SendMessage(id3, "&x01>> &x04Model reset applied, change your model!");
}
}
}
}
}
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
{
CC_SendMessage(id, "&x01>> &x04You don't have required flag!");
}
}
else if (Team == CS_TEAM_T)
{
if (get_user_flags(id) & ADMIN_LEVEL_H)
{
model_menu_tt(id);
}
else
{
CC_SendMessage(id, "&x01>> &x04You don't have required flag!");
}
}
else if (get_user_flags(id) & ADMIN_LEVEL_H)
{
if (!(Team == CS_TEAM_CT) || !(Team == CS_TEAM_CT))
{
CC_SendMessage(id, "&x01>> &x04You have to be in valid &x03team &x04to 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");
g_HasModel[id] = true;
}
case 2:
{
cs_set_user_model(id, "Sonic");
g_HasModel[id] = true;
}
case 3:
{
cs_set_user_model(id, "Skeleton");
g_HasModel[id] = true;
}
}
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");
g_HasModel[id] = true;
}
case 2:
{
cs_set_user_model(id, "Dobby");
g_HasModel[id] = true;
}
case 3:
{
cs_set_user_model(id, "Joker");
g_HasModel[id] = true;
}
case 4:
{
cs_set_user_model(id, "Iron");
g_HasModel[id] = true;
}
}
menu_destroy(menu_tt)
return PLUGIN_HANDLED
}
It should work fine, but if there is anything that is wrong, just post here. Only to-do's here are to show what model you have when every message was given, you could make like /ac; /admcheck, to check what model is set.
__________________
Contact! || Discord:
Mr_Boopsy_#2066
|
|