[HL1-MOD]Request Plugin Random Model

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Аватар
glmmlg
Извън линия
Foreigner
Foreigner
Мнения: 31
Регистриран на: 20 Фев 2019, 21:51
Се отблагодари: 6 пъти
Получена благодарност: 2 пъти

[HL1-MOD]Request Plugin Random Model

Мнение от glmmlg » 22 Фев 2019, 20:50

Hy , i need one plugin when someone join in server to set random one of this models:
barney,gina,gman,gordon,helmet,hgrunt,recon,robo,scientist,zombie and if i want to put new model to precache automaticaly like this plugin (plugin still work but is bad coded and crash my server )
Here is the source
https://forums.alliedmods.net/showthread.php?p=1875712

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

#include amxmodx

#define PLUGIN "HLDM Random player model"
#define VERSION "0.0.2"
#define AUTHOR "BodyBuilder"

#define MODELFILE "addons/amxmodx/configs/RPmodels.ini"

new line, text[64], len, left[64], right[64], string[6]

public plugin_init() 
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
}

public client_putinserver(id)
{
	set_task(1.00,"ChangeModel",id)
}

public ChangeModel(id)
{
	if(is_user_alive(id))
	{
		remove_task(id)

		read_file(MODELFILE,random(file_size(MODELFILE,1)),text,63,len)

		strbreak(text,left,5,right,63)

		set_user_info(id,"model",right)
	}
}

public plugin_precache()
{
	while((line = read_file(MODELFILE,line,text,63,len)))
	{
		copy(string,5,text)

		if(equali(string,"rpm* "))
		{
			strbreak(text,left,5,right,63)
			formatex(left,63,"models/player/%s/%s.mdl",right,right)

			if(!file_exists(left)) 
			{
				server_print("[HLDM-RPM]: could not find model %s to precache",left)
			}
        		else 
			{
				precache_model(left)
			}
		}
	}
}

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

[HL1-MOD]Request Plugin Random Model

Мнение от OciXCrom » 24 Фев 2019, 15:16

You can add/change the models in the list in the beginning of the code. See if it works and let me know if you want me to make it with a .ini file instead.

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

#include <amxmodx>
#include <hamsandwich>

new const g_szModels[][] = { "barney", "gina", "gman", "gordon", "helmet", "hgrunt", "recon", "robo", "scientist", "zombie" }

public plugin_init()
{
	register_plugin("Random Model", "1.0", "OciXCrom")
	RegisterHam(Ham_Spawn, "player", "OnPlayerSpawn", 1)
}

public plugin_precache()
{
	for(new i; i < sizeof(g_szModels); i++)
	{
		precache_player_model(g_szModels[i])
	}
}

public OnPlayerSpawn(id)
{
	if(is_user_alive(id))
	{
		static const MODEL[] = "model"
		set_user_info(id, MODEL, g_szModels[random(sizeof(g_szModels))])
	}
}

precache_player_model(szModel[])
{
    static szFile[128]
    formatex(szFile, charsmax(szFile), "models/player/%s/%s.mdl", szModel, szModel)
    precache_model(szFile)
    replace(szFile, charsmax(szFile), ".mdl", "T.mdl")

    if(file_exists(szFile))
    {
        precache_model(szFile)
    }
}

Аватар
glmmlg
Извън линия
Foreigner
Foreigner
Мнения: 31
Регистриран на: 20 Фев 2019, 21:51
Се отблагодари: 6 пъти
Получена благодарност: 2 пъти

[HL1-MOD]Request Plugin Random Model

Мнение от glmmlg » 25 Фев 2019, 16:43

work , but its a problem half life its deathmatch game , and now with your plugin player have every spawn another model :) , i want when player join in server to set random his model (just 1 time on join server), one from this list "barney,gina,gman,gordon,helmet,hgrunt,recon,robo,scientist,zombie"

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

[HL1-MOD]Request Plugin Random Model

Мнение от OciXCrom » 26 Фев 2019, 20:43

Try:

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

#include <amxmodx>
#include <fakemeta>

new g_szModel[33]
new const MODEL_KEY[] = "model"
new const g_szModels[][] = { "barney", "gina", "gman", "gordon", "helmet", "hgrunt", "recon", "robo", "scientist", "zombie" }

public plugin_init()
{
	register_plugin("Random Model", "1.0", "OciXCrom & Huehue")
	register_forward(FM_SetClientKeyValue, "FM__SetClientKeyValue")
	register_message(get_user_msgid("ClCorpse"), "Message_ClCorpse")
}

public plugin_precache()
{
	for(new i; i < sizeof(g_szModels); i++)
	{
		precache_player_model(g_szModels[i])
	}
}

public client_putinserver(id)
{
	SetUserModel(id, g_szModels[random(sizeof(g_szModels))])
}

/* <Credits to Huehue> */
public FM__SetClientKeyValue(id, const szInfoBuffer[], const szKey[], const szValue[])
{
	if(g_szModel[id] && equal(szKey, MODEL_KEY) && !equal(szValue, g_szModel[id]))
	{
		set_user_info(id, MODEL_KEY, g_szModel[id])
		return FMRES_SUPERCEDE
	}

	return FMRES_IGNORED
}

public Message_ClCorpse()
{
	new id = get_msg_arg_int(12)

	if(g_szModel[id])
	{
		set_msg_arg_string(1, g_szModel[id])
	}
}

stock SetUserModel(id, szModelName[])
{
	set_user_info(id, MODEL_KEY, szModelName)
	copy(g_szModel[id], charsmax(g_szModel), szModelName)
}
/* </Credits to Huehue> */

precache_player_model(szModel[])
{
    static szFile[128]
    formatex(szFile, charsmax(szFile), "models/player/%s/%s.mdl", szModel, szModel)
    precache_model(szFile)
    replace(szFile, charsmax(szFile), ".mdl", "T.mdl")

    if(file_exists(szFile))
    {
        precache_model(szFile)
    }
}

Аватар
glmmlg
Извън линия
Foreigner
Foreigner
Мнения: 31
Регистриран на: 20 Фев 2019, 21:51
Се отблагодари: 6 пъти
Получена благодарност: 2 пъти

[HL1-MOD]Request Plugin Random Model

Мнение от glmmlg » 26 Фев 2019, 21:47

This is :) work , tnx guys :*

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

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

Кой е на линия

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