Не происходит замена модели.

Tallanvor

НЕ ПИШУ я плагины!!! И не правлю! И ваще...
Сообщения
1,352
Реакции
554
Пытаюсь переделать плагин для замены скина бомбы.

Оригинал плагина: здесь

Была попытка вместо изменения скина установленной бомбы, изменить скин бомбы в руках.

PHP:
#pragma semicolon 1
#include <sourcemod>
#include <sdktools>

#undef REQUIRE_PLUGIN


#define PLUGIN_VERSION "1.0.2"

public Plugin:myinfo =
{
	name = "C4 Model Changer",
	author = "Mitch",
	description = "Changes the default c4 model to what ever model you desire.",
	version = PLUGIN_VERSION,
	url = "http://snbx.info/"
};

enum C4Characteristics
{
	String:Model[512],
	Float:Size
};
new C4Prop[C4Characteristics];

new Handle:C4Model = INVALID_HANDLE;
new Handle:C4Size = INVALID_HANDLE;


public OnPluginStart()
{
	C4Model = CreateConVar("c4_model", "models/weapons/v_c4.mdl", "Model for C4 bomb.");
	C4Size = CreateConVar("c4_size", "1.0", "Size of the C4 Model.", 0, true, 0.1, true, 10.0);
	AutoExecConfig();
	HookEvent( "bomb_pickup", Event_BombPickup );
	HookConVarChange(C4Model, ConvarChange_c4);
	HookConVarChange(C4Size, ConvarChange_c4);
}
public ConvarChange_c4(Handle:cvar, const String:oldVal[], const String:newVal[]) {
	GetConVarString(C4Model, C4Prop[Model], 512);
	if(!StrEqual(C4Prop[Model], "")) PrecacheModel(C4Prop[Model], false);
	C4Prop[Size] = GetConVarFloat(C4Size);
}

public OnConfigsExecuted()
{
	GetConVarString(C4Model, C4Prop[Model], 512);
	if(!StrEqual(C4Prop[Model], "")) PrecacheModel(C4Prop[Model], true);
	C4Prop[Size] = GetConVarFloat(C4Size);
}

public Action:Event_BombPickup(Handle:event, const String:name[], bool:dontBroadcast)
{
	new c4 = -1;
	c4 = FindEntityByClassname(c4, "weapon_c4");
	if(c4 != -1)
	{
		if((!StrEqual(C4Prop[Model], "")) || (!StrEqual(C4Prop[Model], "models/weapons/v_c4.mdl")))
			SetEntityModel(c4, C4Prop[Model]);
		if(C4Prop[Size] != 1.0)
			SetEntPropFloat(c4, Prop_Send, "m_flModelScale", C4Prop[Size]);
	}
	return Plugin_Continue;
}

Компилится без ошибок, но ничего не меняется.

Нужные файлы подгружаю через AddFileToDownloadsTable

Я не кодер - я копипастер, поэтому досконально понять, что же я делаю не так, не могу...
Может кто подскажет? :)
 

Jak ozdoba na torcie

Как украшение на торт
Сообщения
25
Реакции
11
Пытаюсь переделать плагин для замены скина бомбы.

Оригинал плагина: здесь

Была попытка вместо изменения скина установленной бомбы, изменить скин бомбы в руках.

PHP:
#pragma semicolon 1
#include <sourcemod>
#include <sdktools>

#undef REQUIRE_PLUGIN


#define PLUGIN_VERSION "1.0.2"

public Plugin:myinfo =
{
	name = "C4 Model Changer",
	author = "Mitch",
	description = "Changes the default c4 model to what ever model you desire.",
	version = PLUGIN_VERSION,
	url = "http://snbx.info/"
};

enum C4Characteristics
{
	String:Model[512],
	Float:Size
};
new C4Prop[C4Characteristics];

new Handle:C4Model = INVALID_HANDLE;
new Handle:C4Size = INVALID_HANDLE;


public OnPluginStart()
{
	C4Model = CreateConVar("c4_model", "models/weapons/v_c4.mdl", "Model for C4 bomb.");
	C4Size = CreateConVar("c4_size", "1.0", "Size of the C4 Model.", 0, true, 0.1, true, 10.0);
	AutoExecConfig();
	HookEvent( "bomb_pickup", Event_BombPickup );
	HookConVarChange(C4Model, ConvarChange_c4);
	HookConVarChange(C4Size, ConvarChange_c4);
}
public ConvarChange_c4(Handle:cvar, const String:oldVal[], const String:newVal[]) {
	GetConVarString(C4Model, C4Prop[Model], 512);
	if(!StrEqual(C4Prop[Model], "")) PrecacheModel(C4Prop[Model], false);
	C4Prop[Size] = GetConVarFloat(C4Size);
}

public OnConfigsExecuted()
{
	GetConVarString(C4Model, C4Prop[Model], 512);
	if(!StrEqual(C4Prop[Model], "")) PrecacheModel(C4Prop[Model], true);
	C4Prop[Size] = GetConVarFloat(C4Size);
}

public Action:Event_BombPickup(Handle:event, const String:name[], bool:dontBroadcast)
{
	new c4 = -1;
	c4 = FindEntityByClassname(c4, "weapon_c4");
	if(c4 != -1)
	{
		if((!StrEqual(C4Prop[Model], "")) || (!StrEqual(C4Prop[Model], "models/weapons/v_c4.mdl")))
			SetEntityModel(c4, C4Prop[Model]);
		if(C4Prop[Size] != 1.0)
			SetEntPropFloat(c4, Prop_Send, "m_flModelScale", C4Prop[Size]);
	}
	return Plugin_Continue;
}

Компилится без ошибок, но ничего не меняется.

Нужные файлы подгружаю через AddFileToDownloadsTable

Я не кодер - я копипастер, поэтому досконально понять, что же я делаю не так, не могу...
Может кто подскажет? :)

bomb_pickup конечно ты не увидишь её в своих руках. А если ты про первое лицо то weapon_c4 тут не причём этим занимается другая entity и вроде она одна на все оружия игрока.
 
Сверху Снизу