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");
}
}