remember selected (simple human class)

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Аватар
Kvothe
Извън линия
Foreigner
Foreigner
Мнения: 33
Регистриран на: 12 Ное 2018, 22:36
Се отблагодари: 3 пъти

remember selected (simple human class)

Мнение от Kvothe » 31 Яну 2019, 18:36

This simple humanclass menu
Problem new round reset model and change default zombiplague.ini human class model
I want them to remember like zombie classes. If your select any /hc use it throughout all the map time

Anyone help ?

Код за потвърждение: Избери целия код

#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <fakemeta>
#include <hamsandwich>
#include <color>
#include <zombie_plague>

#define TASK_STUN 6675
#define ID_STUN (taskid - TASK_STUN)
#pragma tabsize 0
#define is_user_valid(%1) (1 <= %1 <= get_maxplayers())

// Menu keys
const KEYSMENU = MENU_KEY_1|MENU_KEY_2|MENU_KEY_0

enum
{
	gerard,
	polis_girl,
}

new const CHARACTER[][] =
{
	"gerard",
	"polis_girl"
}

new g_iCharacter[33]
new g_modelindex_man, g_modelindex_man1

new bool:g_bChoosed[33] = false;

public plugin_init()
{
	register_plugin("hum class", "Live", "unknown")
	
	register_event("HLTV", "EventHLTV", "a", "1=0", "2=0")
	
	register_menu("Human class", KEYSMENU, "menu_humclass")

	register_clcmd("say /hc", "Assault_Main")
	
	RegisterHam(Ham_Spawn, 		"player", "HookHam_SpawnPlayer", .Post=true)
	RegisterHam(Ham_Player_PreThink, "player", "HookHam_Player_PreThink")
		
	register_think("ef_lethal", "delete")
}

public delete(ent)if(pev_valid(ent))engfunc(EngFunc_RemoveEntity, ent)

public plugin_precache()
{
	g_modelindex_man = engfunc(EngFunc_PrecacheModel, "models/player/gerard/gerard.mdl")
	g_modelindex_man1 = engfunc(EngFunc_PrecacheModel, "models/player/polis_girl/polis_girl.mdl")
}

public plugin_natives()
{
	register_native("zp_get_character", "native_get_character", 1)
	register_native("zp_set_character", "native_set_character", 1)
	register_native("zp_get_character_choosed", "native_get_character_choosed", 1)
	register_native("humanclass_open", "Assault_Main", 1)
}

public EventHLTV()
{	
	for(new id = 1; id <= get_maxplayers(); id++)
	{
		if(is_user_connected(id)) 
		{
			g_bChoosed[id] = false
		}
	}
}

public HookHam_SpawnPlayer(id)
{
	if(!is_user_connected(id))
		return;
	
	if(!is_user_alive(id))
		return;
	
	if(zp_get_user_zombie(id))
		return;	
        	
	new body
	body = g_iCharacter[id]
	set_pev(id, pev_body, body)
}

public HookHam_Player_PreThink(id)
{
	if(!is_user_alive(id) && !zp_get_user_zombie(id)) return HAM_IGNORED

	return HAM_IGNORED	
}

/* ASSAULT MAIN MENU */
public Assault_Main(id)
{
	if(!is_user_connected(id))
		return PLUGIN_HANDLED;
	
	if(!is_user_alive(id))
		return PLUGIN_HANDLED;
	
	if(zp_has_round_started())
		return PLUGIN_HANDLED;
	
	if(g_bChoosed[id])
		return PLUGIN_HANDLED;
	
	if(zp_get_user_zombie(id) || zp_get_user_nemesis(id))
		return PLUGIN_HANDLED;
	
	static menu[512], len
	len = 0
	
	// Title
	len += formatex(menu[len], charsmax(menu) - len, "\r[CSO Turkiye] \wKLASSLAR \r[CSO Turkiye]^n \wInsan sinifi secin \r[ZP CSO]^n \wSinifin: \r%s^n^n", CHARACTER[g_iCharacter[id]])
	
	len += formatex(menu[len], charsmax(menu) - len, "\r[1] \w Man (Gerard)^n")
	
	len += formatex(menu[len], charsmax(menu) - len, "\r[2] \wWomen (Polis)^n")
	
	len += formatex(menu[len], charsmax(menu) - len, "\r[0]\w Cikis")
	
	show_menu(id, KEYSMENU, menu, -1, "Human class")
    return PLUGIN_HANDLED;	
}

public menu_humclass(id, key)
{		
	switch (key)
	{		
		case 0: 
		{
			g_iCharacter[id] = gerard
			Color(id, print_chat, "!g[CSO Turkiye]!y Secilen klas: !gGerard")
			zp_override_user_model(id, "gerard")
			set_pev(id, pev_body, 0)
			g_bChoosed[id] = true
			fm_cs_set_user_model_index(id, g_modelindex_man)
		}
		case 1: 
		{
			g_iCharacter[id] = polis_girl
			Color(id, print_chat, "!g[CSO Turkiye]!y Secilen klas: !gPolis Girl")
			zp_override_user_model(id, "polis_girl")
			set_pev(id, pev_body, 0)
			g_bChoosed[id] = true
			fm_cs_set_user_model_index(id, g_modelindex_man1)
		}
	}	
	
	ExecuteHamB(Ham_Item_Deploy, get_pdata_cbase(id, 373))
	
	return PLUGIN_HANDLED	
}

/* NATIVES */
public native_get_character(id)
{
	if (!is_user_valid(id))
	{
		log_error(AMX_ERR_NATIVE, "[CSO Turkiye] Invalid Player (%d)", id)
		return -1;
	}
	
	return g_iCharacter[id];
}

public native_set_character(id, classid)
{
	if (!is_user_valid(id))
	{
		log_error(AMX_ERR_NATIVE, "[CSO Turkiye] Invalid Player (%d)", id)
		return false;
	}
	
	g_iCharacter[id] = classid
	return true;
}

public native_get_character_choosed(id)
{
	if (!is_user_valid(id))
	{
		log_error(AMX_ERR_NATIVE, "[CSO Turkiye] Invalid Player (%d)", id)
		return -1;
	}
	
	return g_bChoosed[id];
}

stock fm_cs_set_user_model_index(id, value)
{
	if (!value) 
		return;
	
	set_pdata_int(id, 491, value, 5)
}

Аватар
Kvothe
Извън линия
Foreigner
Foreigner
Мнения: 33
Регистриран на: 12 Ное 2018, 22:36
Се отблагодари: 3 пъти

remember selected (simple human class)

Мнение от Kvothe » 01 Фев 2019, 18:31

First message is solved but new problem 2 model wiev ''nested''
maybe help new problem :(

Изображение
photo link
https://www.photobox.co.uk/my/photo/ful ... 1630784677

Код за потвърждение: Избери целия код

			g_player_class[id] = 1
			fm_remove_model_ents(id)
			if (!pev_valid(g_ent_playermodel[id]))
			{
				g_ent_playermodel[id] = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"));
				set_user_rendering(id,kRenderFxNone,0,0,0,kRenderTransAlpha,1)
				set_pev(g_ent_playermodel[id], pev_classname, "player_model")
				set_pev(g_ent_playermodel[id], pev_movetype, MOVETYPE_FOLLOW)
				set_pev(g_ent_playermodel[id], pev_aiment, id)
				set_pev(g_ent_playermodel[id], pev_owner, id)
									       // Change name of your model below.
				engfunc(EngFunc_SetModel, g_ent_playermodel[id], "models/player/gerard/gerard.mdl")
				fm_set_weaponmodel_ent(id)
			}
			Color(id, print_chat, "!g[CSO Turkiye]!y Secilen klas: !gGerard")
İ try all combinations but no change anythink

set_user_rendering(id,kRenderFxNone,0,0,0,kRenderTransAlpha,0)
set_user_rendering(id,RenderTransAlpha,0,0,0,kRenderFxNone,0)
set_user_rendering(id,RenderTransAlpha,0,0,0,kRenderFxNone,1)
....

Публикувай отговор
  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

Обратно към “Заявки за плъгини”

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 21 госта