Добавление трейла к игроку

Тема в разделе "Программирование / Скриптинг", создана пользователем Slayerko, 1 дек 2012.

  1. Slayerko

    Slayerko

    Сообщения:
    12
    Симпатии:
    0
    Доброго времени суток!Я не понимаю почему у меня в моде не добавляется к игроку трейл,точнее добавляется но отображается розовым цветом просто,хотя файл загружен и в ксс ко мне и на сервер...

    Вот код:
    PHP:
    if(strcmp(info"trail") == 0)
            {
                
    Coast GetConVarInt(TrailCoast);
                if(
    credits[client] >= Coast && IsPlayerAlive(client))
                {
                    
    credits[client] -= Coast;
                    new 
    Float:Pos[3];
                    
    GetClientAbsOrigin(clientPos);
                    
    Pos[2] += 55.0;
                    new 
    trail CreateEntityByName("env_spritetrail", -1);
                    if (
    trail 1)
                    {
                        
    LogError("[DrShop] env_spritetrail create error!");
                        return 
    0;
                    }
                    
    DispatchKeyValueVector(trail"origin"Pos);
                    
    decl String:xName[10];
                    
    IntToString(clientxName10);
                    
    DispatchKeyValue(client"targetname"xName);
                    
    DispatchKeyValue(trail"spritename""sprites/autobot.vmt");
                    
    DispatchKeyValue(trail"rendermode""5");
                    
    DispatchKeyValue(trail"rendercolor""255 255 255");
                    
    DispatchKeyValue(trail"renderamt""255");
                    
    DispatchKeyValueFloat(trail"lifetime"3.0);
                    
    DispatchKeyValueFloat(trail"startwidth"5.0);
                    
    DispatchKeyValueFloat(trail"endwidth"1.0);
                    
    DispatchSpawn(trail);
                    
    SetVariantString(xName);
                    
    AcceptEntityInput(trail"SetParent");
                    
    AcceptEntityInput(trail"ShowSprite");
                    
    trailuse[client] = true;
                    
    PrintToChat(client"\x04[\x01DrShop\x04] \x03К вам привязан цветной хвост!");
                }
                else
                    
    PrintToChat(client"\x04[\x01DrShop\x04] \x03У вас недостаточно кредитов!")
                
                
    DrShop(client);
            }
     
  2. The Night Fury

    The Night Fury Администратор

    Сообщения:
    1.222
    Симпатии:
    916
    Оффтоп

    По делу:

    Попробуй
    PHP:
    CreateEntityByName("env_sprite_oriented");
    И, соответственно:

    На
    PHP:
    DispatchKeyValue(trail"rendermode""1");
    DispatchKeyValue(trail"rendercolor""255 255 255");
     
    Slayerko нравится это.
  3. Slayerko

    Slayerko

    Сообщения:
    12
    Симпатии:
    0
    Не помогло((
     
  4. Flekon

    Flekon aka IceMeN

    Сообщения:
    42
    Симпатии:
    38
    Ахаха... Знакомый код)))
     
    Slayerko нравится это.
  5. legend1998

    legend1998

    Сообщения:
    292
    Симпатии:
    178
    Файл sprites/autobot.vmt кешировал?
     
    Slayerko нравится это.
  6. Slayerko

    Slayerko

    Сообщения:
    12
    Симпатии:
    0
    Что?))

    Добавлено через 1 минуту
    Решил взяться за обновление твоего мода,ты его не до конца доработал,вот сижу и стараюсь все сделать на высшем уровне,т.е. я его считай использую для основы :D
     
    Последнее редактирование: 2 дек 2012
  7. The Night Fury

    The Night Fury Администратор

    Сообщения:
    1.222
    Симпатии:
    916
    Slayerko, хотя бы так:
    PHP:

            decl String
    :file[256];
            
    BuildPath(Path_SMfile255"configs/trails_dloads.ini");
            new 
    Handle:fileh OpenFile(file"r");
            if (
    fileh != INVALID_HANDLE)
            {
                    
    decl String:buffer[256];
                    
    decl String:buffer_full[PLATFORM_MAX_PATH];
     
                    while(
    ReadFileLine(filehbuffersizeof(buffer)))
                    {
                            
    TrimString(buffer);
                            if ( (
    StrContains(buffer"//") == -1) && (!StrEqual(buffer"")) )
                            {
                                    
    Format(buffer_fullsizeof(buffer_full), "materials/%s"buffer);
                                    if (
    FileExists(buffer_full))
                                    {
                                            
    PrecacheDecal(buffertrue);
                                            
    AddFileToDownloadsTable(buffer_full);
                                    }
                                    else
                                    {
                                            
    PrintToServer("File does not exist! %s"buffer_full);
                                    }
                            }
                    }
            }

    В файл же:
    sprites/autobot.vmt
     
    Slayerko нравится это.
  8. Slayerko

    Slayerko

    Сообщения:
    12
    Симпатии:
    0
    Infiltrait0rN7, Теперь даже розовую полосу не отображает((
     
  9. legend1998

    legend1998

    Сообщения:
    292
    Симпатии:
    178
    Нашел код на http://forums.alliedmods.net/showpost.php?p=1415328&postcount=3 :
    PHP:
    void:Void_AttachTrail(client)
    {
        
    g_iEntity[client] = CreateEntityByName("env_spritetrail");
        if(
    g_iEntity[client] > && IsValidEdict(g_iEntity[client])) 
        {
            new 
    Float:g_fOrigin[3], String:g_sName[MAX_NAME_LENGTH];
            
    GetClientName(clientg_sNamesizeof(g_sName));
            
    Format(g_sNamesizeof(g_sName), "Trails_%s"g_sName);

            
    DispatchKeyValue(client"targetname"g_sName);
            
    DispatchKeyValue(g_iEntity[client], "parentname"g_sName);
            
    DispatchKeyValue(g_iEntity[client], "lifetime"g_sTrailLife);
            
    DispatchKeyValue(g_iEntity[client], "endwidth"g_sTrailEnd);
            
    DispatchKeyValue(g_iEntity[client], "startwidth"g_sTrailStart);
            
    DispatchKeyValue(g_iEntity[client], "spritename"g_sColorSprite[g_iColor[client]]);
            
    DispatchKeyValue(g_iEntity[client], "renderamt""255");
            
    DispatchKeyValue(g_iEntity[client], "rendercolor"g_sColorArray[g_iColor[client]]);
            
    DispatchKeyValue(g_iEntity[client], "rendermode"g_sTrailRender);
            
    DispatchSpawn(g_iEntity[client]);

            
    GetClientAbsOrigin(clientg_fOrigin);
            
    g_fOrigin[2] += g_fTrailHeight;
            
    TeleportEntity(g_iEntity[client], g_fOriginNULL_VECTORNULL_VECTOR);
            
    SetVariantString(g_sName);
            
    AcceptEntityInput(g_iEntity[client], "SetParent");
        }
    }

    void:Void_KillTrail(client)
    {
        if(
    g_iEntity[client] > && IsValidEdict(g_iEntity[client]))
        {
            
    AcceptEntityInput(g_iEntity[client], "ClearParent");
            
    AcceptEntityInput(g_iEntity[client], "Kill");
        }
            
        
    g_iEntity[client] = -1;
    }
        
    Сравни, может, что и добавить нужно.
     
    Slayerko нравится это.
  10. uJIb9

    uJIb9 Game4net.ru

    Сообщения:
    145
    Симпатии:
    10
    У меня тоже такая проблема возникла. Шоп поставил. залил все трейлы, шапки, скины на сервер и на быструю скачку. У меня всё отображается, а у игроков (не у всех, у некоторых отображается) не отображается. Что делать?
     
  11. surok

    surok

    Сообщения:
    29
    Симпатии:
    1
    Может так?

    Код:
    Void_AttachTrail(client);
    
    public OnMapStart()
    {
        PrecacheModel("sprites/boo.vmt");
     
    }
     
    void:Void_AttachTrail(client)
    {
            g_iEntity[client] = CreateEntityByName("env_spritetrail");
            if(g_iEntity[client] > 0 && IsValidEdict(g_iEntity[client]))
            {
     
                    new Float:g_fOrigin[3], String:g_sName[MAX_NAME_LENGTH];
                    GetClientName(client, g_sName, sizeof(g_sName));
                    Format(g_sName, sizeof(g_sName), "Trails_%s", g_sName);
           
                    DispatchKeyValue(client, "targetname", g_sName);
                    DispatchKeyValue(g_iEntity[client], "parentname", g_sName);
                    DispatchKeyValue(g_iEntity[client], "lifetime", "1.5");
                    DispatchKeyValue(g_iEntity[client], "endwidth", "0.1");
                    DispatchKeyValue(g_iEntity[client], "startwidth", "5");
                    DispatchKeyValue(g_iEntity[client], "spritename", "materials/sprites/boo.vmt");
                    DispatchKeyValue(g_iEntity[client], "renderamt", "255");
                    DispatchKeyValue(g_iEntity[client], "rendercolor", "255 0 0");
                    DispatchKeyValue(g_iEntity[client], "rendermode", "5");
     
                    DispatchSpawn(g_iEntity[client]);
     
           
                    GetClientAbsOrigin(client, g_fOrigin);
                    g_fOrigin[2] += g_fTrailHeight;
                    TeleportEntity(g_iEntity[client], g_fOrigin, NULL_VECTOR, NULL_VECTOR);
                    SetVariantString(g_sName);
                    AcceptEntityInput(g_iEntity[client], "SetParent");
            }
    }
     
  12. Евгения Овчаренко

    Евгения Овчаренко

    Сообщения:
    15
    Симпатии:
    0
    Подскажите как решили подобную проблему с розовым цветом вместо рисунка?