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

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(client, Pos);
				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(client, xName, 10);
				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);
		}
 

The Night Fury

Участник
Сообщения
1,300
Реакции
1,395
Оффтоп

По делу:

CreateEntityByName("env_spritetrail", -1);
Попробуй
PHP:
CreateEntityByName("env_sprite_oriented");

И, соответственно:

DispatchKeyValue(trail, "rendermode", "5");
DispatchKeyValue(trail, "rendercolor", "255 255 255");

На
PHP:
DispatchKeyValue(trail, "rendermode", "1");
DispatchKeyValue(trail, "rendercolor", "255 255 255");
 

Slayerko

Участник
Сообщения
12
Реакции
0
Файл sprites/autobot.vmt кешировал?
Что?))

Добавлено через 1 минуту
Ахаха... Знакомый код)))

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

The Night Fury

Участник
Сообщения
1,300
Реакции
1,395
Slayerko, хотя бы так:
PHP:
        decl String:file[256];
        BuildPath(Path_SM, file, 255, "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(fileh, buffer, sizeof(buffer)))
                {
                        TrimString(buffer);
                        if ( (StrContains(buffer, "//") == -1) && (!StrEqual(buffer, "")) )
                        {
                                Format(buffer_full, sizeof(buffer_full), "materials/%s", buffer);
                                if (FileExists(buffer_full))
                                {
                                        PrecacheDecal(buffer, true);
                                        AddFileToDownloadsTable(buffer_full);
                                }
                                else
                                {
                                        PrintToServer("File does not exist! %s", buffer_full);
                                }
                        }
                }
        }

В файл же:
sprites/autobot.vmt
 

Slayerko

Участник
Сообщения
12
Реакции
0
Infiltrait0rN7, Теперь даже розовую полосу не отображает((
 

legend1998

Участник
Сообщения
286
Реакции
187
Нашел код на 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] > 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", 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(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");
    }
}

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

uJIb9

Game4net.ru
Сообщения
149
Реакции
14
У меня тоже такая проблема возникла. Шоп поставил. залил все трейлы, шапки, скины на сервер и на быструю скачку. У меня всё отображается, а у игроков (не у всех, у некоторых отображается) не отображается. Что делать?
 

surok

Участник
Сообщения
29
Реакции
1
Может так?

C-подобный:
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");
        }
}
 
Сверху Снизу