Page 3 of 4

Re: Special Models

Posted: 27 Jun 2018, 16:21
by Night Fury
Luxurious wrote: 5 years ago Need to Put many skin for admin`s !!
You can add as many as you want.
Make sure to add , between each model's name as: admin_model1 , admin_model2 , ....

Re: Special Models

Posted: 28 Jun 2018, 10:43
by Luxurious
yes .... but i don`t want it as Random need it with VIP access

Re: Special Models

Posted: 28 Jun 2018, 19:19
by Night Fury
Luxurious wrote: 5 years ago yes .... but i don`t want it as Random need it with VIP access
It will be included in the next updates.

Re: Special Models

Posted: 25 Jul 2018, 13:37
by konno
Help Jack. fix error

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 ADMIN_MODELS_ACCESS ADMIN_LEVEL_C
#define GIRL_MODELS_ACCESS ADMIN_LEVEL_D

// Default Models
new const szAdminHumanModel[][] = 
{
	"humano_od"
}

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

new const szGirlHumanModel[][] = 
{
	"humana_girl"
}

new const szGirlZombieModel[][] = 
{
	"zombie_girl"
}

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

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


// Dynamic Arrays: Models
new Array:g_szAdminHumanModel, Array:g_szAdminZombieModel, Array:g_szGirlHumanModel, Array:g_szGirlZombieModel, Array:g_v_szAdminHumanKnifeModel, Array:g_v_szAdminZombieKnifeModel

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

public plugin_precache()
{
	// Initialize Arrays
	g_szAdminHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
	g_szAdminZombieModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
	g_szGirlHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
	g_szGirlZombieModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
	g_v_szAdminHumanKnifeModel = ArrayCreate(MODEL_MAX_LENGTH, 1)
	g_v_szAdminZombieKnifeModel = ArrayCreate(MODEL_MAX_LENGTH, 1)
	
	// Load From External File
	amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN ADMIN", g_szAdminHumanModel)
	amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ZOMBIE ADMIN", g_szAdminZombieModel)
	amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN ADMIN", g_szGirlHumanModel)
	amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ZOMBIE ADMIN", g_szGirlZombieModel)
	amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Weapon Models", "V_KNIFE HUMAN ADMIN", g_v_szAdminHumanKnifeModel)
	amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Weapon Models", "V_KNIFE ZOMBIE ADMIN", g_v_szAdminZombieKnifeModel)
	
	// Load our Default Values
	new iIndex
	
	if(ArraySize(g_szAdminHumanModel) == 0)
	{
		for(iIndex = 0; iIndex < sizeof szAdminHumanModel; iIndex++)
			ArrayPushString(g_szAdminHumanModel, szAdminHumanModel[iIndex])
		
		// Save to external file
		amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN ADMIN", g_szAdminHumanModel)
	}
	
	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)
	}
//Girl
	if(ArraySize(g_szGirlHumanModel) == 0)
	{
		for(iIndex = 0; iIndex < sizeof szGirlHumanModel; iIndex++)
			ArrayPushString(g_szGirlHumanModel, szGirlHumanModel[iIndex])
		
		// Save to external file
		amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN GIRL", g_szAdminHumanModel)
	}
	
	if(ArraySize(g_szGirlZombieModel) == 0)
	{
		for(iIndex = 0; iIndex < sizeof szGirlZombieModel; iIndex++)
			ArrayPushString(g_szGirlZombieModel, szGirlZombieModel[iIndex])
		
		// Save to external file
		amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ZOMBIE GIRL", g_szAdminZombieModel)
	}
//girl
	
	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)
	}
	

	// Precache
	new szPlayerModel[PLAYERMODEL_MAX_LENGTH], szModel[MODEL_MAX_LENGTH], szModelPath[128]
	
	for (iIndex = 0; iIndex < ArraySize(g_szAdminHumanModel); iIndex++)
	{
		ArrayGetString(g_szAdminHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
		formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
		precache_model(szModelPath)
	}
	
	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)
	}
//girl
	for (iIndex = 0; iIndex < ArraySize(g_szGirlHumanModel); iIndex++)
	{
		ArrayGetString(g_szGirlHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
		formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
		precache_model(szModelPath)
	}
	
	for (iIndex = 0; iIndex < ArraySize(g_szGirlZombieModel); iIndex++)
	{
		ArrayGetString(g_szGirlZombieModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
		formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
		precache_model(szModelPath)
	}
//girl
	
	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)
	}
}

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]

	// Player Admin?
	if(get_user_flags(id) & ADMIN_MODELS_ACCESS)
	{
		// Set Admin Human Model
		ArrayGetString(g_szAdminHumanModel, random_num(0, ArraySize(g_szAdminHumanModel) - 1), szPlayerModel, charsmax(szPlayerModel))
		rg_set_user_model(id, szPlayerModel)
		
		// Set Admin Human Knife Model
		ArrayGetString(g_v_szAdminHumanKnifeModel, random_num(0, ArraySize(g_v_szAdminHumanKnifeModel) - 1), szModel, charsmax(szModel))
		cs_set_player_view_model(id, CSW_KNIFE, szModel)
	}
	// Player Girl?
	if(get_user_flags(id) & GIRL_MODELS_ACCESS)
	{
		// Set Girl Human Model
		ArrayGetString(g_szGirlHumanModel, random_num(0, ArraySize(g_szGirlHumanModel) - 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) & ADMIN_MODELS_ACCESS)
	{
		// 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
	}

	// Player Girl?
	if(get_user_flags(iVictim) & GIRL_MODELS_ACCESS)
	{
		// Set Zombie Girl Model
		ArrayGetString(g_szGirlZombieModel, random_num(0, ArraySize(g_szGirlZombieModel) - 1), szPlayerModel, charsmax(szPlayerModel))
		rg_set_user_model(iVictim, szPlayerModel)
	}

}

Re: Special Models

Posted: 25 Jul 2018, 15:42
by Night Fury
konno wrote: 5 years ago Help Jack. fix error

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 ADMIN_MODELS_ACCESS ADMIN_LEVEL_C
#define GIRL_MODELS_ACCESS ADMIN_LEVEL_D

// Default Models
new const szAdminHumanModel[][] = 
{
	"humano_od"
}

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

new const szGirlHumanModel[][] = 
{
	"humana_girl"
}

new const szGirlZombieModel[][] = 
{
	"zombie_girl"
}

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

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


// Dynamic Arrays: Models
new Array:g_szAdminHumanModel, Array:g_szAdminZombieModel, Array:g_szGirlHumanModel, Array:g_szGirlZombieModel, Array:g_v_szAdminHumanKnifeModel, Array:g_v_szAdminZombieKnifeModel

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

public plugin_precache()
{
	// Initialize Arrays
	g_szAdminHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
	g_szAdminZombieModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
	g_szGirlHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
	g_szGirlZombieModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
	g_v_szAdminHumanKnifeModel = ArrayCreate(MODEL_MAX_LENGTH, 1)
	g_v_szAdminZombieKnifeModel = ArrayCreate(MODEL_MAX_LENGTH, 1)
	
	// Load From External File
	amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN ADMIN", g_szAdminHumanModel)
	amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ZOMBIE ADMIN", g_szAdminZombieModel)
	amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN ADMIN", g_szGirlHumanModel)
	amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ZOMBIE ADMIN", g_szGirlZombieModel)
	amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Weapon Models", "V_KNIFE HUMAN ADMIN", g_v_szAdminHumanKnifeModel)
	amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Weapon Models", "V_KNIFE ZOMBIE ADMIN", g_v_szAdminZombieKnifeModel)
	
	// Load our Default Values
	new iIndex
	
	if(ArraySize(g_szAdminHumanModel) == 0)
	{
		for(iIndex = 0; iIndex < sizeof szAdminHumanModel; iIndex++)
			ArrayPushString(g_szAdminHumanModel, szAdminHumanModel[iIndex])
		
		// Save to external file
		amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN ADMIN", g_szAdminHumanModel)
	}
	
	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)
	}
//Girl
	if(ArraySize(g_szGirlHumanModel) == 0)
	{
		for(iIndex = 0; iIndex < sizeof szGirlHumanModel; iIndex++)
			ArrayPushString(g_szGirlHumanModel, szGirlHumanModel[iIndex])
		
		// Save to external file
		amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN GIRL", g_szAdminHumanModel)
	}
	
	if(ArraySize(g_szGirlZombieModel) == 0)
	{
		for(iIndex = 0; iIndex < sizeof szGirlZombieModel; iIndex++)
			ArrayPushString(g_szGirlZombieModel, szGirlZombieModel[iIndex])
		
		// Save to external file
		amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "ZOMBIE GIRL", g_szAdminZombieModel)
	}
//girl
	
	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)
	}
	

	// Precache
	new szPlayerModel[PLAYERMODEL_MAX_LENGTH], szModel[MODEL_MAX_LENGTH], szModelPath[128]
	
	for (iIndex = 0; iIndex < ArraySize(g_szAdminHumanModel); iIndex++)
	{
		ArrayGetString(g_szAdminHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
		formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
		precache_model(szModelPath)
	}
	
	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)
	}
//girl
	for (iIndex = 0; iIndex < ArraySize(g_szGirlHumanModel); iIndex++)
	{
		ArrayGetString(g_szGirlHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
		formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
		precache_model(szModelPath)
	}
	
	for (iIndex = 0; iIndex < ArraySize(g_szGirlZombieModel); iIndex++)
	{
		ArrayGetString(g_szGirlZombieModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
		formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
		precache_model(szModelPath)
	}
//girl
	
	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)
	}
}

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]

	// Player Admin?
	if(get_user_flags(id) & ADMIN_MODELS_ACCESS)
	{
		// Set Admin Human Model
		ArrayGetString(g_szAdminHumanModel, random_num(0, ArraySize(g_szAdminHumanModel) - 1), szPlayerModel, charsmax(szPlayerModel))
		rg_set_user_model(id, szPlayerModel)
		
		// Set Admin Human Knife Model
		ArrayGetString(g_v_szAdminHumanKnifeModel, random_num(0, ArraySize(g_v_szAdminHumanKnifeModel) - 1), szModel, charsmax(szModel))
		cs_set_player_view_model(id, CSW_KNIFE, szModel)
	}
	// Player Girl?
	if(get_user_flags(id) & GIRL_MODELS_ACCESS)
	{
		// Set Girl Human Model
		ArrayGetString(g_szGirlHumanModel, random_num(0, ArraySize(g_szGirlHumanModel) - 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) & ADMIN_MODELS_ACCESS)
	{
		// 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
	}

	// Player Girl?
	if(get_user_flags(iVictim) & GIRL_MODELS_ACCESS)
	{
		// Set Zombie Girl Model
		ArrayGetString(g_szGirlZombieModel, random_num(0, ArraySize(g_szGirlZombieModel) - 1), szPlayerModel, charsmax(szPlayerModel))
		rg_set_user_model(iVictim, szPlayerModel)
	}

}
What is the error?!?!

Re: Special Models

Posted: 25 Jul 2018, 15:54
by konno
downloads but not but does not change skin

Re: Special Models

Posted: 04 Dec 2018, 21:35
by drkatkit
Image
How to fix it?
[Of course I know I can upload this file locally, but I bet that all players will have this error.]

Re: Special Models

Posted: 05 Dec 2018, 14:11
by Night Fury
drkatkit wrote: 5 years ago Image
How to fix it?
[Of course I know I can upload this file locally, but I bet that all players will have this error.]
Try 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 ADMIN_MODELS_ACCESS ADMIN_LEVEL_H

// Default Models
new const szAdminHumanModel[][] = 
{
	"vip"
}

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

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_szAdminHumanModel, Array:g_szAdminZombieModel, Array:g_v_szAdminHumanKnifeModel, Array:g_v_szAdminZombieKnifeModel,
Array:g_szHumanModel1, Array:g_szHumanModel2, Array:g_szHumanModel3, Array:g_szHumanModel4

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

public plugin_precache()
{
	// Initialize Arrays
	g_szAdminHumanModel = ArrayCreate(PLAYERMODEL_MAX_LENGTH, 1)
	g_szAdminZombieModel = 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)
	
	// Load From External File
	amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN ADMIN", g_szAdminHumanModel)
	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 ADMIN", g_v_szAdminHumanKnifeModel)
	amx_load_setting_string_arr(ZE_SETTING_RESOURCES, "Weapon Models", "V_KNIFE ZOMBIE ADMIN", g_v_szAdminZombieKnifeModel)
	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)
	
	// Load our Default Values
	new iIndex
	
	if(ArraySize(g_szAdminHumanModel) == 0)
	{
		for(iIndex = 0; iIndex < sizeof szAdminHumanModel; iIndex++)
			ArrayPushString(g_szAdminHumanModel, szAdminHumanModel[iIndex])
		
		// Save to external file
		amx_save_setting_string_arr(ZE_SETTING_RESOURCES, "Player Models", "HUMAN ADMIN", g_szAdminHumanModel)
	}
	
	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_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)
	}

	// Precache
	new szPlayerModel[PLAYERMODEL_MAX_LENGTH], szModel[MODEL_MAX_LENGTH], szModelPath[128]
	
	for (iIndex = 0; iIndex < ArraySize(g_szAdminHumanModel); iIndex++)
	{
		ArrayGetString(g_szAdminHumanModel, iIndex, szPlayerModel, charsmax(szPlayerModel))
		formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%s.mdl", szPlayerModel, szPlayerModel)
		precache_model(szModelPath)
		formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%sT.mdl", szPlayerModel, szPlayerModel)
		if (file_exists(szModelPath)) precache_model(szModelPath)
	}
	
	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)
		formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%sT.mdl", szPlayerModel, szPlayerModel)
		if (file_exists(szModelPath)) 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)
		formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%sT.mdl", szPlayerModel, szPlayerModel)
		if (file_exists(szModelPath)) 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)
		formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%sT.mdl", szPlayerModel, szPlayerModel)
		if (file_exists(szModelPath)) 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)
		formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%sT.mdl", szPlayerModel, szPlayerModel)
		if (file_exists(szModelPath)) 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)
		formatex(szModelPath, charsmax(szModelPath), "models/player/%s/%sT.mdl", szPlayerModel, szPlayerModel)
		if (file_exists(szModelPath)) 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)
	}
}

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]

	// Player Admin?
	if(get_user_flags(id) & ADMIN_MODELS_ACCESS)
	{
		// Set Admin Human Model
		ArrayGetString(g_szAdminHumanModel, random_num(0, ArraySize(g_szAdminHumanModel) - 1), szPlayerModel, charsmax(szPlayerModel))
		rg_set_user_model(id, szPlayerModel)
		
		// Set Admin Human Knife Model
		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
	{
		// Rest Player Model (Model Randomly)
		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) & ADMIN_MODELS_ACCESS)
	{
		// 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: 05 Dec 2018, 16:21
by drkatkit
Okey works, thank you ;)

Re: Special Models

Posted: 26 Jun 2019, 20:18
by Muhammet20
Jack GamePlay wrote: 7 years ago
Special Models

Description:
  • With this plugin you will be able to add Extra-Models for the mod. So now you can change these models:
    [list]ADMIN/VIP Human Model
    ADMIN/VIP Zombie Model
    ADMIN/VIP Human Knife Model
    ADMIN/VIP Zombie Knife Model
    Humans Models (4 Models Available)
[/list]
Settings:
  • You can change the ADMIN Access from the source code and compile it again. To change models you can do this from zombie_escape.ini
Installing:
  • Like any plugin just put the .amxx file into your plugins folder then go to plugins-zombie_escape and add the plugin name at the end of the file.
  • Important Notice: Make sure when you put this plugin name in plugins-zombie_escape.ini to be always under this plugin: ze_resources.amxx

Downloads:
  • Special Models.zip
  • Models.rar

a ok ok its working now

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