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

Тема в разделе "Программирование / Скриптинг", создана пользователем Tallanvor, 29 янв 2014.

  1. Tallanvor

    Tallanvor Красноглазый

    Сообщения:
    1.072
    Симпатии:
    298
    Пытаюсь переделать плагин для замены скина бомбы.

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

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

    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."0true0.1true10.0);
        
    AutoExecConfig();
        
    HookEvent"bomb_pickup"Event_BombPickup );
        
    HookConVarChange(C4ModelConvarChange_c4);
        
    HookConVarChange(C4SizeConvarChange_c4);
    }
    public 
    ConvarChange_c4(Handle:cvar, const String:oldVal[], const String:newVal[]) {
        
    GetConVarString(C4ModelC4Prop[Model], 512);
        if(!
    StrEqual(C4Prop[Model], "")) PrecacheModel(C4Prop[Model], false);
        
    C4Prop[Size] = GetConVarFloat(C4Size);
    }

    public 
    OnConfigsExecuted()
    {
        
    GetConVarString(C4ModelC4Prop[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(c4C4Prop[Model]);
            if(
    C4Prop[Size] != 1.0)
                
    SetEntPropFloat(c4Prop_Send"m_flModelScale"C4Prop[Size]);
        }
        return 
    Plugin_Continue;
    }

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

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

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

    Jak ozdoba na torcie Как украшение на торт

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