Page 4 of 4

Re: Special Models

Posted: 12 Aug 2019, 17:00
by tmv
This plugin causes serious bugs and crashes. Please fix it.
Image

Re: Special Models

Posted: 13 Aug 2019, 18:07
by Raheem
Approximately not from the plugin, it's lack of RAM i think.

How you made sure that this is which cause this error?

Re: Special Models

Posted: 13 Aug 2019, 19:19
by tmv
Because when i disable the plugin this problem is gone

Re: Special Models

Posted: 13 Aug 2019, 20:56
by Raheem
Somehow not related to the plugin because it's tested for years and no one get this issue, also the code is very simple, all it have set user model.

Maybe read more here: https://ugetfix.com/ask/how-to-fix-the- ... ten-error/

Maybe lack of memory, try disable many plugins to free some memory and try.

Re: Special Models

Posted: 24 Jul 2020, 10:31
by fadi
plz fix this code

Code: Select all

#include <zombie_escape>

// Setting File
new const ZE_SETTING_RESOURCES[] = "zombie_escape.ini"

// Defines
#define MODEL_MAX_LENGTH 64
#define PLAYERMODEL_MAX_LENGTH 32
#define ACCESS_MAX_LENGTH 32
#define VIP ADMIN_LEVEL_E
#define ADMIN ADMIN_LEVEL_F
#define OWNER ADMIN_LEVEL_A
#define All ADMIN_LEVEL_H

// Default Models
new const szHumanOwner[][] = 
{
	"Human_Owner"
}
new const szHumanAdmin[][] = 
{
	"Human_Admin"
}
new const szVipmodel[][] = 
{
	"jocker"
}

new const szAdminZombieModel[][] = 
{
	"zombie_vip"
}

new const v_szAdminHumanKnifeModel[][] = 
{
	"models/zombie_escape/v_knife_human_admin.mdl"
}

new const v_szAdminZombieKnifeModel[][] = 
{
	"models/zombie_escape/v_knife_zombie_admin.mdl"
}

new const szHumanModel1[][] = 
{
	"human1"
}

new const szHumanModel2[][] = 
{
	"human2"
}

new const szHumanModel3[][] = 
{
	"human3"
}

new const szHumanModel4[][] = 
{
	"human4"
}

// Dynamic Arrays: Models
new Array:g_szAdminZombieModel, Array:g_v_szAdminHumanKnifeModel, Array:g_v_szAdminZombieKnifeModel,
Array:g_szHumanModel1, Array:g_szHumanModel2, Array:g_szHumanModel3, Array:g_szHumanModel4, Array:g_szVipmodel, Array:g_szHumanAdmin, Array:g_szHumanOwner

public plugin_init()
{
	register_plugin("[ZE] Special Models", ZE_VERSION, AUTHORS)
}

public plugin_precache()
{
	// Initialize Arrays
	g_szAdminZombieModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
	g_szVipmodel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
	g_v_szAdminHumanKnifeModel = ArrayCreate(MODEL_MAX_LENGTH, 1)
	g_v_szAdminZombieKnifeModel = ArrayCreate(MODEL_MAX_LENGTH, 1)
	g_szHumanModel1 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
	g_szHumanModel2 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
	g_szHumanModel3 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
	g_szHumanModel4 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
	g_szHumanAdmin = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
	g_szHumanOwner = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
	
	// Load From External File
	amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ZOMBIE ADMIN", g_szAdminZombieModel)
	amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Weapon Models", "V_KNIFE HUMAN", g_v_szAdminHumanKnifeModel)
	amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Weapon Models", "V_KNIFE ZOMBIE", g_v_szAdminZombieKnifeModel)
	amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN VIP", g_szVipmodel)
	amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 1", g_szHumanModel1)
	amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 2", g_szHumanModel2)
	amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 3", g_szHumanModel3)
	amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 4", g_szHumanModel4)
	amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN ADMIN", g_szHumanAdmin)
	amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN OWNER", g_szHumanOwner)
	
	// Load our Default Values
	new iIndex
	
	
	if(ArraySize(g_szAdminZombieModel) == 0)
	{
		for(iIndex = 0; iIndex < sizeof szAdminZombieModel; iIndex++)
			ArrayPushString(g_szAdminZombieModel, szAdminZombieModel[iIndex])
		
		// Save to external file
		amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ZOMBIE ADMIN", g_szAdminZombieModel)
	}
	if(ArraySize(g_szVipmodel) == 0)
	{
		for(iIndex = 0; iIndex < sizeof szVipmodel; iIndex++)
			ArrayPushString(g_szVipmodel, szVipmodel[iIndex])
		
		// Save to external file
		amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN VIP", g_szVipmodel)
	}
	
	if(ArraySize(g_v_szAdminHumanKnifeModel) == 0)
	{
		for(iIndex = 0; iIndex < sizeof v_szAdminHumanKnifeModel; iIndex++)
			ArrayPushString(g_v_szAdminHumanKnifeModel, v_szAdminHumanKnifeModel[iIndex])
		
		// Save to external file
		amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Weapon Models", "V_KNIFE HUMAN ADMIN", g_v_szAdminHumanKnifeModel)
	}
	
	if(ArraySize(g_v_szAdminZombieKnifeModel) == 0)
	{
		for(iIndex = 0; iIndex < sizeof v_szAdminZombieKnifeModel; iIndex++)
			ArrayPushString(g_v_szAdminZombieKnifeModel, v_szAdminZombieKnifeModel[iIndex])
		
		// Save to external file
		amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Weapon Models", "V_KNIFE ZOMBIE ADMIN", g_v_szAdminZombieKnifeModel)
	}
	
	if(ArraySize(g_szHumanModel1) == 0)
	{
		for(iIndex = 0; iIndex < sizeof szHumanModel1; iIndex++)
			ArrayPushString(g_szHumanModel1, szHumanModel1[iIndex])
		
		// Save to external file
		amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 1", g_szHumanModel1)
	}
	
	if(ArraySize(g_szHumanModel2) == 0)
	{
		for(iIndex = 0; iIndex < sizeof szHumanModel2; iIndex++)
			ArrayPushString(g_szHumanModel2, szHumanModel2[iIndex])
		
		// Save to external file
		amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 2", g_szHumanModel2)
	}
	
	if(ArraySize(g_szHumanModel3) == 0)
	{
		for(iIndex = 0; iIndex < sizeof szHumanModel3; iIndex++)
			ArrayPushString(g_szHumanModel3, szHumanModel3[iIndex])
		
		// Save to external file
		amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 3", g_szHumanModel3)
	}
	
	if(ArraySize(g_szHumanModel4) == 0)
	{
		for(iIndex = 0; iIndex < sizeof szHumanModel4; iIndex++)
			ArrayPushString(g_szHumanModel4, szHumanModel4[iIndex])
		
		// Save to external file
		amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 4", g_szHumanModel4)
	}
	
	if(ArraySize(g_szHumanAdmin) == 0)
	{
		for(iIndex = 0; iIndex < sizeof szHumanAdmin; iIndex++)
			ArrayPushString(g_szHumanAdmin, szHumanAdmin[iIndex])
		
		// Save to external file
		amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN ADMIN", g_szHumanAdmin)
	}
	
	if(ArraySize(g_szHumanOwner) == 0)
	{
		for(iIndex = 0; iIndex < sizeof szHumanOwner; iIndex++)
			ArrayPushString(g_szHumanOwner, szHumanOwner[iIndex])
		
		// Save to external file
		amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN OWNER", g_szHumanOwner)
	}

	// Precache
	new szPlayerModel[PLAYERMODEL_MAX_LENGTH], szModel[MODEL_MAX_LENGTH], szModelPath[128]
	
	
	for (iIndex = 0; iIndex < ArraySize(g_szAdminZombieModel); iIndex++)
	{
		ArrayGetString(g_szAdminZombieModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
		formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
		precache_model(szModelPath)
	}
	
	for (iIndex = 0; iIndex < ArraySize(g_szVipmodel); iIndex++)
	{
		ArrayGetString(g_szVipmodel, iIndex, szPlayerModel, charsmax(szPlayerModel))
		formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
		precache_model(szModelPath)
	}
	
	for (iIndex = 0; iIndex < ArraySize(g_szHumanModel1); iIndex++)
	{
		ArrayGetString(g_szHumanModel1, iIndex, szPlayerModel, charsmax(szPlayerModel))
		formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
		precache_model(szModelPath)
	}
	
	for (iIndex = 0; iIndex < ArraySize(g_szHumanModel2); iIndex++)
	{
		ArrayGetString(g_szHumanModel2, iIndex, szPlayerModel, charsmax(szPlayerModel))
		formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
		precache_model(szModelPath)
	}
	
	for (iIndex = 0; iIndex < ArraySize(g_szHumanModel3); iIndex++)
	{
		ArrayGetString(g_szHumanModel3, iIndex, szPlayerModel, charsmax(szPlayerModel))
		formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
		precache_model(szModelPath)
	}
	
	for (iIndex = 0; iIndex < ArraySize(g_szHumanModel4); iIndex++)
	{
		ArrayGetString(g_szHumanModel4, iIndex, szPlayerModel, charsmax(szPlayerModel))
		formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
		precache_model(szModelPath)
	}
	
	for (iIndex = 0; iIndex < ArraySize(g_v_szAdminHumanKnifeModel); iIndex++)
	{
		ArrayGetString(g_v_szAdminHumanKnifeModel, iIndex, szModel, charsmax(szModel))
		precache_model(szModel)
	}
	
	for (iIndex = 0; iIndex < ArraySize(g_v_szAdminZombieKnifeModel); iIndex++)
	{
		ArrayGetString(g_v_szAdminZombieKnifeModel, iIndex, szModel, charsmax(szModel))
		precache_model(szModel)
	}
	
	for (iIndex = 0; iIndex < ArraySize(g_szHumanAdmin); iIndex++)
	{
		ArrayGetString(g_szHumanAdmin, iIndex, szPlayerModel, charsmax(szPlayerModel))
		formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
		precache_model(szModelPath)
	}
	
	for (iIndex = 0; iIndex < ArraySize(g_szHumanOwner); iIndex++)
	{
		ArrayGetString(g_szHumanOwner, iIndex, szPlayerModel, charsmax(szPlayerModel))
		formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
		precache_model(szModelPath)
	}
}

public ze_user_humanized(id)
{
	if(ze_is_user_zombie(id) || !is_user_alive(id))
		return
		
	new szPlayerModel[PLAYERMODEL_MAX_LENGTH], szModel[MODEL_MAX_LENGTH]

	
	if(get_user_flags(id) & VIP)
	{

		ArrayGetString(g_szVipmodel, random_num(0, ArraySize(g_szVipmodel) - 1), szPlayerModel, charsmax(szPlayerModel))
		rg_set_user_model(id, szPlayerModel)

	}

	if(get_user_flags(id) & All)
	{
		ArrayGetString(g_v_szAdminHumanKnifeModel, random_num(0, ArraySize(g_v_szAdminHumanKnifeModel) - 1), szModel, charsmax(szModel))
		cs_set_player_view_model(id, CSW_KNIFE, szModel)
	}

	if(get_user_flags(id) & ADMIN)
	{

		ArrayGetString(g_szHumanAdmin, random_num(0, ArraySize(g_szHumanAdmin) - 1), szPlayerModel, charsmax(szPlayerModel))
		rg_set_user_model(id, szPlayerModel)

	}	

	if(get_user_flags(id) & OWNER)
	{

		ArrayGetString(g_szHumanOwner, random_num(0, ArraySize(g_szHumanOwner) - 1), szPlayerModel, charsmax(szPlayerModel))
		rg_set_user_model(id, szPlayerModel)

	}

	else
	{

		switch(random_num(0, 130))
		{
			case 0..30:
			{
				ArrayGetString(g_szHumanModel1, random_num(0, ArraySize(g_szHumanModel1) - 1), szPlayerModel, charsmax(szPlayerModel))
				rg_set_user_model(id, szPlayerModel)
			}
			case 31..70:
			{
				ArrayGetString(g_szHumanModel2, random_num(0, ArraySize(g_szHumanModel2) - 1), szPlayerModel, charsmax(szPlayerModel))
				rg_set_user_model(id, szPlayerModel)
			}
			case 71..100:
			{
				ArrayGetString(g_szHumanModel3, random_num(0, ArraySize(g_szHumanModel3) - 1), szPlayerModel, charsmax(szPlayerModel))
				rg_set_user_model(id, szPlayerModel)
			}
			case 101..130:
			{
				ArrayGetString(g_szHumanModel4, random_num(0, ArraySize(g_szHumanModel4) - 1), szPlayerModel, charsmax(szPlayerModel))
				rg_set_user_model(id, szPlayerModel)
			}
		}
	}
}

public ze_user_infected(iVictim, iInfector)
{
	if(!is_user_alive(iVictim))
		return
		
	// Set Zombie Models
	new szPlayerModel[PLAYERMODEL_MAX_LENGTH], szModel[MODEL_MAX_LENGTH]
	
	// Player Admin?
	if(get_user_flags(iVictim) & All)
	{
		// Set Zombie Admin Model
		ArrayGetString(g_szAdminZombieModel, random_num(0, ArraySize(g_szAdminZombieModel) - 1), szPlayerModel, charsmax(szPlayerModel))
		rg_set_user_model(iVictim, szPlayerModel)
		
			// Set Admin Zombie Knife Model
		ArrayGetString(g_v_szAdminZombieKnifeModel, random_num(0, ArraySize(g_v_szAdminZombieKnifeModel) - 1), szModel, charsmax(szModel))
		cs_set_player_view_model(iVictim, CSW_KNIFE, szModel)
		cs_set_player_weap_model(iVictim, CSW_KNIFE, "") // Leave Blank so knife not appear with zombies
		

	}
}

the problem is just Owner Skin Work

VIP , ADMIN , KNIFE did not work plz fix


Edit: i now know why did not work

Code: Select all


if(get_user_flags(id) & OWNER)
	{

		ArrayGetString(g_szHumanOwner, random_num(0, ArraySize(g_szHumanOwner) - 1), szPlayerModel, charsmax(szPlayerModel))
		rg_set_user_model(id, szPlayerModel)

	}

	else
	{

		switch(random_num(0, 130))
		{
			case 0..30:
			{
				ArrayGetString(g_szHumanModel1, random_num(0, ArraySize(g_szHumanModel1) - 1), szPlayerModel, charsmax(szPlayerModel))
				rg_set_user_model(id, szPlayerModel)
			}
			case 31..70:
			{
				ArrayGetString(g_szHumanModel2, random_num(0, ArraySize(g_szHumanModel2) - 1), szPlayerModel, charsmax(szPlayerModel))
				rg_set_user_model(id, szPlayerModel)
			}
			case 71..100:
			{
				ArrayGetString(g_szHumanModel3, random_num(0, ArraySize(g_szHumanModel3) - 1), szPlayerModel, charsmax(szPlayerModel))
				rg_set_user_model(id, szPlayerModel)
			}
			case 101..130:
			{
				ArrayGetString(g_szHumanModel4, random_num(0, ArraySize(g_szHumanModel4) - 1), szPlayerModel, charsmax(szPlayerModel))
				rg_set_user_model(id, szPlayerModel)
			}
		}
	}
}
Just Owner Skin Work Here, but when i edit it to this

Code: Select all


	if(get_user_flags(id) & ADMIN)
	{

		ArrayGetString(g_szHumanAdmin, random_num(0, ArraySize(g_szHumanAdmin) - 1), szPlayerModel, charsmax(szPlayerModel))    
		rg_set_user_model(id, szPlayerModel)

	}
  


	else
	{

		switch(random_num(0, 130))
		{
			case 0..30:
			{
				ArrayGetString(g_szHumanModel1, random_num(0, ArraySize(g_szHumanModel1) - 1), szPlayerModel, charsmax(szPlayerModel))
				rg_set_user_model(id, szPlayerModel)
			}
			case 31..70:
			{
				ArrayGetString(g_szHumanModel2, random_num(0, ArraySize(g_szHumanModel2) - 1), szPlayerModel, charsmax(szPlayerModel))
				rg_set_user_model(id, szPlayerModel)
			}
			case 71..100:
			{
				ArrayGetString(g_szHumanModel3, random_num(0, ArraySize(g_szHumanModel3) - 1), szPlayerModel, charsmax(szPlayerModel))
				rg_set_user_model(id, szPlayerModel)
			}
			case 101..130:
			{
				ArrayGetString(g_szHumanModel4, random_num(0, ArraySize(g_szHumanModel4) - 1), szPlayerModel, charsmax(szPlayerModel))
				rg_set_user_model(id, szPlayerModel)
			}
		}
	}
}

now Owner Skin Dose not Work anymore, now Just Admin Skin Work

why dose this happen and how to fix it ?

Re: Special Models

Posted: 24 Jul 2020, 16:11
by Night Fury
Try this:

Code: Select all

#include <zombie_escape>

// Setting File
new const ZE_SETTING_RESOURCES[] = "zombie_escape.ini"

// Defines
#define MODEL_MAX_LENGTH 64
#define PLAYERMODEL_MAX_LENGTH 32
#define ACCESS_MAX_LENGTH 32
#define VIP ADMIN_LEVEL_E
#define ADMIN ADMIN_LEVEL_F
#define OWNER ADMIN_LEVEL_A
#define All ADMIN_LEVEL_H

// Default Models
new const szHumanOwner[][] = 
{
	"Human_Owner"
}
new const szHumanAdmin[][] = 
{
	"Human_Admin"
}
new const szVipmodel[][] = 
{
	"jocker"
}

new const szAdminZombieModel[][] = 
{
	"zombie_vip"
}

new const v_szAdminHumanKnifeModel[][] = 
{
	"models/zombie_escape/v_knife_human_admin.mdl"
}

new const v_szAdminZombieKnifeModel[][] = 
{
	"models/zombie_escape/v_knife_zombie_admin.mdl"
}

new const szHumanModel1[][] = 
{
	"human1"
}

new const szHumanModel2[][] = 
{
	"human2"
}

new const szHumanModel3[][] = 
{
	"human3"
}

new const szHumanModel4[][] = 
{
	"human4"
}

// Dynamic Arrays: Models
new Array:g_szAdminZombieModel, Array:g_v_szAdminHumanKnifeModel, Array:g_v_szAdminZombieKnifeModel,
Array:g_szHumanModel1, Array:g_szHumanModel2, Array:g_szHumanModel3, Array:g_szHumanModel4, Array:g_szVipmodel, Array:g_szHumanAdmin, Array:g_szHumanOwner

public plugin_init()
{
	register_plugin("[ZE] Special Models", ZE_VERSION, AUTHORS)
}

public plugin_precache()
{
	// Initialize Arrays
	g_szAdminZombieModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
	g_szVipmodel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
	g_v_szAdminHumanKnifeModel = ArrayCreate(MODEL_MAX_LENGTH, 1)
	g_v_szAdminZombieKnifeModel = ArrayCreate(MODEL_MAX_LENGTH, 1)
	g_szHumanModel1 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
	g_szHumanModel2 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
	g_szHumanModel3 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
	g_szHumanModel4 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
	g_szHumanAdmin = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
	g_szHumanOwner = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
	
	// Load From External File
	amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ZOMBIE ADMIN", g_szAdminZombieModel)
	amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Weapon Models", "V_KNIFE HUMAN", g_v_szAdminHumanKnifeModel)
	amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Weapon Models", "V_KNIFE ZOMBIE", g_v_szAdminZombieKnifeModel)
	amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN VIP", g_szVipmodel)
	amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 1", g_szHumanModel1)
	amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 2", g_szHumanModel2)
	amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 3", g_szHumanModel3)
	amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 4", g_szHumanModel4)
	amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN ADMIN", g_szHumanAdmin)
	amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN OWNER", g_szHumanOwner)
	
	// Load our Default Values
	new iIndex
	
	
	if(ArraySize(g_szAdminZombieModel) == 0)
	{
		for(iIndex = 0; iIndex < sizeof szAdminZombieModel; iIndex++)
			ArrayPushString(g_szAdminZombieModel, szAdminZombieModel[iIndex])
		
		// Save to external file
		amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ZOMBIE ADMIN", g_szAdminZombieModel)
	}
	if(ArraySize(g_szVipmodel) == 0)
	{
		for(iIndex = 0; iIndex < sizeof szVipmodel; iIndex++)
			ArrayPushString(g_szVipmodel, szVipmodel[iIndex])
		
		// Save to external file
		amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN VIP", g_szVipmodel)
	}
	
	if(ArraySize(g_v_szAdminHumanKnifeModel) == 0)
	{
		for(iIndex = 0; iIndex < sizeof v_szAdminHumanKnifeModel; iIndex++)
			ArrayPushString(g_v_szAdminHumanKnifeModel, v_szAdminHumanKnifeModel[iIndex])
		
		// Save to external file
		amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Weapon Models", "V_KNIFE HUMAN ADMIN", g_v_szAdminHumanKnifeModel)
	}
	
	if(ArraySize(g_v_szAdminZombieKnifeModel) == 0)
	{
		for(iIndex = 0; iIndex < sizeof v_szAdminZombieKnifeModel; iIndex++)
			ArrayPushString(g_v_szAdminZombieKnifeModel, v_szAdminZombieKnifeModel[iIndex])
		
		// Save to external file
		amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Weapon Models", "V_KNIFE ZOMBIE ADMIN", g_v_szAdminZombieKnifeModel)
	}
	
	if(ArraySize(g_szHumanModel1) == 0)
	{
		for(iIndex = 0; iIndex < sizeof szHumanModel1; iIndex++)
			ArrayPushString(g_szHumanModel1, szHumanModel1[iIndex])
		
		// Save to external file
		amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 1", g_szHumanModel1)
	}
	
	if(ArraySize(g_szHumanModel2) == 0)
	{
		for(iIndex = 0; iIndex < sizeof szHumanModel2; iIndex++)
			ArrayPushString(g_szHumanModel2, szHumanModel2[iIndex])
		
		// Save to external file
		amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 2", g_szHumanModel2)
	}
	
	if(ArraySize(g_szHumanModel3) == 0)
	{
		for(iIndex = 0; iIndex < sizeof szHumanModel3; iIndex++)
			ArrayPushString(g_szHumanModel3, szHumanModel3[iIndex])
		
		// Save to external file
		amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 3", g_szHumanModel3)
	}
	
	if(ArraySize(g_szHumanModel4) == 0)
	{
		for(iIndex = 0; iIndex < sizeof szHumanModel4; iIndex++)
			ArrayPushString(g_szHumanModel4, szHumanModel4[iIndex])
		
		// Save to external file
		amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 4", g_szHumanModel4)
	}
	
	if(ArraySize(g_szHumanAdmin) == 0)
	{
		for(iIndex = 0; iIndex < sizeof szHumanAdmin; iIndex++)
			ArrayPushString(g_szHumanAdmin, szHumanAdmin[iIndex])
		
		// Save to external file
		amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN ADMIN", g_szHumanAdmin)
	}
	
	if(ArraySize(g_szHumanOwner) == 0)
	{
		for(iIndex = 0; iIndex < sizeof szHumanOwner; iIndex++)
			ArrayPushString(g_szHumanOwner, szHumanOwner[iIndex])
		
		// Save to external file
		amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN OWNER", g_szHumanOwner)
	}

	// Precache
	new szPlayerModel[PLAYERMODEL_MAX_LENGTH], szModel[MODEL_MAX_LENGTH], szModelPath[128]
	
	
	for (iIndex = 0; iIndex < ArraySize(g_szAdminZombieModel); iIndex++)
	{
		ArrayGetString(g_szAdminZombieModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
		formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
		precache_model(szModelPath)
	}
	
	for (iIndex = 0; iIndex < ArraySize(g_szVipmodel); iIndex++)
	{
		ArrayGetString(g_szVipmodel, iIndex, szPlayerModel, charsmax(szPlayerModel))
		formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
		precache_model(szModelPath)
	}
	
	for (iIndex = 0; iIndex < ArraySize(g_szHumanModel1); iIndex++)
	{
		ArrayGetString(g_szHumanModel1, iIndex, szPlayerModel, charsmax(szPlayerModel))
		formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
		precache_model(szModelPath)
	}
	
	for (iIndex = 0; iIndex < ArraySize(g_szHumanModel2); iIndex++)
	{
		ArrayGetString(g_szHumanModel2, iIndex, szPlayerModel, charsmax(szPlayerModel))
		formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
		precache_model(szModelPath)
	}
	
	for (iIndex = 0; iIndex < ArraySize(g_szHumanModel3); iIndex++)
	{
		ArrayGetString(g_szHumanModel3, iIndex, szPlayerModel, charsmax(szPlayerModel))
		formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
		precache_model(szModelPath)
	}
	
	for (iIndex = 0; iIndex < ArraySize(g_szHumanModel4); iIndex++)
	{
		ArrayGetString(g_szHumanModel4, iIndex, szPlayerModel, charsmax(szPlayerModel))
		formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
		precache_model(szModelPath)
	}
	
	for (iIndex = 0; iIndex < ArraySize(g_v_szAdminHumanKnifeModel); iIndex++)
	{
		ArrayGetString(g_v_szAdminHumanKnifeModel, iIndex, szModel, charsmax(szModel))
		precache_model(szModel)
	}
	
	for (iIndex = 0; iIndex < ArraySize(g_v_szAdminZombieKnifeModel); iIndex++)
	{
		ArrayGetString(g_v_szAdminZombieKnifeModel, iIndex, szModel, charsmax(szModel))
		precache_model(szModel)
	}
	
	for (iIndex = 0; iIndex < ArraySize(g_szHumanAdmin); iIndex++)
	{
		ArrayGetString(g_szHumanAdmin, iIndex, szPlayerModel, charsmax(szPlayerModel))
		formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
		precache_model(szModelPath)
	}
	
	for (iIndex = 0; iIndex < ArraySize(g_szHumanOwner); iIndex++)
	{
		ArrayGetString(g_szHumanOwner, iIndex, szPlayerModel, charsmax(szPlayerModel))
		formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
		precache_model(szModelPath)
	}
}

public ze_user_humanized(id)
{
	if(ze_is_user_zombie(id) || !is_user_alive(id))
		return
		
	new szPlayerModel[PLAYERMODEL_MAX_LENGTH], szModel[MODEL_MAX_LENGTH]

	
    if(get_user_flags(id) & OWNER)
	{
		ArrayGetString(g_szHumanOwner, random_num(0, ArraySize(g_szHumanOwner) - 1), szPlayerModel, charsmax(szPlayerModel))
		rg_set_user_model(id, szPlayerModel)
	}
	else if(get_user_flags(id) & VIP)
	{
		ArrayGetString(g_szVipmodel, random_num(0, ArraySize(g_szVipmodel) - 1), szPlayerModel, charsmax(szPlayerModel))
		rg_set_user_model(id, szPlayerModel)
	}
	else if(get_user_flags(id) & All)
	{
		ArrayGetString(g_v_szAdminHumanKnifeModel, random_num(0, ArraySize(g_v_szAdminHumanKnifeModel) - 1), szModel, charsmax(szModel))
		cs_set_player_view_model(id, CSW_KNIFE, szModel)
	}
	else if(get_user_flags(id) & ADMIN)
	{
		ArrayGetString(g_szHumanAdmin, random_num(0, ArraySize(g_szHumanAdmin) - 1), szPlayerModel, charsmax(szPlayerModel))
		rg_set_user_model(id, szPlayerModel)
	}	
	else
	{
		switch(random_num(0, 130))
		{
			case 0..30:
			{
				ArrayGetString(g_szHumanModel1, random_num(0, ArraySize(g_szHumanModel1) - 1), szPlayerModel, charsmax(szPlayerModel))
				rg_set_user_model(id, szPlayerModel)
			}
			case 31..70:
			{
				ArrayGetString(g_szHumanModel2, random_num(0, ArraySize(g_szHumanModel2) - 1), szPlayerModel, charsmax(szPlayerModel))
				rg_set_user_model(id, szPlayerModel)
			}
			case 71..100:
			{
				ArrayGetString(g_szHumanModel3, random_num(0, ArraySize(g_szHumanModel3) - 1), szPlayerModel, charsmax(szPlayerModel))
				rg_set_user_model(id, szPlayerModel)
			}
			case 101..130:
			{
				ArrayGetString(g_szHumanModel4, random_num(0, ArraySize(g_szHumanModel4) - 1), szPlayerModel, charsmax(szPlayerModel))
				rg_set_user_model(id, szPlayerModel)
			}
		}
	}
}

public ze_user_infected(iVictim, iInfector)
{
	if(!is_user_alive(iVictim))
		return
		
	// Set Zombie Models
	new szPlayerModel[PLAYERMODEL_MAX_LENGTH], szModel[MODEL_MAX_LENGTH]
	// Player Admin?
	if(get_user_flags(iVictim) & All)
	{
		// Set Zombie Admin Model
		ArrayGetString(g_szAdminZombieModel, random_num(0, ArraySize(g_szAdminZombieModel) - 1), szPlayerModel, charsmax(szPlayerModel))
		rg_set_user_model(iVictim, szPlayerModel)
        // Set Admin Zombie Knife Model
		ArrayGetString(g_v_szAdminZombieKnifeModel, random_num(0, ArraySize(g_v_szAdminZombieKnifeModel) - 1), szModel, charsmax(szModel))
		cs_set_player_view_model(iVictim, CSW_KNIFE, szModel)
		cs_set_player_weap_model(iVictim, CSW_KNIFE, "") // Leave Blank so knife not appear with zombies
	}
}

Re: Special Models

Posted: 24 Jul 2020, 17:50
by fadi
Mohamed Alaa wrote: 3 years ago Try this:

Code: Select all

#include <zombie_escape>

// Setting File
new const ZE_SETTING_RESOURCES[] = "zombie_escape.ini"

// Defines
#define MODEL_MAX_LENGTH 64
#define PLAYERMODEL_MAX_LENGTH 32
#define ACCESS_MAX_LENGTH 32
#define VIP ADMIN_LEVEL_E
#define ADMIN ADMIN_LEVEL_F
#define OWNER ADMIN_LEVEL_A
#define All ADMIN_LEVEL_H

// Default Models
new const szHumanOwner[][] = 
{
	"Human_Owner"
}
new const szHumanAdmin[][] = 
{
	"Human_Admin"
}
new const szVipmodel[][] = 
{
	"jocker"
}

new const szAdminZombieModel[][] = 
{
	"zombie_vip"
}

new const v_szAdminHumanKnifeModel[][] = 
{
	"models/zombie_escape/v_knife_human_admin.mdl"
}

new const v_szAdminZombieKnifeModel[][] = 
{
	"models/zombie_escape/v_knife_zombie_admin.mdl"
}

new const szHumanModel1[][] = 
{
	"human1"
}

new const szHumanModel2[][] = 
{
	"human2"
}

new const szHumanModel3[][] = 
{
	"human3"
}

new const szHumanModel4[][] = 
{
	"human4"
}

// Dynamic Arrays: Models
new Array:g_szAdminZombieModel, Array:g_v_szAdminHumanKnifeModel, Array:g_v_szAdminZombieKnifeModel,
Array:g_szHumanModel1, Array:g_szHumanModel2, Array:g_szHumanModel3, Array:g_szHumanModel4, Array:g_szVipmodel, Array:g_szHumanAdmin, Array:g_szHumanOwner

public plugin_init()
{
	register_plugin("[ZE] Special Models", ZE_VERSION, AUTHORS)
}

public plugin_precache()
{
	// Initialize Arrays
	g_szAdminZombieModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
	g_szVipmodel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
	g_v_szAdminHumanKnifeModel = ArrayCreate(MODEL_MAX_LENGTH, 1)
	g_v_szAdminZombieKnifeModel = ArrayCreate(MODEL_MAX_LENGTH, 1)
	g_szHumanModel1 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
	g_szHumanModel2 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
	g_szHumanModel3 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
	g_szHumanModel4 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
	g_szHumanAdmin = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
	g_szHumanOwner = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
	
	// Load From External File
	amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ZOMBIE ADMIN", g_szAdminZombieModel)
	amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Weapon Models", "V_KNIFE HUMAN", g_v_szAdminHumanKnifeModel)
	amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Weapon Models", "V_KNIFE ZOMBIE", g_v_szAdminZombieKnifeModel)
	amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN VIP", g_szVipmodel)
	amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 1", g_szHumanModel1)
	amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 2", g_szHumanModel2)
	amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 3", g_szHumanModel3)
	amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 4", g_szHumanModel4)
	amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN ADMIN", g_szHumanAdmin)
	amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN OWNER", g_szHumanOwner)
	
	// Load our Default Values
	new iIndex
	
	
	if(ArraySize(g_szAdminZombieModel) == 0)
	{
		for(iIndex = 0; iIndex < sizeof szAdminZombieModel; iIndex++)
			ArrayPushString(g_szAdminZombieModel, szAdminZombieModel[iIndex])
		
		// Save to external file
		amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ZOMBIE ADMIN", g_szAdminZombieModel)
	}
	if(ArraySize(g_szVipmodel) == 0)
	{
		for(iIndex = 0; iIndex < sizeof szVipmodel; iIndex++)
			ArrayPushString(g_szVipmodel, szVipmodel[iIndex])
		
		// Save to external file
		amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN VIP", g_szVipmodel)
	}
	
	if(ArraySize(g_v_szAdminHumanKnifeModel) == 0)
	{
		for(iIndex = 0; iIndex < sizeof v_szAdminHumanKnifeModel; iIndex++)
			ArrayPushString(g_v_szAdminHumanKnifeModel, v_szAdminHumanKnifeModel[iIndex])
		
		// Save to external file
		amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Weapon Models", "V_KNIFE HUMAN ADMIN", g_v_szAdminHumanKnifeModel)
	}
	
	if(ArraySize(g_v_szAdminZombieKnifeModel) == 0)
	{
		for(iIndex = 0; iIndex < sizeof v_szAdminZombieKnifeModel; iIndex++)
			ArrayPushString(g_v_szAdminZombieKnifeModel, v_szAdminZombieKnifeModel[iIndex])
		
		// Save to external file
		amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Weapon Models", "V_KNIFE ZOMBIE ADMIN", g_v_szAdminZombieKnifeModel)
	}
	
	if(ArraySize(g_szHumanModel1) == 0)
	{
		for(iIndex = 0; iIndex < sizeof szHumanModel1; iIndex++)
			ArrayPushString(g_szHumanModel1, szHumanModel1[iIndex])
		
		// Save to external file
		amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 1", g_szHumanModel1)
	}
	
	if(ArraySize(g_szHumanModel2) == 0)
	{
		for(iIndex = 0; iIndex < sizeof szHumanModel2; iIndex++)
			ArrayPushString(g_szHumanModel2, szHumanModel2[iIndex])
		
		// Save to external file
		amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 2", g_szHumanModel2)
	}
	
	if(ArraySize(g_szHumanModel3) == 0)
	{
		for(iIndex = 0; iIndex < sizeof szHumanModel3; iIndex++)
			ArrayPushString(g_szHumanModel3, szHumanModel3[iIndex])
		
		// Save to external file
		amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 3", g_szHumanModel3)
	}
	
	if(ArraySize(g_szHumanModel4) == 0)
	{
		for(iIndex = 0; iIndex < sizeof szHumanModel4; iIndex++)
			ArrayPushString(g_szHumanModel4, szHumanModel4[iIndex])
		
		// Save to external file
		amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 4", g_szHumanModel4)
	}
	
	if(ArraySize(g_szHumanAdmin) == 0)
	{
		for(iIndex = 0; iIndex < sizeof szHumanAdmin; iIndex++)
			ArrayPushString(g_szHumanAdmin, szHumanAdmin[iIndex])
		
		// Save to external file
		amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN ADMIN", g_szHumanAdmin)
	}
	
	if(ArraySize(g_szHumanOwner) == 0)
	{
		for(iIndex = 0; iIndex < sizeof szHumanOwner; iIndex++)
			ArrayPushString(g_szHumanOwner, szHumanOwner[iIndex])
		
		// Save to external file
		amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN OWNER", g_szHumanOwner)
	}

	// Precache
	new szPlayerModel[PLAYERMODEL_MAX_LENGTH], szModel[MODEL_MAX_LENGTH], szModelPath[128]
	
	
	for (iIndex = 0; iIndex < ArraySize(g_szAdminZombieModel); iIndex++)
	{
		ArrayGetString(g_szAdminZombieModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
		formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
		precache_model(szModelPath)
	}
	
	for (iIndex = 0; iIndex < ArraySize(g_szVipmodel); iIndex++)
	{
		ArrayGetString(g_szVipmodel, iIndex, szPlayerModel, charsmax(szPlayerModel))
		formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
		precache_model(szModelPath)
	}
	
	for (iIndex = 0; iIndex < ArraySize(g_szHumanModel1); iIndex++)
	{
		ArrayGetString(g_szHumanModel1, iIndex, szPlayerModel, charsmax(szPlayerModel))
		formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
		precache_model(szModelPath)
	}
	
	for (iIndex = 0; iIndex < ArraySize(g_szHumanModel2); iIndex++)
	{
		ArrayGetString(g_szHumanModel2, iIndex, szPlayerModel, charsmax(szPlayerModel))
		formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
		precache_model(szModelPath)
	}
	
	for (iIndex = 0; iIndex < ArraySize(g_szHumanModel3); iIndex++)
	{
		ArrayGetString(g_szHumanModel3, iIndex, szPlayerModel, charsmax(szPlayerModel))
		formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
		precache_model(szModelPath)
	}
	
	for (iIndex = 0; iIndex < ArraySize(g_szHumanModel4); iIndex++)
	{
		ArrayGetString(g_szHumanModel4, iIndex, szPlayerModel, charsmax(szPlayerModel))
		formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
		precache_model(szModelPath)
	}
	
	for (iIndex = 0; iIndex < ArraySize(g_v_szAdminHumanKnifeModel); iIndex++)
	{
		ArrayGetString(g_v_szAdminHumanKnifeModel, iIndex, szModel, charsmax(szModel))
		precache_model(szModel)
	}
	
	for (iIndex = 0; iIndex < ArraySize(g_v_szAdminZombieKnifeModel); iIndex++)
	{
		ArrayGetString(g_v_szAdminZombieKnifeModel, iIndex, szModel, charsmax(szModel))
		precache_model(szModel)
	}
	
	for (iIndex = 0; iIndex < ArraySize(g_szHumanAdmin); iIndex++)
	{
		ArrayGetString(g_szHumanAdmin, iIndex, szPlayerModel, charsmax(szPlayerModel))
		formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
		precache_model(szModelPath)
	}
	
	for (iIndex = 0; iIndex < ArraySize(g_szHumanOwner); iIndex++)
	{
		ArrayGetString(g_szHumanOwner, iIndex, szPlayerModel, charsmax(szPlayerModel))
		formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
		precache_model(szModelPath)
	}
}

public ze_user_humanized(id)
{
	if(ze_is_user_zombie(id) || !is_user_alive(id))
		return
		
	new szPlayerModel[PLAYERMODEL_MAX_LENGTH], szModel[MODEL_MAX_LENGTH]

	
    if(get_user_flags(id) & OWNER)
	{
		ArrayGetString(g_szHumanOwner, random_num(0, ArraySize(g_szHumanOwner) - 1), szPlayerModel, charsmax(szPlayerModel))
		rg_set_user_model(id, szPlayerModel)
	}
	else if(get_user_flags(id) & VIP)
	{
		ArrayGetString(g_szVipmodel, random_num(0, ArraySize(g_szVipmodel) - 1), szPlayerModel, charsmax(szPlayerModel))
		rg_set_user_model(id, szPlayerModel)
	}
	else if(get_user_flags(id) & All)
	{
		ArrayGetString(g_v_szAdminHumanKnifeModel, random_num(0, ArraySize(g_v_szAdminHumanKnifeModel) - 1), szModel, charsmax(szModel))
		cs_set_player_view_model(id, CSW_KNIFE, szModel)
	}
	else if(get_user_flags(id) & ADMIN)
	{
		ArrayGetString(g_szHumanAdmin, random_num(0, ArraySize(g_szHumanAdmin) - 1), szPlayerModel, charsmax(szPlayerModel))
		rg_set_user_model(id, szPlayerModel)
	}	
	else
	{
		switch(random_num(0, 130))
		{
			case 0..30:
			{
				ArrayGetString(g_szHumanModel1, random_num(0, ArraySize(g_szHumanModel1) - 1), szPlayerModel, charsmax(szPlayerModel))
				rg_set_user_model(id, szPlayerModel)
			}
			case 31..70:
			{
				ArrayGetString(g_szHumanModel2, random_num(0, ArraySize(g_szHumanModel2) - 1), szPlayerModel, charsmax(szPlayerModel))
				rg_set_user_model(id, szPlayerModel)
			}
			case 71..100:
			{
				ArrayGetString(g_szHumanModel3, random_num(0, ArraySize(g_szHumanModel3) - 1), szPlayerModel, charsmax(szPlayerModel))
				rg_set_user_model(id, szPlayerModel)
			}
			case 101..130:
			{
				ArrayGetString(g_szHumanModel4, random_num(0, ArraySize(g_szHumanModel4) - 1), szPlayerModel, charsmax(szPlayerModel))
				rg_set_user_model(id, szPlayerModel)
			}
		}
	}
}

public ze_user_infected(iVictim, iInfector)
{
	if(!is_user_alive(iVictim))
		return
		
	// Set Zombie Models
	new szPlayerModel[PLAYERMODEL_MAX_LENGTH], szModel[MODEL_MAX_LENGTH]
	// Player Admin?
	if(get_user_flags(iVictim) & All)
	{
		// Set Zombie Admin Model
		ArrayGetString(g_szAdminZombieModel, random_num(0, ArraySize(g_szAdminZombieModel) - 1), szPlayerModel, charsmax(szPlayerModel))
		rg_set_user_model(iVictim, szPlayerModel)
        // Set Admin Zombie Knife Model
		ArrayGetString(g_v_szAdminZombieKnifeModel, random_num(0, ArraySize(g_v_szAdminZombieKnifeModel) - 1), szModel, charsmax(szModel))
		cs_set_player_view_model(iVictim, CSW_KNIFE, szModel)
		cs_set_player_weap_model(iVictim, CSW_KNIFE, "") // Leave Blank so knife not appear with zombies
	}
}
now Just Owner And Vip Skin work
but knife , admin did not work

Edit: it's work ty

Re: Special Models

Posted: 25 Sep 2021, 15:46
by VicKy
  1. #include <zombie_escape>
  2.  
  3. // Setting File
  4. new const ZE_SETTING_RESOURCES[] = "zombie_escape.ini"
  5.  
  6. // Defines
  7. #define MODEL_MAX_LENGTH 64
  8. #define PLAYERMODEL_MAX_LENGTH 32
  9. #define ACCESS_MAX_LENGTH 32
  10.  
  11. /// Acess
  12. #define OWNER_MODEL ADMIN_IMMUNITY
  13. #define STAFF_MODEL ADMIN_LEVEL_D
  14. #define MOD_MODEL ADMIN_LEVEL_E
  15. #define ADMIN_MODELS_ACCESS ADMIN_LEVEL_B
  16. #define VIP_MODEL ADMIN_LEVEL_F
  17.  
  18. // Added Models
  19.  
  20. new const szOwnerHumanModel[][] =
  21. {
  22.     "owner"
  23. }
  24.  
  25. new const szStaffHumanModel[][] =
  26. {
  27.     "Staff"
  28. }
  29.  
  30. new const szModHumanModel[][] =
  31. {
  32.     "Mod"
  33. }
  34. new const szAdminHumanModel[][] =
  35. {
  36.     "Vdmin"
  37. }
  38.  
  39. new const szVipHumanModel[][] =
  40. {
  41.     "Vip"
  42. }
  43.  
  44. // Default
  45.  
  46. new const szAdminZombieModel[][] =
  47. {
  48.     "zombie_admin"
  49. }
  50.  
  51. new const v_szAdminZombieKnifeModel[][] =
  52. {
  53.     "models/zombie_escape/v_knife_zombie_admin.mdl"
  54. }
  55.  
  56. new const szHumanModel1[][] =
  57. {
  58.     "human1"
  59. }
  60.  
  61. new const szHumanModel2[][] =
  62. {
  63.     "human2"
  64. }
  65.  
  66. new const szHumanModel3[][] =
  67. {
  68.     "human3"
  69. }
  70.  
  71. new const szHumanModel4[][] =
  72. {
  73.     "human4"
  74. }
  75.  
  76. // Dynamic Arrays: Models
  77. new Array:g_szAdminZombieModel, Array:g_v_szAdminZombieKnifeModel,
  78. Array:g_szOwnerHumanModel,g_szStaffHumanModel,g_szModHumanModel,g_szAdminHumanModel,g_szVipHumanModel,g_szHumanModel1, Array:g_szHumanModel2, Array:g_szHumanModel3, Array:g_szHumanModel4
  79.  
  80. public plugin_init()
  81. {
  82.     register_plugin("[ZE] Special Models", ZE_VERSION, AUTHORS)
  83. }
  84.  
  85. public plugin_precache()
  86. {
  87.     // Initialize Arrays
  88.     g_szOwnerHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  89.     g_szStaffHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  90.     g_szModHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  91.     g_szAdminHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  92.     g_szVipHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  93.     g_szAdminZombieModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  94.     g_v_szAdminZombieKnifeModel = ArrayCreate(MODEL_MAX_LENGTH, 1)
  95.     g_szHumanModel1 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  96.     g_szHumanModel2 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  97.     g_szHumanModel3 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  98.     g_szHumanModel4 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  99.    
  100.     // Load From External File
  101.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "OWNER ( H )", g_szOwnerHumanModel)
  102.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "STAFF ( H )", g_szStaffHumanModel)
  103.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "MODERATOR ( H )", g_szModHumanModel)
  104.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ADMIN ( H )", g_szAdminHumanModel)
  105.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "VIP ( H )", g_szVipHumanModel)
  106.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ZOMBIE ADMIN", g_szAdminZombieModel)
  107.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Weapon Models", "V_KNIFE ZOMBIE ADMIN", g_v_szAdminZombieKnifeModel)
  108.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 1", g_szHumanModel1)
  109.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 2", g_szHumanModel2)
  110.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 3", g_szHumanModel3)
  111.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 4", g_szHumanModel4)
  112.    
  113.     // Load our Default Values
  114.     new iIndex
  115.    
  116.     if(ArraySize(g_szOwnerHumanModel) == 0)
  117.     {
  118.         for(iIndex = 0; iIndex < sizeof szOwnerHumanModel; iIndex++)
  119.             ArrayPushString(g_szOwnerHumanModel, szOwnerHumanModel[iIndex])
  120.        
  121.         // Save to external file
  122.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "OWNER ( H )", g_szOwnerHumanModel)
  123.     }
  124.    
  125.     if(ArraySize(g_szStaffHumanModel) == 0)
  126.     {
  127.         for(iIndex = 0; iIndex < sizeof szStaffHumanModel; iIndex++)
  128.             ArrayPushString(g_szStaffHumanModel, szStaffHumanModel[iIndex])
  129.        
  130.         // Save to external file
  131.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "STAFF ( H )", g_szStaffHumanModel)
  132.     }
  133.    
  134.     if(ArraySize(g_szModHumanModel) == 0)
  135.     {
  136.         for(iIndex = 0; iIndex < sizeof szModHumanModel; iIndex++)
  137.             ArrayPushString(g_szModHumanModel, szModHumanModel[iIndex])
  138.        
  139.         // Save to external file
  140.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "MODERATOR ( H )", g_szModHumanModel)
  141.     }
  142.    
  143.     if(ArraySize(g_szAdminHumanModel) == 0)
  144.     {
  145.         for(iIndex = 0; iIndex < sizeof szAdminHumanModel; iIndex++)
  146.             ArrayPushString(g_szAdminHumanModel, szAdminHumanModel[iIndex])
  147.        
  148.         // Save to external file
  149.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ADMIN ( H )", g_szAdminHumanModel)
  150.     }
  151.    
  152.     if(ArraySize(g_szVipHumanModel) == 0)
  153.     {
  154.         for(iIndex = 0; iIndex < sizeof szVipHumanModel; iIndex++)
  155.             ArrayPushString(g_szVipHumanModel, szVipHumanModel[iIndex])
  156.        
  157.         // Save to external file
  158.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "VIP ( H )", g_szVipHumanModel)
  159.     }
  160.    
  161.     if(ArraySize(g_szAdminZombieModel) == 0)
  162.     {
  163.         for(iIndex = 0; iIndex < sizeof szAdminZombieModel; iIndex++)
  164.             ArrayPushString(g_szAdminZombieModel, szAdminZombieModel[iIndex])
  165.        
  166.         // Save to external file
  167.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ZOMBIE ADMIN", g_szAdminZombieModel)
  168.     }
  169.    
  170.     if(ArraySize(g_v_szAdminZombieKnifeModel) == 0)
  171.     {
  172.         for(iIndex = 0; iIndex < sizeof v_szAdminZombieKnifeModel; iIndex++)
  173.             ArrayPushString(g_v_szAdminZombieKnifeModel, v_szAdminZombieKnifeModel[iIndex])
  174.        
  175.         // Save to external file
  176.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Weapon Models", "V_KNIFE ZOMBIE ADMIN", g_v_szAdminZombieKnifeModel)
  177.     }
  178.    
  179.     if(ArraySize(g_szHumanModel1) == 0)
  180.     {
  181.         for(iIndex = 0; iIndex < sizeof szHumanModel1; iIndex++)
  182.             ArrayPushString(g_szHumanModel1, szHumanModel1[iIndex])
  183.        
  184.         // Save to external file
  185.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 1", g_szHumanModel1)
  186.     }
  187.    
  188.     if(ArraySize(g_szHumanModel2) == 0)
  189.     {
  190.         for(iIndex = 0; iIndex < sizeof szHumanModel2; iIndex++)
  191.             ArrayPushString(g_szHumanModel2, szHumanModel2[iIndex])
  192.        
  193.         // Save to external file
  194.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 2", g_szHumanModel2)
  195.     }
  196.    
  197.     if(ArraySize(g_szHumanModel3) == 0)
  198.     {
  199.         for(iIndex = 0; iIndex < sizeof szHumanModel3; iIndex++)
  200.             ArrayPushString(g_szHumanModel3, szHumanModel3[iIndex])
  201.        
  202.         // Save to external file
  203.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 3", g_szHumanModel3)
  204.     }
  205.    
  206.     if(ArraySize(g_szHumanModel4) == 0)
  207.     {
  208.         for(iIndex = 0; iIndex < sizeof szHumanModel4; iIndex++)
  209.             ArrayPushString(g_szHumanModel4, szHumanModel4[iIndex])
  210.        
  211.         // Save to external file
  212.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 4", g_szHumanModel4)
  213.     }
  214.     // Precache
  215.     new szPlayerModel[PLAYERMODEL_MAX_LENGTH], szModel[MODEL_MAX_LENGTH], szModelPath[128]
  216.    
  217.     for (iIndex = 0; iIndex < ArraySize(g_szOwnerHumanModel); iIndex++)
  218.     {
  219.         ArrayGetString(g_szOwnerHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  220.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  221.         precache_model(szModelPath)
  222.     }
  223.     for (iIndex = 0; iIndex < ArraySize(g_szStaffHumanModel); iIndex++)
  224.     {
  225.         ArrayGetString(g_szStaffHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  226.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  227.         precache_model(szModelPath)
  228.     }
  229.    
  230.     for (iIndex = 0; iIndex < ArraySize(g_szModHumanModel); iIndex++)
  231.     {
  232.         ArrayGetString(g_szModHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  233.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  234.         precache_model(szModelPath)
  235.     }
  236.    
  237.     for (iIndex = 0; iIndex < ArraySize(g_szAdminHumanModel); iIndex++)
  238.     {
  239.         ArrayGetString(g_szAdminHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  240.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  241.         precache_model(szModelPath)
  242.     }
  243.    
  244.     for (iIndex = 0; iIndex < ArraySize(g_szVipHumanModel); iIndex++)
  245.     {
  246.         ArrayGetString(g_szVipHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  247.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  248.         precache_model(szModelPath)
  249.     }
  250.     for (iIndex = 0; iIndex < ArraySize(g_szAdminZombieModel); iIndex++)
  251.     {
  252.         ArrayGetString(g_szAdminZombieModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  253.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  254.         precache_model(szModelPath)
  255.     }
  256.     for (iIndex = 0; iIndex < ArraySize(g_szHumanModel1); iIndex++)
  257.     {
  258.         ArrayGetString(g_szHumanModel1, iIndex, szPlayerModel, charsmax(szPlayerModel))
  259.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  260.         precache_model(szModelPath)
  261.     }
  262.     for (iIndex = 0; iIndex < ArraySize(g_szHumanModel2); iIndex++)
  263.     {
  264.         ArrayGetString(g_szHumanModel2, iIndex, szPlayerModel, charsmax(szPlayerModel))
  265.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  266.         precache_model(szModelPath)
  267.     }
  268.     for (iIndex = 0; iIndex < ArraySize(g_szHumanModel3); iIndex++)
  269.     {
  270.         ArrayGetString(g_szHumanModel3, iIndex, szPlayerModel, charsmax(szPlayerModel))
  271.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  272.         precache_model(szModelPath)
  273.     }
  274.     for (iIndex = 0; iIndex < ArraySize(g_szHumanModel4); iIndex++)
  275.     {
  276.         ArrayGetString(g_szHumanModel4, iIndex, szPlayerModel, charsmax(szPlayerModel))
  277.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  278.         precache_model(szModelPath)
  279.     }
  280.     for (iIndex = 0; iIndex < ArraySize(g_v_szAdminZombieKnifeModel); iIndex++)
  281.     {
  282.         ArrayGetString(g_v_szAdminZombieKnifeModel, iIndex, szModel, charsmax(szModel))
  283.         precache_model(szModel)
  284.     }
  285. }
  286.  
  287. public ze_user_humanized(id)
  288. {
  289.     if(ze_is_user_zombie(id) || !is_user_alive(id))
  290.         return
  291.        
  292.     new szPlayerModel[PLAYERMODEL_MAX_LENGTH], szModel[MODEL_MAX_LENGTH]
  293.  
  294.     // Player Admin?
  295.     if(get_user_flags(id) & OWNER_MODEL)
  296.     {
  297.         // Set Admin Human Model
  298.         ArrayGetString(g_szOwnerHumanModel, random_num(0, ArraySize(g_szOwnerHumanModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  299.         rg_set_user_model(id, szPlayerModel)
  300.     }  
  301.     if(get_user_flags(id) & STAFF_MODEL)
  302.     {
  303.         // Set Admin Human Model
  304.         ArrayGetString(g_szStaffHumanModel, random_num(0, ArraySize(g_szStaffHumanModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  305.         rg_set_user_model(id, szPlayerModel)
  306.     }  
  307.     if(get_user_flags(id) & MOD_MODEL)
  308.     {
  309.         // Set Admin Human Model
  310.         ArrayGetString(g_szModHumanModel, random_num(0, ArraySize(g_szModHumanModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  311.         rg_set_user_model(id, szPlayerModel)
  312.     }  
  313.     if(get_user_flags(id) & ADMIN_MODELS_ACCESS)
  314.     {
  315.         // Set Admin Human Model
  316.         ArrayGetString(g_szAdminHumanModel, random_num(0, ArraySize(g_szAdminHumanModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  317.         rg_set_user_model(id, szPlayerModel)
  318.     }  
  319.     if(get_user_flags(id) & VIP_MODEL)
  320.     {
  321.         // Set Admin Human Model
  322.         ArrayGetString(g_szVipHumanModel, random_num(0, ArraySize(g_szVipHumanModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  323.         rg_set_user_model(id, szPlayerModel)
  324.     }
  325.     else
  326.     {
  327.         // Rest Player Model (Model Randomly)
  328.         switch(random_num(0, 130))
  329.         {
  330.             case 0..30:
  331.             {
  332.                 ArrayGetString(g_szHumanModel1, random_num(0, ArraySize(g_szHumanModel1) - 1), szPlayerModel, charsmax(szPlayerModel))
  333.                 rg_set_user_model(id, szPlayerModel)
  334.             }
  335.             case 31..70:
  336.             {
  337.                 ArrayGetString(g_szHumanModel2, random_num(0, ArraySize(g_szHumanModel2) - 1), szPlayerModel, charsmax(szPlayerModel))
  338.                 rg_set_user_model(id, szPlayerModel)
  339.             }
  340.             case 71..100:
  341.             {
  342.                 ArrayGetString(g_szHumanModel3, random_num(0, ArraySize(g_szHumanModel3) - 1), szPlayerModel, charsmax(szPlayerModel))
  343.                 rg_set_user_model(id, szPlayerModel)
  344.             }
  345.             case 101..130:
  346.             {
  347.                 ArrayGetString(g_szHumanModel4, random_num(0, ArraySize(g_szHumanModel4) - 1), szPlayerModel, charsmax(szPlayerModel))
  348.                 rg_set_user_model(id, szPlayerModel)
  349.             }
  350.         }
  351.     }
  352. }
  353.  
  354. public ze_user_infected(iVictim, iInfector)
  355. {
  356.     if(!is_user_alive(iVictim))
  357.         return
  358.        
  359.     // Set Zombie Models
  360.     new szPlayerModel[PLAYERMODEL_MAX_LENGTH], szModel[MODEL_MAX_LENGTH]
  361.    
  362.     // Player Admin?
  363.     if(get_user_flags(iVictim) & ADMIN_MODELS_ACCESS)
  364.     {
  365.         // Set Zombie Admin Model
  366.         ArrayGetString(g_szAdminZombieModel, random_num(0, ArraySize(g_szAdminZombieModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  367.         rg_set_user_model(iVictim, szPlayerModel)
  368.        
  369.         // Set Admin Zombie Knife Model
  370.         ArrayGetString(g_v_szAdminZombieKnifeModel, random_num(0, ArraySize(g_v_szAdminZombieKnifeModel) - 1), szModel, charsmax(szModel))
  371.         cs_set_player_view_model(iVictim, CSW_KNIFE, szModel)
  372.         cs_set_player_weap_model(iVictim, CSW_KNIFE, "") // Leave Blank so knife not appear with zombies
  373.     }
  374. }
Not Working Help Please

Re: Special Models

Posted: 25 Sep 2021, 19:22
by z0h1r-LK
VicKy wrote: 2 years ago
  1. #include <zombie_escape>
  2.  
  3. // Setting File
  4. new const ZE_SETTING_RESOURCES[] = "zombie_escape.ini"
  5.  
  6. // Defines
  7. #define MODEL_MAX_LENGTH 64
  8. #define PLAYERMODEL_MAX_LENGTH 32
  9. #define ACCESS_MAX_LENGTH 32
  10.  
  11. /// Acess
  12. #define OWNER_MODEL ADMIN_IMMUNITY
  13. #define STAFF_MODEL ADMIN_LEVEL_D
  14. #define MOD_MODEL ADMIN_LEVEL_E
  15. #define ADMIN_MODELS_ACCESS ADMIN_LEVEL_B
  16. #define VIP_MODEL ADMIN_LEVEL_F
  17.  
  18. // Added Models
  19.  
  20. new const szOwnerHumanModel[][] =
  21. {
  22.     "owner"
  23. }
  24.  
  25. new const szStaffHumanModel[][] =
  26. {
  27.     "Staff"
  28. }
  29.  
  30. new const szModHumanModel[][] =
  31. {
  32.     "Mod"
  33. }
  34. new const szAdminHumanModel[][] =
  35. {
  36.     "Vdmin"
  37. }
  38.  
  39. new const szVipHumanModel[][] =
  40. {
  41.     "Vip"
  42. }
  43.  
  44. // Default
  45.  
  46. new const szAdminZombieModel[][] =
  47. {
  48.     "zombie_admin"
  49. }
  50.  
  51. new const v_szAdminZombieKnifeModel[][] =
  52. {
  53.     "models/zombie_escape/v_knife_zombie_admin.mdl"
  54. }
  55.  
  56. new const szHumanModel1[][] =
  57. {
  58.     "human1"
  59. }
  60.  
  61. new const szHumanModel2[][] =
  62. {
  63.     "human2"
  64. }
  65.  
  66. new const szHumanModel3[][] =
  67. {
  68.     "human3"
  69. }
  70.  
  71. new const szHumanModel4[][] =
  72. {
  73.     "human4"
  74. }
  75.  
  76. // Dynamic Arrays: Models
  77. new Array:g_szAdminZombieModel, Array:g_v_szAdminZombieKnifeModel,
  78. Array:g_szOwnerHumanModel,g_szStaffHumanModel,g_szModHumanModel,g_szAdminHumanModel,g_szVipHumanModel,g_szHumanModel1, Array:g_szHumanModel2, Array:g_szHumanModel3, Array:g_szHumanModel4
  79.  
  80. public plugin_init()
  81. {
  82.     register_plugin("[ZE] Special Models", ZE_VERSION, AUTHORS)
  83. }
  84.  
  85. public plugin_precache()
  86. {
  87.     // Initialize Arrays
  88.     g_szOwnerHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  89.     g_szStaffHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  90.     g_szModHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  91.     g_szAdminHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  92.     g_szVipHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  93.     g_szAdminZombieModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  94.     g_v_szAdminZombieKnifeModel = ArrayCreate(MODEL_MAX_LENGTH, 1)
  95.     g_szHumanModel1 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  96.     g_szHumanModel2 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  97.     g_szHumanModel3 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  98.     g_szHumanModel4 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  99.    
  100.     // Load From External File
  101.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "OWNER ( H )", g_szOwnerHumanModel)
  102.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "STAFF ( H )", g_szStaffHumanModel)
  103.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "MODERATOR ( H )", g_szModHumanModel)
  104.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ADMIN ( H )", g_szAdminHumanModel)
  105.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "VIP ( H )", g_szVipHumanModel)
  106.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ZOMBIE ADMIN", g_szAdminZombieModel)
  107.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Weapon Models", "V_KNIFE ZOMBIE ADMIN", g_v_szAdminZombieKnifeModel)
  108.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 1", g_szHumanModel1)
  109.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 2", g_szHumanModel2)
  110.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 3", g_szHumanModel3)
  111.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 4", g_szHumanModel4)
  112.    
  113.     // Load our Default Values
  114.     new iIndex
  115.    
  116.     if(ArraySize(g_szOwnerHumanModel) == 0)
  117.     {
  118.         for(iIndex = 0; iIndex < sizeof szOwnerHumanModel; iIndex++)
  119.             ArrayPushString(g_szOwnerHumanModel, szOwnerHumanModel[iIndex])
  120.        
  121.         // Save to external file
  122.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "OWNER ( H )", g_szOwnerHumanModel)
  123.     }
  124.    
  125.     if(ArraySize(g_szStaffHumanModel) == 0)
  126.     {
  127.         for(iIndex = 0; iIndex < sizeof szStaffHumanModel; iIndex++)
  128.             ArrayPushString(g_szStaffHumanModel, szStaffHumanModel[iIndex])
  129.        
  130.         // Save to external file
  131.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "STAFF ( H )", g_szStaffHumanModel)
  132.     }
  133.    
  134.     if(ArraySize(g_szModHumanModel) == 0)
  135.     {
  136.         for(iIndex = 0; iIndex < sizeof szModHumanModel; iIndex++)
  137.             ArrayPushString(g_szModHumanModel, szModHumanModel[iIndex])
  138.        
  139.         // Save to external file
  140.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "MODERATOR ( H )", g_szModHumanModel)
  141.     }
  142.    
  143.     if(ArraySize(g_szAdminHumanModel) == 0)
  144.     {
  145.         for(iIndex = 0; iIndex < sizeof szAdminHumanModel; iIndex++)
  146.             ArrayPushString(g_szAdminHumanModel, szAdminHumanModel[iIndex])
  147.        
  148.         // Save to external file
  149.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ADMIN ( H )", g_szAdminHumanModel)
  150.     }
  151.    
  152.     if(ArraySize(g_szVipHumanModel) == 0)
  153.     {
  154.         for(iIndex = 0; iIndex < sizeof szVipHumanModel; iIndex++)
  155.             ArrayPushString(g_szVipHumanModel, szVipHumanModel[iIndex])
  156.        
  157.         // Save to external file
  158.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "VIP ( H )", g_szVipHumanModel)
  159.     }
  160.    
  161.     if(ArraySize(g_szAdminZombieModel) == 0)
  162.     {
  163.         for(iIndex = 0; iIndex < sizeof szAdminZombieModel; iIndex++)
  164.             ArrayPushString(g_szAdminZombieModel, szAdminZombieModel[iIndex])
  165.        
  166.         // Save to external file
  167.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ZOMBIE ADMIN", g_szAdminZombieModel)
  168.     }
  169.    
  170.     if(ArraySize(g_v_szAdminZombieKnifeModel) == 0)
  171.     {
  172.         for(iIndex = 0; iIndex < sizeof v_szAdminZombieKnifeModel; iIndex++)
  173.             ArrayPushString(g_v_szAdminZombieKnifeModel, v_szAdminZombieKnifeModel[iIndex])
  174.        
  175.         // Save to external file
  176.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Weapon Models", "V_KNIFE ZOMBIE ADMIN", g_v_szAdminZombieKnifeModel)
  177.     }
  178.    
  179.     if(ArraySize(g_szHumanModel1) == 0)
  180.     {
  181.         for(iIndex = 0; iIndex < sizeof szHumanModel1; iIndex++)
  182.             ArrayPushString(g_szHumanModel1, szHumanModel1[iIndex])
  183.        
  184.         // Save to external file
  185.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 1", g_szHumanModel1)
  186.     }
  187.    
  188.     if(ArraySize(g_szHumanModel2) == 0)
  189.     {
  190.         for(iIndex = 0; iIndex < sizeof szHumanModel2; iIndex++)
  191.             ArrayPushString(g_szHumanModel2, szHumanModel2[iIndex])
  192.        
  193.         // Save to external file
  194.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 2", g_szHumanModel2)
  195.     }
  196.    
  197.     if(ArraySize(g_szHumanModel3) == 0)
  198.     {
  199.         for(iIndex = 0; iIndex < sizeof szHumanModel3; iIndex++)
  200.             ArrayPushString(g_szHumanModel3, szHumanModel3[iIndex])
  201.        
  202.         // Save to external file
  203.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 3", g_szHumanModel3)
  204.     }
  205.    
  206.     if(ArraySize(g_szHumanModel4) == 0)
  207.     {
  208.         for(iIndex = 0; iIndex < sizeof szHumanModel4; iIndex++)
  209.             ArrayPushString(g_szHumanModel4, szHumanModel4[iIndex])
  210.        
  211.         // Save to external file
  212.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 4", g_szHumanModel4)
  213.     }
  214.     // Precache
  215.     new szPlayerModel[PLAYERMODEL_MAX_LENGTH], szModel[MODEL_MAX_LENGTH], szModelPath[128]
  216.    
  217.     for (iIndex = 0; iIndex < ArraySize(g_szOwnerHumanModel); iIndex++)
  218.     {
  219.         ArrayGetString(g_szOwnerHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  220.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  221.         precache_model(szModelPath)
  222.     }
  223.     for (iIndex = 0; iIndex < ArraySize(g_szStaffHumanModel); iIndex++)
  224.     {
  225.         ArrayGetString(g_szStaffHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  226.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  227.         precache_model(szModelPath)
  228.     }
  229.    
  230.     for (iIndex = 0; iIndex < ArraySize(g_szModHumanModel); iIndex++)
  231.     {
  232.         ArrayGetString(g_szModHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  233.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  234.         precache_model(szModelPath)
  235.     }
  236.    
  237.     for (iIndex = 0; iIndex < ArraySize(g_szAdminHumanModel); iIndex++)
  238.     {
  239.         ArrayGetString(g_szAdminHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  240.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  241.         precache_model(szModelPath)
  242.     }
  243.    
  244.     for (iIndex = 0; iIndex < ArraySize(g_szVipHumanModel); iIndex++)
  245.     {
  246.         ArrayGetString(g_szVipHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  247.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  248.         precache_model(szModelPath)
  249.     }
  250.     for (iIndex = 0; iIndex < ArraySize(g_szAdminZombieModel); iIndex++)
  251.     {
  252.         ArrayGetString(g_szAdminZombieModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  253.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  254.         precache_model(szModelPath)
  255.     }
  256.     for (iIndex = 0; iIndex < ArraySize(g_szHumanModel1); iIndex++)
  257.     {
  258.         ArrayGetString(g_szHumanModel1, iIndex, szPlayerModel, charsmax(szPlayerModel))
  259.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  260.         precache_model(szModelPath)
  261.     }
  262.     for (iIndex = 0; iIndex < ArraySize(g_szHumanModel2); iIndex++)
  263.     {
  264.         ArrayGetString(g_szHumanModel2, iIndex, szPlayerModel, charsmax(szPlayerModel))
  265.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  266.         precache_model(szModelPath)
  267.     }
  268.     for (iIndex = 0; iIndex < ArraySize(g_szHumanModel3); iIndex++)
  269.     {
  270.         ArrayGetString(g_szHumanModel3, iIndex, szPlayerModel, charsmax(szPlayerModel))
  271.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  272.         precache_model(szModelPath)
  273.     }
  274.     for (iIndex = 0; iIndex < ArraySize(g_szHumanModel4); iIndex++)
  275.     {
  276.         ArrayGetString(g_szHumanModel4, iIndex, szPlayerModel, charsmax(szPlayerModel))
  277.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  278.         precache_model(szModelPath)
  279.     }
  280.     for (iIndex = 0; iIndex < ArraySize(g_v_szAdminZombieKnifeModel); iIndex++)
  281.     {
  282.         ArrayGetString(g_v_szAdminZombieKnifeModel, iIndex, szModel, charsmax(szModel))
  283.         precache_model(szModel)
  284.     }
  285. }
  286.  
  287. public ze_user_humanized(id)
  288. {
  289.     if(ze_is_user_zombie(id) || !is_user_alive(id))
  290.         return
  291.        
  292.     new szPlayerModel[PLAYERMODEL_MAX_LENGTH], szModel[MODEL_MAX_LENGTH]
  293.  
  294.     // Player Admin?
  295.     if(get_user_flags(id) & OWNER_MODEL)
  296.     {
  297.         // Set Admin Human Model
  298.         ArrayGetString(g_szOwnerHumanModel, random_num(0, ArraySize(g_szOwnerHumanModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  299.         rg_set_user_model(id, szPlayerModel)
  300.     }  
  301.     if(get_user_flags(id) & STAFF_MODEL)
  302.     {
  303.         // Set Admin Human Model
  304.         ArrayGetString(g_szStaffHumanModel, random_num(0, ArraySize(g_szStaffHumanModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  305.         rg_set_user_model(id, szPlayerModel)
  306.     }  
  307.     if(get_user_flags(id) & MOD_MODEL)
  308.     {
  309.         // Set Admin Human Model
  310.         ArrayGetString(g_szModHumanModel, random_num(0, ArraySize(g_szModHumanModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  311.         rg_set_user_model(id, szPlayerModel)
  312.     }  
  313.     if(get_user_flags(id) & ADMIN_MODELS_ACCESS)
  314.     {
  315.         // Set Admin Human Model
  316.         ArrayGetString(g_szAdminHumanModel, random_num(0, ArraySize(g_szAdminHumanModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  317.         rg_set_user_model(id, szPlayerModel)
  318.     }  
  319.     if(get_user_flags(id) & VIP_MODEL)
  320.     {
  321.         // Set Admin Human Model
  322.         ArrayGetString(g_szVipHumanModel, random_num(0, ArraySize(g_szVipHumanModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  323.         rg_set_user_model(id, szPlayerModel)
  324.     }
  325.     else
  326.     {
  327.         // Rest Player Model (Model Randomly)
  328.         switch(random_num(0, 130))
  329.         {
  330.             case 0..30:
  331.             {
  332.                 ArrayGetString(g_szHumanModel1, random_num(0, ArraySize(g_szHumanModel1) - 1), szPlayerModel, charsmax(szPlayerModel))
  333.                 rg_set_user_model(id, szPlayerModel)
  334.             }
  335.             case 31..70:
  336.             {
  337.                 ArrayGetString(g_szHumanModel2, random_num(0, ArraySize(g_szHumanModel2) - 1), szPlayerModel, charsmax(szPlayerModel))
  338.                 rg_set_user_model(id, szPlayerModel)
  339.             }
  340.             case 71..100:
  341.             {
  342.                 ArrayGetString(g_szHumanModel3, random_num(0, ArraySize(g_szHumanModel3) - 1), szPlayerModel, charsmax(szPlayerModel))
  343.                 rg_set_user_model(id, szPlayerModel)
  344.             }
  345.             case 101..130:
  346.             {
  347.                 ArrayGetString(g_szHumanModel4, random_num(0, ArraySize(g_szHumanModel4) - 1), szPlayerModel, charsmax(szPlayerModel))
  348.                 rg_set_user_model(id, szPlayerModel)
  349.             }
  350.         }
  351.     }
  352. }
  353.  
  354. public ze_user_infected(iVictim, iInfector)
  355. {
  356.     if(!is_user_alive(iVictim))
  357.         return
  358.        
  359.     // Set Zombie Models
  360.     new szPlayerModel[PLAYERMODEL_MAX_LENGTH], szModel[MODEL_MAX_LENGTH]
  361.    
  362.     // Player Admin?
  363.     if(get_user_flags(iVictim) & ADMIN_MODELS_ACCESS)
  364.     {
  365.         // Set Zombie Admin Model
  366.         ArrayGetString(g_szAdminZombieModel, random_num(0, ArraySize(g_szAdminZombieModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  367.         rg_set_user_model(iVictim, szPlayerModel)
  368.        
  369.         // Set Admin Zombie Knife Model
  370.         ArrayGetString(g_v_szAdminZombieKnifeModel, random_num(0, ArraySize(g_v_szAdminZombieKnifeModel) - 1), szModel, charsmax(szModel))
  371.         cs_set_player_view_model(iVictim, CSW_KNIFE, szModel)
  372.         cs_set_player_weap_model(iVictim, CSW_KNIFE, "") // Leave Blank so knife not appear with zombies
  373.     }
  374. }
Not Working Help Please
It's working bro.

Re: Special Models

Posted: 26 Sep 2021, 11:34
by VicKy
Z0uha1r_LK wrote: 2 years ago
VicKy wrote: 2 years ago
  1. #include <zombie_escape>
  2.  
  3. // Setting File
  4. new const ZE_SETTING_RESOURCES[] = "zombie_escape.ini"
  5.  
  6. // Defines
  7. #define MODEL_MAX_LENGTH 64
  8. #define PLAYERMODEL_MAX_LENGTH 32
  9. #define ACCESS_MAX_LENGTH 32
  10.  
  11. /// Acess
  12. #define OWNER_MODEL ADMIN_IMMUNITY
  13. #define STAFF_MODEL ADMIN_LEVEL_D
  14. #define MOD_MODEL ADMIN_LEVEL_E
  15. #define ADMIN_MODELS_ACCESS ADMIN_LEVEL_B
  16. #define VIP_MODEL ADMIN_LEVEL_F
  17.  
  18. // Added Models
  19.  
  20. new const szOwnerHumanModel[][] =
  21. {
  22.     "owner"
  23. }
  24.  
  25. new const szStaffHumanModel[][] =
  26. {
  27.     "Staff"
  28. }
  29.  
  30. new const szModHumanModel[][] =
  31. {
  32.     "Mod"
  33. }
  34. new const szAdminHumanModel[][] =
  35. {
  36.     "Vdmin"
  37. }
  38.  
  39. new const szVipHumanModel[][] =
  40. {
  41.     "Vip"
  42. }
  43.  
  44. // Default
  45.  
  46. new const szAdminZombieModel[][] =
  47. {
  48.     "zombie_admin"
  49. }
  50.  
  51. new const v_szAdminZombieKnifeModel[][] =
  52. {
  53.     "models/zombie_escape/v_knife_zombie_admin.mdl"
  54. }
  55.  
  56. new const szHumanModel1[][] =
  57. {
  58.     "human1"
  59. }
  60.  
  61. new const szHumanModel2[][] =
  62. {
  63.     "human2"
  64. }
  65.  
  66. new const szHumanModel3[][] =
  67. {
  68.     "human3"
  69. }
  70.  
  71. new const szHumanModel4[][] =
  72. {
  73.     "human4"
  74. }
  75.  
  76. // Dynamic Arrays: Models
  77. new Array:g_szAdminZombieModel, Array:g_v_szAdminZombieKnifeModel,
  78. Array:g_szOwnerHumanModel,g_szStaffHumanModel,g_szModHumanModel,g_szAdminHumanModel,g_szVipHumanModel,g_szHumanModel1, Array:g_szHumanModel2, Array:g_szHumanModel3, Array:g_szHumanModel4
  79.  
  80. public plugin_init()
  81. {
  82.     register_plugin("[ZE] Special Models", ZE_VERSION, AUTHORS)
  83. }
  84.  
  85. public plugin_precache()
  86. {
  87.     // Initialize Arrays
  88.     g_szOwnerHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  89.     g_szStaffHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  90.     g_szModHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  91.     g_szAdminHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  92.     g_szVipHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  93.     g_szAdminZombieModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  94.     g_v_szAdminZombieKnifeModel = ArrayCreate(MODEL_MAX_LENGTH, 1)
  95.     g_szHumanModel1 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  96.     g_szHumanModel2 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  97.     g_szHumanModel3 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  98.     g_szHumanModel4 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  99.    
  100.     // Load From External File
  101.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "OWNER ( H )", g_szOwnerHumanModel)
  102.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "STAFF ( H )", g_szStaffHumanModel)
  103.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "MODERATOR ( H )", g_szModHumanModel)
  104.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ADMIN ( H )", g_szAdminHumanModel)
  105.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "VIP ( H )", g_szVipHumanModel)
  106.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ZOMBIE ADMIN", g_szAdminZombieModel)
  107.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Weapon Models", "V_KNIFE ZOMBIE ADMIN", g_v_szAdminZombieKnifeModel)
  108.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 1", g_szHumanModel1)
  109.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 2", g_szHumanModel2)
  110.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 3", g_szHumanModel3)
  111.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 4", g_szHumanModel4)
  112.    
  113.     // Load our Default Values
  114.     new iIndex
  115.    
  116.     if(ArraySize(g_szOwnerHumanModel) == 0)
  117.     {
  118.         for(iIndex = 0; iIndex < sizeof szOwnerHumanModel; iIndex++)
  119.             ArrayPushString(g_szOwnerHumanModel, szOwnerHumanModel[iIndex])
  120.        
  121.         // Save to external file
  122.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "OWNER ( H )", g_szOwnerHumanModel)
  123.     }
  124.    
  125.     if(ArraySize(g_szStaffHumanModel) == 0)
  126.     {
  127.         for(iIndex = 0; iIndex < sizeof szStaffHumanModel; iIndex++)
  128.             ArrayPushString(g_szStaffHumanModel, szStaffHumanModel[iIndex])
  129.        
  130.         // Save to external file
  131.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "STAFF ( H )", g_szStaffHumanModel)
  132.     }
  133.    
  134.     if(ArraySize(g_szModHumanModel) == 0)
  135.     {
  136.         for(iIndex = 0; iIndex < sizeof szModHumanModel; iIndex++)
  137.             ArrayPushString(g_szModHumanModel, szModHumanModel[iIndex])
  138.        
  139.         // Save to external file
  140.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "MODERATOR ( H )", g_szModHumanModel)
  141.     }
  142.    
  143.     if(ArraySize(g_szAdminHumanModel) == 0)
  144.     {
  145.         for(iIndex = 0; iIndex < sizeof szAdminHumanModel; iIndex++)
  146.             ArrayPushString(g_szAdminHumanModel, szAdminHumanModel[iIndex])
  147.        
  148.         // Save to external file
  149.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ADMIN ( H )", g_szAdminHumanModel)
  150.     }
  151.    
  152.     if(ArraySize(g_szVipHumanModel) == 0)
  153.     {
  154.         for(iIndex = 0; iIndex < sizeof szVipHumanModel; iIndex++)
  155.             ArrayPushString(g_szVipHumanModel, szVipHumanModel[iIndex])
  156.        
  157.         // Save to external file
  158.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "VIP ( H )", g_szVipHumanModel)
  159.     }
  160.    
  161.     if(ArraySize(g_szAdminZombieModel) == 0)
  162.     {
  163.         for(iIndex = 0; iIndex < sizeof szAdminZombieModel; iIndex++)
  164.             ArrayPushString(g_szAdminZombieModel, szAdminZombieModel[iIndex])
  165.        
  166.         // Save to external file
  167.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ZOMBIE ADMIN", g_szAdminZombieModel)
  168.     }
  169.    
  170.     if(ArraySize(g_v_szAdminZombieKnifeModel) == 0)
  171.     {
  172.         for(iIndex = 0; iIndex < sizeof v_szAdminZombieKnifeModel; iIndex++)
  173.             ArrayPushString(g_v_szAdminZombieKnifeModel, v_szAdminZombieKnifeModel[iIndex])
  174.        
  175.         // Save to external file
  176.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Weapon Models", "V_KNIFE ZOMBIE ADMIN", g_v_szAdminZombieKnifeModel)
  177.     }
  178.    
  179.     if(ArraySize(g_szHumanModel1) == 0)
  180.     {
  181.         for(iIndex = 0; iIndex < sizeof szHumanModel1; iIndex++)
  182.             ArrayPushString(g_szHumanModel1, szHumanModel1[iIndex])
  183.        
  184.         // Save to external file
  185.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 1", g_szHumanModel1)
  186.     }
  187.    
  188.     if(ArraySize(g_szHumanModel2) == 0)
  189.     {
  190.         for(iIndex = 0; iIndex < sizeof szHumanModel2; iIndex++)
  191.             ArrayPushString(g_szHumanModel2, szHumanModel2[iIndex])
  192.        
  193.         // Save to external file
  194.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 2", g_szHumanModel2)
  195.     }
  196.    
  197.     if(ArraySize(g_szHumanModel3) == 0)
  198.     {
  199.         for(iIndex = 0; iIndex < sizeof szHumanModel3; iIndex++)
  200.             ArrayPushString(g_szHumanModel3, szHumanModel3[iIndex])
  201.        
  202.         // Save to external file
  203.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 3", g_szHumanModel3)
  204.     }
  205.    
  206.     if(ArraySize(g_szHumanModel4) == 0)
  207.     {
  208.         for(iIndex = 0; iIndex < sizeof szHumanModel4; iIndex++)
  209.             ArrayPushString(g_szHumanModel4, szHumanModel4[iIndex])
  210.        
  211.         // Save to external file
  212.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 4", g_szHumanModel4)
  213.     }
  214.     // Precache
  215.     new szPlayerModel[PLAYERMODEL_MAX_LENGTH], szModel[MODEL_MAX_LENGTH], szModelPath[128]
  216.    
  217.     for (iIndex = 0; iIndex < ArraySize(g_szOwnerHumanModel); iIndex++)
  218.     {
  219.         ArrayGetString(g_szOwnerHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  220.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  221.         precache_model(szModelPath)
  222.     }
  223.     for (iIndex = 0; iIndex < ArraySize(g_szStaffHumanModel); iIndex++)
  224.     {
  225.         ArrayGetString(g_szStaffHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  226.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  227.         precache_model(szModelPath)
  228.     }
  229.    
  230.     for (iIndex = 0; iIndex < ArraySize(g_szModHumanModel); iIndex++)
  231.     {
  232.         ArrayGetString(g_szModHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  233.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  234.         precache_model(szModelPath)
  235.     }
  236.    
  237.     for (iIndex = 0; iIndex < ArraySize(g_szAdminHumanModel); iIndex++)
  238.     {
  239.         ArrayGetString(g_szAdminHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  240.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  241.         precache_model(szModelPath)
  242.     }
  243.    
  244.     for (iIndex = 0; iIndex < ArraySize(g_szVipHumanModel); iIndex++)
  245.     {
  246.         ArrayGetString(g_szVipHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  247.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  248.         precache_model(szModelPath)
  249.     }
  250.     for (iIndex = 0; iIndex < ArraySize(g_szAdminZombieModel); iIndex++)
  251.     {
  252.         ArrayGetString(g_szAdminZombieModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  253.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  254.         precache_model(szModelPath)
  255.     }
  256.     for (iIndex = 0; iIndex < ArraySize(g_szHumanModel1); iIndex++)
  257.     {
  258.         ArrayGetString(g_szHumanModel1, iIndex, szPlayerModel, charsmax(szPlayerModel))
  259.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  260.         precache_model(szModelPath)
  261.     }
  262.     for (iIndex = 0; iIndex < ArraySize(g_szHumanModel2); iIndex++)
  263.     {
  264.         ArrayGetString(g_szHumanModel2, iIndex, szPlayerModel, charsmax(szPlayerModel))
  265.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  266.         precache_model(szModelPath)
  267.     }
  268.     for (iIndex = 0; iIndex < ArraySize(g_szHumanModel3); iIndex++)
  269.     {
  270.         ArrayGetString(g_szHumanModel3, iIndex, szPlayerModel, charsmax(szPlayerModel))
  271.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  272.         precache_model(szModelPath)
  273.     }
  274.     for (iIndex = 0; iIndex < ArraySize(g_szHumanModel4); iIndex++)
  275.     {
  276.         ArrayGetString(g_szHumanModel4, iIndex, szPlayerModel, charsmax(szPlayerModel))
  277.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  278.         precache_model(szModelPath)
  279.     }
  280.     for (iIndex = 0; iIndex < ArraySize(g_v_szAdminZombieKnifeModel); iIndex++)
  281.     {
  282.         ArrayGetString(g_v_szAdminZombieKnifeModel, iIndex, szModel, charsmax(szModel))
  283.         precache_model(szModel)
  284.     }
  285. }
  286.  
  287. public ze_user_humanized(id)
  288. {
  289.     if(ze_is_user_zombie(id) || !is_user_alive(id))
  290.         return
  291.        
  292.     new szPlayerModel[PLAYERMODEL_MAX_LENGTH], szModel[MODEL_MAX_LENGTH]
  293.  
  294.     // Player Admin?
  295.     if(get_user_flags(id) & OWNER_MODEL)
  296.     {
  297.         // Set Admin Human Model
  298.         ArrayGetString(g_szOwnerHumanModel, random_num(0, ArraySize(g_szOwnerHumanModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  299.         rg_set_user_model(id, szPlayerModel)
  300.     }  
  301.     if(get_user_flags(id) & STAFF_MODEL)
  302.     {
  303.         // Set Admin Human Model
  304.         ArrayGetString(g_szStaffHumanModel, random_num(0, ArraySize(g_szStaffHumanModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  305.         rg_set_user_model(id, szPlayerModel)
  306.     }  
  307.     if(get_user_flags(id) & MOD_MODEL)
  308.     {
  309.         // Set Admin Human Model
  310.         ArrayGetString(g_szModHumanModel, random_num(0, ArraySize(g_szModHumanModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  311.         rg_set_user_model(id, szPlayerModel)
  312.     }  
  313.     if(get_user_flags(id) & ADMIN_MODELS_ACCESS)
  314.     {
  315.         // Set Admin Human Model
  316.         ArrayGetString(g_szAdminHumanModel, random_num(0, ArraySize(g_szAdminHumanModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  317.         rg_set_user_model(id, szPlayerModel)
  318.     }  
  319.     if(get_user_flags(id) & VIP_MODEL)
  320.     {
  321.         // Set Admin Human Model
  322.         ArrayGetString(g_szVipHumanModel, random_num(0, ArraySize(g_szVipHumanModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  323.         rg_set_user_model(id, szPlayerModel)
  324.     }
  325.     else
  326.     {
  327.         // Rest Player Model (Model Randomly)
  328.         switch(random_num(0, 130))
  329.         {
  330.             case 0..30:
  331.             {
  332.                 ArrayGetString(g_szHumanModel1, random_num(0, ArraySize(g_szHumanModel1) - 1), szPlayerModel, charsmax(szPlayerModel))
  333.                 rg_set_user_model(id, szPlayerModel)
  334.             }
  335.             case 31..70:
  336.             {
  337.                 ArrayGetString(g_szHumanModel2, random_num(0, ArraySize(g_szHumanModel2) - 1), szPlayerModel, charsmax(szPlayerModel))
  338.                 rg_set_user_model(id, szPlayerModel)
  339.             }
  340.             case 71..100:
  341.             {
  342.                 ArrayGetString(g_szHumanModel3, random_num(0, ArraySize(g_szHumanModel3) - 1), szPlayerModel, charsmax(szPlayerModel))
  343.                 rg_set_user_model(id, szPlayerModel)
  344.             }
  345.             case 101..130:
  346.             {
  347.                 ArrayGetString(g_szHumanModel4, random_num(0, ArraySize(g_szHumanModel4) - 1), szPlayerModel, charsmax(szPlayerModel))
  348.                 rg_set_user_model(id, szPlayerModel)
  349.             }
  350.         }
  351.     }
  352. }
  353.  
  354. public ze_user_infected(iVictim, iInfector)
  355. {
  356.     if(!is_user_alive(iVictim))
  357.         return
  358.        
  359.     // Set Zombie Models
  360.     new szPlayerModel[PLAYERMODEL_MAX_LENGTH], szModel[MODEL_MAX_LENGTH]
  361.    
  362.     // Player Admin?
  363.     if(get_user_flags(iVictim) & ADMIN_MODELS_ACCESS)
  364.     {
  365.         // Set Zombie Admin Model
  366.         ArrayGetString(g_szAdminZombieModel, random_num(0, ArraySize(g_szAdminZombieModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  367.         rg_set_user_model(iVictim, szPlayerModel)
  368.        
  369.         // Set Admin Zombie Knife Model
  370.         ArrayGetString(g_v_szAdminZombieKnifeModel, random_num(0, ArraySize(g_v_szAdminZombieKnifeModel) - 1), szModel, charsmax(szModel))
  371.         cs_set_player_view_model(iVictim, CSW_KNIFE, szModel)
  372.         cs_set_player_weap_model(iVictim, CSW_KNIFE, "") // Leave Blank so knife not appear with zombies
  373.     }
  374. }
Not Working Help Please
It's working bro.
Bro Am Not Getting Skin Which i set


EDIT :- Fixed Problem Was In ze_user_humanized

Re: Special Models

Posted: 28 Sep 2021, 13:55
by z0h1r-LK

Give me ze_resources.sma from your mod !
If you want skins of humans

Re: Special Models

Posted: 06 Dec 2021, 08:48
by Amnesia
Rahhem bro help !

Code: Select all

[MAIN_CONFIG]
MIN_PLAYER = 3
DEFAULT_LIGHT = d
ZOMBIE_RELEASE_TIME = 10
HUMAN_FREEZE_TIME = 10
ROUND_TIME = 9

[FOG]
FOG_ENABLE = 1
FOG_DENSITY = 0.0010
FOG_COLOR = 100 100 100

[HUMAN_CONFIG]
HUMAN_HEALTH = 250.0
HUMAN_ARMOR = 100.0
HUMAN_GRAVITY = 1.0
HUMAN_SPEED = 250.0

[ZOMBIE_CONFIG]
ZOMBIE_HEALTH = 14000.0
ZOMBIE_ARMOR = 100.0
ZOMBIE_GRAVITY = 0.875
ZOMBIE_SPEED = 325.0
ZOMBIE_KNOCKBACK_POWER = 500.0

[SKY]
SKY_NAME = hk

[MODEL_CONFIG]
HUMAN_MODEL = roz_xmas_player1 , roz_xmas_player2 ,
ZOMBIE_ORIGIN_MODEL = tank_zombi_origin
ZOMBIE_HOST_MODEL = tank_zombi_host
ZOMBIE_CLAW_MODEL = models/zombie_escape/v_knife_tank_zombi.mdl

[SOUND_CONFIG]
READY = zombie_escape/ZE_Ready.mp3
AMBIENCE = zombie_escape/ZE_Ambience.mp3
ZOMBIE_APPEAR = zombie_escape/zombi_coming_1.wav , zombie_escape/zombi_coming_2.wav
PLAYER_INFECT = zombie_escape/zombie/human_death_01.wav , zombie_escape/zombie/human_death_02.wav
ZOMBIE_PAIN = zombie_escape/zombie/zombi_hurt_01.wav , zombie_escape/zombie/zombi_hurt_02.wav
COUNTDOWN = zombie_escape/count/%i.wav
ESCAPE_SUCCESS = zombie_escape/zombi_escape_success.wav
ESCAPE_FAIL = zombie_escape/zombi_escape_fail.wav

ATTACK_HIT = zombie_escape/zombie/zombi_attack_1.wav , zombie_escape/zombie/zombi_attack_2.wav , zombie_escape/zombie/zombi_attack_3.wav
ATTACK_MISS = zombie_escape/zombie/zombi_swing_1.wav , zombie_escape/zombie/zombi_swing_2.wav , zombie_escape/zombie/zombi_swing_3.wav
ATTACK_WALL = zombie_escape/zombie/zombi_wall_1.wav ,  zombie_escape/zombie/zombi_wall_2.wav , zombie_escape/zombie/zombi_wall_3.wav

[Objective Entities] (and anything that would affect gameplay that needs to be removed)
CLASSNAMES = func_bomb_target , info_bomb_target , info_vip_start , func_vip_safetyzone , func_escapezone , hostage_entity , monster_scientist , func_hostage_rescue , info_hostage_rescue , env_fog , env_rain , env_snow , item_longjump , func_buyzone
OBJECTIVES = func_bomb_target , info_bomb_target , info_vip_start , func_vip_safetyzone , func_escapezone , hostage_entity , monster_scientist , func_hostage_rescue , info_hostage_rescue
GAMEPLAY = func_vehicle , item_longjump
how i can change models i mean , Humans : player 1 , player2 , player3 random And about vip like this , VIP Human : viphuman1 , VIP Zombie : vipZe1
and knifes model there to please!

Re: Special Models

Posted: 06 Dec 2021, 18:06
by VicKy
Amnesia wrote: 2 years ago Rahhem bro help !

Code: Select all

[MAIN_CONFIG]
MIN_PLAYER = 3
DEFAULT_LIGHT = d
ZOMBIE_RELEASE_TIME = 10
HUMAN_FREEZE_TIME = 10
ROUND_TIME = 9

[FOG]
FOG_ENABLE = 1
FOG_DENSITY = 0.0010
FOG_COLOR = 100 100 100

[HUMAN_CONFIG]
HUMAN_HEALTH = 250.0
HUMAN_ARMOR = 100.0
HUMAN_GRAVITY = 1.0
HUMAN_SPEED = 250.0

[ZOMBIE_CONFIG]
ZOMBIE_HEALTH = 14000.0
ZOMBIE_ARMOR = 100.0
ZOMBIE_GRAVITY = 0.875
ZOMBIE_SPEED = 325.0
ZOMBIE_KNOCKBACK_POWER = 500.0

[SKY]
SKY_NAME = hk

[MODEL_CONFIG]
HUMAN_MODEL = roz_xmas_player1 , roz_xmas_player2 ,
ZOMBIE_ORIGIN_MODEL = tank_zombi_origin
ZOMBIE_HOST_MODEL = tank_zombi_host
ZOMBIE_CLAW_MODEL = models/zombie_escape/v_knife_tank_zombi.mdl

[SOUND_CONFIG]
READY = zombie_escape/ZE_Ready.mp3
AMBIENCE = zombie_escape/ZE_Ambience.mp3
ZOMBIE_APPEAR = zombie_escape/zombi_coming_1.wav , zombie_escape/zombi_coming_2.wav
PLAYER_INFECT = zombie_escape/zombie/human_death_01.wav , zombie_escape/zombie/human_death_02.wav
ZOMBIE_PAIN = zombie_escape/zombie/zombi_hurt_01.wav , zombie_escape/zombie/zombi_hurt_02.wav
COUNTDOWN = zombie_escape/count/%i.wav
ESCAPE_SUCCESS = zombie_escape/zombi_escape_success.wav
ESCAPE_FAIL = zombie_escape/zombi_escape_fail.wav

ATTACK_HIT = zombie_escape/zombie/zombi_attack_1.wav , zombie_escape/zombie/zombi_attack_2.wav , zombie_escape/zombie/zombi_attack_3.wav
ATTACK_MISS = zombie_escape/zombie/zombi_swing_1.wav , zombie_escape/zombie/zombi_swing_2.wav , zombie_escape/zombie/zombi_swing_3.wav
ATTACK_WALL = zombie_escape/zombie/zombi_wall_1.wav ,  zombie_escape/zombie/zombi_wall_2.wav , zombie_escape/zombie/zombi_wall_3.wav

[Objective Entities] (and anything that would affect gameplay that needs to be removed)
CLASSNAMES = func_bomb_target , info_bomb_target , info_vip_start , func_vip_safetyzone , func_escapezone , hostage_entity , monster_scientist , func_hostage_rescue , info_hostage_rescue , env_fog , env_rain , env_snow , item_longjump , func_buyzone
OBJECTIVES = func_bomb_target , info_bomb_target , info_vip_start , func_vip_safetyzone , func_escapezone , hostage_entity , monster_scientist , func_hostage_rescue , info_hostage_rescue
GAMEPLAY = func_vehicle , item_longjump
how i can change models i mean , Humans : player 1 , player2 , player3 random And about vip like this , VIP Human : viphuman1 , VIP Zombie : vipZe1
and knifes model there to please!
Bro Instead Of This You Can Use This viewtopic.php?f=15&t=32

Or Here ( Some Rank Skins Added ) You Can Skins From zombie_escape.ini :-
  1. #include <zombie_escape>
  2.  
  3. // Setting File
  4. new const ZE_SETTING_RESOURCES[] = "zombie_escape.ini"
  5.  
  6. // Defines
  7. #define MODEL_MAX_LENGTH 64
  8. #define PLAYERMODEL_MAX_LENGTH 32
  9. #define ACCESS_MAX_LENGTH 32
  10.  
  11. /// Acess
  12. #define OWNER_MODEL ADMIN_IMMUNITY
  13. #define STAFF_MODEL ADMIN_LEVEL_D
  14. #define MOD_MODEL ADMIN_LEVEL_E
  15. #define ADMIN_MODELS_ACCESS ADMIN_LEVEL_B
  16. #define VIP_MODEL ADMIN_LEVEL_F
  17.  
  18. // Added Models
  19.  
  20. new const szOwnerHumanModel[][] =
  21. {
  22.     "owner"
  23. }
  24.  
  25. new const szStaffHumanModel[][] =
  26. {
  27.     "Staff"
  28. }
  29.  
  30. new const szModHumanModel[][] =
  31. {
  32.     "Mod"
  33. }
  34. new const szAdminHumanModel[][] =
  35. {
  36.     "Vdmin"
  37. }
  38.  
  39. new const szVipHumanModel[][] =
  40. {
  41.     "Vip"
  42. }
  43.  
  44. // Default
  45.  
  46. new const szAdminZombieModel[][] =
  47. {
  48.     "zombie_admin"
  49. }
  50.  
  51. new const v_szAdminZombieKnifeModel[][] =
  52. {
  53.     "models/zombie_escape/v_knife_zombie_admin.mdl"
  54. }
  55.  
  56. new const szHumanModel1[][] =
  57. {
  58.     "human1"
  59. }
  60.  
  61. new const szHumanModel2[][] =
  62. {
  63.     "human2"
  64. }
  65.  
  66. new const szHumanModel3[][] =
  67. {
  68.     "human3"
  69. }
  70.  
  71. new const szHumanModel4[][] =
  72. {
  73.     "human4"
  74. }
  75.  
  76. // Dynamic Arrays: Models
  77. new Array:g_szAdminZombieModel, Array:g_v_szAdminZombieKnifeModel,
  78. Array:g_szOwnerHumanModel,g_szStaffHumanModel,g_szModHumanModel,g_szAdminHumanModel,g_szVipHumanModel,g_szHumanModel1, Array:g_szHumanModel2, Array:g_szHumanModel3, Array:g_szHumanModel4
  79.  
  80. public plugin_init()
  81. {
  82.     register_plugin("[ZE] Special Models", ZE_VERSION, AUTHORS)
  83. }
  84.  
  85. public plugin_precache()
  86. {
  87.     // Initialize Arrays
  88.     g_szOwnerHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  89.     g_szStaffHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  90.     g_szModHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  91.     g_szAdminHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  92.     g_szVipHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  93.     g_szAdminZombieModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  94.     g_v_szAdminZombieKnifeModel = ArrayCreate(MODEL_MAX_LENGTH, 1)
  95.     g_szHumanModel1 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  96.     g_szHumanModel2 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  97.     g_szHumanModel3 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  98.     g_szHumanModel4 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  99.    
  100.     // Load From External File
  101.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "OWNER ( H )", g_szOwnerHumanModel)
  102.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "STAFF ( H )", g_szStaffHumanModel)
  103.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "MODERATOR ( H )", g_szModHumanModel)
  104.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ADMIN ( H )", g_szAdminHumanModel)
  105.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "VIP ( H )", g_szVipHumanModel)
  106.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ZOMBIE ADMIN", g_szAdminZombieModel)
  107.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Weapon Models", "V_KNIFE ZOMBIE ADMIN", g_v_szAdminZombieKnifeModel)
  108.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 1", g_szHumanModel1)
  109.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 2", g_szHumanModel2)
  110.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 3", g_szHumanModel3)
  111.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 4", g_szHumanModel4)
  112.    
  113.     // Load our Default Values
  114.     new iIndex
  115.    
  116.     if(ArraySize(g_szOwnerHumanModel) == 0)
  117.     {
  118.         for(iIndex = 0; iIndex < sizeof szOwnerHumanModel; iIndex++)
  119.             ArrayPushString(g_szOwnerHumanModel, szOwnerHumanModel[iIndex])
  120.        
  121.         // Save to external file
  122.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "OWNER ( H )", g_szOwnerHumanModel)
  123.     }
  124.    
  125.     if(ArraySize(g_szStaffHumanModel) == 0)
  126.     {
  127.         for(iIndex = 0; iIndex < sizeof szStaffHumanModel; iIndex++)
  128.             ArrayPushString(g_szStaffHumanModel, szStaffHumanModel[iIndex])
  129.        
  130.         // Save to external file
  131.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "STAFF ( H )", g_szStaffHumanModel)
  132.     }
  133.    
  134.     if(ArraySize(g_szModHumanModel) == 0)
  135.     {
  136.         for(iIndex = 0; iIndex < sizeof szModHumanModel; iIndex++)
  137.             ArrayPushString(g_szModHumanModel, szModHumanModel[iIndex])
  138.        
  139.         // Save to external file
  140.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "MODERATOR ( H )", g_szModHumanModel)
  141.     }
  142.    
  143.     if(ArraySize(g_szAdminHumanModel) == 0)
  144.     {
  145.         for(iIndex = 0; iIndex < sizeof szAdminHumanModel; iIndex++)
  146.             ArrayPushString(g_szAdminHumanModel, szAdminHumanModel[iIndex])
  147.        
  148.         // Save to external file
  149.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ADMIN ( H )", g_szAdminHumanModel)
  150.     }
  151.    
  152.     if(ArraySize(g_szVipHumanModel) == 0)
  153.     {
  154.         for(iIndex = 0; iIndex < sizeof szVipHumanModel; iIndex++)
  155.             ArrayPushString(g_szVipHumanModel, szVipHumanModel[iIndex])
  156.        
  157.         // Save to external file
  158.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "VIP ( H )", g_szVipHumanModel)
  159.     }
  160.    
  161.     if(ArraySize(g_szAdminZombieModel) == 0)
  162.     {
  163.         for(iIndex = 0; iIndex < sizeof szAdminZombieModel; iIndex++)
  164.             ArrayPushString(g_szAdminZombieModel, szAdminZombieModel[iIndex])
  165.        
  166.         // Save to external file
  167.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ZOMBIE ADMIN", g_szAdminZombieModel)
  168.     }
  169.    
  170.     if(ArraySize(g_v_szAdminZombieKnifeModel) == 0)
  171.     {
  172.         for(iIndex = 0; iIndex < sizeof v_szAdminZombieKnifeModel; iIndex++)
  173.             ArrayPushString(g_v_szAdminZombieKnifeModel, v_szAdminZombieKnifeModel[iIndex])
  174.        
  175.         // Save to external file
  176.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Weapon Models", "V_KNIFE ZOMBIE ADMIN", g_v_szAdminZombieKnifeModel)
  177.     }
  178.    
  179.     if(ArraySize(g_szHumanModel1) == 0)
  180.     {
  181.         for(iIndex = 0; iIndex < sizeof szHumanModel1; iIndex++)
  182.             ArrayPushString(g_szHumanModel1, szHumanModel1[iIndex])
  183.        
  184.         // Save to external file
  185.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 1", g_szHumanModel1)
  186.     }
  187.    
  188.     if(ArraySize(g_szHumanModel2) == 0)
  189.     {
  190.         for(iIndex = 0; iIndex < sizeof szHumanModel2; iIndex++)
  191.             ArrayPushString(g_szHumanModel2, szHumanModel2[iIndex])
  192.        
  193.         // Save to external file
  194.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 2", g_szHumanModel2)
  195.     }
  196.    
  197.     if(ArraySize(g_szHumanModel3) == 0)
  198.     {
  199.         for(iIndex = 0; iIndex < sizeof szHumanModel3; iIndex++)
  200.             ArrayPushString(g_szHumanModel3, szHumanModel3[iIndex])
  201.        
  202.         // Save to external file
  203.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 3", g_szHumanModel3)
  204.     }
  205.    
  206.     if(ArraySize(g_szHumanModel4) == 0)
  207.     {
  208.         for(iIndex = 0; iIndex < sizeof szHumanModel4; iIndex++)
  209.             ArrayPushString(g_szHumanModel4, szHumanModel4[iIndex])
  210.        
  211.         // Save to external file
  212.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 4", g_szHumanModel4)
  213.     }
  214.     // Precache
  215.     new szPlayerModel[PLAYERMODEL_MAX_LENGTH], szModel[MODEL_MAX_LENGTH], szModelPath[128]
  216.    
  217.     for (iIndex = 0; iIndex < ArraySize(g_szOwnerHumanModel); iIndex++)
  218.     {
  219.         ArrayGetString(g_szOwnerHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  220.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  221.         precache_model(szModelPath)
  222.     }
  223.     for (iIndex = 0; iIndex < ArraySize(g_szStaffHumanModel); iIndex++)
  224.     {
  225.         ArrayGetString(g_szStaffHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  226.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  227.         precache_model(szModelPath)
  228.     }
  229.    
  230.     for (iIndex = 0; iIndex < ArraySize(g_szModHumanModel); iIndex++)
  231.     {
  232.         ArrayGetString(g_szModHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  233.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  234.         precache_model(szModelPath)
  235.     }
  236.    
  237.     for (iIndex = 0; iIndex < ArraySize(g_szAdminHumanModel); iIndex++)
  238.     {
  239.         ArrayGetString(g_szAdminHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  240.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  241.         precache_model(szModelPath)
  242.     }
  243.    
  244.     for (iIndex = 0; iIndex < ArraySize(g_szVipHumanModel); iIndex++)
  245.     {
  246.         ArrayGetString(g_szVipHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  247.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  248.         precache_model(szModelPath)
  249.     }
  250.     for (iIndex = 0; iIndex < ArraySize(g_szAdminZombieModel); iIndex++)
  251.     {
  252.         ArrayGetString(g_szAdminZombieModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  253.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  254.         precache_model(szModelPath)
  255.     }
  256.     for (iIndex = 0; iIndex < ArraySize(g_szHumanModel1); iIndex++)
  257.     {
  258.         ArrayGetString(g_szHumanModel1, iIndex, szPlayerModel, charsmax(szPlayerModel))
  259.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  260.         precache_model(szModelPath)
  261.     }
  262.     for (iIndex = 0; iIndex < ArraySize(g_szHumanModel2); iIndex++)
  263.     {
  264.         ArrayGetString(g_szHumanModel2, iIndex, szPlayerModel, charsmax(szPlayerModel))
  265.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  266.         precache_model(szModelPath)
  267.     }
  268.     for (iIndex = 0; iIndex < ArraySize(g_szHumanModel3); iIndex++)
  269.     {
  270.         ArrayGetString(g_szHumanModel3, iIndex, szPlayerModel, charsmax(szPlayerModel))
  271.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  272.         precache_model(szModelPath)
  273.     }
  274.     for (iIndex = 0; iIndex < ArraySize(g_szHumanModel4); iIndex++)
  275.     {
  276.         ArrayGetString(g_szHumanModel4, iIndex, szPlayerModel, charsmax(szPlayerModel))
  277.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  278.         precache_model(szModelPath)
  279.     }
  280.     for (iIndex = 0; iIndex < ArraySize(g_v_szAdminZombieKnifeModel); iIndex++)
  281.     {
  282.         ArrayGetString(g_v_szAdminZombieKnifeModel, iIndex, szModel, charsmax(szModel))
  283.         precache_model(szModel)
  284.     }
  285. }
  286.  
  287. public ze_user_humanized(id)
  288. {
  289.     if(ze_is_user_zombie(id) || !is_user_alive(id))
  290.         return
  291.        
  292.     new szPlayerModel[PLAYERMODEL_MAX_LENGTH], szModel[MODEL_MAX_LENGTH]
  293.  
  294.     // Player Admin?
  295.     if(get_user_flags(id) & OWNER_MODEL)
  296.     {
  297.         // Set Admin Human Model
  298.         ArrayGetString(g_szOwnerHumanModel, random_num(0, ArraySize(g_szOwnerHumanModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  299.         rg_set_user_model(id, szPlayerModel)
  300.     }  
  301.     else if(get_user_flags(id) & STAFF_MODEL)
  302.     {
  303.         // Set Admin Human Model
  304.         ArrayGetString(g_szStaffHumanModel, random_num(0, ArraySize(g_szStaffHumanModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  305.         rg_set_user_model(id, szPlayerModel)
  306.     }  
  307.     else if(get_user_flags(id) & MOD_MODEL)
  308.     {
  309.         // Set Admin Human Model
  310.         ArrayGetString(g_szModHumanModel, random_num(0, ArraySize(g_szModHumanModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  311.         rg_set_user_model(id, szPlayerModel)
  312.     }  
  313.     else if(get_user_flags(id) & ADMIN_MODELS_ACCESS)
  314.     {
  315.         // Set Admin Human Model
  316.         ArrayGetString(g_szAdminHumanModel, random_num(0, ArraySize(g_szAdminHumanModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  317.         rg_set_user_model(id, szPlayerModel)
  318.     }  
  319.     else if(get_user_flags(id) & VIP_MODEL)
  320.     {
  321.         // Set Admin Human Model
  322.         ArrayGetString(g_szVipHumanModel, random_num(0, ArraySize(g_szVipHumanModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  323.         rg_set_user_model(id, szPlayerModel)
  324.     }
  325.     else
  326.     {
  327.         // Rest Player Model (Model Randomly)
  328.         switch(random_num(0, 130))
  329.         {
  330.             case 0..30:
  331.             {
  332.                 ArrayGetString(g_szHumanModel1, random_num(0, ArraySize(g_szHumanModel1) - 1), szPlayerModel, charsmax(szPlayerModel))
  333.                 rg_set_user_model(id, szPlayerModel)
  334.             }
  335.             case 31..70:
  336.             {
  337.                 ArrayGetString(g_szHumanModel2, random_num(0, ArraySize(g_szHumanModel2) - 1), szPlayerModel, charsmax(szPlayerModel))
  338.                 rg_set_user_model(id, szPlayerModel)
  339.             }
  340.             case 71..100:
  341.             {
  342.                 ArrayGetString(g_szHumanModel3, random_num(0, ArraySize(g_szHumanModel3) - 1), szPlayerModel, charsmax(szPlayerModel))
  343.                 rg_set_user_model(id, szPlayerModel)
  344.             }
  345.             case 101..130:
  346.             {
  347.                 ArrayGetString(g_szHumanModel4, random_num(0, ArraySize(g_szHumanModel4) - 1), szPlayerModel, charsmax(szPlayerModel))
  348.                 rg_set_user_model(id, szPlayerModel)
  349.             }
  350.         }
  351.     }
  352. }
  353.  
  354. public ze_user_infected(iVictim, iInfector)
  355. {
  356.     if(!is_user_alive(iVictim))
  357.         return
  358.        
  359.     // Set Zombie Models
  360.     new szPlayerModel[PLAYERMODEL_MAX_LENGTH], szModel[MODEL_MAX_LENGTH]
  361.    
  362.     // Player Admin?
  363.     if(get_user_flags(iVictim) & ADMIN_MODELS_ACCESS)
  364.     {
  365.         // Set Zombie Admin Model
  366.         ArrayGetString(g_szAdminZombieModel, random_num(0, ArraySize(g_szAdminZombieModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  367.         rg_set_user_model(iVictim, szPlayerModel)
  368.        
  369.         // Set Admin Zombie Knife Model
  370.         ArrayGetString(g_v_szAdminZombieKnifeModel, random_num(0, ArraySize(g_v_szAdminZombieKnifeModel) - 1), szModel, charsmax(szModel))
  371.         cs_set_player_view_model(iVictim, CSW_KNIFE, szModel)
  372.         cs_set_player_weap_model(iVictim, CSW_KNIFE, "") // Leave Blank so knife not appear with zombies
  373.     }
  374. }

Re: Special Models

Posted: 06 Dec 2021, 18:23
by Amnesia
VicKy wrote: 2 years ago
Amnesia wrote: 2 years ago Rahhem bro help !

Code: Select all

[MAIN_CONFIG]
MIN_PLAYER = 3
DEFAULT_LIGHT = d
ZOMBIE_RELEASE_TIME = 10
HUMAN_FREEZE_TIME = 10
ROUND_TIME = 9

[FOG]
FOG_ENABLE = 1
FOG_DENSITY = 0.0010
FOG_COLOR = 100 100 100

[HUMAN_CONFIG]
HUMAN_HEALTH = 250.0
HUMAN_ARMOR = 100.0
HUMAN_GRAVITY = 1.0
HUMAN_SPEED = 250.0

[ZOMBIE_CONFIG]
ZOMBIE_HEALTH = 14000.0
ZOMBIE_ARMOR = 100.0
ZOMBIE_GRAVITY = 0.875
ZOMBIE_SPEED = 325.0
ZOMBIE_KNOCKBACK_POWER = 500.0

[SKY]
SKY_NAME = hk

[MODEL_CONFIG]
HUMAN_MODEL = roz_xmas_player1 , roz_xmas_player2 ,
ZOMBIE_ORIGIN_MODEL = tank_zombi_origin
ZOMBIE_HOST_MODEL = tank_zombi_host
ZOMBIE_CLAW_MODEL = models/zombie_escape/v_knife_tank_zombi.mdl

[SOUND_CONFIG]
READY = zombie_escape/ZE_Ready.mp3
AMBIENCE = zombie_escape/ZE_Ambience.mp3
ZOMBIE_APPEAR = zombie_escape/zombi_coming_1.wav , zombie_escape/zombi_coming_2.wav
PLAYER_INFECT = zombie_escape/zombie/human_death_01.wav , zombie_escape/zombie/human_death_02.wav
ZOMBIE_PAIN = zombie_escape/zombie/zombi_hurt_01.wav , zombie_escape/zombie/zombi_hurt_02.wav
COUNTDOWN = zombie_escape/count/%i.wav
ESCAPE_SUCCESS = zombie_escape/zombi_escape_success.wav
ESCAPE_FAIL = zombie_escape/zombi_escape_fail.wav

ATTACK_HIT = zombie_escape/zombie/zombi_attack_1.wav , zombie_escape/zombie/zombi_attack_2.wav , zombie_escape/zombie/zombi_attack_3.wav
ATTACK_MISS = zombie_escape/zombie/zombi_swing_1.wav , zombie_escape/zombie/zombi_swing_2.wav , zombie_escape/zombie/zombi_swing_3.wav
ATTACK_WALL = zombie_escape/zombie/zombi_wall_1.wav ,  zombie_escape/zombie/zombi_wall_2.wav , zombie_escape/zombie/zombi_wall_3.wav

[Objective Entities] (and anything that would affect gameplay that needs to be removed)
CLASSNAMES = func_bomb_target , info_bomb_target , info_vip_start , func_vip_safetyzone , func_escapezone , hostage_entity , monster_scientist , func_hostage_rescue , info_hostage_rescue , env_fog , env_rain , env_snow , item_longjump , func_buyzone
OBJECTIVES = func_bomb_target , info_bomb_target , info_vip_start , func_vip_safetyzone , func_escapezone , hostage_entity , monster_scientist , func_hostage_rescue , info_hostage_rescue
GAMEPLAY = func_vehicle , item_longjump
how i can change models i mean , Humans : player 1 , player2 , player3 random And about vip like this , VIP Human : viphuman1 , VIP Zombie : vipZe1
and knifes model there to please!
Bro Instead Of This You Can Use This viewtopic.php?f=15&t=32

Or Here ( Some Rank Skins Added ) You Can Skins From zombie_escape.ini :-
  1. #include <zombie_escape>
  2.  
  3. // Setting File
  4. new const ZE_SETTING_RESOURCES[] = "zombie_escape.ini"
  5.  
  6. // Defines
  7. #define MODEL_MAX_LENGTH 64
  8. #define PLAYERMODEL_MAX_LENGTH 32
  9. #define ACCESS_MAX_LENGTH 32
  10.  
  11. /// Acess
  12. #define OWNER_MODEL ADMIN_IMMUNITY
  13. #define STAFF_MODEL ADMIN_LEVEL_D
  14. #define MOD_MODEL ADMIN_LEVEL_E
  15. #define ADMIN_MODELS_ACCESS ADMIN_LEVEL_B
  16. #define VIP_MODEL ADMIN_LEVEL_F
  17.  
  18. // Added Models
  19.  
  20. new const szOwnerHumanModel[][] =
  21. {
  22.     "owner"
  23. }
  24.  
  25. new const szStaffHumanModel[][] =
  26. {
  27.     "Staff"
  28. }
  29.  
  30. new const szModHumanModel[][] =
  31. {
  32.     "Mod"
  33. }
  34. new const szAdminHumanModel[][] =
  35. {
  36.     "Vdmin"
  37. }
  38.  
  39. new const szVipHumanModel[][] =
  40. {
  41.     "Vip"
  42. }
  43.  
  44. // Default
  45.  
  46. new const szAdminZombieModel[][] =
  47. {
  48.     "zombie_admin"
  49. }
  50.  
  51. new const v_szAdminZombieKnifeModel[][] =
  52. {
  53.     "models/zombie_escape/v_knife_zombie_admin.mdl"
  54. }
  55.  
  56. new const szHumanModel1[][] =
  57. {
  58.     "human1"
  59. }
  60.  
  61. new const szHumanModel2[][] =
  62. {
  63.     "human2"
  64. }
  65.  
  66. new const szHumanModel3[][] =
  67. {
  68.     "human3"
  69. }
  70.  
  71. new const szHumanModel4[][] =
  72. {
  73.     "human4"
  74. }
  75.  
  76. // Dynamic Arrays: Models
  77. new Array:g_szAdminZombieModel, Array:g_v_szAdminZombieKnifeModel,
  78. Array:g_szOwnerHumanModel,g_szStaffHumanModel,g_szModHumanModel,g_szAdminHumanModel,g_szVipHumanModel,g_szHumanModel1, Array:g_szHumanModel2, Array:g_szHumanModel3, Array:g_szHumanModel4
  79.  
  80. public plugin_init()
  81. {
  82.     register_plugin("[ZE] Special Models", ZE_VERSION, AUTHORS)
  83. }
  84.  
  85. public plugin_precache()
  86. {
  87.     // Initialize Arrays
  88.     g_szOwnerHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  89.     g_szStaffHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  90.     g_szModHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  91.     g_szAdminHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  92.     g_szVipHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  93.     g_szAdminZombieModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  94.     g_v_szAdminZombieKnifeModel = ArrayCreate(MODEL_MAX_LENGTH, 1)
  95.     g_szHumanModel1 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  96.     g_szHumanModel2 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  97.     g_szHumanModel3 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  98.     g_szHumanModel4 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  99.    
  100.     // Load From External File
  101.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "OWNER ( H )", g_szOwnerHumanModel)
  102.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "STAFF ( H )", g_szStaffHumanModel)
  103.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "MODERATOR ( H )", g_szModHumanModel)
  104.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ADMIN ( H )", g_szAdminHumanModel)
  105.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "VIP ( H )", g_szVipHumanModel)
  106.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ZOMBIE ADMIN", g_szAdminZombieModel)
  107.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Weapon Models", "V_KNIFE ZOMBIE ADMIN", g_v_szAdminZombieKnifeModel)
  108.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 1", g_szHumanModel1)
  109.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 2", g_szHumanModel2)
  110.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 3", g_szHumanModel3)
  111.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 4", g_szHumanModel4)
  112.    
  113.     // Load our Default Values
  114.     new iIndex
  115.    
  116.     if(ArraySize(g_szOwnerHumanModel) == 0)
  117.     {
  118.         for(iIndex = 0; iIndex < sizeof szOwnerHumanModel; iIndex++)
  119.             ArrayPushString(g_szOwnerHumanModel, szOwnerHumanModel[iIndex])
  120.        
  121.         // Save to external file
  122.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "OWNER ( H )", g_szOwnerHumanModel)
  123.     }
  124.    
  125.     if(ArraySize(g_szStaffHumanModel) == 0)
  126.     {
  127.         for(iIndex = 0; iIndex < sizeof szStaffHumanModel; iIndex++)
  128.             ArrayPushString(g_szStaffHumanModel, szStaffHumanModel[iIndex])
  129.        
  130.         // Save to external file
  131.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "STAFF ( H )", g_szStaffHumanModel)
  132.     }
  133.    
  134.     if(ArraySize(g_szModHumanModel) == 0)
  135.     {
  136.         for(iIndex = 0; iIndex < sizeof szModHumanModel; iIndex++)
  137.             ArrayPushString(g_szModHumanModel, szModHumanModel[iIndex])
  138.        
  139.         // Save to external file
  140.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "MODERATOR ( H )", g_szModHumanModel)
  141.     }
  142.    
  143.     if(ArraySize(g_szAdminHumanModel) == 0)
  144.     {
  145.         for(iIndex = 0; iIndex < sizeof szAdminHumanModel; iIndex++)
  146.             ArrayPushString(g_szAdminHumanModel, szAdminHumanModel[iIndex])
  147.        
  148.         // Save to external file
  149.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ADMIN ( H )", g_szAdminHumanModel)
  150.     }
  151.    
  152.     if(ArraySize(g_szVipHumanModel) == 0)
  153.     {
  154.         for(iIndex = 0; iIndex < sizeof szVipHumanModel; iIndex++)
  155.             ArrayPushString(g_szVipHumanModel, szVipHumanModel[iIndex])
  156.        
  157.         // Save to external file
  158.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "VIP ( H )", g_szVipHumanModel)
  159.     }
  160.    
  161.     if(ArraySize(g_szAdminZombieModel) == 0)
  162.     {
  163.         for(iIndex = 0; iIndex < sizeof szAdminZombieModel; iIndex++)
  164.             ArrayPushString(g_szAdminZombieModel, szAdminZombieModel[iIndex])
  165.        
  166.         // Save to external file
  167.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ZOMBIE ADMIN", g_szAdminZombieModel)
  168.     }
  169.    
  170.     if(ArraySize(g_v_szAdminZombieKnifeModel) == 0)
  171.     {
  172.         for(iIndex = 0; iIndex < sizeof v_szAdminZombieKnifeModel; iIndex++)
  173.             ArrayPushString(g_v_szAdminZombieKnifeModel, v_szAdminZombieKnifeModel[iIndex])
  174.        
  175.         // Save to external file
  176.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Weapon Models", "V_KNIFE ZOMBIE ADMIN", g_v_szAdminZombieKnifeModel)
  177.     }
  178.    
  179.     if(ArraySize(g_szHumanModel1) == 0)
  180.     {
  181.         for(iIndex = 0; iIndex < sizeof szHumanModel1; iIndex++)
  182.             ArrayPushString(g_szHumanModel1, szHumanModel1[iIndex])
  183.        
  184.         // Save to external file
  185.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 1", g_szHumanModel1)
  186.     }
  187.    
  188.     if(ArraySize(g_szHumanModel2) == 0)
  189.     {
  190.         for(iIndex = 0; iIndex < sizeof szHumanModel2; iIndex++)
  191.             ArrayPushString(g_szHumanModel2, szHumanModel2[iIndex])
  192.        
  193.         // Save to external file
  194.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 2", g_szHumanModel2)
  195.     }
  196.    
  197.     if(ArraySize(g_szHumanModel3) == 0)
  198.     {
  199.         for(iIndex = 0; iIndex < sizeof szHumanModel3; iIndex++)
  200.             ArrayPushString(g_szHumanModel3, szHumanModel3[iIndex])
  201.        
  202.         // Save to external file
  203.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 3", g_szHumanModel3)
  204.     }
  205.    
  206.     if(ArraySize(g_szHumanModel4) == 0)
  207.     {
  208.         for(iIndex = 0; iIndex < sizeof szHumanModel4; iIndex++)
  209.             ArrayPushString(g_szHumanModel4, szHumanModel4[iIndex])
  210.        
  211.         // Save to external file
  212.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 4", g_szHumanModel4)
  213.     }
  214.     // Precache
  215.     new szPlayerModel[PLAYERMODEL_MAX_LENGTH], szModel[MODEL_MAX_LENGTH], szModelPath[128]
  216.    
  217.     for (iIndex = 0; iIndex < ArraySize(g_szOwnerHumanModel); iIndex++)
  218.     {
  219.         ArrayGetString(g_szOwnerHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  220.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  221.         precache_model(szModelPath)
  222.     }
  223.     for (iIndex = 0; iIndex < ArraySize(g_szStaffHumanModel); iIndex++)
  224.     {
  225.         ArrayGetString(g_szStaffHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  226.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  227.         precache_model(szModelPath)
  228.     }
  229.    
  230.     for (iIndex = 0; iIndex < ArraySize(g_szModHumanModel); iIndex++)
  231.     {
  232.         ArrayGetString(g_szModHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  233.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  234.         precache_model(szModelPath)
  235.     }
  236.    
  237.     for (iIndex = 0; iIndex < ArraySize(g_szAdminHumanModel); iIndex++)
  238.     {
  239.         ArrayGetString(g_szAdminHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  240.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  241.         precache_model(szModelPath)
  242.     }
  243.    
  244.     for (iIndex = 0; iIndex < ArraySize(g_szVipHumanModel); iIndex++)
  245.     {
  246.         ArrayGetString(g_szVipHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  247.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  248.         precache_model(szModelPath)
  249.     }
  250.     for (iIndex = 0; iIndex < ArraySize(g_szAdminZombieModel); iIndex++)
  251.     {
  252.         ArrayGetString(g_szAdminZombieModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  253.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  254.         precache_model(szModelPath)
  255.     }
  256.     for (iIndex = 0; iIndex < ArraySize(g_szHumanModel1); iIndex++)
  257.     {
  258.         ArrayGetString(g_szHumanModel1, iIndex, szPlayerModel, charsmax(szPlayerModel))
  259.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  260.         precache_model(szModelPath)
  261.     }
  262.     for (iIndex = 0; iIndex < ArraySize(g_szHumanModel2); iIndex++)
  263.     {
  264.         ArrayGetString(g_szHumanModel2, iIndex, szPlayerModel, charsmax(szPlayerModel))
  265.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  266.         precache_model(szModelPath)
  267.     }
  268.     for (iIndex = 0; iIndex < ArraySize(g_szHumanModel3); iIndex++)
  269.     {
  270.         ArrayGetString(g_szHumanModel3, iIndex, szPlayerModel, charsmax(szPlayerModel))
  271.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  272.         precache_model(szModelPath)
  273.     }
  274.     for (iIndex = 0; iIndex < ArraySize(g_szHumanModel4); iIndex++)
  275.     {
  276.         ArrayGetString(g_szHumanModel4, iIndex, szPlayerModel, charsmax(szPlayerModel))
  277.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  278.         precache_model(szModelPath)
  279.     }
  280.     for (iIndex = 0; iIndex < ArraySize(g_v_szAdminZombieKnifeModel); iIndex++)
  281.     {
  282.         ArrayGetString(g_v_szAdminZombieKnifeModel, iIndex, szModel, charsmax(szModel))
  283.         precache_model(szModel)
  284.     }
  285. }
  286.  
  287. public ze_user_humanized(id)
  288. {
  289.     if(ze_is_user_zombie(id) || !is_user_alive(id))
  290.         return
  291.        
  292.     new szPlayerModel[PLAYERMODEL_MAX_LENGTH], szModel[MODEL_MAX_LENGTH]
  293.  
  294.     // Player Admin?
  295.     if(get_user_flags(id) & OWNER_MODEL)
  296.     {
  297.         // Set Admin Human Model
  298.         ArrayGetString(g_szOwnerHumanModel, random_num(0, ArraySize(g_szOwnerHumanModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  299.         rg_set_user_model(id, szPlayerModel)
  300.     }  
  301.     else if(get_user_flags(id) & STAFF_MODEL)
  302.     {
  303.         // Set Admin Human Model
  304.         ArrayGetString(g_szStaffHumanModel, random_num(0, ArraySize(g_szStaffHumanModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  305.         rg_set_user_model(id, szPlayerModel)
  306.     }  
  307.     else if(get_user_flags(id) & MOD_MODEL)
  308.     {
  309.         // Set Admin Human Model
  310.         ArrayGetString(g_szModHumanModel, random_num(0, ArraySize(g_szModHumanModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  311.         rg_set_user_model(id, szPlayerModel)
  312.     }  
  313.     else if(get_user_flags(id) & ADMIN_MODELS_ACCESS)
  314.     {
  315.         // Set Admin Human Model
  316.         ArrayGetString(g_szAdminHumanModel, random_num(0, ArraySize(g_szAdminHumanModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  317.         rg_set_user_model(id, szPlayerModel)
  318.     }  
  319.     else if(get_user_flags(id) & VIP_MODEL)
  320.     {
  321.         // Set Admin Human Model
  322.         ArrayGetString(g_szVipHumanModel, random_num(0, ArraySize(g_szVipHumanModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  323.         rg_set_user_model(id, szPlayerModel)
  324.     }
  325.     else
  326.     {
  327.         // Rest Player Model (Model Randomly)
  328.         switch(random_num(0, 130))
  329.         {
  330.             case 0..30:
  331.             {
  332.                 ArrayGetString(g_szHumanModel1, random_num(0, ArraySize(g_szHumanModel1) - 1), szPlayerModel, charsmax(szPlayerModel))
  333.                 rg_set_user_model(id, szPlayerModel)
  334.             }
  335.             case 31..70:
  336.             {
  337.                 ArrayGetString(g_szHumanModel2, random_num(0, ArraySize(g_szHumanModel2) - 1), szPlayerModel, charsmax(szPlayerModel))
  338.                 rg_set_user_model(id, szPlayerModel)
  339.             }
  340.             case 71..100:
  341.             {
  342.                 ArrayGetString(g_szHumanModel3, random_num(0, ArraySize(g_szHumanModel3) - 1), szPlayerModel, charsmax(szPlayerModel))
  343.                 rg_set_user_model(id, szPlayerModel)
  344.             }
  345.             case 101..130:
  346.             {
  347.                 ArrayGetString(g_szHumanModel4, random_num(0, ArraySize(g_szHumanModel4) - 1), szPlayerModel, charsmax(szPlayerModel))
  348.                 rg_set_user_model(id, szPlayerModel)
  349.             }
  350.         }
  351.     }
  352. }
  353.  
  354. public ze_user_infected(iVictim, iInfector)
  355. {
  356.     if(!is_user_alive(iVictim))
  357.         return
  358.        
  359.     // Set Zombie Models
  360.     new szPlayerModel[PLAYERMODEL_MAX_LENGTH], szModel[MODEL_MAX_LENGTH]
  361.    
  362.     // Player Admin?
  363.     if(get_user_flags(iVictim) & ADMIN_MODELS_ACCESS)
  364.     {
  365.         // Set Zombie Admin Model
  366.         ArrayGetString(g_szAdminZombieModel, random_num(0, ArraySize(g_szAdminZombieModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  367.         rg_set_user_model(iVictim, szPlayerModel)
  368.        
  369.         // Set Admin Zombie Knife Model
  370.         ArrayGetString(g_v_szAdminZombieKnifeModel, random_num(0, ArraySize(g_v_szAdminZombieKnifeModel) - 1), szModel, charsmax(szModel))
  371.         cs_set_player_view_model(iVictim, CSW_KNIFE, szModel)
  372.         cs_set_player_weap_model(iVictim, CSW_KNIFE, "") // Leave Blank so knife not appear with zombies
  373.     }
  374. }
Hello , i tryed this plugin (special models) not working tbh :)

Re: Special Models

Posted: 06 Dec 2021, 18:28
by Amnesia
VicKy wrote: 2 years ago
Amnesia wrote: 2 years ago Rahhem bro help !

Code: Select all

[MAIN_CONFIG]
MIN_PLAYER = 3
DEFAULT_LIGHT = d
ZOMBIE_RELEASE_TIME = 10
HUMAN_FREEZE_TIME = 10
ROUND_TIME = 9

[FOG]
FOG_ENABLE = 1
FOG_DENSITY = 0.0010
FOG_COLOR = 100 100 100

[HUMAN_CONFIG]
HUMAN_HEALTH = 250.0
HUMAN_ARMOR = 100.0
HUMAN_GRAVITY = 1.0
HUMAN_SPEED = 250.0

[ZOMBIE_CONFIG]
ZOMBIE_HEALTH = 14000.0
ZOMBIE_ARMOR = 100.0
ZOMBIE_GRAVITY = 0.875
ZOMBIE_SPEED = 325.0
ZOMBIE_KNOCKBACK_POWER = 500.0

[SKY]
SKY_NAME = hk

[MODEL_CONFIG]
HUMAN_MODEL = roz_xmas_player1 , roz_xmas_player2 ,
ZOMBIE_ORIGIN_MODEL = tank_zombi_origin
ZOMBIE_HOST_MODEL = tank_zombi_host
ZOMBIE_CLAW_MODEL = models/zombie_escape/v_knife_tank_zombi.mdl

[SOUND_CONFIG]
READY = zombie_escape/ZE_Ready.mp3
AMBIENCE = zombie_escape/ZE_Ambience.mp3
ZOMBIE_APPEAR = zombie_escape/zombi_coming_1.wav , zombie_escape/zombi_coming_2.wav
PLAYER_INFECT = zombie_escape/zombie/human_death_01.wav , zombie_escape/zombie/human_death_02.wav
ZOMBIE_PAIN = zombie_escape/zombie/zombi_hurt_01.wav , zombie_escape/zombie/zombi_hurt_02.wav
COUNTDOWN = zombie_escape/count/%i.wav
ESCAPE_SUCCESS = zombie_escape/zombi_escape_success.wav
ESCAPE_FAIL = zombie_escape/zombi_escape_fail.wav

ATTACK_HIT = zombie_escape/zombie/zombi_attack_1.wav , zombie_escape/zombie/zombi_attack_2.wav , zombie_escape/zombie/zombi_attack_3.wav
ATTACK_MISS = zombie_escape/zombie/zombi_swing_1.wav , zombie_escape/zombie/zombi_swing_2.wav , zombie_escape/zombie/zombi_swing_3.wav
ATTACK_WALL = zombie_escape/zombie/zombi_wall_1.wav ,  zombie_escape/zombie/zombi_wall_2.wav , zombie_escape/zombie/zombi_wall_3.wav

[Objective Entities] (and anything that would affect gameplay that needs to be removed)
CLASSNAMES = func_bomb_target , info_bomb_target , info_vip_start , func_vip_safetyzone , func_escapezone , hostage_entity , monster_scientist , func_hostage_rescue , info_hostage_rescue , env_fog , env_rain , env_snow , item_longjump , func_buyzone
OBJECTIVES = func_bomb_target , info_bomb_target , info_vip_start , func_vip_safetyzone , func_escapezone , hostage_entity , monster_scientist , func_hostage_rescue , info_hostage_rescue
GAMEPLAY = func_vehicle , item_longjump
how i can change models i mean , Humans : player 1 , player2 , player3 random And about vip like this , VIP Human : viphuman1 , VIP Zombie : vipZe1
and knifes model there to please!
Bro Instead Of This You Can Use This viewtopic.php?f=15&t=32

Or Here ( Some Rank Skins Added ) You Can Skins From zombie_escape.ini :-
  1. #include <zombie_escape>
  2.  
  3. // Setting File
  4. new const ZE_SETTING_RESOURCES[] = "zombie_escape.ini"
  5.  
  6. // Defines
  7. #define MODEL_MAX_LENGTH 64
  8. #define PLAYERMODEL_MAX_LENGTH 32
  9. #define ACCESS_MAX_LENGTH 32
  10.  
  11. /// Acess
  12. #define OWNER_MODEL ADMIN_IMMUNITY
  13. #define STAFF_MODEL ADMIN_LEVEL_D
  14. #define MOD_MODEL ADMIN_LEVEL_E
  15. #define ADMIN_MODELS_ACCESS ADMIN_LEVEL_B
  16. #define VIP_MODEL ADMIN_LEVEL_F
  17.  
  18. // Added Models
  19.  
  20. new const szOwnerHumanModel[][] =
  21. {
  22.     "owner"
  23. }
  24.  
  25. new const szStaffHumanModel[][] =
  26. {
  27.     "Staff"
  28. }
  29.  
  30. new const szModHumanModel[][] =
  31. {
  32.     "Mod"
  33. }
  34. new const szAdminHumanModel[][] =
  35. {
  36.     "Vdmin"
  37. }
  38.  
  39. new const szVipHumanModel[][] =
  40. {
  41.     "Vip"
  42. }
  43.  
  44. // Default
  45.  
  46. new const szAdminZombieModel[][] =
  47. {
  48.     "zombie_admin"
  49. }
  50.  
  51. new const v_szAdminZombieKnifeModel[][] =
  52. {
  53.     "models/zombie_escape/v_knife_zombie_admin.mdl"
  54. }
  55.  
  56. new const szHumanModel1[][] =
  57. {
  58.     "human1"
  59. }
  60.  
  61. new const szHumanModel2[][] =
  62. {
  63.     "human2"
  64. }
  65.  
  66. new const szHumanModel3[][] =
  67. {
  68.     "human3"
  69. }
  70.  
  71. new const szHumanModel4[][] =
  72. {
  73.     "human4"
  74. }
  75.  
  76. // Dynamic Arrays: Models
  77. new Array:g_szAdminZombieModel, Array:g_v_szAdminZombieKnifeModel,
  78. Array:g_szOwnerHumanModel,g_szStaffHumanModel,g_szModHumanModel,g_szAdminHumanModel,g_szVipHumanModel,g_szHumanModel1, Array:g_szHumanModel2, Array:g_szHumanModel3, Array:g_szHumanModel4
  79.  
  80. public plugin_init()
  81. {
  82.     register_plugin("[ZE] Special Models", ZE_VERSION, AUTHORS)
  83. }
  84.  
  85. public plugin_precache()
  86. {
  87.     // Initialize Arrays
  88.     g_szOwnerHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  89.     g_szStaffHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  90.     g_szModHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  91.     g_szAdminHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  92.     g_szVipHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  93.     g_szAdminZombieModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  94.     g_v_szAdminZombieKnifeModel = ArrayCreate(MODEL_MAX_LENGTH, 1)
  95.     g_szHumanModel1 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  96.     g_szHumanModel2 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  97.     g_szHumanModel3 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  98.     g_szHumanModel4 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  99.    
  100.     // Load From External File
  101.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "OWNER ( H )", g_szOwnerHumanModel)
  102.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "STAFF ( H )", g_szStaffHumanModel)
  103.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "MODERATOR ( H )", g_szModHumanModel)
  104.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ADMIN ( H )", g_szAdminHumanModel)
  105.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "VIP ( H )", g_szVipHumanModel)
  106.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ZOMBIE ADMIN", g_szAdminZombieModel)
  107.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Weapon Models", "V_KNIFE ZOMBIE ADMIN", g_v_szAdminZombieKnifeModel)
  108.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 1", g_szHumanModel1)
  109.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 2", g_szHumanModel2)
  110.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 3", g_szHumanModel3)
  111.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 4", g_szHumanModel4)
  112.    
  113.     // Load our Default Values
  114.     new iIndex
  115.    
  116.     if(ArraySize(g_szOwnerHumanModel) == 0)
  117.     {
  118.         for(iIndex = 0; iIndex < sizeof szOwnerHumanModel; iIndex++)
  119.             ArrayPushString(g_szOwnerHumanModel, szOwnerHumanModel[iIndex])
  120.        
  121.         // Save to external file
  122.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "OWNER ( H )", g_szOwnerHumanModel)
  123.     }
  124.    
  125.     if(ArraySize(g_szStaffHumanModel) == 0)
  126.     {
  127.         for(iIndex = 0; iIndex < sizeof szStaffHumanModel; iIndex++)
  128.             ArrayPushString(g_szStaffHumanModel, szStaffHumanModel[iIndex])
  129.        
  130.         // Save to external file
  131.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "STAFF ( H )", g_szStaffHumanModel)
  132.     }
  133.    
  134.     if(ArraySize(g_szModHumanModel) == 0)
  135.     {
  136.         for(iIndex = 0; iIndex < sizeof szModHumanModel; iIndex++)
  137.             ArrayPushString(g_szModHumanModel, szModHumanModel[iIndex])
  138.        
  139.         // Save to external file
  140.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "MODERATOR ( H )", g_szModHumanModel)
  141.     }
  142.    
  143.     if(ArraySize(g_szAdminHumanModel) == 0)
  144.     {
  145.         for(iIndex = 0; iIndex < sizeof szAdminHumanModel; iIndex++)
  146.             ArrayPushString(g_szAdminHumanModel, szAdminHumanModel[iIndex])
  147.        
  148.         // Save to external file
  149.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ADMIN ( H )", g_szAdminHumanModel)
  150.     }
  151.    
  152.     if(ArraySize(g_szVipHumanModel) == 0)
  153.     {
  154.         for(iIndex = 0; iIndex < sizeof szVipHumanModel; iIndex++)
  155.             ArrayPushString(g_szVipHumanModel, szVipHumanModel[iIndex])
  156.        
  157.         // Save to external file
  158.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "VIP ( H )", g_szVipHumanModel)
  159.     }
  160.    
  161.     if(ArraySize(g_szAdminZombieModel) == 0)
  162.     {
  163.         for(iIndex = 0; iIndex < sizeof szAdminZombieModel; iIndex++)
  164.             ArrayPushString(g_szAdminZombieModel, szAdminZombieModel[iIndex])
  165.        
  166.         // Save to external file
  167.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ZOMBIE ADMIN", g_szAdminZombieModel)
  168.     }
  169.    
  170.     if(ArraySize(g_v_szAdminZombieKnifeModel) == 0)
  171.     {
  172.         for(iIndex = 0; iIndex < sizeof v_szAdminZombieKnifeModel; iIndex++)
  173.             ArrayPushString(g_v_szAdminZombieKnifeModel, v_szAdminZombieKnifeModel[iIndex])
  174.        
  175.         // Save to external file
  176.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Weapon Models", "V_KNIFE ZOMBIE ADMIN", g_v_szAdminZombieKnifeModel)
  177.     }
  178.    
  179.     if(ArraySize(g_szHumanModel1) == 0)
  180.     {
  181.         for(iIndex = 0; iIndex < sizeof szHumanModel1; iIndex++)
  182.             ArrayPushString(g_szHumanModel1, szHumanModel1[iIndex])
  183.        
  184.         // Save to external file
  185.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 1", g_szHumanModel1)
  186.     }
  187.    
  188.     if(ArraySize(g_szHumanModel2) == 0)
  189.     {
  190.         for(iIndex = 0; iIndex < sizeof szHumanModel2; iIndex++)
  191.             ArrayPushString(g_szHumanModel2, szHumanModel2[iIndex])
  192.        
  193.         // Save to external file
  194.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 2", g_szHumanModel2)
  195.     }
  196.    
  197.     if(ArraySize(g_szHumanModel3) == 0)
  198.     {
  199.         for(iIndex = 0; iIndex < sizeof szHumanModel3; iIndex++)
  200.             ArrayPushString(g_szHumanModel3, szHumanModel3[iIndex])
  201.        
  202.         // Save to external file
  203.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 3", g_szHumanModel3)
  204.     }
  205.    
  206.     if(ArraySize(g_szHumanModel4) == 0)
  207.     {
  208.         for(iIndex = 0; iIndex < sizeof szHumanModel4; iIndex++)
  209.             ArrayPushString(g_szHumanModel4, szHumanModel4[iIndex])
  210.        
  211.         // Save to external file
  212.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 4", g_szHumanModel4)
  213.     }
  214.     // Precache
  215.     new szPlayerModel[PLAYERMODEL_MAX_LENGTH], szModel[MODEL_MAX_LENGTH], szModelPath[128]
  216.    
  217.     for (iIndex = 0; iIndex < ArraySize(g_szOwnerHumanModel); iIndex++)
  218.     {
  219.         ArrayGetString(g_szOwnerHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  220.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  221.         precache_model(szModelPath)
  222.     }
  223.     for (iIndex = 0; iIndex < ArraySize(g_szStaffHumanModel); iIndex++)
  224.     {
  225.         ArrayGetString(g_szStaffHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  226.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  227.         precache_model(szModelPath)
  228.     }
  229.    
  230.     for (iIndex = 0; iIndex < ArraySize(g_szModHumanModel); iIndex++)
  231.     {
  232.         ArrayGetString(g_szModHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  233.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  234.         precache_model(szModelPath)
  235.     }
  236.    
  237.     for (iIndex = 0; iIndex < ArraySize(g_szAdminHumanModel); iIndex++)
  238.     {
  239.         ArrayGetString(g_szAdminHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  240.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  241.         precache_model(szModelPath)
  242.     }
  243.    
  244.     for (iIndex = 0; iIndex < ArraySize(g_szVipHumanModel); iIndex++)
  245.     {
  246.         ArrayGetString(g_szVipHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  247.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  248.         precache_model(szModelPath)
  249.     }
  250.     for (iIndex = 0; iIndex < ArraySize(g_szAdminZombieModel); iIndex++)
  251.     {
  252.         ArrayGetString(g_szAdminZombieModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  253.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  254.         precache_model(szModelPath)
  255.     }
  256.     for (iIndex = 0; iIndex < ArraySize(g_szHumanModel1); iIndex++)
  257.     {
  258.         ArrayGetString(g_szHumanModel1, iIndex, szPlayerModel, charsmax(szPlayerModel))
  259.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  260.         precache_model(szModelPath)
  261.     }
  262.     for (iIndex = 0; iIndex < ArraySize(g_szHumanModel2); iIndex++)
  263.     {
  264.         ArrayGetString(g_szHumanModel2, iIndex, szPlayerModel, charsmax(szPlayerModel))
  265.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  266.         precache_model(szModelPath)
  267.     }
  268.     for (iIndex = 0; iIndex < ArraySize(g_szHumanModel3); iIndex++)
  269.     {
  270.         ArrayGetString(g_szHumanModel3, iIndex, szPlayerModel, charsmax(szPlayerModel))
  271.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  272.         precache_model(szModelPath)
  273.     }
  274.     for (iIndex = 0; iIndex < ArraySize(g_szHumanModel4); iIndex++)
  275.     {
  276.         ArrayGetString(g_szHumanModel4, iIndex, szPlayerModel, charsmax(szPlayerModel))
  277.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  278.         precache_model(szModelPath)
  279.     }
  280.     for (iIndex = 0; iIndex < ArraySize(g_v_szAdminZombieKnifeModel); iIndex++)
  281.     {
  282.         ArrayGetString(g_v_szAdminZombieKnifeModel, iIndex, szModel, charsmax(szModel))
  283.         precache_model(szModel)
  284.     }
  285. }
  286.  
  287. public ze_user_humanized(id)
  288. {
  289.     if(ze_is_user_zombie(id) || !is_user_alive(id))
  290.         return
  291.        
  292.     new szPlayerModel[PLAYERMODEL_MAX_LENGTH], szModel[MODEL_MAX_LENGTH]
  293.  
  294.     // Player Admin?
  295.     if(get_user_flags(id) & OWNER_MODEL)
  296.     {
  297.         // Set Admin Human Model
  298.         ArrayGetString(g_szOwnerHumanModel, random_num(0, ArraySize(g_szOwnerHumanModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  299.         rg_set_user_model(id, szPlayerModel)
  300.     }  
  301.     else if(get_user_flags(id) & STAFF_MODEL)
  302.     {
  303.         // Set Admin Human Model
  304.         ArrayGetString(g_szStaffHumanModel, random_num(0, ArraySize(g_szStaffHumanModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  305.         rg_set_user_model(id, szPlayerModel)
  306.     }  
  307.     else if(get_user_flags(id) & MOD_MODEL)
  308.     {
  309.         // Set Admin Human Model
  310.         ArrayGetString(g_szModHumanModel, random_num(0, ArraySize(g_szModHumanModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  311.         rg_set_user_model(id, szPlayerModel)
  312.     }  
  313.     else if(get_user_flags(id) & ADMIN_MODELS_ACCESS)
  314.     {
  315.         // Set Admin Human Model
  316.         ArrayGetString(g_szAdminHumanModel, random_num(0, ArraySize(g_szAdminHumanModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  317.         rg_set_user_model(id, szPlayerModel)
  318.     }  
  319.     else if(get_user_flags(id) & VIP_MODEL)
  320.     {
  321.         // Set Admin Human Model
  322.         ArrayGetString(g_szVipHumanModel, random_num(0, ArraySize(g_szVipHumanModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  323.         rg_set_user_model(id, szPlayerModel)
  324.     }
  325.     else
  326.     {
  327.         // Rest Player Model (Model Randomly)
  328.         switch(random_num(0, 130))
  329.         {
  330.             case 0..30:
  331.             {
  332.                 ArrayGetString(g_szHumanModel1, random_num(0, ArraySize(g_szHumanModel1) - 1), szPlayerModel, charsmax(szPlayerModel))
  333.                 rg_set_user_model(id, szPlayerModel)
  334.             }
  335.             case 31..70:
  336.             {
  337.                 ArrayGetString(g_szHumanModel2, random_num(0, ArraySize(g_szHumanModel2) - 1), szPlayerModel, charsmax(szPlayerModel))
  338.                 rg_set_user_model(id, szPlayerModel)
  339.             }
  340.             case 71..100:
  341.             {
  342.                 ArrayGetString(g_szHumanModel3, random_num(0, ArraySize(g_szHumanModel3) - 1), szPlayerModel, charsmax(szPlayerModel))
  343.                 rg_set_user_model(id, szPlayerModel)
  344.             }
  345.             case 101..130:
  346.             {
  347.                 ArrayGetString(g_szHumanModel4, random_num(0, ArraySize(g_szHumanModel4) - 1), szPlayerModel, charsmax(szPlayerModel))
  348.                 rg_set_user_model(id, szPlayerModel)
  349.             }
  350.         }
  351.     }
  352. }
  353.  
  354. public ze_user_infected(iVictim, iInfector)
  355. {
  356.     if(!is_user_alive(iVictim))
  357.         return
  358.        
  359.     // Set Zombie Models
  360.     new szPlayerModel[PLAYERMODEL_MAX_LENGTH], szModel[MODEL_MAX_LENGTH]
  361.    
  362.     // Player Admin?
  363.     if(get_user_flags(iVictim) & ADMIN_MODELS_ACCESS)
  364.     {
  365.         // Set Zombie Admin Model
  366.         ArrayGetString(g_szAdminZombieModel, random_num(0, ArraySize(g_szAdminZombieModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  367.         rg_set_user_model(iVictim, szPlayerModel)
  368.        
  369.         // Set Admin Zombie Knife Model
  370.         ArrayGetString(g_v_szAdminZombieKnifeModel, random_num(0, ArraySize(g_v_szAdminZombieKnifeModel) - 1), szModel, charsmax(szModel))
  371.         cs_set_player_view_model(iVictim, CSW_KNIFE, szModel)
  372.         cs_set_player_weap_model(iVictim, CSW_KNIFE, "") // Leave Blank so knife not appear with zombies
  373.     }
  374. }
[MAIN_CONFIG]
MIN_PLAYER = 3
DEFAULT_LIGHT = d
ZOMBIE_RELEASE_TIME = 10
HUMAN_FREEZE_TIME = 10
ROUND_TIME = 9

[FOG]
FOG_ENABLE = 1
FOG_DENSITY = 0.0010
FOG_COLOR = 100 100 100

[HUMAN_CONFIG]
HUMAN_HEALTH = 250.0
HUMAN_ARMOR = 100.0
HUMAN_GRAVITY = 1.0
HUMAN_SPEED = 250.0

[ZOMBIE_CONFIG]
ZOMBIE_HEALTH = 14000.0
ZOMBIE_ARMOR = 100.0
ZOMBIE_GRAVITY = 0.875
ZOMBIE_SPEED = 325.0
ZOMBIE_KNOCKBACK_POWER = 500.0

[SKY]
SKY_NAME = hk

[MODEL_CONFIG]
HUMAN_MODEL = roz_xmas_player1 , roz_xmas_player2 ,
ZOMBIE_ORIGIN_MODEL = tank_zombi_origin
ZOMBIE_HOST_MODEL = tank_zombi_host
ZOMBIE_CLAW_MODEL = models/zombie_escape/v_knife_tank_zombi.mdl

[SOUND_CONFIG]
READY = zombie_escape/ZE_Ready.mp3
AMBIENCE = zombie_escape/ZE_Ambience.mp3
ZOMBIE_APPEAR = zombie_escape/zombi_coming_1.wav , zombie_escape/zombi_coming_2.wav
PLAYER_INFECT = zombie_escape/zombie/human_death_01.wav , zombie_escape/zombie/human_death_02.wav
ZOMBIE_PAIN = zombie_escape/zombie/zombi_hurt_01.wav , zombie_escape/zombie/zombi_hurt_02.wav
COUNTDOWN = zombie_escape/count/%i.wav
ESCAPE_SUCCESS = zombie_escape/zombi_escape_success.wav
ESCAPE_FAIL = zombie_escape/zombi_escape_fail.wav

ATTACK_HIT = zombie_escape/zombie/zombi_attack_1.wav , zombie_escape/zombie/zombi_attack_2.wav , zombie_escape/zombie/zombi_attack_3.wav
ATTACK_MISS = zombie_escape/zombie/zombi_swing_1.wav , zombie_escape/zombie/zombi_swing_2.wav , zombie_escape/zombie/zombi_swing_3.wav
ATTACK_WALL = zombie_escape/zombie/zombi_wall_1.wav , zombie_escape/zombie/zombi_wall_2.wav , zombie_escape/zombie/zombi_wall_3.wav

[Objective Entities] (and anything that would affect gameplay that needs to be removed)
CLASSNAMES = func_bomb_target , info_bomb_target , info_vip_start , func_vip_safetyzone , func_escapezone , hostage_entity , monster_scientist , func_hostage_rescue , info_hostage_rescue , env_fog , env_rain , env_snow , item_longjump , func_buyzone
OBJECTIVES = func_bomb_target , info_bomb_target , info_vip_start , func_vip_safetyzone , func_escapezone , hostage_entity , monster_scientist , func_hostage_rescue , info_hostage_rescue
GAMEPLAY = func_vehicle , item_longjump









this is my zombie-escape.ini , can you edit this and make it vipZombie , vip human , then i can edit like (HUMAN_MODEL = roz_xmas_player1 , roz_xmas_player2 ,) just add my skins i hope you understand :) and thank you for helping me ^^

Re: Special Models

Posted: 06 Dec 2021, 18:29
by Amnesia
VicKy wrote: 2 years ago
Amnesia wrote: 2 years ago Rahhem bro help !

Code: Select all

[MAIN_CONFIG]
MIN_PLAYER = 3
DEFAULT_LIGHT = d
ZOMBIE_RELEASE_TIME = 10
HUMAN_FREEZE_TIME = 10
ROUND_TIME = 9

[FOG]
FOG_ENABLE = 1
FOG_DENSITY = 0.0010
FOG_COLOR = 100 100 100

[HUMAN_CONFIG]
HUMAN_HEALTH = 250.0
HUMAN_ARMOR = 100.0
HUMAN_GRAVITY = 1.0
HUMAN_SPEED = 250.0

[ZOMBIE_CONFIG]
ZOMBIE_HEALTH = 14000.0
ZOMBIE_ARMOR = 100.0
ZOMBIE_GRAVITY = 0.875
ZOMBIE_SPEED = 325.0
ZOMBIE_KNOCKBACK_POWER = 500.0

[SKY]
SKY_NAME = hk

[MODEL_CONFIG]
HUMAN_MODEL = roz_xmas_player1 , roz_xmas_player2 ,
ZOMBIE_ORIGIN_MODEL = tank_zombi_origin
ZOMBIE_HOST_MODEL = tank_zombi_host
ZOMBIE_CLAW_MODEL = models/zombie_escape/v_knife_tank_zombi.mdl

[SOUND_CONFIG]
READY = zombie_escape/ZE_Ready.mp3
AMBIENCE = zombie_escape/ZE_Ambience.mp3
ZOMBIE_APPEAR = zombie_escape/zombi_coming_1.wav , zombie_escape/zombi_coming_2.wav
PLAYER_INFECT = zombie_escape/zombie/human_death_01.wav , zombie_escape/zombie/human_death_02.wav
ZOMBIE_PAIN = zombie_escape/zombie/zombi_hurt_01.wav , zombie_escape/zombie/zombi_hurt_02.wav
COUNTDOWN = zombie_escape/count/%i.wav
ESCAPE_SUCCESS = zombie_escape/zombi_escape_success.wav
ESCAPE_FAIL = zombie_escape/zombi_escape_fail.wav

ATTACK_HIT = zombie_escape/zombie/zombi_attack_1.wav , zombie_escape/zombie/zombi_attack_2.wav , zombie_escape/zombie/zombi_attack_3.wav
ATTACK_MISS = zombie_escape/zombie/zombi_swing_1.wav , zombie_escape/zombie/zombi_swing_2.wav , zombie_escape/zombie/zombi_swing_3.wav
ATTACK_WALL = zombie_escape/zombie/zombi_wall_1.wav ,  zombie_escape/zombie/zombi_wall_2.wav , zombie_escape/zombie/zombi_wall_3.wav

[Objective Entities] (and anything that would affect gameplay that needs to be removed)
CLASSNAMES = func_bomb_target , info_bomb_target , info_vip_start , func_vip_safetyzone , func_escapezone , hostage_entity , monster_scientist , func_hostage_rescue , info_hostage_rescue , env_fog , env_rain , env_snow , item_longjump , func_buyzone
OBJECTIVES = func_bomb_target , info_bomb_target , info_vip_start , func_vip_safetyzone , func_escapezone , hostage_entity , monster_scientist , func_hostage_rescue , info_hostage_rescue
GAMEPLAY = func_vehicle , item_longjump
how i can change models i mean , Humans : player 1 , player2 , player3 random And about vip like this , VIP Human : viphuman1 , VIP Zombie : vipZe1
and knifes model there to please!
Bro Instead Of This You Can Use This viewtopic.php?f=15&t=32

Or Here ( Some Rank Skins Added ) You Can Skins From zombie_escape.ini :-
  1. #include <zombie_escape>
  2.  
  3. // Setting File
  4. new const ZE_SETTING_RESOURCES[] = "zombie_escape.ini"
  5.  
  6. // Defines
  7. #define MODEL_MAX_LENGTH 64
  8. #define PLAYERMODEL_MAX_LENGTH 32
  9. #define ACCESS_MAX_LENGTH 32
  10.  
  11. /// Acess
  12. #define OWNER_MODEL ADMIN_IMMUNITY
  13. #define STAFF_MODEL ADMIN_LEVEL_D
  14. #define MOD_MODEL ADMIN_LEVEL_E
  15. #define ADMIN_MODELS_ACCESS ADMIN_LEVEL_B
  16. #define VIP_MODEL ADMIN_LEVEL_F
  17.  
  18. // Added Models
  19.  
  20. new const szOwnerHumanModel[][] =
  21. {
  22.     "owner"
  23. }
  24.  
  25. new const szStaffHumanModel[][] =
  26. {
  27.     "Staff"
  28. }
  29.  
  30. new const szModHumanModel[][] =
  31. {
  32.     "Mod"
  33. }
  34. new const szAdminHumanModel[][] =
  35. {
  36.     "Vdmin"
  37. }
  38.  
  39. new const szVipHumanModel[][] =
  40. {
  41.     "Vip"
  42. }
  43.  
  44. // Default
  45.  
  46. new const szAdminZombieModel[][] =
  47. {
  48.     "zombie_admin"
  49. }
  50.  
  51. new const v_szAdminZombieKnifeModel[][] =
  52. {
  53.     "models/zombie_escape/v_knife_zombie_admin.mdl"
  54. }
  55.  
  56. new const szHumanModel1[][] =
  57. {
  58.     "human1"
  59. }
  60.  
  61. new const szHumanModel2[][] =
  62. {
  63.     "human2"
  64. }
  65.  
  66. new const szHumanModel3[][] =
  67. {
  68.     "human3"
  69. }
  70.  
  71. new const szHumanModel4[][] =
  72. {
  73.     "human4"
  74. }
  75.  
  76. // Dynamic Arrays: Models
  77. new Array:g_szAdminZombieModel, Array:g_v_szAdminZombieKnifeModel,
  78. Array:g_szOwnerHumanModel,g_szStaffHumanModel,g_szModHumanModel,g_szAdminHumanModel,g_szVipHumanModel,g_szHumanModel1, Array:g_szHumanModel2, Array:g_szHumanModel3, Array:g_szHumanModel4
  79.  
  80. public plugin_init()
  81. {
  82.     register_plugin("[ZE] Special Models", ZE_VERSION, AUTHORS)
  83. }
  84.  
  85. public plugin_precache()
  86. {
  87.     // Initialize Arrays
  88.     g_szOwnerHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  89.     g_szStaffHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  90.     g_szModHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  91.     g_szAdminHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  92.     g_szVipHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  93.     g_szAdminZombieModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  94.     g_v_szAdminZombieKnifeModel = ArrayCreate(MODEL_MAX_LENGTH, 1)
  95.     g_szHumanModel1 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  96.     g_szHumanModel2 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  97.     g_szHumanModel3 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  98.     g_szHumanModel4 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  99.    
  100.     // Load From External File
  101.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "OWNER ( H )", g_szOwnerHumanModel)
  102.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "STAFF ( H )", g_szStaffHumanModel)
  103.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "MODERATOR ( H )", g_szModHumanModel)
  104.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ADMIN ( H )", g_szAdminHumanModel)
  105.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "VIP ( H )", g_szVipHumanModel)
  106.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ZOMBIE ADMIN", g_szAdminZombieModel)
  107.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Weapon Models", "V_KNIFE ZOMBIE ADMIN", g_v_szAdminZombieKnifeModel)
  108.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 1", g_szHumanModel1)
  109.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 2", g_szHumanModel2)
  110.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 3", g_szHumanModel3)
  111.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 4", g_szHumanModel4)
  112.    
  113.     // Load our Default Values
  114.     new iIndex
  115.    
  116.     if(ArraySize(g_szOwnerHumanModel) == 0)
  117.     {
  118.         for(iIndex = 0; iIndex < sizeof szOwnerHumanModel; iIndex++)
  119.             ArrayPushString(g_szOwnerHumanModel, szOwnerHumanModel[iIndex])
  120.        
  121.         // Save to external file
  122.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "OWNER ( H )", g_szOwnerHumanModel)
  123.     }
  124.    
  125.     if(ArraySize(g_szStaffHumanModel) == 0)
  126.     {
  127.         for(iIndex = 0; iIndex < sizeof szStaffHumanModel; iIndex++)
  128.             ArrayPushString(g_szStaffHumanModel, szStaffHumanModel[iIndex])
  129.        
  130.         // Save to external file
  131.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "STAFF ( H )", g_szStaffHumanModel)
  132.     }
  133.    
  134.     if(ArraySize(g_szModHumanModel) == 0)
  135.     {
  136.         for(iIndex = 0; iIndex < sizeof szModHumanModel; iIndex++)
  137.             ArrayPushString(g_szModHumanModel, szModHumanModel[iIndex])
  138.        
  139.         // Save to external file
  140.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "MODERATOR ( H )", g_szModHumanModel)
  141.     }
  142.    
  143.     if(ArraySize(g_szAdminHumanModel) == 0)
  144.     {
  145.         for(iIndex = 0; iIndex < sizeof szAdminHumanModel; iIndex++)
  146.             ArrayPushString(g_szAdminHumanModel, szAdminHumanModel[iIndex])
  147.        
  148.         // Save to external file
  149.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ADMIN ( H )", g_szAdminHumanModel)
  150.     }
  151.    
  152.     if(ArraySize(g_szVipHumanModel) == 0)
  153.     {
  154.         for(iIndex = 0; iIndex < sizeof szVipHumanModel; iIndex++)
  155.             ArrayPushString(g_szVipHumanModel, szVipHumanModel[iIndex])
  156.        
  157.         // Save to external file
  158.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "VIP ( H )", g_szVipHumanModel)
  159.     }
  160.    
  161.     if(ArraySize(g_szAdminZombieModel) == 0)
  162.     {
  163.         for(iIndex = 0; iIndex < sizeof szAdminZombieModel; iIndex++)
  164.             ArrayPushString(g_szAdminZombieModel, szAdminZombieModel[iIndex])
  165.        
  166.         // Save to external file
  167.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ZOMBIE ADMIN", g_szAdminZombieModel)
  168.     }
  169.    
  170.     if(ArraySize(g_v_szAdminZombieKnifeModel) == 0)
  171.     {
  172.         for(iIndex = 0; iIndex < sizeof v_szAdminZombieKnifeModel; iIndex++)
  173.             ArrayPushString(g_v_szAdminZombieKnifeModel, v_szAdminZombieKnifeModel[iIndex])
  174.        
  175.         // Save to external file
  176.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Weapon Models", "V_KNIFE ZOMBIE ADMIN", g_v_szAdminZombieKnifeModel)
  177.     }
  178.    
  179.     if(ArraySize(g_szHumanModel1) == 0)
  180.     {
  181.         for(iIndex = 0; iIndex < sizeof szHumanModel1; iIndex++)
  182.             ArrayPushString(g_szHumanModel1, szHumanModel1[iIndex])
  183.        
  184.         // Save to external file
  185.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 1", g_szHumanModel1)
  186.     }
  187.    
  188.     if(ArraySize(g_szHumanModel2) == 0)
  189.     {
  190.         for(iIndex = 0; iIndex < sizeof szHumanModel2; iIndex++)
  191.             ArrayPushString(g_szHumanModel2, szHumanModel2[iIndex])
  192.        
  193.         // Save to external file
  194.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 2", g_szHumanModel2)
  195.     }
  196.    
  197.     if(ArraySize(g_szHumanModel3) == 0)
  198.     {
  199.         for(iIndex = 0; iIndex < sizeof szHumanModel3; iIndex++)
  200.             ArrayPushString(g_szHumanModel3, szHumanModel3[iIndex])
  201.        
  202.         // Save to external file
  203.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 3", g_szHumanModel3)
  204.     }
  205.    
  206.     if(ArraySize(g_szHumanModel4) == 0)
  207.     {
  208.         for(iIndex = 0; iIndex < sizeof szHumanModel4; iIndex++)
  209.             ArrayPushString(g_szHumanModel4, szHumanModel4[iIndex])
  210.        
  211.         // Save to external file
  212.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 4", g_szHumanModel4)
  213.     }
  214.     // Precache
  215.     new szPlayerModel[PLAYERMODEL_MAX_LENGTH], szModel[MODEL_MAX_LENGTH], szModelPath[128]
  216.    
  217.     for (iIndex = 0; iIndex < ArraySize(g_szOwnerHumanModel); iIndex++)
  218.     {
  219.         ArrayGetString(g_szOwnerHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  220.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  221.         precache_model(szModelPath)
  222.     }
  223.     for (iIndex = 0; iIndex < ArraySize(g_szStaffHumanModel); iIndex++)
  224.     {
  225.         ArrayGetString(g_szStaffHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  226.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  227.         precache_model(szModelPath)
  228.     }
  229.    
  230.     for (iIndex = 0; iIndex < ArraySize(g_szModHumanModel); iIndex++)
  231.     {
  232.         ArrayGetString(g_szModHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  233.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  234.         precache_model(szModelPath)
  235.     }
  236.    
  237.     for (iIndex = 0; iIndex < ArraySize(g_szAdminHumanModel); iIndex++)
  238.     {
  239.         ArrayGetString(g_szAdminHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  240.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  241.         precache_model(szModelPath)
  242.     }
  243.    
  244.     for (iIndex = 0; iIndex < ArraySize(g_szVipHumanModel); iIndex++)
  245.     {
  246.         ArrayGetString(g_szVipHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  247.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  248.         precache_model(szModelPath)
  249.     }
  250.     for (iIndex = 0; iIndex < ArraySize(g_szAdminZombieModel); iIndex++)
  251.     {
  252.         ArrayGetString(g_szAdminZombieModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  253.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  254.         precache_model(szModelPath)
  255.     }
  256.     for (iIndex = 0; iIndex < ArraySize(g_szHumanModel1); iIndex++)
  257.     {
  258.         ArrayGetString(g_szHumanModel1, iIndex, szPlayerModel, charsmax(szPlayerModel))
  259.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  260.         precache_model(szModelPath)
  261.     }
  262.     for (iIndex = 0; iIndex < ArraySize(g_szHumanModel2); iIndex++)
  263.     {
  264.         ArrayGetString(g_szHumanModel2, iIndex, szPlayerModel, charsmax(szPlayerModel))
  265.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  266.         precache_model(szModelPath)
  267.     }
  268.     for (iIndex = 0; iIndex < ArraySize(g_szHumanModel3); iIndex++)
  269.     {
  270.         ArrayGetString(g_szHumanModel3, iIndex, szPlayerModel, charsmax(szPlayerModel))
  271.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  272.         precache_model(szModelPath)
  273.     }
  274.     for (iIndex = 0; iIndex < ArraySize(g_szHumanModel4); iIndex++)
  275.     {
  276.         ArrayGetString(g_szHumanModel4, iIndex, szPlayerModel, charsmax(szPlayerModel))
  277.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  278.         precache_model(szModelPath)
  279.     }
  280.     for (iIndex = 0; iIndex < ArraySize(g_v_szAdminZombieKnifeModel); iIndex++)
  281.     {
  282.         ArrayGetString(g_v_szAdminZombieKnifeModel, iIndex, szModel, charsmax(szModel))
  283.         precache_model(szModel)
  284.     }
  285. }
  286.  
  287. public ze_user_humanized(id)
  288. {
  289.     if(ze_is_user_zombie(id) || !is_user_alive(id))
  290.         return
  291.        
  292.     new szPlayerModel[PLAYERMODEL_MAX_LENGTH], szModel[MODEL_MAX_LENGTH]
  293.  
  294.     // Player Admin?
  295.     if(get_user_flags(id) & OWNER_MODEL)
  296.     {
  297.         // Set Admin Human Model
  298.         ArrayGetString(g_szOwnerHumanModel, random_num(0, ArraySize(g_szOwnerHumanModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  299.         rg_set_user_model(id, szPlayerModel)
  300.     }  
  301.     else if(get_user_flags(id) & STAFF_MODEL)
  302.     {
  303.         // Set Admin Human Model
  304.         ArrayGetString(g_szStaffHumanModel, random_num(0, ArraySize(g_szStaffHumanModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  305.         rg_set_user_model(id, szPlayerModel)
  306.     }  
  307.     else if(get_user_flags(id) & MOD_MODEL)
  308.     {
  309.         // Set Admin Human Model
  310.         ArrayGetString(g_szModHumanModel, random_num(0, ArraySize(g_szModHumanModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  311.         rg_set_user_model(id, szPlayerModel)
  312.     }  
  313.     else if(get_user_flags(id) & ADMIN_MODELS_ACCESS)
  314.     {
  315.         // Set Admin Human Model
  316.         ArrayGetString(g_szAdminHumanModel, random_num(0, ArraySize(g_szAdminHumanModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  317.         rg_set_user_model(id, szPlayerModel)
  318.     }  
  319.     else if(get_user_flags(id) & VIP_MODEL)
  320.     {
  321.         // Set Admin Human Model
  322.         ArrayGetString(g_szVipHumanModel, random_num(0, ArraySize(g_szVipHumanModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  323.         rg_set_user_model(id, szPlayerModel)
  324.     }
  325.     else
  326.     {
  327.         // Rest Player Model (Model Randomly)
  328.         switch(random_num(0, 130))
  329.         {
  330.             case 0..30:
  331.             {
  332.                 ArrayGetString(g_szHumanModel1, random_num(0, ArraySize(g_szHumanModel1) - 1), szPlayerModel, charsmax(szPlayerModel))
  333.                 rg_set_user_model(id, szPlayerModel)
  334.             }
  335.             case 31..70:
  336.             {
  337.                 ArrayGetString(g_szHumanModel2, random_num(0, ArraySize(g_szHumanModel2) - 1), szPlayerModel, charsmax(szPlayerModel))
  338.                 rg_set_user_model(id, szPlayerModel)
  339.             }
  340.             case 71..100:
  341.             {
  342.                 ArrayGetString(g_szHumanModel3, random_num(0, ArraySize(g_szHumanModel3) - 1), szPlayerModel, charsmax(szPlayerModel))
  343.                 rg_set_user_model(id, szPlayerModel)
  344.             }
  345.             case 101..130:
  346.             {
  347.                 ArrayGetString(g_szHumanModel4, random_num(0, ArraySize(g_szHumanModel4) - 1), szPlayerModel, charsmax(szPlayerModel))
  348.                 rg_set_user_model(id, szPlayerModel)
  349.             }
  350.         }
  351.     }
  352. }
  353.  
  354. public ze_user_infected(iVictim, iInfector)
  355. {
  356.     if(!is_user_alive(iVictim))
  357.         return
  358.        
  359.     // Set Zombie Models
  360.     new szPlayerModel[PLAYERMODEL_MAX_LENGTH], szModel[MODEL_MAX_LENGTH]
  361.    
  362.     // Player Admin?
  363.     if(get_user_flags(iVictim) & ADMIN_MODELS_ACCESS)
  364.     {
  365.         // Set Zombie Admin Model
  366.         ArrayGetString(g_szAdminZombieModel, random_num(0, ArraySize(g_szAdminZombieModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  367.         rg_set_user_model(iVictim, szPlayerModel)
  368.        
  369.         // Set Admin Zombie Knife Model
  370.         ArrayGetString(g_v_szAdminZombieKnifeModel, random_num(0, ArraySize(g_v_szAdminZombieKnifeModel) - 1), szModel, charsmax(szModel))
  371.         cs_set_player_view_model(iVictim, CSW_KNIFE, szModel)
  372.         cs_set_player_weap_model(iVictim, CSW_KNIFE, "") // Leave Blank so knife not appear with zombies
  373.     }
  374. }

Code: Select all

    register_plugin("[ZE] Special Models", ZE_VERSION, AUTHORS) 
Error Here

Re: Special Models

Posted: 09 Dec 2021, 17:00
by VicKy
Amnesia wrote: 2 years ago
VicKy wrote: 2 years ago
Amnesia wrote: 2 years ago Rahhem bro help !

Code: Select all

[MAIN_CONFIG]
MIN_PLAYER = 3
DEFAULT_LIGHT = d
ZOMBIE_RELEASE_TIME = 10
HUMAN_FREEZE_TIME = 10
ROUND_TIME = 9

[FOG]
FOG_ENABLE = 1
FOG_DENSITY = 0.0010
FOG_COLOR = 100 100 100

[HUMAN_CONFIG]
HUMAN_HEALTH = 250.0
HUMAN_ARMOR = 100.0
HUMAN_GRAVITY = 1.0
HUMAN_SPEED = 250.0

[ZOMBIE_CONFIG]
ZOMBIE_HEALTH = 14000.0
ZOMBIE_ARMOR = 100.0
ZOMBIE_GRAVITY = 0.875
ZOMBIE_SPEED = 325.0
ZOMBIE_KNOCKBACK_POWER = 500.0

[SKY]
SKY_NAME = hk

[MODEL_CONFIG]
HUMAN_MODEL = roz_xmas_player1 , roz_xmas_player2 ,
ZOMBIE_ORIGIN_MODEL = tank_zombi_origin
ZOMBIE_HOST_MODEL = tank_zombi_host
ZOMBIE_CLAW_MODEL = models/zombie_escape/v_knife_tank_zombi.mdl

[SOUND_CONFIG]
READY = zombie_escape/ZE_Ready.mp3
AMBIENCE = zombie_escape/ZE_Ambience.mp3
ZOMBIE_APPEAR = zombie_escape/zombi_coming_1.wav , zombie_escape/zombi_coming_2.wav
PLAYER_INFECT = zombie_escape/zombie/human_death_01.wav , zombie_escape/zombie/human_death_02.wav
ZOMBIE_PAIN = zombie_escape/zombie/zombi_hurt_01.wav , zombie_escape/zombie/zombi_hurt_02.wav
COUNTDOWN = zombie_escape/count/%i.wav
ESCAPE_SUCCESS = zombie_escape/zombi_escape_success.wav
ESCAPE_FAIL = zombie_escape/zombi_escape_fail.wav

ATTACK_HIT = zombie_escape/zombie/zombi_attack_1.wav , zombie_escape/zombie/zombi_attack_2.wav , zombie_escape/zombie/zombi_attack_3.wav
ATTACK_MISS = zombie_escape/zombie/zombi_swing_1.wav , zombie_escape/zombie/zombi_swing_2.wav , zombie_escape/zombie/zombi_swing_3.wav
ATTACK_WALL = zombie_escape/zombie/zombi_wall_1.wav ,  zombie_escape/zombie/zombi_wall_2.wav , zombie_escape/zombie/zombi_wall_3.wav

[Objective Entities] (and anything that would affect gameplay that needs to be removed)
CLASSNAMES = func_bomb_target , info_bomb_target , info_vip_start , func_vip_safetyzone , func_escapezone , hostage_entity , monster_scientist , func_hostage_rescue , info_hostage_rescue , env_fog , env_rain , env_snow , item_longjump , func_buyzone
OBJECTIVES = func_bomb_target , info_bomb_target , info_vip_start , func_vip_safetyzone , func_escapezone , hostage_entity , monster_scientist , func_hostage_rescue , info_hostage_rescue
GAMEPLAY = func_vehicle , item_longjump
how i can change models i mean , Humans : player 1 , player2 , player3 random And about vip like this , VIP Human : viphuman1 , VIP Zombie : vipZe1
and knifes model there to please!
Bro Instead Of This You Can Use This viewtopic.php?f=15&t=32

Or Here ( Some Rank Skins Added ) You Can Skins From zombie_escape.ini :-
  1. #include <zombie_escape>
  2.  
  3. // Setting File
  4. new const ZE_SETTING_RESOURCES[] = "zombie_escape.ini"
  5.  
  6. // Defines
  7. #define MODEL_MAX_LENGTH 64
  8. #define PLAYERMODEL_MAX_LENGTH 32
  9. #define ACCESS_MAX_LENGTH 32
  10.  
  11. /// Acess
  12. #define OWNER_MODEL ADMIN_IMMUNITY
  13. #define STAFF_MODEL ADMIN_LEVEL_D
  14. #define MOD_MODEL ADMIN_LEVEL_E
  15. #define ADMIN_MODELS_ACCESS ADMIN_LEVEL_B
  16. #define VIP_MODEL ADMIN_LEVEL_F
  17.  
  18. // Added Models
  19.  
  20. new const szOwnerHumanModel[][] =
  21. {
  22.     "owner"
  23. }
  24.  
  25. new const szStaffHumanModel[][] =
  26. {
  27.     "Staff"
  28. }
  29.  
  30. new const szModHumanModel[][] =
  31. {
  32.     "Mod"
  33. }
  34. new const szAdminHumanModel[][] =
  35. {
  36.     "Vdmin"
  37. }
  38.  
  39. new const szVipHumanModel[][] =
  40. {
  41.     "Vip"
  42. }
  43.  
  44. // Default
  45.  
  46. new const szAdminZombieModel[][] =
  47. {
  48.     "zombie_admin"
  49. }
  50.  
  51. new const v_szAdminZombieKnifeModel[][] =
  52. {
  53.     "models/zombie_escape/v_knife_zombie_admin.mdl"
  54. }
  55.  
  56. new const szHumanModel1[][] =
  57. {
  58.     "human1"
  59. }
  60.  
  61. new const szHumanModel2[][] =
  62. {
  63.     "human2"
  64. }
  65.  
  66. new const szHumanModel3[][] =
  67. {
  68.     "human3"
  69. }
  70.  
  71. new const szHumanModel4[][] =
  72. {
  73.     "human4"
  74. }
  75.  
  76. // Dynamic Arrays: Models
  77. new Array:g_szAdminZombieModel, Array:g_v_szAdminZombieKnifeModel,
  78. Array:g_szOwnerHumanModel,g_szStaffHumanModel,g_szModHumanModel,g_szAdminHumanModel,g_szVipHumanModel,g_szHumanModel1, Array:g_szHumanModel2, Array:g_szHumanModel3, Array:g_szHumanModel4
  79.  
  80. public plugin_init()
  81. {
  82.     register_plugin("[ZE] Special Models", ZE_VERSION, AUTHORS)
  83. }
  84.  
  85. public plugin_precache()
  86. {
  87.     // Initialize Arrays
  88.     g_szOwnerHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  89.     g_szStaffHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  90.     g_szModHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  91.     g_szAdminHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  92.     g_szVipHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  93.     g_szAdminZombieModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  94.     g_v_szAdminZombieKnifeModel = ArrayCreate(MODEL_MAX_LENGTH, 1)
  95.     g_szHumanModel1 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  96.     g_szHumanModel2 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  97.     g_szHumanModel3 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  98.     g_szHumanModel4 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  99.    
  100.     // Load From External File
  101.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "OWNER ( H )", g_szOwnerHumanModel)
  102.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "STAFF ( H )", g_szStaffHumanModel)
  103.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "MODERATOR ( H )", g_szModHumanModel)
  104.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ADMIN ( H )", g_szAdminHumanModel)
  105.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "VIP ( H )", g_szVipHumanModel)
  106.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ZOMBIE ADMIN", g_szAdminZombieModel)
  107.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Weapon Models", "V_KNIFE ZOMBIE ADMIN", g_v_szAdminZombieKnifeModel)
  108.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 1", g_szHumanModel1)
  109.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 2", g_szHumanModel2)
  110.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 3", g_szHumanModel3)
  111.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 4", g_szHumanModel4)
  112.    
  113.     // Load our Default Values
  114.     new iIndex
  115.    
  116.     if(ArraySize(g_szOwnerHumanModel) == 0)
  117.     {
  118.         for(iIndex = 0; iIndex < sizeof szOwnerHumanModel; iIndex++)
  119.             ArrayPushString(g_szOwnerHumanModel, szOwnerHumanModel[iIndex])
  120.        
  121.         // Save to external file
  122.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "OWNER ( H )", g_szOwnerHumanModel)
  123.     }
  124.    
  125.     if(ArraySize(g_szStaffHumanModel) == 0)
  126.     {
  127.         for(iIndex = 0; iIndex < sizeof szStaffHumanModel; iIndex++)
  128.             ArrayPushString(g_szStaffHumanModel, szStaffHumanModel[iIndex])
  129.        
  130.         // Save to external file
  131.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "STAFF ( H )", g_szStaffHumanModel)
  132.     }
  133.    
  134.     if(ArraySize(g_szModHumanModel) == 0)
  135.     {
  136.         for(iIndex = 0; iIndex < sizeof szModHumanModel; iIndex++)
  137.             ArrayPushString(g_szModHumanModel, szModHumanModel[iIndex])
  138.        
  139.         // Save to external file
  140.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "MODERATOR ( H )", g_szModHumanModel)
  141.     }
  142.    
  143.     if(ArraySize(g_szAdminHumanModel) == 0)
  144.     {
  145.         for(iIndex = 0; iIndex < sizeof szAdminHumanModel; iIndex++)
  146.             ArrayPushString(g_szAdminHumanModel, szAdminHumanModel[iIndex])
  147.        
  148.         // Save to external file
  149.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ADMIN ( H )", g_szAdminHumanModel)
  150.     }
  151.    
  152.     if(ArraySize(g_szVipHumanModel) == 0)
  153.     {
  154.         for(iIndex = 0; iIndex < sizeof szVipHumanModel; iIndex++)
  155.             ArrayPushString(g_szVipHumanModel, szVipHumanModel[iIndex])
  156.        
  157.         // Save to external file
  158.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "VIP ( H )", g_szVipHumanModel)
  159.     }
  160.    
  161.     if(ArraySize(g_szAdminZombieModel) == 0)
  162.     {
  163.         for(iIndex = 0; iIndex < sizeof szAdminZombieModel; iIndex++)
  164.             ArrayPushString(g_szAdminZombieModel, szAdminZombieModel[iIndex])
  165.        
  166.         // Save to external file
  167.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ZOMBIE ADMIN", g_szAdminZombieModel)
  168.     }
  169.    
  170.     if(ArraySize(g_v_szAdminZombieKnifeModel) == 0)
  171.     {
  172.         for(iIndex = 0; iIndex < sizeof v_szAdminZombieKnifeModel; iIndex++)
  173.             ArrayPushString(g_v_szAdminZombieKnifeModel, v_szAdminZombieKnifeModel[iIndex])
  174.        
  175.         // Save to external file
  176.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Weapon Models", "V_KNIFE ZOMBIE ADMIN", g_v_szAdminZombieKnifeModel)
  177.     }
  178.    
  179.     if(ArraySize(g_szHumanModel1) == 0)
  180.     {
  181.         for(iIndex = 0; iIndex < sizeof szHumanModel1; iIndex++)
  182.             ArrayPushString(g_szHumanModel1, szHumanModel1[iIndex])
  183.        
  184.         // Save to external file
  185.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 1", g_szHumanModel1)
  186.     }
  187.    
  188.     if(ArraySize(g_szHumanModel2) == 0)
  189.     {
  190.         for(iIndex = 0; iIndex < sizeof szHumanModel2; iIndex++)
  191.             ArrayPushString(g_szHumanModel2, szHumanModel2[iIndex])
  192.        
  193.         // Save to external file
  194.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 2", g_szHumanModel2)
  195.     }
  196.    
  197.     if(ArraySize(g_szHumanModel3) == 0)
  198.     {
  199.         for(iIndex = 0; iIndex < sizeof szHumanModel3; iIndex++)
  200.             ArrayPushString(g_szHumanModel3, szHumanModel3[iIndex])
  201.        
  202.         // Save to external file
  203.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 3", g_szHumanModel3)
  204.     }
  205.    
  206.     if(ArraySize(g_szHumanModel4) == 0)
  207.     {
  208.         for(iIndex = 0; iIndex < sizeof szHumanModel4; iIndex++)
  209.             ArrayPushString(g_szHumanModel4, szHumanModel4[iIndex])
  210.        
  211.         // Save to external file
  212.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 4", g_szHumanModel4)
  213.     }
  214.     // Precache
  215.     new szPlayerModel[PLAYERMODEL_MAX_LENGTH], szModel[MODEL_MAX_LENGTH], szModelPath[128]
  216.    
  217.     for (iIndex = 0; iIndex < ArraySize(g_szOwnerHumanModel); iIndex++)
  218.     {
  219.         ArrayGetString(g_szOwnerHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  220.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  221.         precache_model(szModelPath)
  222.     }
  223.     for (iIndex = 0; iIndex < ArraySize(g_szStaffHumanModel); iIndex++)
  224.     {
  225.         ArrayGetString(g_szStaffHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  226.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  227.         precache_model(szModelPath)
  228.     }
  229.    
  230.     for (iIndex = 0; iIndex < ArraySize(g_szModHumanModel); iIndex++)
  231.     {
  232.         ArrayGetString(g_szModHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  233.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  234.         precache_model(szModelPath)
  235.     }
  236.    
  237.     for (iIndex = 0; iIndex < ArraySize(g_szAdminHumanModel); iIndex++)
  238.     {
  239.         ArrayGetString(g_szAdminHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  240.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  241.         precache_model(szModelPath)
  242.     }
  243.    
  244.     for (iIndex = 0; iIndex < ArraySize(g_szVipHumanModel); iIndex++)
  245.     {
  246.         ArrayGetString(g_szVipHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  247.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  248.         precache_model(szModelPath)
  249.     }
  250.     for (iIndex = 0; iIndex < ArraySize(g_szAdminZombieModel); iIndex++)
  251.     {
  252.         ArrayGetString(g_szAdminZombieModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  253.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  254.         precache_model(szModelPath)
  255.     }
  256.     for (iIndex = 0; iIndex < ArraySize(g_szHumanModel1); iIndex++)
  257.     {
  258.         ArrayGetString(g_szHumanModel1, iIndex, szPlayerModel, charsmax(szPlayerModel))
  259.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  260.         precache_model(szModelPath)
  261.     }
  262.     for (iIndex = 0; iIndex < ArraySize(g_szHumanModel2); iIndex++)
  263.     {
  264.         ArrayGetString(g_szHumanModel2, iIndex, szPlayerModel, charsmax(szPlayerModel))
  265.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  266.         precache_model(szModelPath)
  267.     }
  268.     for (iIndex = 0; iIndex < ArraySize(g_szHumanModel3); iIndex++)
  269.     {
  270.         ArrayGetString(g_szHumanModel3, iIndex, szPlayerModel, charsmax(szPlayerModel))
  271.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  272.         precache_model(szModelPath)
  273.     }
  274.     for (iIndex = 0; iIndex < ArraySize(g_szHumanModel4); iIndex++)
  275.     {
  276.         ArrayGetString(g_szHumanModel4, iIndex, szPlayerModel, charsmax(szPlayerModel))
  277.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  278.         precache_model(szModelPath)
  279.     }
  280.     for (iIndex = 0; iIndex < ArraySize(g_v_szAdminZombieKnifeModel); iIndex++)
  281.     {
  282.         ArrayGetString(g_v_szAdminZombieKnifeModel, iIndex, szModel, charsmax(szModel))
  283.         precache_model(szModel)
  284.     }
  285. }
  286.  
  287. public ze_user_humanized(id)
  288. {
  289.     if(ze_is_user_zombie(id) || !is_user_alive(id))
  290.         return
  291.        
  292.     new szPlayerModel[PLAYERMODEL_MAX_LENGTH], szModel[MODEL_MAX_LENGTH]
  293.  
  294.     // Player Admin?
  295.     if(get_user_flags(id) & OWNER_MODEL)
  296.     {
  297.         // Set Admin Human Model
  298.         ArrayGetString(g_szOwnerHumanModel, random_num(0, ArraySize(g_szOwnerHumanModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  299.         rg_set_user_model(id, szPlayerModel)
  300.     }  
  301.     else if(get_user_flags(id) & STAFF_MODEL)
  302.     {
  303.         // Set Admin Human Model
  304.         ArrayGetString(g_szStaffHumanModel, random_num(0, ArraySize(g_szStaffHumanModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  305.         rg_set_user_model(id, szPlayerModel)
  306.     }  
  307.     else if(get_user_flags(id) & MOD_MODEL)
  308.     {
  309.         // Set Admin Human Model
  310.         ArrayGetString(g_szModHumanModel, random_num(0, ArraySize(g_szModHumanModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  311.         rg_set_user_model(id, szPlayerModel)
  312.     }  
  313.     else if(get_user_flags(id) & ADMIN_MODELS_ACCESS)
  314.     {
  315.         // Set Admin Human Model
  316.         ArrayGetString(g_szAdminHumanModel, random_num(0, ArraySize(g_szAdminHumanModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  317.         rg_set_user_model(id, szPlayerModel)
  318.     }  
  319.     else if(get_user_flags(id) & VIP_MODEL)
  320.     {
  321.         // Set Admin Human Model
  322.         ArrayGetString(g_szVipHumanModel, random_num(0, ArraySize(g_szVipHumanModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  323.         rg_set_user_model(id, szPlayerModel)
  324.     }
  325.     else
  326.     {
  327.         // Rest Player Model (Model Randomly)
  328.         switch(random_num(0, 130))
  329.         {
  330.             case 0..30:
  331.             {
  332.                 ArrayGetString(g_szHumanModel1, random_num(0, ArraySize(g_szHumanModel1) - 1), szPlayerModel, charsmax(szPlayerModel))
  333.                 rg_set_user_model(id, szPlayerModel)
  334.             }
  335.             case 31..70:
  336.             {
  337.                 ArrayGetString(g_szHumanModel2, random_num(0, ArraySize(g_szHumanModel2) - 1), szPlayerModel, charsmax(szPlayerModel))
  338.                 rg_set_user_model(id, szPlayerModel)
  339.             }
  340.             case 71..100:
  341.             {
  342.                 ArrayGetString(g_szHumanModel3, random_num(0, ArraySize(g_szHumanModel3) - 1), szPlayerModel, charsmax(szPlayerModel))
  343.                 rg_set_user_model(id, szPlayerModel)
  344.             }
  345.             case 101..130:
  346.             {
  347.                 ArrayGetString(g_szHumanModel4, random_num(0, ArraySize(g_szHumanModel4) - 1), szPlayerModel, charsmax(szPlayerModel))
  348.                 rg_set_user_model(id, szPlayerModel)
  349.             }
  350.         }
  351.     }
  352. }
  353.  
  354. public ze_user_infected(iVictim, iInfector)
  355. {
  356.     if(!is_user_alive(iVictim))
  357.         return
  358.        
  359.     // Set Zombie Models
  360.     new szPlayerModel[PLAYERMODEL_MAX_LENGTH], szModel[MODEL_MAX_LENGTH]
  361.    
  362.     // Player Admin?
  363.     if(get_user_flags(iVictim) & ADMIN_MODELS_ACCESS)
  364.     {
  365.         // Set Zombie Admin Model
  366.         ArrayGetString(g_szAdminZombieModel, random_num(0, ArraySize(g_szAdminZombieModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  367.         rg_set_user_model(iVictim, szPlayerModel)
  368.        
  369.         // Set Admin Zombie Knife Model
  370.         ArrayGetString(g_v_szAdminZombieKnifeModel, random_num(0, ArraySize(g_v_szAdminZombieKnifeModel) - 1), szModel, charsmax(szModel))
  371.         cs_set_player_view_model(iVictim, CSW_KNIFE, szModel)
  372.         cs_set_player_weap_model(iVictim, CSW_KNIFE, "") // Leave Blank so knife not appear with zombies
  373.     }
  374. }

Code: Select all

    register_plugin("[ZE] Special Models", ZE_VERSION, AUTHORS)
Error Here
update your include

Re: Special Models

Posted: 09 Dec 2021, 17:01
by VicKy
Amnesia wrote: 2 years ago
VicKy wrote: 2 years ago
Amnesia wrote: 2 years ago Rahhem bro help !

Code: Select all

[MAIN_CONFIG]
MIN_PLAYER = 3
DEFAULT_LIGHT = d
ZOMBIE_RELEASE_TIME = 10
HUMAN_FREEZE_TIME = 10
ROUND_TIME = 9

[FOG]
FOG_ENABLE = 1
FOG_DENSITY = 0.0010
FOG_COLOR = 100 100 100

[HUMAN_CONFIG]
HUMAN_HEALTH = 250.0
HUMAN_ARMOR = 100.0
HUMAN_GRAVITY = 1.0
HUMAN_SPEED = 250.0

[ZOMBIE_CONFIG]
ZOMBIE_HEALTH = 14000.0
ZOMBIE_ARMOR = 100.0
ZOMBIE_GRAVITY = 0.875
ZOMBIE_SPEED = 325.0
ZOMBIE_KNOCKBACK_POWER = 500.0

[SKY]
SKY_NAME = hk

[MODEL_CONFIG]
HUMAN_MODEL = roz_xmas_player1 , roz_xmas_player2 ,
ZOMBIE_ORIGIN_MODEL = tank_zombi_origin
ZOMBIE_HOST_MODEL = tank_zombi_host
ZOMBIE_CLAW_MODEL = models/zombie_escape/v_knife_tank_zombi.mdl

[SOUND_CONFIG]
READY = zombie_escape/ZE_Ready.mp3
AMBIENCE = zombie_escape/ZE_Ambience.mp3
ZOMBIE_APPEAR = zombie_escape/zombi_coming_1.wav , zombie_escape/zombi_coming_2.wav
PLAYER_INFECT = zombie_escape/zombie/human_death_01.wav , zombie_escape/zombie/human_death_02.wav
ZOMBIE_PAIN = zombie_escape/zombie/zombi_hurt_01.wav , zombie_escape/zombie/zombi_hurt_02.wav
COUNTDOWN = zombie_escape/count/%i.wav
ESCAPE_SUCCESS = zombie_escape/zombi_escape_success.wav
ESCAPE_FAIL = zombie_escape/zombi_escape_fail.wav

ATTACK_HIT = zombie_escape/zombie/zombi_attack_1.wav , zombie_escape/zombie/zombi_attack_2.wav , zombie_escape/zombie/zombi_attack_3.wav
ATTACK_MISS = zombie_escape/zombie/zombi_swing_1.wav , zombie_escape/zombie/zombi_swing_2.wav , zombie_escape/zombie/zombi_swing_3.wav
ATTACK_WALL = zombie_escape/zombie/zombi_wall_1.wav ,  zombie_escape/zombie/zombi_wall_2.wav , zombie_escape/zombie/zombi_wall_3.wav

[Objective Entities] (and anything that would affect gameplay that needs to be removed)
CLASSNAMES = func_bomb_target , info_bomb_target , info_vip_start , func_vip_safetyzone , func_escapezone , hostage_entity , monster_scientist , func_hostage_rescue , info_hostage_rescue , env_fog , env_rain , env_snow , item_longjump , func_buyzone
OBJECTIVES = func_bomb_target , info_bomb_target , info_vip_start , func_vip_safetyzone , func_escapezone , hostage_entity , monster_scientist , func_hostage_rescue , info_hostage_rescue
GAMEPLAY = func_vehicle , item_longjump
how i can change models i mean , Humans : player 1 , player2 , player3 random And about vip like this , VIP Human : viphuman1 , VIP Zombie : vipZe1
and knifes model there to please!
Bro Instead Of This You Can Use This viewtopic.php?f=15&t=32

Or Here ( Some Rank Skins Added ) You Can Skins From zombie_escape.ini :-
  1. #include <zombie_escape>
  2.  
  3. // Setting File
  4. new const ZE_SETTING_RESOURCES[] = "zombie_escape.ini"
  5.  
  6. // Defines
  7. #define MODEL_MAX_LENGTH 64
  8. #define PLAYERMODEL_MAX_LENGTH 32
  9. #define ACCESS_MAX_LENGTH 32
  10.  
  11. /// Acess
  12. #define OWNER_MODEL ADMIN_IMMUNITY
  13. #define STAFF_MODEL ADMIN_LEVEL_D
  14. #define MOD_MODEL ADMIN_LEVEL_E
  15. #define ADMIN_MODELS_ACCESS ADMIN_LEVEL_B
  16. #define VIP_MODEL ADMIN_LEVEL_F
  17.  
  18. // Added Models
  19.  
  20. new const szOwnerHumanModel[][] =
  21. {
  22.     "owner"
  23. }
  24.  
  25. new const szStaffHumanModel[][] =
  26. {
  27.     "Staff"
  28. }
  29.  
  30. new const szModHumanModel[][] =
  31. {
  32.     "Mod"
  33. }
  34. new const szAdminHumanModel[][] =
  35. {
  36.     "Vdmin"
  37. }
  38.  
  39. new const szVipHumanModel[][] =
  40. {
  41.     "Vip"
  42. }
  43.  
  44. // Default
  45.  
  46. new const szAdminZombieModel[][] =
  47. {
  48.     "zombie_admin"
  49. }
  50.  
  51. new const v_szAdminZombieKnifeModel[][] =
  52. {
  53.     "models/zombie_escape/v_knife_zombie_admin.mdl"
  54. }
  55.  
  56. new const szHumanModel1[][] =
  57. {
  58.     "human1"
  59. }
  60.  
  61. new const szHumanModel2[][] =
  62. {
  63.     "human2"
  64. }
  65.  
  66. new const szHumanModel3[][] =
  67. {
  68.     "human3"
  69. }
  70.  
  71. new const szHumanModel4[][] =
  72. {
  73.     "human4"
  74. }
  75.  
  76. // Dynamic Arrays: Models
  77. new Array:g_szAdminZombieModel, Array:g_v_szAdminZombieKnifeModel,
  78. Array:g_szOwnerHumanModel,g_szStaffHumanModel,g_szModHumanModel,g_szAdminHumanModel,g_szVipHumanModel,g_szHumanModel1, Array:g_szHumanModel2, Array:g_szHumanModel3, Array:g_szHumanModel4
  79.  
  80. public plugin_init()
  81. {
  82.     register_plugin("[ZE] Special Models", ZE_VERSION, AUTHORS)
  83. }
  84.  
  85. public plugin_precache()
  86. {
  87.     // Initialize Arrays
  88.     g_szOwnerHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  89.     g_szStaffHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  90.     g_szModHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  91.     g_szAdminHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  92.     g_szVipHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  93.     g_szAdminZombieModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  94.     g_v_szAdminZombieKnifeModel = ArrayCreate(MODEL_MAX_LENGTH, 1)
  95.     g_szHumanModel1 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  96.     g_szHumanModel2 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  97.     g_szHumanModel3 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  98.     g_szHumanModel4 = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
  99.    
  100.     // Load From External File
  101.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "OWNER ( H )", g_szOwnerHumanModel)
  102.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "STAFF ( H )", g_szStaffHumanModel)
  103.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "MODERATOR ( H )", g_szModHumanModel)
  104.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ADMIN ( H )", g_szAdminHumanModel)
  105.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "VIP ( H )", g_szVipHumanModel)
  106.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ZOMBIE ADMIN", g_szAdminZombieModel)
  107.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Weapon Models", "V_KNIFE ZOMBIE ADMIN", g_v_szAdminZombieKnifeModel)
  108.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 1", g_szHumanModel1)
  109.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 2", g_szHumanModel2)
  110.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 3", g_szHumanModel3)
  111.     amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 4", g_szHumanModel4)
  112.    
  113.     // Load our Default Values
  114.     new iIndex
  115.    
  116.     if(ArraySize(g_szOwnerHumanModel) == 0)
  117.     {
  118.         for(iIndex = 0; iIndex < sizeof szOwnerHumanModel; iIndex++)
  119.             ArrayPushString(g_szOwnerHumanModel, szOwnerHumanModel[iIndex])
  120.        
  121.         // Save to external file
  122.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "OWNER ( H )", g_szOwnerHumanModel)
  123.     }
  124.    
  125.     if(ArraySize(g_szStaffHumanModel) == 0)
  126.     {
  127.         for(iIndex = 0; iIndex < sizeof szStaffHumanModel; iIndex++)
  128.             ArrayPushString(g_szStaffHumanModel, szStaffHumanModel[iIndex])
  129.        
  130.         // Save to external file
  131.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "STAFF ( H )", g_szStaffHumanModel)
  132.     }
  133.    
  134.     if(ArraySize(g_szModHumanModel) == 0)
  135.     {
  136.         for(iIndex = 0; iIndex < sizeof szModHumanModel; iIndex++)
  137.             ArrayPushString(g_szModHumanModel, szModHumanModel[iIndex])
  138.        
  139.         // Save to external file
  140.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "MODERATOR ( H )", g_szModHumanModel)
  141.     }
  142.    
  143.     if(ArraySize(g_szAdminHumanModel) == 0)
  144.     {
  145.         for(iIndex = 0; iIndex < sizeof szAdminHumanModel; iIndex++)
  146.             ArrayPushString(g_szAdminHumanModel, szAdminHumanModel[iIndex])
  147.        
  148.         // Save to external file
  149.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ADMIN ( H )", g_szAdminHumanModel)
  150.     }
  151.    
  152.     if(ArraySize(g_szVipHumanModel) == 0)
  153.     {
  154.         for(iIndex = 0; iIndex < sizeof szVipHumanModel; iIndex++)
  155.             ArrayPushString(g_szVipHumanModel, szVipHumanModel[iIndex])
  156.        
  157.         // Save to external file
  158.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "VIP ( H )", g_szVipHumanModel)
  159.     }
  160.    
  161.     if(ArraySize(g_szAdminZombieModel) == 0)
  162.     {
  163.         for(iIndex = 0; iIndex < sizeof szAdminZombieModel; iIndex++)
  164.             ArrayPushString(g_szAdminZombieModel, szAdminZombieModel[iIndex])
  165.        
  166.         // Save to external file
  167.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ZOMBIE ADMIN", g_szAdminZombieModel)
  168.     }
  169.    
  170.     if(ArraySize(g_v_szAdminZombieKnifeModel) == 0)
  171.     {
  172.         for(iIndex = 0; iIndex < sizeof v_szAdminZombieKnifeModel; iIndex++)
  173.             ArrayPushString(g_v_szAdminZombieKnifeModel, v_szAdminZombieKnifeModel[iIndex])
  174.        
  175.         // Save to external file
  176.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Weapon Models", "V_KNIFE ZOMBIE ADMIN", g_v_szAdminZombieKnifeModel)
  177.     }
  178.    
  179.     if(ArraySize(g_szHumanModel1) == 0)
  180.     {
  181.         for(iIndex = 0; iIndex < sizeof szHumanModel1; iIndex++)
  182.             ArrayPushString(g_szHumanModel1, szHumanModel1[iIndex])
  183.        
  184.         // Save to external file
  185.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 1", g_szHumanModel1)
  186.     }
  187.    
  188.     if(ArraySize(g_szHumanModel2) == 0)
  189.     {
  190.         for(iIndex = 0; iIndex < sizeof szHumanModel2; iIndex++)
  191.             ArrayPushString(g_szHumanModel2, szHumanModel2[iIndex])
  192.        
  193.         // Save to external file
  194.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 2", g_szHumanModel2)
  195.     }
  196.    
  197.     if(ArraySize(g_szHumanModel3) == 0)
  198.     {
  199.         for(iIndex = 0; iIndex < sizeof szHumanModel3; iIndex++)
  200.             ArrayPushString(g_szHumanModel3, szHumanModel3[iIndex])
  201.        
  202.         // Save to external file
  203.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 3", g_szHumanModel3)
  204.     }
  205.    
  206.     if(ArraySize(g_szHumanModel4) == 0)
  207.     {
  208.         for(iIndex = 0; iIndex < sizeof szHumanModel4; iIndex++)
  209.             ArrayPushString(g_szHumanModel4, szHumanModel4[iIndex])
  210.        
  211.         // Save to external file
  212.         amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN 4", g_szHumanModel4)
  213.     }
  214.     // Precache
  215.     new szPlayerModel[PLAYERMODEL_MAX_LENGTH], szModel[MODEL_MAX_LENGTH], szModelPath[128]
  216.    
  217.     for (iIndex = 0; iIndex < ArraySize(g_szOwnerHumanModel); iIndex++)
  218.     {
  219.         ArrayGetString(g_szOwnerHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  220.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  221.         precache_model(szModelPath)
  222.     }
  223.     for (iIndex = 0; iIndex < ArraySize(g_szStaffHumanModel); iIndex++)
  224.     {
  225.         ArrayGetString(g_szStaffHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  226.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  227.         precache_model(szModelPath)
  228.     }
  229.    
  230.     for (iIndex = 0; iIndex < ArraySize(g_szModHumanModel); iIndex++)
  231.     {
  232.         ArrayGetString(g_szModHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  233.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  234.         precache_model(szModelPath)
  235.     }
  236.    
  237.     for (iIndex = 0; iIndex < ArraySize(g_szAdminHumanModel); iIndex++)
  238.     {
  239.         ArrayGetString(g_szAdminHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  240.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  241.         precache_model(szModelPath)
  242.     }
  243.    
  244.     for (iIndex = 0; iIndex < ArraySize(g_szVipHumanModel); iIndex++)
  245.     {
  246.         ArrayGetString(g_szVipHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  247.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  248.         precache_model(szModelPath)
  249.     }
  250.     for (iIndex = 0; iIndex < ArraySize(g_szAdminZombieModel); iIndex++)
  251.     {
  252.         ArrayGetString(g_szAdminZombieModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
  253.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  254.         precache_model(szModelPath)
  255.     }
  256.     for (iIndex = 0; iIndex < ArraySize(g_szHumanModel1); iIndex++)
  257.     {
  258.         ArrayGetString(g_szHumanModel1, iIndex, szPlayerModel, charsmax(szPlayerModel))
  259.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  260.         precache_model(szModelPath)
  261.     }
  262.     for (iIndex = 0; iIndex < ArraySize(g_szHumanModel2); iIndex++)
  263.     {
  264.         ArrayGetString(g_szHumanModel2, iIndex, szPlayerModel, charsmax(szPlayerModel))
  265.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  266.         precache_model(szModelPath)
  267.     }
  268.     for (iIndex = 0; iIndex < ArraySize(g_szHumanModel3); iIndex++)
  269.     {
  270.         ArrayGetString(g_szHumanModel3, iIndex, szPlayerModel, charsmax(szPlayerModel))
  271.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  272.         precache_model(szModelPath)
  273.     }
  274.     for (iIndex = 0; iIndex < ArraySize(g_szHumanModel4); iIndex++)
  275.     {
  276.         ArrayGetString(g_szHumanModel4, iIndex, szPlayerModel, charsmax(szPlayerModel))
  277.         formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
  278.         precache_model(szModelPath)
  279.     }
  280.     for (iIndex = 0; iIndex < ArraySize(g_v_szAdminZombieKnifeModel); iIndex++)
  281.     {
  282.         ArrayGetString(g_v_szAdminZombieKnifeModel, iIndex, szModel, charsmax(szModel))
  283.         precache_model(szModel)
  284.     }
  285. }
  286.  
  287. public ze_user_humanized(id)
  288. {
  289.     if(ze_is_user_zombie(id) || !is_user_alive(id))
  290.         return
  291.        
  292.     new szPlayerModel[PLAYERMODEL_MAX_LENGTH], szModel[MODEL_MAX_LENGTH]
  293.  
  294.     // Player Admin?
  295.     if(get_user_flags(id) & OWNER_MODEL)
  296.     {
  297.         // Set Admin Human Model
  298.         ArrayGetString(g_szOwnerHumanModel, random_num(0, ArraySize(g_szOwnerHumanModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  299.         rg_set_user_model(id, szPlayerModel)
  300.     }  
  301.     else if(get_user_flags(id) & STAFF_MODEL)
  302.     {
  303.         // Set Admin Human Model
  304.         ArrayGetString(g_szStaffHumanModel, random_num(0, ArraySize(g_szStaffHumanModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  305.         rg_set_user_model(id, szPlayerModel)
  306.     }  
  307.     else if(get_user_flags(id) & MOD_MODEL)
  308.     {
  309.         // Set Admin Human Model
  310.         ArrayGetString(g_szModHumanModel, random_num(0, ArraySize(g_szModHumanModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  311.         rg_set_user_model(id, szPlayerModel)
  312.     }  
  313.     else if(get_user_flags(id) & ADMIN_MODELS_ACCESS)
  314.     {
  315.         // Set Admin Human Model
  316.         ArrayGetString(g_szAdminHumanModel, random_num(0, ArraySize(g_szAdminHumanModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  317.         rg_set_user_model(id, szPlayerModel)
  318.     }  
  319.     else if(get_user_flags(id) & VIP_MODEL)
  320.     {
  321.         // Set Admin Human Model
  322.         ArrayGetString(g_szVipHumanModel, random_num(0, ArraySize(g_szVipHumanModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  323.         rg_set_user_model(id, szPlayerModel)
  324.     }
  325.     else
  326.     {
  327.         // Rest Player Model (Model Randomly)
  328.         switch(random_num(0, 130))
  329.         {
  330.             case 0..30:
  331.             {
  332.                 ArrayGetString(g_szHumanModel1, random_num(0, ArraySize(g_szHumanModel1) - 1), szPlayerModel, charsmax(szPlayerModel))
  333.                 rg_set_user_model(id, szPlayerModel)
  334.             }
  335.             case 31..70:
  336.             {
  337.                 ArrayGetString(g_szHumanModel2, random_num(0, ArraySize(g_szHumanModel2) - 1), szPlayerModel, charsmax(szPlayerModel))
  338.                 rg_set_user_model(id, szPlayerModel)
  339.             }
  340.             case 71..100:
  341.             {
  342.                 ArrayGetString(g_szHumanModel3, random_num(0, ArraySize(g_szHumanModel3) - 1), szPlayerModel, charsmax(szPlayerModel))
  343.                 rg_set_user_model(id, szPlayerModel)
  344.             }
  345.             case 101..130:
  346.             {
  347.                 ArrayGetString(g_szHumanModel4, random_num(0, ArraySize(g_szHumanModel4) - 1), szPlayerModel, charsmax(szPlayerModel))
  348.                 rg_set_user_model(id, szPlayerModel)
  349.             }
  350.         }
  351.     }
  352. }
  353.  
  354. public ze_user_infected(iVictim, iInfector)
  355. {
  356.     if(!is_user_alive(iVictim))
  357.         return
  358.        
  359.     // Set Zombie Models
  360.     new szPlayerModel[PLAYERMODEL_MAX_LENGTH], szModel[MODEL_MAX_LENGTH]
  361.    
  362.     // Player Admin?
  363.     if(get_user_flags(iVictim) & ADMIN_MODELS_ACCESS)
  364.     {
  365.         // Set Zombie Admin Model
  366.         ArrayGetString(g_szAdminZombieModel, random_num(0, ArraySize(g_szAdminZombieModel) - 1), szPlayerModel, charsmax(szPlayerModel))
  367.         rg_set_user_model(iVictim, szPlayerModel)
  368.        
  369.         // Set Admin Zombie Knife Model
  370.         ArrayGetString(g_v_szAdminZombieKnifeModel, random_num(0, ArraySize(g_v_szAdminZombieKnifeModel) - 1), szModel, charsmax(szModel))
  371.         cs_set_player_view_model(iVictim, CSW_KNIFE, szModel)
  372.         cs_set_player_weap_model(iVictim, CSW_KNIFE, "") // Leave Blank so knife not appear with zombies
  373.     }
  374. }
[MAIN_CONFIG]
MIN_PLAYER = 3
DEFAULT_LIGHT = d
ZOMBIE_RELEASE_TIME = 10
HUMAN_FREEZE_TIME = 10
ROUND_TIME = 9

[FOG]
FOG_ENABLE = 1
FOG_DENSITY = 0.0010
FOG_COLOR = 100 100 100

[HUMAN_CONFIG]
HUMAN_HEALTH = 250.0
HUMAN_ARMOR = 100.0
HUMAN_GRAVITY = 1.0
HUMAN_SPEED = 250.0

[ZOMBIE_CONFIG]
ZOMBIE_HEALTH = 14000.0
ZOMBIE_ARMOR = 100.0
ZOMBIE_GRAVITY = 0.875
ZOMBIE_SPEED = 325.0
ZOMBIE_KNOCKBACK_POWER = 500.0

[SKY]
SKY_NAME = hk

[MODEL_CONFIG]
HUMAN_MODEL = roz_xmas_player1 , roz_xmas_player2 ,
ZOMBIE_ORIGIN_MODEL = tank_zombi_origin
ZOMBIE_HOST_MODEL = tank_zombi_host
ZOMBIE_CLAW_MODEL = models/zombie_escape/v_knife_tank_zombi.mdl

[SOUND_CONFIG]
READY = zombie_escape/ZE_Ready.mp3
AMBIENCE = zombie_escape/ZE_Ambience.mp3
ZOMBIE_APPEAR = zombie_escape/zombi_coming_1.wav , zombie_escape/zombi_coming_2.wav
PLAYER_INFECT = zombie_escape/zombie/human_death_01.wav , zombie_escape/zombie/human_death_02.wav
ZOMBIE_PAIN = zombie_escape/zombie/zombi_hurt_01.wav , zombie_escape/zombie/zombi_hurt_02.wav
COUNTDOWN = zombie_escape/count/%i.wav
ESCAPE_SUCCESS = zombie_escape/zombi_escape_success.wav
ESCAPE_FAIL = zombie_escape/zombi_escape_fail.wav

ATTACK_HIT = zombie_escape/zombie/zombi_attack_1.wav , zombie_escape/zombie/zombi_attack_2.wav , zombie_escape/zombie/zombi_attack_3.wav
ATTACK_MISS = zombie_escape/zombie/zombi_swing_1.wav , zombie_escape/zombie/zombi_swing_2.wav , zombie_escape/zombie/zombi_swing_3.wav
ATTACK_WALL = zombie_escape/zombie/zombi_wall_1.wav , zombie_escape/zombie/zombi_wall_2.wav , zombie_escape/zombie/zombi_wall_3.wav

[Objective Entities] (and anything that would affect gameplay that needs to be removed)
CLASSNAMES = func_bomb_target , info_bomb_target , info_vip_start , func_vip_safetyzone , func_escapezone , hostage_entity , monster_scientist , func_hostage_rescue , info_hostage_rescue , env_fog , env_rain , env_snow , item_longjump , func_buyzone
OBJECTIVES = func_bomb_target , info_bomb_target , info_vip_start , func_vip_safetyzone , func_escapezone , hostage_entity , monster_scientist , func_hostage_rescue , info_hostage_rescue
GAMEPLAY = func_vehicle , item_longjump









this is my zombie-escape.ini , can you edit this and make it vipZombie , vip human , then i can edit like (HUMAN_MODEL = roz_xmas_player1 , roz_xmas_player2 ,) just add my skins i hope you understand :) and thank you for helping me ^^
Zombie_escape.ini will automatically updated when plugin worked successfuly in your server !!