PHP Code:
#include <amxmodx>
#include <zombieplague>
#include <fakemeta>
#include <fun>
new g_ent_playermodel[33]
new MenuKeys = (1 << 0) + (1 << 1) + (1 << 2) + (1 << 3) + (1 << 4)
new BuyMenuBodyText[256]
public plugin_init()
{
register_plugin("[ZP] Select Models", "1.0", "Anggara_nothing")
SetupSelectMenu()
register_clcmd("models", "ClCmdSelectModel")
register_menucmd(register_menuid("\rSelect the model:"), MenuKeys, "SelectIt")
}
public plugin_precache()
{
// Change your models here.
engfunc(EngFunc_PrecacheModel, "models/player/Francis/Francis.mdl")
engfunc(EngFunc_PrecacheModel, "models/player/Bill/Bill.mdl")
engfunc(EngFunc_PrecacheModel, "models/player/Louis/Louis.mdl")
engfunc(EngFunc_PrecacheModel, "models/player/Zoey/Zoey.mdl")
}
// User Infected forward
public zp_user_infected_post(id, infector)
{
// remove the glow.
set_user_rendering(id, kRenderFxNone, 0,0,0,kRenderNormal, 255)
// Remove Custom Model Entities
fm_remove_model_ents(id)
}
public ClCmdSelectModel(id)
{
if(zp_get_user_zombie(id) || zp_get_user_nemesis(id))
{
client_print(id, print_chat, "Only for human.")
set_hudmessage(200, 155, 0, -1.0, 0.50, 0, 6.0, 8.0, 0.3, 0.5, 3)
show_hudmessage(id, "Only for human.")
return PLUGIN_HANDLED;
}
else if(!is_user_alive(id))
{
client_print(id, print_chat, "Do it when you alive.")
set_hudmessage(200, 155, 0, -1.0, 0.50, 0, 6.0, 8.0, 0.3, 0.5, 3)
show_hudmessage(id, "Do it when you alive.")
return PLUGIN_HANDLED;
}
SetupSelectMenu()
show_menu(id, MenuKeys, BuyMenuBodyText)
return PLUGIN_CONTINUE;
}
public SelectIt(id, key)
{
switch (key)
{
case 0:
{
fm_remove_model_ents(id)
if (!pev_valid(g_ent_playermodel[id]))
{
g_ent_playermodel[id] = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"));
if (!pev_valid(g_ent_playermodel[id])) return ;
set_user_rendering(id, kRenderFxNone, 255, 255, 255, kRenderTransTexture, 1)
set_pev(g_ent_playermodel[id], pev_classname, "player_model")
set_pev(g_ent_playermodel[id], pev_movetype, MOVETYPE_FOLLOW)
set_pev(g_ent_playermodel[id], pev_aiment, id)
set_pev(g_ent_playermodel[id], pev_owner, id)
// and change this.
engfunc(EngFunc_SetModel, g_ent_playermodel[id], "models/player/Francis/Francis.mdl")
}
}
case 1:
{
fm_remove_model_ents(id)
if (!pev_valid(g_ent_playermodel[id]))
{
g_ent_playermodel[id] = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"));
if (!pev_valid(g_ent_playermodel[id])) return ;
set_user_rendering(id, kRenderFxNone, 255, 255, 255, kRenderTransTexture, 1)
set_pev(g_ent_playermodel[id], pev_classname, "player_model")
set_pev(g_ent_playermodel[id], pev_movetype, MOVETYPE_FOLLOW)
set_pev(g_ent_playermodel[id], pev_aiment, id)
set_pev(g_ent_playermodel[id], pev_owner, id)
// and change this.
engfunc(EngFunc_SetModel, g_ent_playermodel[id], "models/player/Bill/Bill.mdl")
}
}
case 2:
{
fm_remove_model_ents(id)
if (!pev_valid(g_ent_playermodel[id]))
{
g_ent_playermodel[id] = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"));
if (!pev_valid(g_ent_playermodel[id])) return ;
set_user_rendering(id, kRenderFxNone, 255, 255, 255, kRenderTransTexture, 1)
set_pev(g_ent_playermodel[id], pev_classname, "player_model")
set_pev(g_ent_playermodel[id], pev_movetype, MOVETYPE_FOLLOW)
set_pev(g_ent_playermodel[id], pev_aiment, id)
set_pev(g_ent_playermodel[id], pev_owner, id)
// and change this.
engfunc(EngFunc_SetModel, g_ent_playermodel[id], "models/player/Louis/Louis.mdl")
}
}
case 3:
{
fm_remove_model_ents(id)
if (!pev_valid(g_ent_playermodel[id]))
{
g_ent_playermodel[id] = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"));
if (!pev_valid(g_ent_playermodel[id])) return ;
set_user_rendering(id, kRenderFxNone, 255, 255, 255, kRenderTransTexture, 1)
set_pev(g_ent_playermodel[id], pev_classname, "player_model")
set_pev(g_ent_playermodel[id], pev_movetype, MOVETYPE_FOLLOW)
set_pev(g_ent_playermodel[id], pev_aiment, id)
set_pev(g_ent_playermodel[id], pev_owner, id)
// and change this.
engfunc(EngFunc_SetModel, g_ent_playermodel[id], "models/player/Zoey/Zoey.mdl")
}
}
case 9: return ;
}
ClCmdSelectModel(id)
return;
}
public SetupSelectMenu()
{
new menuLen = format(BuyMenuBodyText, 255, "\rSelect the model:^n^n")
menuLen += format(BuyMenuBodyText[menuLen], 255 - menuLen, "\w1. Francis^n")
menuLen += format(BuyMenuBodyText[menuLen], 255 - menuLen, "\w2. Bill^n")
menuLen += format(BuyMenuBodyText[menuLen], 255 - menuLen, "\w3. Louis^n")
menuLen += format(BuyMenuBodyText[menuLen], 255 - menuLen, "\w4. Zoey^n")
menuLen += format(BuyMenuBodyText[menuLen], 255 - menuLen, "\w0. Exit")
return 1
}
// Remove Custom Model Entities
stock fm_remove_model_ents(id)
{
// Remove "playermodel" ent if present
if (pev_valid(g_ent_playermodel[id]))
{
engfunc(EngFunc_RemoveEntity, g_ent_playermodel[id])
g_ent_playermodel[id] = 0
}
}