Approved Special Models

Gameplay Addons
User avatar
tmv
Member
Member
Russia
Posts: 31
Joined: 1 Year Ago
Has thanked: 2 times
Been thanked: 0
Age: 20
Contact:

Re: Special Models

#61

Post by tmv » 1 Year Ago

This plugin causes serious bugs and crashes. Please fix it.
Image

User avatar
Raheem
Mod Developer
Mod Developer
Egypt
Posts: 2016
Joined: 3 Years Ago
Location: Egypt
Has thanked: 34 times
Been thanked: 117 times
Age: 22
Contact:

#62

Post by Raheem » 1 Year Ago

Approximately not from the plugin, it's lack of RAM i think.

How you made sure that this is which cause this error?
Loading Raheem's signature, Please wait...
Image

User avatar
tmv
Member
Member
Russia
Posts: 31
Joined: 1 Year Ago
Has thanked: 2 times
Been thanked: 0
Age: 20
Contact:

#63

Post by tmv » 1 Year Ago

Because when i disable the plugin this problem is gone

User avatar
Raheem
Mod Developer
Mod Developer
Egypt
Posts: 2016
Joined: 3 Years Ago
Location: Egypt
Has thanked: 34 times
Been thanked: 117 times
Age: 22
Contact:

#64

Post by Raheem » 1 Year Ago

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.
Loading Raheem's signature, Please wait...
Image

fadi
Member
Member
Jordan
Posts: 11
Joined: 3 Weeks Ago
Has thanked: 0
Been thanked: 2 times
Contact:

#65

Post by fadi » 2 Weeks Ago

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 ?

User avatar
Mohamed Alaa
Mod Developer
Mod Developer
Egypt
Posts: 664
Joined: 3 Years Ago
Location: Egypt
Has thanked: 38 times
Been thanked: 52 times
Age: 20
Contact:

#66

Post by Mohamed Alaa » 2 Weeks 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
	}
}
Want your own mod edition? PM me.
Accepting web projects.
CS 1.6 hosting: powergamingtech.com

fadi
Member
Member
Jordan
Posts: 11
Joined: 3 Weeks Ago
Has thanked: 0
Been thanked: 2 times
Contact:

#67

Post by fadi » 2 Weeks Ago

Mohamed Alaa wrote:
2 Weeks 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

Post Reply

Who is online

Users browsing this forum: No registered users and 6 guests