Нужна помощь в коде

SHKIPPERBEAST2

Участник
Сообщения
119
Реакции
17
Здравствуйте, решил переделать плагин ретейк под себя, хочу чтобы была возможность брать SSG-08, подскажите, как изменить вот этот код, чтобы вместо авп, ак-47 или мки давали SSG, и она не просто дропалась на пол.

C-подобный:
public Event_OnRoundPostStart(Handle:event, const String:name[], bool:dontBroadcast)
{
    gi_Bomber = -1;
    gb_BombPlanted = false;
    if(!gb_EditMode && !gb_WaitForPlayers && !gb_WarmUp)
    {
        new site = GetRandomInt(0, 1);
        PrintToChatAll("%sRetake on Site:\x02%s", PREFIX, site == SITEA ? "A":"B");
        gf_StartRoundTime = GetEngineTime();
        CreateTimer(0.1, Timer_PrintHintSite, site, TIMER_REPEAT | TIMER_FLAG_NO_MAPCHANGE);
        //Reset spawn use and roundkills
        for (new i = 0; i < GRENADESSETCOUNT; i++)
        {
            gi_GrenadeSetsFlags[i] = 0;
        }
        for (new i = 0; i < g_SpawnsCount; i++)
        {
            g_Spawns[i][Used] = false;
        }
        for (new i = 0; i < MAXPLAYERS; i++)
        {
            gi_DamageCount[i] = 0;
        }

        //Random awper for each team
        new awpCt = GetRandomAwpPlayer(3);
        new awpT = GetRandomAwpPlayer(2);

        //Get Bomber
        gi_Bomber = GetRandomPlayerFromTeam(2);
        new randomSpawn = -1;
        new randomGrenadeSet = -1;
        new Float:loc[3], Float:ang[3];
        new bool:pistols = CS_GetTeamScore(3) + CS_GetTeamScore(2) < gi_PistolRoundsCount || gb_OnlyPistols;
        for (new i = 1; i <= MaxClients; i++)
        {
            if(IsClientInGame(i) && !IsClientSourceTV(i) && GetClientTeam(i) != 1)
            {
                //Set Money to 0$
                SetEntData(i, gi_MoneyOffset, 0);
                SetEntProp(i, Prop_Data, "m_ArmorValue", 100);
                Client_RemoveAllWeapons(i);
                randomSpawn = -1;
                if(i != gi_Bomber)
                {
                    randomSpawn = GetRandomSpawn(GetClientTeam(i) == 3 ? Ct : T, site);
                    if(randomSpawn != -1)
                    {
                        Array_Copy(g_Spawns[randomSpawn][Location], loc, 3);
                        Array_Copy(g_Spawns[randomSpawn][Angles], ang, 3);
                        g_Spawns[randomSpawn][Used] = true;
                        TeleportEntity(i, loc, ang, NULL_VECTOR);
                    }
                }
                else
                {
                    randomSpawn = GetRandomSpawn(Bomb, site);
                    if(randomSpawn != -1)
                    {
                        Array_Copy(g_Spawns[randomSpawn][Location], loc, 3);
                        Array_Copy(g_Spawns[randomSpawn][Angles], ang, 3);
                        g_Spawns[randomSpawn][Used] = true;
                        TeleportEntity(i, loc, ang, NULL_VECTOR);
                    }
                    GivePlayerItem(i, "weapon_c4");
                }
                //Give Grenades
                if(!pistols)
                {
                    SetEntData(i, gi_HelmetOffset, 1);
                    randomGrenadeSet = GetRandomGrenadeSet(GetClientTeam(i));
                    if(randomGrenadeSet != -1)
                    {
                        if(GetClientTeam(i) == 3)
                            gi_GrenadeSetsFlags[randomGrenadeSet] = gi_GrenadeSetsFlags[randomGrenadeSet] | FL_USED_Ct;
                        else if(GetClientTeam(i) == 2)
                            gi_GrenadeSetsFlags[randomGrenadeSet] = gi_GrenadeSetsFlags[randomGrenadeSet] | FL_USED_T;
                        for (new k = 0; k < 2; k++)
                        {
                            if(!StrEqual("none", gs_GrenadeSets[randomGrenadeSet][k]))
                            {
                                if(!StrEqual("moli", gs_GrenadeSets[randomGrenadeSet][k]))
                                    GivePlayerItem(i, gs_GrenadeSets[randomGrenadeSet][k]);
                                else if(GetClientTeam(i) == 3)
                                    GivePlayerItem(i, "weapon_incgrenade");
                                else
                                    GivePlayerItem(i, "weapon_molotov");
                                
                            }
                        }
                    }
                }
                if(pistols)
                {
                    SetEntData(i, gi_HelmetOffset, 0);
                }
                //Give Weapons
                GivePlayerItem(i, "weapon_knife");
                if((awpCt == i || awpT == i) && !pistols)
                {
                    GivePlayerItem(i, "weapon_awp");
                    if(gi_PistolPrefence[i] == 0)
                    {
                        if(GetClientTeam(i) == 3)
                            GivePlayerItem(i, "weapon_hkp2000");
                        else
                            GivePlayerItem(i, "weapon_glock");
                    }
                    else if(gi_PistolPrefence[i] == 1)
                    {
                        if(GetRandomInt(1, 100) <= gi_StrongPistolChance)
                        {
                            if(GetClientTeam(i) == 3)
                                GivePlayerItem(i, "weapon_fiveseven");
                            else
                                GivePlayerItem(i, "weapon_tec9");
                        }
                        else
                            GivePlayerItem(i, "weapon_p250");
                    }
                    else if(gi_PistolPrefence[i] == 2)
                        GivePlayerItem(i, "weapon_deagle");
                        
                }
                else
                {
                    if(GetClientTeam(i) == 3)
                    {
                        if(!pistols)
                        {
                            if(!gb_WantSilencer[i])
                                GivePlayerItem(i, "weapon_m4a1");
                            else
                                GivePlayerItem(i, "weapon_m4a1_silencer");                         
                            if(gi_PistolPrefence[i] == 0)
                            {
                                if(GetClientTeam(i) == 3)
                                    GivePlayerItem(i, "weapon_hkp2000");
                                else
                                    GivePlayerItem(i, "weapon_glock");
                            }
                            else if(gi_PistolPrefence[i] == 1)
                            {
                                if(GetRandomInt(1, 100) <= gi_StrongPistolChance)
                                {
                                    if(GetClientTeam(i) == 3)
                                        GivePlayerItem(i, "weapon_fiveseven");
                                    else
                                        GivePlayerItem(i, "weapon_tec9");
                                }
                                else
                                    GivePlayerItem(i, "weapon_p250");
                            }
                            else if(gi_PistolPrefence[i] == 2)
                                GivePlayerItem(i, "weapon_deagle");                                   
                        }
                        GivePlayerItem(i, "weapon_hkp2000");                   
                    }
                    else
                    {
                        if(!pistols)
                        {
                            GivePlayerItem(i, "weapon_ak47");
                            if(gi_PistolPrefence[i] == 0)
                            {
                                if(GetClientTeam(i) == 3)
                                    GivePlayerItem(i, "weapon_hkp2000");
                                else
                                    GivePlayerItem(i, "weapon_glock");
                            }
                            else if(gi_PistolPrefence[i] == 1)
                            {
                                if(GetRandomInt(1, 100) <= gi_StrongPistolChance)
                                {
                                    if(GetClientTeam(i) == 3)
                                        GivePlayerItem(i, "weapon_fiveseven");
                                    else
                                        GivePlayerItem(i, "weapon_tec9");
                                }
                                else
                                    GivePlayerItem(i, "weapon_p250");
                            }
                            else if(gi_PistolPrefence[i] == 2)
                                GivePlayerItem(i, "weapon_deagle");
                        }
                        GivePlayerItem(i, "weapon_glock");                                                                                                                                     
                    }
                }
            }
        }   
        if(gi_Bomber != -1)
            if(IsClientInGame(gi_Bomber))
                FakeClientCommand(gi_Bomber, "use weapon_c4");
    }
}
 
Сверху Снизу