Raised This Month: $51 Target: $400
 12% 

FF2 Freak Fortress 2 1.10.14 Released


Post New Thread Reply   
 
Thread Tools Display Modes
Wliu
Veteran Member
Join Date: Apr 2013
Old 12-22-2014 , 16:58   Re: Freak Fortress 2 1.10.3 Released
Reply With Quote #1461

So I know that this is coming a bit late, but better late than never . Here's 1.10.3's FastDL archives.
tar.gz
zip
__________________
~Wliu

Last edited by Wliu; 12-22-2014 at 16:59.
Wliu is offline
93SHADoW
AlliedModders Donor
Join Date: Jul 2014
Location: Houston, TX
Old 12-23-2014 , 15:50   Re: Freak Fortress 2 1.10.3 Released
Reply With Quote #1462

Not for nothing, but how many people actually have FF2 configured for boss team to be random or RED team?

Only wondering since most subplugins have this, and the joke's on you if your boss team is on RED:
PHP Code:
new BossTeam=_:TFTeam_Blue
Not really much of an issue if it's always on BLU team (most servers are set up that way anyway) but can be a problem if its set to random or fixed to RED team.

Just for futureproofing purposes (i'm pretty sure there's a better way of doing this though):
PHP Code:
new BossTeam;
new 
BlueTeam=_:TFTeam_Blue;
new 
RedTeam=_:TFTeam_Red
On the Round Start event:
PHP Code:
if(FF2_GetBossTeam()==BlueTeam)
    
BossTeam BlueTeam;
else if(
FF2_GetBossTeam()==RedTeam)
    
BossTeam RedTeam
__________________

Last edited by 93SHADoW; 12-23-2014 at 16:19.
93SHADoW is offline
Send a message via AIM to 93SHADoW Send a message via Skype™ to 93SHADoW
Wliu
Veteran Member
Join Date: Apr 2013
Old 12-23-2014 , 16:20   Re: Freak Fortress 2 1.10.3 Released
Reply With Quote #1463

Quote:
Originally Posted by SHADoW NiNE TR3S View Post
Not for nothing, but how many people actually have FF2 configured for boss team to be random or RED team?

Only wondering since most subplugins have this, and the joke's on you if your boss team is on RED:
PHP Code:
new BossTeam=_:TFTeam_Blue
Not really much of an issue if it's always on BLU team (most servers are set up that way anyway) but can be a problem if its set to random or fixed to RED team.

Just for futureproofing purposes (i'm pretty sure there's a better way of doing this though):
PHP Code:
new BossTeam;
new 
BlueTeam=_:TFTeam_Blue;
new 
RedTeam=_:TFTeam_Red
On the Round Start event:
PHP Code:
if(FF2_GetBossTeam()==BlueTeam)
    
BossTeam BlueTeam;
else if(
FF2_GetBossTeam()==RedTeam)
    
BossTeam RedTeam
BossTeam=FF2_GetBossTeam();
The default subplugins have a timer to check for this, but it's ugly.
__________________
~Wliu
Wliu is offline
93SHADoW
AlliedModders Donor
Join Date: Jul 2014
Location: Houston, TX
Old 12-23-2014 , 16:24   Re: Freak Fortress 2 1.10.3 Released
Reply With Quote #1464

I just have it as this from using arena_round_start. Removes the need of the messy timer:

PHP Code:
#pragma semicolon 1
 
#include <sourcemod>
#include <sdktools>
#include <sdkhooks>
#include <tf2_stocks>
#include <morecolors>
#include <tf2items>
#include <freak_fortress_2>
#include <freak_fortress_2_subplugin>
 
#define CBS_MAX_ARROWS 9
 
#define PLUGIN_VERSION "1.10.3"
 
public Plugin:myinfo=
{
        
name="Freak Fortress 2: Abilities of 1st set",
        
author="RainBolt Dash",
        
description="FF2: Abilities used by Seeldier, Seeman, Demopan, CBS, and Ninja Spy",
        
version=PLUGIN_VERSION,
};
 
#define FLAG_ONSLOMO                    (1<<0)
#define FLAG_SLOMOREADYCHANGE   (1<<1)
 
new FF2Flags[MAXPLAYERS+1];
new 
TFClassType:LastClass[MAXPLAYERS+1];
new 
CloneOwnerIndex[MAXPLAYERS+1];
 
new 
Handle:SloMoTimer;
new 
oldTarget;
 
new 
Handle:OnHaleRage=INVALID_HANDLE;
 
new 
Handle:cvarTimeScale;
new 
Handle:cvarCheats;
new 
Handle:cvarKAC;
new 
BossTeam=_:TFTeam_Blue;
 
public 
APLRes:AskPluginLoad2(Handle:myselfbool:lateString:error[], err_max)
{
        
OnHaleRage=CreateGlobalForward("VSH_OnDoRage"ET_HookParam_FloatByRef);
        return 
APLRes_Success;
}
 
 
public 
OnPluginStart2()
{
        new 
version[3];
        
FF2_GetFF2Version(version);
        if(
version[0]==&& (version[1]<10 || (version[1]==10 && version[2]<3)))
        {
                
SetFailState("This plugin depends on at least FF2 v1.10.3");
        }
 
        
HookEvent("arena_round_start"event_round_start);
        
HookEvent("arena_win_panel"event_round_end);
        
HookEvent("player_death"event_player_death);
        
LoadTranslations("ff2_1st_set.phrases");
 
        
cvarTimeScale=FindConVar("host_timescale");
        
cvarCheats=FindConVar("sv_cheats");
        
cvarKAC=FindConVar("kac_enable");
}
 
public 
OnMapStart()
{
        
PrecacheSound("replay/enterperformancemode.wav"true);  //Used when Ninja Spy enters slow mo
        
PrecacheSound("replay/exitperformancemode.wav"true);  //Used when Ninja Spy exits slow mo
        
PrecacheSound("ui/notification_alert.wav"true);  //Used when Demopan rages
}
 
public 
Action:event_round_start(Handle:event, const String:name[], bool:dontBroadcast)
{
        if(
cvarKAC && GetConVarBool(cvarKAC))
        {
                
SetConVarBool(cvarKACfalse);
        }
        
BossTeam=FF2_GetBossTeam();
        for(new 
client=0client<=MaxClientsclient++)
        {
                
FF2Flags[client]=0;
                
CloneOwnerIndex[client]=-1;
        }
        return 
Plugin_Continue;
}
 
public 
Action:event_round_end(Handle:event, const String:name[], bool:dontBroadcast)
{
        for(new 
client=0client<=MaxClientsclient++)
        {
                if(
FF2Flags[client] & FLAG_ONSLOMO)
                {
                        if(
SloMoTimer)
                        {
                                
KillTimer(SloMoTimer);
                        }
                        
Timer_StopSlomo(INVALID_HANDLE, -1);
                        return 
Plugin_Continue;
                }
        }
        return 
Plugin_Continue;
}
 
 
public 
Action:FF2_OnAbility2(client, const String:plugin_name[], const String:ability_name[], status)
{
        new 
slot=FF2_GetAbilityArgument(clientthis_plugin_nameability_name0);
        if(!
slot)
        {
                if(
client==0)
                {
                        new 
Action:action=Plugin_Continue;
                        
Call_StartForward(OnHaleRage);
                        new 
Float:distance=FF2_GetRageDist(clientthis_plugin_nameability_name);
                        new 
Float:newDistance=distance;
                        
Call_PushFloatRef(newDistance);
                        
Call_Finish(action);
                        if(
action!=Plugin_Continue && action!=Plugin_Changed)
                        {
                                return 
Plugin_Continue;
                        }
                        else if(
action==Plugin_Changed)
                        {
                                
distance=newDistance;
                        }
                }
        }
 
        if(!
strcmp(ability_name"special_democharge"))
        {
                if(
status>0)
                {
                        new 
boss=GetClientOfUserId(FF2_GetBossUserId(client));
                        new 
Float:charge=FF2_GetBossCharge(client0);
                        
SetEntPropFloat(bossProp_Send"m_flChargeMeter"100.0);
                        
TF2_AddCondition(bossTFCond_Charging0.25);
                        if(
charge>10.0 && charge<90.0)
                        {
                                
FF2_SetBossCharge(client0charge-0.4);
                        }
                }
        }
        else if(!
strcmp(ability_name"rage_cloneattack"))
        {
                
Rage_Clone(ability_nameclient);
        }
        else if(!
strcmp(ability_name"rage_tradespam"))
        {
                
Timer_Demopan_Rage(INVALID_HANDLE1);
        }
        else if(!
strcmp(ability_name"rage_cbs_bowrage"))
        {
                
Rage_Bow(client);
        }
        else if(!
strcmp(ability_name"rage_explosive_dance"))
        {
                
SetEntityMoveType(GetClientOfUserId(FF2_GetBossUserId(client)), MOVETYPE_NONE);
                new 
Handle:data;
                
CreateDataTimer(0.15Timer_Prepare_Explosion_Ragedata);
                
WritePackString(dataability_name);
                
WritePackCell(dataclient);
                
ResetPack(data);
        }
        else if(!
strcmp(ability_name"rage_matrix_attack"))
        {
                
Rage_Slowmo(clientability_name);
        }
        return 
Plugin_Continue;
}
 
Rage_Clone(const String:ability_name[], boss)
{
        new 
Handle:bossKV[8];
        
decl String:bossName[32];
        new 
bool:changeModel=bool:FF2_GetAbilityArgument(bossthis_plugin_nameability_name1);
        new 
weaponMode=FF2_GetAbilityArgument(bossthis_plugin_nameability_name2);
        
decl String:model[PLATFORM_MAX_PATH];
        
FF2_GetAbilityArgumentString(bossthis_plugin_nameability_name3modelsizeof(model));
        new class=
FF2_GetAbilityArgument(bossthis_plugin_nameability_name4);
        new 
Float:ratio=FF2_GetAbilityArgumentFloat(bossthis_plugin_nameability_name50.0);
        new 
String:classname[64]="tf_weapon_bottle";
        
FF2_GetAbilityArgumentString(bossthis_plugin_nameability_name6classnamesizeof(classname));
        new 
index=FF2_GetAbilityArgument(bossthis_plugin_nameability_name7191);
        new 
String:attributes[768]="68 ; -1";
        
FF2_GetAbilityArgumentString(bossthis_plugin_nameability_name8attributessizeof(attributes));
        new 
ammo=FF2_GetAbilityArgument(bossthis_plugin_nameability_name9, -1);
        new 
clip=FF2_GetAbilityArgument(bossthis_plugin_nameability_name10, -1);
        new 
health=FF2_GetAbilityArgument(bossthis_plugin_nameability_name110);
 
        new 
Float:position[3], Float:velocity[3];
        
GetEntPropVector(GetClientOfUserId(FF2_GetBossUserId(boss)), Prop_Data"m_vecOrigin"position);
 
        
FF2_GetBossSpecial(bossbossNamesizeof(bossName));
 
        new 
maxKV;
        for(
maxKV=0maxKV<8maxKV++)
        {
                if(!(
bossKV[maxKV]=FF2_GetSpecialKV(maxKV)))
                {
                        break;
                }
        }
 
        new 
alivedead;
        new 
Handle:players=CreateArray();
        for(new 
target=1target<=MaxClientstarget++)
        {
                if(
IsClientInGame(target))
                {
                        new 
TFTeam:team=TFTeam:GetClientTeam(target);
                        if(
team>TFTeam_Spectator && team!=TFTeam_Blue)
                        {
                                if(
IsPlayerAlive(target))
                                {
                                        
alive++;
                                }
                                else
                                {
                                        
PushArrayCell(playerstarget);
                                        
dead++;
                                }
                        }
                }
        }
 
        new 
totalMinions=(ratio RoundToCeil(alive*ratio) : MaxClients);  //If ratio is 0, use MaxClients instead
        
new config=GetRandomInt(0maxKV-1);
        new clone, 
temp;
        for(new 
i=1i<=dead && i<=totalMinionsi++)
        {
                
temp=GetRandomInt(0GetArraySize(players)-1);
                clone=
GetArrayCell(playerstemp);
                
RemoveFromArray(playerstemp);
                if(
LastClass[clone]==TFClass_Unknown)
                {
                        
LastClass[clone]=TF2_GetPlayerClass(clone);
                }
 
                
FF2_SetFF2flags(clone, FF2_GetFF2flags(clone)|FF2FLAG_ALLOWSPAWNINBOSSTEAM);
                
ChangeClientTeam(clone, BossTeam);
                
TF2_RespawnPlayer(clone);
                
CloneOwnerIndex[clone]=boss;
                
TF2_SetPlayerClass(clone, (class ? (TFClassType:class) : (TFClassType:KvGetNum(bossKV[config], "class"0))));
 
                if(
changeModel)
                {
                        if(
model[0]=='\0')
                        {
                                
KvGetString(bossKV[config], "model"modelPLATFORM_MAX_PATH);
                        }
                        
SetVariantString(model);
                        
AcceptEntityInput(clone, "SetCustomModel");
                        
SetEntProp(clone, Prop_Send"m_bUseClassAnimations"1);
                }
 
                switch(
weaponMode)
                {
                        case 
0:
                        {
                                
TF2_RemoveAllWeapons(clone);
                        }
                        case 
1:
                        {
                                new 
weapon;
                                
TF2_RemoveAllWeapons(clone);
                                if(
classname[0]=='\0')
                                {
                                        
classname="tf_weapon_bottle";
                                }
 
                                if(
attributes[0]=='\0')
                                {
                                        
attributes="68 ; -1";
                                }
 
                                
weapon=SpawnWeapon(clone, classnameindex1010attributes);
                                if(
IsValidEdict(weapon))
                                {
                                        
SetEntPropEnt(clone, Prop_Send"m_hActiveWeapon"weapon);
                                        
SetEntProp(weaponProp_Send"m_iWorldModelIndex", -1);
                                }
 
                                
FF2_SetAmmo(clone, weaponammoclip);
                        }
                }
 
                if(
health)
                {
                        
SetEntProp(clone, Prop_Data"m_iMaxHealth"health);
                        
SetEntProp(clone, Prop_Data"m_iHealth"health);
                        
SetEntProp(clone, Prop_Send"m_iHealth"health);
                }
 
                
velocity[0]=GetRandomFloat(300.0500.0)*(GetRandomInt(01) ? 1:-1);
                
velocity[1]=GetRandomFloat(300.0500.0)*(GetRandomInt(01) ? 1:-1);
                
velocity[2]=GetRandomFloat(300.0500.0);
                
TeleportEntity(clone, positionNULL_VECTORvelocity);
 
                
PrintHintText(clone, "%t""seeldier_rage_message"bossName);
 
                
SetEntProp(clone, Prop_Data"m_takedamage"0);
                
SDKHook(clone, SDKHook_OnTakeDamageSaveMinion);
                
CreateTimer(4.0Timer_Enable_DamageGetClientUserId(clone));
 
                new 
Handle:data;
                
CreateDataTimer(0.1Timer_EquipModeldataTIMER_FLAG_NO_MAPCHANGE);
                
WritePackCell(dataGetClientUserId(clone));
                
WritePackString(datamodel);
        }
        
CloseHandle(players);
 
        new 
entityowner;
        while((
entity=FindEntityByClassname(entity"tf_wearable"))!=-1)
        {
                if((
owner=GetEntPropEnt(entityProp_Send"m_hOwnerEntity"))<=MaxClients && owner>&& GetClientTeam(owner)==BossTeam)
                {
                        
TF2_RemoveWearable(ownerentity);
                }
        }
 
        while((
entity=FindEntityByClassname(entity"tf_wearable_demoshield"))!=-1)
        {
                if((
owner=GetEntPropEnt(entityProp_Send"m_hOwnerEntity"))<=MaxClients && owner>&& GetClientTeam(owner)==BossTeam)
                {
                        
TF2_RemoveWearable(ownerentity);
                }
        }
 
        while((
entity=FindEntityByClassname(entity"tf_powerup_bottle"))!=-1)
        {
                if((
owner=GetEntPropEnt(entityProp_Send"m_hOwnerEntity"))<=MaxClients && owner>&& GetClientTeam(owner)==BossTeam)
                {
                        
TF2_RemoveWearable(ownerentity);
                }
        }
}
 
public 
Action:Timer_EquipModel(Handle:timerany:pack)
{
        
ResetPack(pack);
        new 
client=GetClientOfUserId(ReadPackCell(pack));
        if(
client && IsClientInGame(client) && IsPlayerAlive(client))
        {
                
decl String:model[PLATFORM_MAX_PATH];
                
ReadPackString(packmodelPLATFORM_MAX_PATH);
                
SetVariantString(model);
                
AcceptEntityInput(client"SetCustomModel");
                
SetEntProp(clientProp_Send"m_bUseClassAnimations"1);
        }
}
 
public 
Action:Timer_Enable_Damage(Handle:timerany:userid)
{
        new 
client=GetClientOfUserId(userid);
        if(
client>0)
        {
                
SetEntProp(clientProp_Data"m_takedamage"2);
                
FF2_SetFF2flags(clientFF2_GetFF2flags(client) & ~FF2FLAG_ALLOWSPAWNINBOSSTEAM);
                
SDKUnhook(clientSDKHook_OnTakeDamageSaveMinion);
        }
        return 
Plugin_Continue;
}
 
public 
Action:SaveMinion(client, &attacker, &inflictor, &Float:damage, &damagetype, &weaponFloat:damageForce[3], Float:damagePosition[3])
{
        if(
attacker>MaxClients)
        {
                
decl String:edict[64];
                if(
GetEdictClassname(attackeredict64) && !strcmp(edict"trigger_hurt"false))
                {
                        new 
targetFloat:position[3];
                        new 
bool:otherTeamIsAlive;
                        for(new clone=
1; clone<=MaxClients; clone++)
                        {
                                if(
IsValidEdict(clone) && IsClientInGame(clone) && IsPlayerAlive(clone) && GetClientTeam(clone)!=BossTeam)
                                {
                                        
otherTeamIsAlive=true;
                                        break;
                                }
                        }
 
                        new 
tries;
                        do
                        {
                                
tries++;
                                
target=GetRandomInt(1MaxClients);
                                if(
tries==100)
                                {
                                        return 
Plugin_Continue;
                                }
                        }
                        while(
otherTeamIsAlive && (!IsValidEdict(target) || (GetClientTeam(target)==BossTeam) || !IsPlayerAlive(target)));
 
                        
GetEntPropVector(targetProp_Data"m_vecOrigin"position);
                        
TeleportEntity(clientpositionNULL_VECTORNULL_VECTOR);
                        
TF2_StunPlayer(client2.00.0TF_STUNFLAGS_GHOSTSCARE|TF_STUNFLAG_NOSOUNDOREFFECTclient);
                        return 
Plugin_Handled;
                }
        }
        return 
Plugin_Continue;
}
 
public 
Action:Timer_Demopan_Rage(Handle:timerany:count)
{
        if(
count==13)
        {
                
CreateTimer(6.0Timer_Demopan_Rage9001);
        }
        else if(
count>13)
        {
                
SetCommandFlags("r_screenoverlay"GetCommandFlags("r_screenoverlay") & ~FCVAR_CHEAT);
                for(new 
client=1client<=MaxClientsclient++)
                {
                        if(
IsClientInGame(client) && IsPlayerAlive(client) && GetClientTeam(client)!=BossTeam)
                        {
                                
ClientCommand(client"r_screenoverlay \"freak_fortress_2/demopan/trade_0\"");
                        }
                }
                
SetCommandFlags("r_screenoverlay"GetCommandFlags("r_screenoverlay") & FCVAR_CHEAT);
                return 
Plugin_Stop;
        }
        else
        {
                
decl String:overlay[128];
                
Format(overlay128"r_screenoverlay \"freak_fortress_2/demopan/trade_%i\""count);
                
EmitSoundToAll("ui/notification_alert.wav"__SNDLEVEL_TRAFFICSND_NOFLAGSSNDVOL_NORMAL100__NULL_VECTORfalse0.0);
                
SetCommandFlags("r_screenoverlay"GetCommandFlags("r_screenoverlay") & ~FCVAR_CHEAT);
                for(new 
client=1client<=MaxClientsclient++)
                {
                        if(
IsClientInGame(client) && IsPlayerAlive(client) && GetClientTeam(client)!=BossTeam)
                        {
                                
ClientCommand(clientoverlay);
                        }
                }
 
                
SetCommandFlags("r_screenoverlay"GetCommandFlags("r_screenoverlay") & FCVAR_CHEAT);
                if(
count>1)
                {
                        
CreateTimer(0.5/(_:count*1.0), Timer_Demopan_Ragecount+1);
                }
                else
                {
                        
CreateTimer(1.0Timer_Demopan_Rage2);
                }
        }
        return 
Plugin_Continue;
}
 
Rage_Bow(boss)
{
        new 
client=GetClientOfUserId(FF2_GetBossUserId(boss));
        
TF2_RemoveWeaponSlot(clientTFWeaponSlot_Primary);
        new 
weapon=SpawnWeapon(client"tf_weapon_compound_bow"10051005"6 ; 0.5 ; 37 ; 0.0 ; 280 ; 19");
        
SetEntPropEnt(clientProp_Send"m_hActiveWeapon"weapon);
        new 
TFTeam:team=(FF2_GetBossTeam()==_:TFTeam_Blue TFTeam_Red:TFTeam_Blue);
 
        new 
otherTeamAlivePlayers;
        for(new 
target=1target<=MaxClientstarget++)
        {
                if(
IsClientInGame(target) && TFTeam:GetClientTeam(target)==team && IsPlayerAlive(target))
                {
                        
otherTeamAlivePlayers++;
                }
        }
 
        
FF2_SetAmmo(clientweapon, ((otherTeamAlivePlayers>=CBS_MAX_ARROWS) ? CBS_MAX_ARROWS otherTeamAlivePlayers)-11);  //Put one arrow in the clip
}
 
public 
Action:Timer_Prepare_Explosion_Rage(Handle:timerHandle:data)
{
        
decl String:ability_name[64];
        
ReadPackString(dataability_name64);
 
        new 
client=ReadPackCell(data);
        new 
boss=GetClientOfUserId(FF2_GetBossUserId(client));
 
        
CreateTimer(0.13Timer_Rage_Explosive_DanceclientTIMER_REPEAT|TIMER_FLAG_NO_MAPCHANGE);
 
        
decl Float:position[3];
        
GetEntPropVector(bossProp_Data"m_vecOrigin"position);
 
        new 
String:sound[PLATFORM_MAX_PATH];
        
FF2_GetAbilityArgumentString(clientthis_plugin_nameability_name1soundPLATFORM_MAX_PATH);
        if(
strlen(sound))
        {
                
EmitSoundToAll(soundboss_SNDLEVEL_TRAFFICSND_NOFLAGSSNDVOL_NORMAL100bosspositionNULL_VECTORtrue0.0);
                
EmitSoundToAll(soundboss_SNDLEVEL_TRAFFICSND_NOFLAGSSNDVOL_NORMAL100bosspositionNULL_VECTORtrue0.0);
                for(new 
target=1target<=MaxClientstarget++)
                {
                        if(
IsClientInGame(target) && target!=boss)
                        {
                                
EmitSoundToClient(targetsoundboss_SNDLEVEL_TRAFFICSND_NOFLAGSSNDVOL_NORMAL100bosspositionNULL_VECTORtrue0.0);
                                
EmitSoundToClient(targetsoundboss_SNDLEVEL_TRAFFICSND_NOFLAGSSNDVOL_NORMAL100bosspositionNULL_VECTORtrue0.0);
                        }
                }
        }
        return 
Plugin_Continue;
}
 
public 
Action:Timer_Rage_Explosive_Dance(Handle:timerany:client)
{
        static 
count=0;
        new 
boss=GetClientOfUserId(FF2_GetBossUserId(client));
        
count++;
        if(
count<=35 && IsPlayerAlive(boss))
        {
                
SetEntityMoveType(bossMOVETYPE_NONE);
                new 
explosion;
                
decl Float:bossPosition[3], Float:explosionPosition[3];
                
GetEntPropVector(bossProp_Send"m_vecOrigin"bossPosition);
                
explosionPosition[2]=bossPosition[2];
                for(new 
i=0;i<5;i++)
                {
                        
explosion=CreateEntityByName("env_explosion");
                        
DispatchKeyValueFloat(explosion"DamageForce"180.0);
 
                        
SetEntProp(explosionProp_Data"m_iMagnitude"2804);
                        
SetEntProp(explosionProp_Data"m_iRadiusOverride"2004);
                        
SetEntPropEnt(explosionProp_Data"m_hOwnerEntity"boss);
 
                        
DispatchSpawn(explosion);
 
                        
explosionPosition[0]=bossPosition[0]+GetRandomInt(-350350);
                        
explosionPosition[1]=bossPosition[1]+GetRandomInt(-350350);
                        if(!(
GetEntityFlags(boss) & FL_ONGROUND))
                        {
                                
explosionPosition[2]=bossPosition[2]+GetRandomInt(-150150);
                        }
                        else
                        {
                                
explosionPosition[2]=bossPosition[2]+GetRandomInt(0,100);
                        }
                        
TeleportEntity(explosionexplosionPositionNULL_VECTORNULL_VECTOR);
                        
AcceptEntityInput(explosion"Explode");
                        
AcceptEntityInput(explosion"kill");
 
                        
/*proj=CreateEntityByName("tf_projectile_rocket");
                        SetVariantInt(BossTeam);
                        AcceptEntityInput(proj, "TeamNum", -1, -1, 0);
                        SetVariantInt(BossTeam);
                        AcceptEntityInput(proj, "SetTeam", -1, -1, 0);
                        SetEntPropEnt(proj, Prop_Send, "m_hOwnerEntity",boss);
                        decl Float:position[3];
                        new Float:rot[3]={0.0,90.0,0.0};
                        new Float:see[3]={0.0,0.0,-1000.0};
                        GetEntPropVector(boss, Prop_Send, "m_vecOrigin", position);
                        position[0]+=GetRandomInt(-250,250);
                        position[1]+=GetRandomInt(-250,250);
                        position[2]+=40;
                        TeleportEntity(proj, position, rot,see);
                        SetEntDataFloat(proj, FindSendPropOffs("CTFProjectile_Rocket", "m_iDeflected") + 4, 300.0, true);
                        DispatchSpawn(proj);
                        CreateTimer(0.1,Timer_Rage_Explosive_Dance_Boom,EntIndextoEntRef(proj));*/
                
}
        }
        else
        {
                
SetEntityMoveType(bossMOVETYPE_WALK);
                
count=0;
                return 
Plugin_Stop;
        }
        return 
Plugin_Continue;
}
 
Rage_Slowmo(client, const String:ability_name[])
{
        
FF2_SetFF2flags(clientFF2_GetFF2flags(client)|FF2FLAG_CHANGECVAR);
        
SetConVarFloat(cvarTimeScaleFF2_GetAbilityArgumentFloat(clientthis_plugin_nameability_name20.1));
        new 
Float:duration=FF2_GetAbilityArgumentFloat(clientthis_plugin_nameability_name11.0)+1.0;
        
SloMoTimer=CreateTimer(durationTimer_StopSlomoclient);
        
FF2Flags[client]=FF2Flags[client]|FLAG_SLOMOREADYCHANGE|FLAG_ONSLOMO;
        
UpdateClientCheatValue(1);
        new 
boss=GetClientOfUserId(FF2_GetBossUserId(client));
        if(
boss)
        {
                
CreateTimer(durationTimer_RemoveEntityEntIndexToEntRef(AttachParticle(bossBossTeam==_:TFTeam_Blue "scout_dodge_blue" "scout_dodge_red"75.0)));
        }
        
EmitSoundToAll("replay\\enterperformancemode.wav"__SNDLEVEL_TRAFFIC__100___false);
        
EmitSoundToAll("replay\\enterperformancemode.wav"__SNDLEVEL_TRAFFIC__100___false);
}
 
public 
Action:Timer_StopSlomo(Handle:timerany:client)
{
        
SloMoTimer=INVALID_HANDLE;
        
oldTarget=0;
        
SetConVarFloat(cvarTimeScale1.0);
        
UpdateClientCheatValue(0);
        if(
client!=-1)
        {
                
FF2_SetFF2flags(clientFF2_GetFF2flags(client)&~FF2FLAG_CHANGECVAR);
                
FF2Flags[client]&=~FLAG_ONSLOMO;
        }
        
EmitSoundToAll("replay\\exitperformancemode.wav"__SNDLEVEL_TRAFFICSND_NOFLAGSSNDVOL_NORMAL100__NULL_VECTORfalse0.0);
        
EmitSoundToAll("replay\\exitperformancemode.wav"__SNDLEVEL_TRAFFICSND_NOFLAGSSNDVOL_NORMAL100__NULL_VECTORfalse0.0);
        return 
Plugin_Continue;
}
 
public 
Action:OnPlayerRunCmd(client, &buttons, &impulseFloat:velocity[3], Float:angles[3], &weapon)
{
        new 
boss=FF2_GetBossIndex(client);
        if(
boss==-|| !(FF2Flags[boss] & FLAG_ONSLOMO))
        {
                return 
Plugin_Continue;
        }
 
        if(
buttons IN_ATTACK)
        {
                
FF2Flags[boss]&=~FLAG_SLOMOREADYCHANGE;
                
CreateTimer(FF2_GetAbilityArgumentFloat(bossthis_plugin_name"rage_matrix_attack"30.2), Timer_SlomoChangeboss);
 
                new 
Float:bossPosition[3], Float:endPosition[3], Float:eyeAngles[3];
                
GetEntPropVector(clientProp_Send"m_vecOrigin"bossPosition);
                
bossPosition[2]+=65;
                
GetClientEyeAngles(clienteyeAngles);
 
                new 
Handle:trace=TR_TraceRayFilterEx(bossPositioneyeAnglesMASK_SOLIDRayType_InfiniteTraceRayDontHitSelf);
                
TR_GetEndPosition(endPositiontrace);
                
endPosition[2]+=100;
                
SubtractVectors(endPositionbossPositionvelocity);
                
NormalizeVector(velocityvelocity);
                
ScaleVector(velocity2012.0);
                
TeleportEntity(clientNULL_VECTORNULL_VECTORvelocity);
                new 
target=TR_GetEntityIndex(trace);
                if(
target>&& target<=MaxClients)
                {
                        new 
Handle:data;
                        
CreateDataTimer(0.15Timer_Rage_Slomo_Attackdata);
                        
WritePackCell(dataGetClientUserId(client));
                        
WritePackCell(dataGetClientUserId(target));
                        
ResetPack(data);
                }
                
CloseHandle(trace);
        }
        return 
Plugin_Continue;
}
 
public 
Action:Timer_Rage_Slomo_Attack(Handle:timerHandle:data)
{
        new 
client=GetClientOfUserId(ReadPackCell(data));
        new 
target=GetClientOfUserId(ReadPackCell(data));
        if(
target>0)
        {
                new 
Float:clientPosition[3], Float:targetPosition[3];
                
GetEntPropVector(clientProp_Send"m_vecOrigin"clientPosition);
                
GetEntPropVector(targetProp_Send"m_vecOrigin"targetPosition);
                if(
GetVectorDistance(clientPositiontargetPosition)<=1500 && target!=oldTarget)
                {
                        
SetEntProp(clientProp_Send"m_bDucked"1);
                        
SetEntityFlags(FF2_GetBossIndex(client), GetEntityFlags(FF2_GetBossIndex(client))|FL_DUCKING);
                        
SDKHooks_TakeDamage(targetclientclient900.0);
                        
TeleportEntity(clienttargetPositionNULL_VECTORNULL_VECTOR);
                        
oldTarget=target;
                }
        }
}
 
public 
bool:TraceRayDontHitSelf(entitymask)
{
        if(!
entity || entity>MaxClients)
        {
                return 
true;
        }
 
        if(
FF2_GetBossIndex(entity)==-1)
        {
                return 
true;
        }
        return 
false;
}
 
 
public 
Action:Timer_SlomoChange(Handle:timerany:client)
{
        
FF2Flags[client]|=FLAG_SLOMOREADYCHANGE;
        return 
Plugin_Continue;
}
 
 
//Unused single rocket shoot charge
/*Charge_RocketSpawn(const String:ability_name[],index,slot,action)
{
        if(FF2_GetBossCharge(index,0)<10)
                return;
        new boss=GetClientOfUserId(FF2_GetBossUserId(index));
        new Float:see=FF2_GetAbilityArgumentFloat(index,this_plugin_name,ability_name,1,5.0);
        new Float:charge=FF2_GetBossCharge(index,slot);
        switch(action)
        {
                case 2:
                {
                        SetHudTextParams(-1.0, 0.93, 0.15, 255, 255, 255, 255);
                        if(charge+1<see)
                                FF2_SetBossCharge(index,slot,charge+1);
                        else
                                FF2_SetBossCharge(index,slot,see);
                        ShowSyncHudText(boss, chargeHUD, "%t","charge_status",RoundFloat(charge*100/see));
                }
                case 3:
                {
                        FF2_SetBossCharge(index,0,charge-10);
                        decl Float:position[3];
                        decl Float:rot[3];
                        decl Float:velocity[3];
                        GetEntPropVector(boss, Prop_Send, "m_vecOrigin", position);
                        GetClientEyeAngles(boss,rot);
                        position[2]+=63;
 
                        new proj=CreateEntityByName("tf_projectile_rocket");
                        SetVariantInt(BossTeam);
                        AcceptEntityInput(proj, "TeamNum", -1, -1, 0);
                        SetVariantInt(BossTeam);
                        AcceptEntityInput(proj, "SetTeam", -1, -1, 0);
                        SetEntPropEnt(proj, Prop_Send, "m_hOwnerEntity",boss);
                        new Float:speed=FF2_GetAbilityArgumentFloat(index,this_plugin_name,ability_name,3,1000.0);
                        velocity[0]=Cosine(DegToRad(rot[0]))*Cosine(DegToRad(rot[1]))*speed;
                        velocity[1]=Cosine(DegToRad(rot[0]))*Sine(DegToRad(rot[1]))*speed;
                        velocity[2]=Sine(DegToRad(rot[0]))*speed;
                        velocity[2]*=-1;
                        TeleportEntity(proj, position, rot,velocity);
                        SetEntDataFloat(proj, FindSendPropOffs("CTFProjectile_Rocket", "m_iDeflected") + 4, FF2_GetAbilityArgumentFloat(index,this_plugin_name,ability_name,5,150.0), true);
                        DispatchSpawn(proj);
                        new String:s[PLATFORM_MAX_PATH];
                        FF2_GetAbilityArgumentString(index,this_plugin_name,ability_name,4,s,PLATFORM_MAX_PATH);
                        if(strlen(s)>5)
                                SetEntityModel(proj,s);
                        FF2_SetBossCharge(index,slot,-5*FF2_GetAbilityArgumentFloat(index,this_plugin_name,ability_name,2,5.0));
                        if(FF2_RandomSound("sound_ability",s,PLATFORM_MAX_PATH,index,slot))
                        {
                                EmitSoundToAll(s, boss, _, SNDLEVEL_TRAFFIC, SND_NOFLAGS, SNDVOL_NORMAL, 100, boss, position, NULL_VECTOR, true, 0.0);
                                EmitSoundToAll(s, boss, _, SNDLEVEL_TRAFFIC, SND_NOFLAGS, SNDVOL_NORMAL, 100, boss, position, NULL_VECTOR, true, 0.0);
 
                                for(new i=1; i<=MaxClients; i++)
                                        if(IsClientInGame(i) && i!=boss)
                                        {
                                                EmitSoundToClient(i,s, boss, _, SNDLEVEL_TRAFFIC, SND_NOFLAGS, SNDVOL_NORMAL, 100, boss, position, NULL_VECTOR, true, 0.0);
                                                EmitSoundToClient(i,s, boss, _, SNDLEVEL_TRAFFIC, SND_NOFLAGS, SNDVOL_NORMAL, 100, boss, position, NULL_VECTOR, true, 0.0);
                                        }
                        }
                }
        }
}
*/
 
public Action:event_player_death(Handle:event, const String:name[], bool:dontBroadcast)
{
        new 
attacker=GetClientOfUserId(GetEventInt(event"attacker"));
        new 
client=GetClientOfUserId(GetEventInt(event"userid"));
        new 
bossAttacker=FF2_GetBossIndex(attacker);
        new 
bossClient=FF2_GetBossIndex(client);
 
        if(!
attacker || !client || attacker==client)
        {
                return 
Plugin_Continue;
        }
 
        if(
bossAttacker!=-1)
        {
                if(
FF2_HasAbility(bossAttackerthis_plugin_name"special_dropprop"))
                {
                        if(
FF2_GetAbilityArgument(bossAttackerthis_plugin_name"special_dropprop"30))
                        {
                                
CreateTimer(0.01Timer_RemoveRagdollGetEventInt(event"userid"));
                        }
 
                        new 
prop=CreateEntityByName("prop_physics_override");
                        if(
IsValidEntity(prop))
                        {
                                
decl String:model[PLATFORM_MAX_PATH];
                                
FF2_GetAbilityArgumentString(bossAttackerthis_plugin_name"special_dropprop"1modelPLATFORM_MAX_PATH);
                                
SetEntityModel(propmodel);
                                
SetEntityMoveType(propMOVETYPE_VPHYSICS);
                                
SetEntProp(propProp_Send"m_CollisionGroup"1);
                                
SetEntProp(propProp_Send"m_usSolidFlags"16);
                                
DispatchSpawn(prop);
 
                                new 
Float:position[3];
                                
GetEntPropVector(clientProp_Send"m_vecOrigin"position);
                                
position[2]+=20;
                                
TeleportEntity(proppositionNULL_VECTORNULL_VECTOR);
                                new 
Float:duration=FF2_GetAbilityArgumentFloat(bossAttackerthis_plugin_name"special_dropprop"20.0);
                                if(
duration>0.5)
                                {
                                        
CreateTimer(durationTimer_RemoveEntityEntIndexToEntRef(prop));
                                }
                        }
                }
 
                if(
FF2_HasAbility(bossAttackerthis_plugin_name"special_cbs_multimelee"))
                {
                        if(
GetEntPropEnt(attackerProp_Send"m_hActiveWeapon")==GetPlayerWeaponSlot(attackerTFWeaponSlot_Melee))
                        {
                                
TF2_RemoveWeaponSlot(attackerTFWeaponSlot_Melee);
                                new 
weapon;
                                switch(
GetRandomInt(02))
                                {
                                        case 
0:
                                        {
                                                
weapon=SpawnWeapon(attacker"tf_weapon_club"1711015"68 ; 2 ; 2 ; 3.0");
                                        }
                                        case 
1:
                                        {
                                                
weapon=SpawnWeapon(attacker"tf_weapon_club"1931015"68 ; 2 ; 2 ; 3.0");
                                        }
                                        case 
2:
                                        {
                                                
weapon=SpawnWeapon(attacker"tf_weapon_club"2321015"68 ; 2 ; 2 ; 3.0");
                                        }
                                }
                                
SetEntPropEnt(attackerProp_Data"m_hActiveWeapon"weapon);
                        }
                }
        }
 
        if(
bossClient!=-1)
        {
                if(
GetEventInt(event"death_flags") & TF_DEATHFLAG_DEADRINGER)
                {
                        return 
Plugin_Continue;
                }
 
                if(
FF2_HasAbility(bossClientthis_plugin_name"rage_cloneattack"))
                {
                        for(new 
target=1target<=MaxClientstarget++)
                        {
                                if(
CloneOwnerIndex[target]==bossClient && IsClientInGame(target) && IsPlayerAlive(target) && GetClientTeam(target)==BossTeam)
                                {
                                        
CreateTimer(0.5Timer_RestoreLastClassGetClientUserId(target));
                                }
                        }
                }
        }
        return 
Plugin_Continue;
}
 
public 
Action:Timer_RestoreLastClass(Handle:timerany:userid)
{
        new 
client=GetClientOfUserId(userid);
        if(
LastClass[client])
        {
                
TF2_SetPlayerClass(clientLastClass[client]);
        }
        
LastClass[client]=TFClass_Unknown;
 
        if(
BossTeam==_:TFTeam_Red)
        {
                
ChangeClientTeam(client_:TFTeam_Blue);
        }
        else
        {
                
ChangeClientTeam(client_:TFTeam_Red);
        }
        return 
Plugin_Continue;
}
 
public 
Action:Timer_RemoveRagdoll(Handle:timerany:userid)
{
        new 
client=GetClientOfUserId(userid);
        new 
ragdoll;
        if(
client>&& (ragdoll=GetEntPropEnt(clientProp_Send"m_hRagdoll"))>MaxClients)
        {
                
AcceptEntityInput(ragdoll"Kill");
        }
}
 
stock SpawnWeapon(clientString:name[], indexlevelqualityString:attribute[])
{
        new 
Handle:weapon=TF2Items_CreateItem(OVERRIDE_ALL|FORCE_GENERATION);
        
TF2Items_SetClassname(weaponname);
        
TF2Items_SetItemIndex(weaponindex);
        
TF2Items_SetLevel(weaponlevel);
        
TF2Items_SetQuality(weaponquality);
        new 
String:attributes[32][32];
        new 
count ExplodeString(attribute";"attributes3232);
        if(
count%2!=0)
        {
                
count--;
        }
 
        if(
count>0)
        {
                
TF2Items_SetNumAttributes(weaponcount/2);
                new 
i2=0;
                for(new 
i=0i<counti+=2)
                {
                        new 
attrib=StringToInt(attributes[i]);
                        if(
attrib==0)
                        {
                                
LogError("Bad weapon attribute passed: %s ; %s"attributes[i], attributes[i+1]);
                                return -
1;
                        }
                        
TF2Items_SetAttribute(weaponi2attribStringToFloat(attributes[i+1]));
                        
i2++;
                }
        }
        else
        {
                
TF2Items_SetNumAttributes(weapon0);
        }
 
        if(
weapon==INVALID_HANDLE)
        {
                return -
1;
        }
        new 
entity=TF2Items_GiveNamedItem(clientweapon);
        
CloseHandle(weapon);
        
EquipPlayerWeapon(cliententity);
        return 
entity;
}
 
public 
Action:Timer_RemoveEntity(Handle:timerany:entid)
{
        new 
entity=EntRefToEntIndex(entid);
        if(
IsValidEdict(entity) && entity>MaxClients)
        {
                
AcceptEntityInput(entity"Kill");
        }
}
 
stock AttachParticle(entityString:particleType[], Float:offset=0.0bool:attach=true)
{
        new 
particle=CreateEntityByName("info_particle_system");
 
        
decl String:targetName[128];
        
decl Float:position[3];
        
GetEntPropVector(entityProp_Send"m_vecOrigin"position);
        
position[2]+=offset;
        
TeleportEntity(particlepositionNULL_VECTORNULL_VECTOR);
 
        
Format(targetNamesizeof(targetName), "target%i"entity);
        
DispatchKeyValue(entity"targetname"targetName);
 
        
DispatchKeyValue(particle"targetname""tf2particle");
        
DispatchKeyValue(particle"parentname"targetName);
        
DispatchKeyValue(particle"effect_name"particleType);
        
DispatchSpawn(particle);
        
SetVariantString(targetName);
        if(
attach)
        {
                
AcceptEntityInput(particle"SetParent"particleparticle0);
                
SetEntPropEnt(particleProp_Send"m_hOwnerEntity"entity);
        }
        
ActivateEntity(particle);
        
AcceptEntityInput(particle"start");
        return 
particle;
}
 
//By Mecha the Slag
UpdateClientCheatValue(const value)
{
        for(new 
client=1client<=MaxClientsclient++)
        {
                if(
IsValidEdict(client) && IsClientConnected(client) && !IsFakeClient(client))
                {
                        
decl String:cheatValue[2];
                        
IntToString(valuecheatValuesizeof(cheatValue));
                        
SendConVarValue(clientcvarCheatscheatValue);
                }
        }

__________________

Last edited by 93SHADoW; 12-23-2014 at 16:48.
93SHADoW is offline
Send a message via AIM to 93SHADoW Send a message via Skype™ to 93SHADoW
Wliu
Veteran Member
Join Date: Apr 2013
Old 12-23-2014 , 17:05   Re: Freak Fortress 2 1.10.3 Released
Reply With Quote #1465

Mmm yes, that's probably cleaner once I switch the subplugins over to arena_round_start.
__________________
~Wliu
Wliu is offline
RavensBro
Veteran Member
Join Date: Sep 2009
Location: Wisonsin USA
Old 12-23-2014 , 17:10   Re: Freak Fortress 2 1.10.3 Released
Reply With Quote #1466

L 12/23/2014 - 14:073: [SM] Native "CreateNative" reported: Fatal error creating dynamic native!
L 12/23/2014 - 14:073: [SM] Displaying call stack trace for plugin "freak_fortress_2.smx":
L 12/23/2014 - 14:073: [SM] [0] Line 812, C:\Users\RavensBro\Desktop\knights of god\source mod and meta mod\sourcemod-1.6.4-git4614-windows-compiling\addons\sourcemod\scripting\freak_fo rtress_2.sp::AskPluginLoad2()

L 12/23/2014 - 14:07:50: [SM] Native "Call_StartForward" reported: Invalid forward handle 0 (error 4)
L 12/23/2014 - 14:07:50: [SM] Displaying call stack trace for plugin "freak_fortress_2.smx":
L 12/23/2014 - 14:07:50: [SM] [0] Line 1353, C:\Users\RavensBro\Desktop\knights of god\source mod and meta mod\sourcemod-1.6.4-git4614-windows-compiling\addons\sourcemod\scripting\freak_fo rtress_2.sp::FindCharacters()
L 12/23/2014 - 14:07:50: [SM] [1] Line 1258, C:\Users\RavensBro\Desktop\knights of god\source mod and meta mod\sourcemod-1.6.4-git4614-windows-compiling\addons\sourcemod\scripting\freak_fo rtress_2.sp::EnableFF2()
L 12/23/2014 - 14:07:50: [SM] [2] Line 1140, C:\Users\RavensBro\Desktop\knights of god\source mod and meta mod\sourcemod-1.6.4-git4614-windows-compiling\addons\sourcemod\scripting\freak_fo rtress_2.sp::OnConfigsExecuted()

L 12/23/2014 - 140:55: [SM] Native "KvRewind" reported: Invalid key value handle 0 (error 4)
L 12/23/2014 - 140:55: [SM] Displaying call stack trace for plugin "freak_fortress_2.smx":
L 12/23/2014 - 140:55: [SM] [0] Line 3141, C:\Users\RavensBro\Desktop\knights of god\source mod and meta mod\sourcemod-1.6.4-git4614-windows-compiling\addons\sourcemod\scripting\freak_fo rtress_2.sp::MakeBoss()

Last edited by RavensBro; 12-23-2014 at 17:34.
RavensBro is offline
Wliu
Veteran Member
Join Date: Apr 2013
Old 12-23-2014 , 17:44   Re: Freak Fortress 2 1.10.3 Released
Reply With Quote #1467

Quote:
Originally Posted by RavensBro View Post
L 12/23/2014 - 14:073: [SM] Native "CreateNative" reported: Fatal error creating dynamic native!
L 12/23/2014 - 14:073: [SM] Displaying call stack trace for plugin "freak_fortress_2.smx":
L 12/23/2014 - 14:073: [SM] [0] Line 812, C:\Users\RavensBro\Desktop\knights of god\source mod and meta mod\sourcemod-1.6.4-git4614-windows-compiling\addons\sourcemod\scripting\freak_fo rtress_2.sp::AskPluginLoad2()

L 12/23/2014 - 14:07:50: [SM] Native "Call_StartForward" reported: Invalid forward handle 0 (error 4)
L 12/23/2014 - 14:07:50: [SM] Displaying call stack trace for plugin "freak_fortress_2.smx":
L 12/23/2014 - 14:07:50: [SM] [0] Line 1353, C:\Users\RavensBro\Desktop\knights of god\source mod and meta mod\sourcemod-1.6.4-git4614-windows-compiling\addons\sourcemod\scripting\freak_fo rtress_2.sp::FindCharacters()
L 12/23/2014 - 14:07:50: [SM] [1] Line 1258, C:\Users\RavensBro\Desktop\knights of god\source mod and meta mod\sourcemod-1.6.4-git4614-windows-compiling\addons\sourcemod\scripting\freak_fo rtress_2.sp::EnableFF2()
L 12/23/2014 - 14:07:50: [SM] [2] Line 1140, C:\Users\RavensBro\Desktop\knights of god\source mod and meta mod\sourcemod-1.6.4-git4614-windows-compiling\addons\sourcemod\scripting\freak_fo rtress_2.sp::OnConfigsExecuted()

L 12/23/2014 - 140:55: [SM] Native "KvRewind" reported: Invalid key value handle 0 (error 4)
L 12/23/2014 - 140:55: [SM] Displaying call stack trace for plugin "freak_fortress_2.smx":
L 12/23/2014 - 140:55: [SM] [0] Line 3141, C:\Users\RavensBro\Desktop\knights of god\source mod and meta mod\sourcemod-1.6.4-git4614-windows-compiling\addons\sourcemod\scripting\freak_fo rtress_2.sp::MakeBoss()
What FF2 version? Are you by any chance using Sourcemod 1.7 on your server?
__________________
~Wliu
Wliu is offline
RavensBro
Veteran Member
Join Date: Sep 2009
Location: Wisonsin USA
Old 12-23-2014 , 18:11   Re: Freak Fortress 2 1.10.3 Released
Reply With Quote #1468

o dummy me i c what i did lol so nvm no using lastest sourcemod-1.6.4-git4614
RavensBro is offline
93SHADoW
AlliedModders Donor
Join Date: Jul 2014
Location: Houston, TX
Old 12-24-2014 , 02:47   Re: Freak Fortress 2 1.10.3 Released
Reply With Quote #1469

And i got the overheal bug on the_dr's server.

Lost a round as Demo Samedi (and his 4 lives), ended up getting FemSpy's 5072HP. And mind you, it was NOT a DUO.

Yet i still hadn't gotten the bug on my server nor on the test server...

I wonder if some plugins are screwing with the HP.
__________________

Last edited by 93SHADoW; 12-24-2014 at 02:49.
93SHADoW is offline
Send a message via AIM to 93SHADoW Send a message via Skype™ to 93SHADoW
xXDeathreusXx
Veteran Member
Join Date: Mar 2013
Location: pPlayer->GetOrigin();
Old 12-29-2014 , 21:17   Re: Freak Fortress 2 1.10.3 Released
Reply With Quote #1470

Quote:
Originally Posted by SHADoW NiNE TR3S View Post
And i got the overheal bug on the_dr's server.

Lost a round as Demo Samedi (and his 4 lives), ended up getting FemSpy's 5072HP. And mind you, it was NOT a DUO.

Yet i still hadn't gotten the bug on my server nor on the test server...

I wonder if some plugins are screwing with the HP.
I have a feeling differing SM or MM versions have something involved too

But by chance, do you know of any subplugins that fool with a bosses health? That could be it, if it's getting a logic error
__________________
Plugins|Profile
Requests closed

I'm a smartass by nature, get used to it
xXDeathreusXx is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 02:16.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode