1. След избирането на модела, след името му да изписва "~Selected~" или да става в сив цвят.
2. Избрания модел да се запазва. (Не искам всеки рунд да си избирам скин.)
Благодаря предварително.
Ето и плъгина:
Код за потвърждение: Избери целия код
#include <amxmodx>
#include <hamsandwich>
native zp_get_user_zombie(id)
native zp_get_user_survivor(id)
native zp_override_user_model(id, const model[], modelindex=0)
//player model name: edit as you want
new const szModelName[][] =
{
"arctic",
"gign",
"gsg9",
"guerilla",
"leet",
"sas",
"terror",
"urban",
"vip"
}
//player model name in menu: edit as you want
new const szModelMenuName[][] =
{
"Arctic Munkey",
"GIGN",
"GSG9",
"Guerillaz",
"1337",
"SAS",
"Tellolist",
"Urban Chaos",
"VVIP"
}
new bool:bIsNewModel[33], szNewModel[33][32], bool:bIsNewRound
public plugin_precache()
{
new j, szText[64]
for(j=0; j < sizeof szModelName; j++)
{
formatex(szText, 63, "models/player/%s/%s.mdl", szModelName[j], szModelName[j])
precache_model(szText)
}
}
public plugin_init()
{
register_plugin("ZP Models Menu", "0.0.2", "wbyokomo")
register_event("HLTV", "OnNewRound", "a", "1=0", "2=0")
register_logevent("OnStartRound",2, "1=Round_Start")
RegisterHam(Ham_Spawn, "player", "OnPlayerSpawnPost", 1)
register_clcmd("say /model", "CmdNewModels")
}
public client_disconnected(id)
{
bIsNewModel[id] = false
}
public OnNewRound()
{
bIsNewRound = true
}
public OnStartRound()
{
bIsNewRound = false
}
public OnPlayerSpawnPost(id)
{
if(!is_user_alive(id) || !bIsNewModel[id]) return;
//spawn as zombie in deathmatch, no need to change model.
if(!bIsNewRound && zp_get_user_zombie(id)) return;
zp_override_user_model(id, szNewModel[id], 1)
//zp_override_user_model(id, szNewModel[id])
}
public CmdNewModels(id)
{
if(!is_user_connected(id))
{
log_amx("Unconnected player [%d] tried to use /model command.", id)
return PLUGIN_HANDLED;
}
if(zp_get_user_zombie(id) || zp_get_user_survivor(id))
{
client_print(id, print_chat, "[MODEL] Sorry! Zombie, Nemesis, Survivor can't use custom model.")
return PLUGIN_HANDLED;
}
new menu = menu_create("Human Models:", "mh_CustomModel")
new j
for(j=0; j < sizeof szModelMenuName; j++)
{
menu_additem(menu, szModelMenuName[j], "", 0)
}
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, menu, 0)
return PLUGIN_HANDLED;
}
public mh_CustomModel(id, menu, item)
{
if(!is_user_connected(id))
{
menu_destroy(id)
return PLUGIN_HANDLED;
}
if(zp_get_user_zombie(id) || zp_get_user_survivor(id))
{
menu_destroy(id)
client_print(id, print_chat, "[MODEL] Sorry! Zombie, Nemesis, Survivor can't use custom model.")
return PLUGIN_HANDLED;
}
if(item == MENU_EXIT)
{
menu_destroy(id)
return PLUGIN_HANDLED;
}
new command[6], name[64], access, callback
menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback)
bIsNewModel[id] = true
zp_override_user_model(id, szModelName[item], 1)
//zp_override_user_model(id, szModelName[item])
copy(szNewModel[id], 31, szModelName[item])
client_print(id, print_chat, "[MODEL] You've chosen '%s' as your new player model.", szModelName[item])
menu_destroy(menu)
return PLUGIN_HANDLED;
}