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

[l4d2] this plugin ..Help Modified , request (New upload)


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
login101
Senior Member
Join Date: Sep 2017
Old 07-30-2019 , 06:13   [l4d2] this plugin ..Help Modified , request (New upload)
Reply With Quote #1

I like this witch's plugin.
But it does not work for a long time ..

Someone can work normally

Is it correctable?


Someone please fix this.

This does not work anymore.
Attached Files
File Type: sp Get Plugin or Get Source (witchred.sp - 150 views - 27.0 KB)
File Type: txt witchred.txt (4.5 KB, 92 views)
File Type: smx witchred.smx (16.4 KB, 97 views)

Last edited by login101; 07-31-2019 at 17:06.
login101 is offline
Pilo
AlliedModders Donor
Join Date: Jan 2019
Location: Israel
Old 07-30-2019 , 10:11   Re: [l4d2] Someone fix this plugin ..Help
Reply With Quote #2

Decompiled ?
__________________

Taking Private(PAID) Plugins In PM
Feel free to Donate with PayPal
Feel free to message me in Discord Pilo#8253
Total donated : 25$
Pilo is offline
login101
Senior Member
Join Date: Sep 2017
Old 07-30-2019 , 12:15   Re: [l4d2] Someone fix this plugin ..Help
Reply With Quote #3

Quote:
Originally Posted by Pilo View Post
Decompiled ?

Is it possible to operate?

I can not speak English very well

Really sorry
login101 is offline
dustinandband
Senior Member
Join Date: May 2015
Old 07-30-2019 , 17:35   Re: [l4d2] this plugin ..Help Modified , request
Reply With Quote #4

Editing that would be a huge headache.

Do you have the original source code?
dustinandband is offline
login101
Senior Member
Join Date: Sep 2017
Old 07-30-2019 , 18:22   Re: [l4d2] this plugin ..Help Modified , request
Reply With Quote #5

Quote:
Originally Posted by dustinandband View Post
Editing that would be a huge headache.

Do you have the original source code?
I am
plugin. Game data txt

I have this

I decompile
* Uploaded ..

Teacher, is not there a way? ㅠ _ ㅠ

Last edited by login101; 07-30-2019 at 18:26.
login101 is offline
luis enrique
Member
Join Date: Oct 2017
Location: peru
Old 07-30-2019 , 20:29   Re: [l4d2] this plugin ..Help Modified , request
Reply With Quote #6

sorry what this plugins does
luis enrique is offline
cacaopea
Member
Join Date: May 2019
Location: Viet Nam
Old 07-31-2019 , 03:38   Re: [l4d2] this plugin ..Help Modified , request
Reply With Quote #7

Do you have smx file ?,upload it so everyone knows what it is !!
cacaopea is offline
login101
Senior Member
Join Date: Sep 2017
Old 07-31-2019 , 16:54   Re: [l4d2] this plugin ..Help Modified , request
Reply With Quote #8

Quote:
Originally Posted by cacaopea View Post
Do you have smx file ?,upload it so everyone knows what it is !!

There is

I upload
login101 is offline
login101
Senior Member
Join Date: Sep 2017
Old 07-31-2019 , 17:01   Re: [l4d2] this plugin ..Help Modified , request
Reply With Quote #9

Quote:
Originally Posted by cacaopea View Post
Do you have smx file ?,upload it so everyone knows what it is !!
The site crashed and only I had it ..



Upload plugin

Someone please fix ..
Attached Files
File Type: smx witchred.smx (16.4 KB, 52 views)
File Type: txt witchred.txt (4.5 KB, 77 views)

Last edited by login101; 07-31-2019 at 17:03.
login101 is offline
cacaopea
Member
Join Date: May 2019
Location: Viet Nam
Old 07-31-2019 , 22:04   Re: [l4d2] this plugin ..Help Modified , request (New upload)
Reply With Quote #10

Where did you get this plugin?
- decompiling only helps you know a certain part, it is not completely
- How to fix it to work really hard and everyone knows it.
- I hope someone will fix it for you
- I think you will need a hint
PHP Code:
#pragma semicolon 1
#include <sourcemod>
#include <sdktools>
#include <sdkhooks>


#define     //unknown
#define     //unknown
#define     //unknown



Handle:StartMessageOne(String:msgname[], clientflags)
{
    new 
players[1];
    
players[0] = client;
    return 
StartMessage(msgnameplayers1flags);
}

PrintToChatAll(String:format[])
{
    
decl String:buffer[192];
    new 
1;
    while (
<= MaxClients)
    {
        if (
IsClientInGame(i))
        {
            
SetGlobalTransTarget(i);
            
VFormat(buffer192format2);
            
PrintToChat(i"%s"buffer);
        }
        
i++;
    }
    return ;
}

GetEntSendPropOffs(entString:prop[], bool:actual)
{
    
decl String:cls[64];
    if (!
GetEntityNetClass(entcls64))
    {
        return -
1;
    }
    if (
actual)
    {
        return 
FindSendPropInfo(clsprop000);
    }
    return 
}

SetEntityMoveType(entityMoveType:mt)
{
    static 
bool:gotconfig;
    static 
String:datamap[32];
    if (!
gotconfig)
    {
        new 
Handle:gc LoadGameConfigFile("core.games");
        new 
bool:exists GameConfGetKeyValue(gc"m_MoveType"datamap32);
        
CloseHandle(gc);
        if (!
exists)
        {
            
strcopy(datamap32"m_MoveType");
        }
        
gotconfig true;
    }
    
SetEntProp(entityPropType:1datamapmt40);
    return ;
}

SetEntityRenderMode(entityRenderMode:mode)
{
    static 
bool:gotconfig;
    static 
String:prop[32];
    if (!
gotconfig)
    {
        new 
Handle:gc LoadGameConfigFile("core.games");
        new 
bool:exists GameConfGetKeyValue(gc"m_nRenderMode"prop32);
        
CloseHandle(gc);
        if (!
exists)
        {
            
strcopy(prop32"m_nRenderMode");
        }
        
gotconfig true;
    }
    
SetEntProp(entityPropType:0propmode10);
    return ;
}

SetEntityRenderColor(entityrgba)
{
    static 
bool:gotconfig;
    static 
String:prop[32];
    if (!
gotconfig)
    {
        new 
Handle:gc LoadGameConfigFile("core.games");
        new 
bool:exists GameConfGetKeyValue(gc"m_clrRender"prop32);
        
CloseHandle(gc);
        if (!
exists)
        {
            
strcopy(prop32"m_clrRender");
        }
        
gotconfig true;
    }
    new 
offset GetEntSendPropOffs(entitypropfalse);
    if (
>= offset)
    {
        
ThrowError("SetEntityRenderColor not supported by this mod");
    }
    
SetEntData(entityoffsetr1true);
    
SetEntData(entityoffset 1g1true);
    
SetEntData(entityoffset 2b1true);
    
SetEntData(entityoffset 3a1true);
    return ;
}

EmitSoundToAll(String:sample[], entitychannellevelflagsFloat:volumepitchspeakerentityFloat:origin[3], Float:dir[3], bool:updatePosFloat:soundtime)
{
    new 
clients[MaxClients];
    new 
total;
    new 
1;
    while (
<= MaxClients)
    {
        if (
IsClientInGame(i))
        {
            
total++;
            
clients[total] = i;
        }
        
i++;
    }
    if (!
total)
    {
        return ;
    }
    
EmitSound(clientstotalsampleentitychannellevelflagsvolumepitchspeakerentityorigindirupdatePossoundtime);
    return ;
}

TE_SendToAll(Float:delay)
{
    new 
total;
    new 
clients[MaxClients];
    new 
1;
    while (
<= MaxClients)
    {
        if (
IsClientInGame(i))
        {
            
total++;
            
clients[total] = i;
        }
        
i++;
    }
    return 
TE_Send(clientstotaldelay);
}

TE_SetupBeamRingPoint(Float:center[3], Float:Start_RadiusFloat:End_RadiusModelIndexHaloIndexStartFrameFrameRateFloat:LifeFloat:WidthFloat:AmplitudeColor[4], SpeedFlags)
{
    
TE_Start("BeamRingPoint");
    
TE_WriteVector("m_vecCenter"center);
    
TE_WriteFloat("m_flStartRadius"Start_Radius);
    
TE_WriteFloat("m_flEndRadius"End_Radius);
    
TE_WriteNum("m_nModelIndex"ModelIndex);
    
TE_WriteNum("m_nHaloIndex"HaloIndex);
    
TE_WriteNum("m_nStartFrame"StartFrame);
    
TE_WriteNum("m_nFrameRate"FrameRate);
    
TE_WriteFloat("m_fLife"Life);
    
TE_WriteFloat("m_fWidth"Width);
    
TE_WriteFloat("m_fEndWidth"Width);
    
TE_WriteFloat("m_fAmplitude"Amplitude);
    
TE_WriteNum("r"Color[0]);
    
TE_WriteNum("g"Color[1]);
    
TE_WriteNum("b"Color[2]);
    
TE_WriteNum("a"Color[3]);
    
TE_WriteNum("m_nSpeed"Speed);
    
TE_WriteNum("m_nFlags"Flags);
    
TE_WriteNum("m_nFadeLength"0);
    return ;
}

CSetupProfile()
{
    
decl String:szGameName[32];
    
GetGameFolderName(szGameName30);
    if (
StrEqual(szGameName"cstrike"false))
    {
        
CProfile_Colors[2] = 1;
        
CProfile_Colors[3] = 1;
        
CProfile_Colors[4] = 1;
        
CProfile_Colors[5] = 1;
        
CProfile_TeamIndex[2] = 0;
        
CProfile_TeamIndex[3] = 2;
        
CProfile_TeamIndex[4] = 3;
        
CProfile_SayText2 true;
    }
    else
    {
        if (
StrEqual(szGameName"tf"false))
        {
            
CProfile_Colors[2] = 1;
            
CProfile_Colors[3] = 1;
            
CProfile_Colors[4] = 1;
            
CProfile_Colors[5] = 1;
            
CProfile_TeamIndex[2] = 0;
            
CProfile_TeamIndex[3] = 2;
            
CProfile_TeamIndex[4] = 3;
            
CProfile_SayText2 true;
        }
        new 
var1;
        if (
StrEqual(szGameName"left4dead"false) || StrEqual(szGameName"left4dead2"false))
        {
            
CProfile_Colors[2] = 1;
            
CProfile_Colors[3] = 1;
            
CProfile_Colors[4] = 1;
            
CProfile_Colors[5] = 1;
            
CProfile_TeamIndex[2] = 0;
            
CProfile_TeamIndex[3] = 3;
            
CProfile_TeamIndex[4] = 2;
            
CProfile_SayText2 true;
        }
        if (
StrEqual(szGameName"hl2mp"false))
        {
            if (
GetConVarBool(FindConVar("mp_teamplay")))
            {
                
CProfile_Colors[3] = 1;
                
CProfile_Colors[4] = 1;
                
CProfile_TeamIndex[3] = 3;
                
CProfile_TeamIndex[4] = 2;
                
CProfile_SayText2 true;
            }
            else
            {
                
CProfile_SayText2 false;
            }
        }
        if (
StrEqual(szGameName"dod"false))
        {
            
CProfile_Colors[5] = 1;
            
CProfile_SayText2 false;
        }
        if (
GetUserMessageId("SayText2") == -1)
        {
            
CProfile_SayText2 false;
        }
        
CProfile_Colors[3] = 1;
        
CProfile_Colors[4] = 1;
        
CProfile_TeamIndex[3] = 2;
        
CProfile_TeamIndex[4] = 3;
        
CProfile_SayText2 true;
    }
    return ;
}

public 
Action:CEvent_MapStart(Handle:eventString:name[], bool:dontBroadcast)
{
    
CSetupProfile();
    new 
1;
    while (
<= MaxClients)
    {
        
CEventIsHooked[i] = false;
        
i++;
    }
    return;
}

public 
OnPluginStart()
{
    
RegConsoleCmd("sm_show"Command_Show""0);
    
IceTimeout CreateConVar("Ice_Timeout""30""冰凍傷害持續時間"262144true0.0false0.0);
    
AcidSpillTimeout CreateConVar("AcidSpill_Timeout""20""毒液傷害持續時間"262144true0.0false0.0);
    
Cvar_GreenWitchHealth CreateConVar("GreenWitch_hp""2000""毒素女巫的血量 "262144true1.0true10000.0);
    
Cvar_FireWitchHealth CreateConVar("FireWitch_hp""3000""火焰女巫的血量 "262144true1.0true10000.0);
    
Cvar_IceWitchHealth CreateConVar("IceWitch_hp""3000""冰凍女巫的血量 "262144true1.0true10000.0);
    
Cvar_BlackWitchHealth CreateConVar("BlackWitch_hp""3000""黑暗女巫的血量 "262144true1.0true10000.0);
    
Cvar_PurpleWitchHealth CreateConVar("PurpleWitch_hp""3000""毒氣女巫的血量 "262144true1.0true10000.0);
    
Cvar_VomitWitchHealth CreateConVar("VomitWitch_hp""3000""膽汁女巫的血量 "262144true1.0true10000.0);
    
AutoExecConfig(true"witch-ju-on""sourcemod");
    
HookEvent("player_death"Event_PlayerDeath);
    
HookEvent("witch_spawn"witch_spawn);
    
HookEvent("witch_killed"Event_Witch_Kill);
    
HookEvent("witch_harasser_set"WitchTargetBufferSet);
    
HookEvent("round_start"Event_RoundStart);
    
g_hGameConf LoadGameConfigFile("witchred");
    if (!
g_hGameConf)
    {
        
SetFailState("Couldn't find the offsets and signatures file. Please, check that it is installed correctly.");
    }
    
StartPrepSDKCall(SDKCallType:2);
    
PrepSDKCall_SetFromConf(g_hGameConfSDKFuncConfSource:1"CTerrorPlayer_Fling");
    
PrepSDKCall_AddParameter(SDKType:2SDKPassMethod:300);
    
PrepSDKCall_AddParameter(SDKType:4SDKPassMethod:100);
    
PrepSDKCall_AddParameter(SDKType:1SDKPassMethod:000);
    
PrepSDKCall_AddParameter(SDKType:5SDKPassMethod:100);
    
sdkCallPushPlayer EndPrepSDKCall();
    if (!
sdkCallPushPlayer)
    {
        
SetFailState("Unable to find the \"CTerrorPlayer_Fling\" signature, check the file version!");
    }
    
StartPrepSDKCall(SDKCallType:1);
    
PrepSDKCall_SetFromConf(g_hGameConfSDKFuncConfSource:1"CSpitterProjectile_Detonate");
    
sdkDetonateAcid EndPrepSDKCall();
    if (!
sdkDetonateAcid)
    {
        
SetFailState("Unable to find the \"CSpitterProjectile::Detonate(void)\" signature, check the file version!");
    }
    
StartPrepSDKCall(SDKCallType:2);
    
PrepSDKCall_SetFromConf(g_hGameConfSDKFuncConfSource:1"CTerrorPlayer_OnAdrenalineUsed");
    
PrepSDKCall_AddParameter(SDKType:5SDKPassMethod:100);
    
sdkAdrenaline EndPrepSDKCall();
    if (!
sdkAdrenaline)
    {
        
SetFailState("Unable to find the \"CTerrorPlayer::OnAdrenalineUsed(float)\" signature, check the file version!");
    }
    
StartPrepSDKCall(SDKCallType:2);
    
PrepSDKCall_SetFromConf(g_hGameConfSDKFuncConfSource:1"CTerrorPlayer_OnVomitedUpon");
    
PrepSDKCall_AddParameter(SDKType:1SDKPassMethod:000);
    
PrepSDKCall_AddParameter(SDKType:4SDKPassMethod:100);
    
sdkVomitSurvivor EndPrepSDKCall();
    if (!
sdkVomitSurvivor)
    {
        
SetFailState("Unable to find the \"CTerrorPlayer_OnVomitedUpon\" signature, check the file version!");
    }
    return ;
}

public 
OnMapStart()
{
    
PrecacheParticle("spitter_areaofdenial_base_refract");
    
PrecacheParticle("policecar_tail_strobe_2b");
    
PrecacheParticle("water_child_water5");
    
PrecacheParticle("aircraft_destroy_fastFireTrail");
    
PrecacheParticle("fire_small_01");
    
PrecacheParticle("vomit_jar_b");
    
PrecacheParticle("apc_wheel_smoke1");
    
g_BeamSprite PrecacheModel("materials/sprites/laserbeam.vmt"false);
    
g_HaloSprite PrecacheModel("materials/sun/overlay.vmt"false);
    
GreenWitch false;
    
FireWhite false;
    
IceWitch false;
    
BlackWitch false;
    
PurpleWitch false;
    
VomitWitch false;
    return ;
}

public 
Action:Event_PlayerDeath(Handle:eventString:name[], bool:dontBroadcast)
{
    new 
client GetClientOfUserId(GetEventInt(event"userid"));
    if (
GetClientTeam(client) == 2)
    {
        if (
AcidSpillDamgeTimer[client])
        {
            
KillTimer(AcidSpillDamgeTimer[client], false);
            
AcidSpillDamgeTimer[client] = 0;
        }
    }
    return;
}

public 
Action:Event_RoundStart(Handle:eventString:name[], bool:dontBroadcast)
{
    
GreenWitch false;
    
FireWhite false;
    
IceWitch false;
    
BlackWitch false;
    
PurpleWitch false;
    
VomitWitch false;
    return;
}

public 
ShowParticle(Float:pos[3], String:particlename[], Float:time)
{
    new 
particle CreateEntityByName("info_particle_system", -1);
    if (
IsValidEdict(particle))
    {
        
TeleportEntity(particleposNULL_VECTORNULL_VECTOR);
        
DispatchKeyValue(particle"effect_name"particlename);
        
DispatchKeyValue(particle"targetname""particle");
        
DispatchSpawn(particle);
        
ActivateEntity(particle);
        
AcceptEntityInput(particle"start", -1, -10);
        
CreateTimer(timeDeleteParticlesparticle0);
    }
    return ;
}

public 
PrecacheParticle(String:particlename[])
{
    new 
particle CreateEntityByName("info_particle_system", -1);
    if (
IsValidEdict(particle))
    {
        
DispatchKeyValue(particle"effect_name"particlename);
        
DispatchKeyValue(particle"targetname""particle");
        
DispatchSpawn(particle);
        
ActivateEntity(particle);
        
AcceptEntityInput(particle"start", -1, -10);
        
CreateTimer(0.01DeleteParticleparticle0);
    }
    return ;
}

public 
Action:DeleteParticle(Handle:timerany:particle)
{
    if (
IsValidEntity(particle))
    {
        new 
String:classname[128];
        
GetEdictClassname(particleclassname128);
        if (
StrEqual(classname"info_particle_system"false))
        {
            
RemoveEdict(particle);
        }
        else
        {
            
LogError("DeleteParticles: not removing entity - not a particle '%s'"classname);
        }
    }
    return;
}

public 
AttachParticle(entString:particleType[], Float:time)
{
    
decl String:tName[64];
    new 
particle CreateEntityByName("info_particle_system", -1);
    new 
var1;
    if (
IsValidEdict(particle) && IsValidEdict(ent))
    {
        new 
Float:pos[3] = 0.0;
        
GetEntPropVector(entPropType:0"m_vecOrigin"pos0);
        
TeleportEntity(particleposNULL_VECTORNULL_VECTOR);
        
GetEntPropString(entPropType:1"m_iName"tName640);
        
DispatchKeyValue(particle"targetname""tf2particle");
        
DispatchKeyValue(particle"parentname"tName);
        
DispatchKeyValue(particle"effect_name"particleType);
        
DispatchSpawn(particle);
        
SetVariantString(tName);
        
AcceptEntityInput(particle"SetParent"particleparticle0);
        
ActivateEntity(particle);
        
AcceptEntityInput(particle"start", -1, -10);
        
CreateTimer(timeDeleteParticlesparticle0);
    }
    return ;
}

public 
Action:DeleteParticles(Handle:timerany:particle)
{
    new 
var1;
    if (
IsValidEntity(particle) || IsValidEdict(particle))
    {
        new 
String:classname[64];
        
GetEdictClassname(particleclassname64);
        if (
StrEqual(classname"info_particle_system"false))
        {
            
AcceptEntityInput(particle"stop", -1, -10);
            
AcceptEntityInput(particle"kill", -1, -10);
            
RemoveEdict(particle);
        }
    }
    return;
}

RGB_TO_INT(redgreenblue)
{
    return 
green 256 blue 65536 red;
}

public 
Action:Event_Witch_Kill(Handle:eventString:event_name[], bool:dontBroadcast)
{
    new 
witchid GetEventInt(event"witchid");
    if (
witchid)
    {
        
CreateTimer(1.0TraceWitch2witchid2);
    }
    return;
}

public 
Action:TraceWitch2(Handle:timerany:witch)
{
    new 
var1;
    if (
witch != any:-&& IsValidEdict(witch) && IsValidEntity(witch))
    {
        
decl Stirng:sname[32];
        
GetEdictClassname(witchsname32);
        if (
StrEqual(sname"witch"true))
        {
            if (
GreenWitch)
            {
                
GreenWitch false;
                return;
            }
            if (
FireWhite)
            {
                
FireWhite false;
                return;
            }
            if (
IceWitch)
            {
                
IceWitch false;
                return;
            }
            if (
BlackWitch)
            {
                
BlackWitch false;
                return;
            }
            if (
PurpleWitch)
            {
                
PurpleWitch false;
                return;
            }
            if (
VomitWitch)
            {
                
VomitWitch false;
                return;
            }
        }
    }
    return;
}

public 
Action:witch_spawn(Handle:h_EventString:s_Name[], bool:b_DontBroadcast)
{
    new 
witchid GetEventInt(h_Event"witchid");
    if (
witchid)
    {
        
CreateTimer(1.0TraceWitchlwitchid2);
    }
    return;
}

public 
Action:TraceWitchl(Handle:timerany:witch)
{
    new 
var1;
    if (
witch != any:-&& IsValidEdict(witch) && IsValidEntity(witch))
    {
        
decl Stirng:sname[32];
        
GetEdictClassname(witchsname32);
        if (
StrEqual(sname"witch"true))
        {
            switch (
GetRandomInt(05))
            {
                case 
0:
                {
                    new 
GreenWitchHealth GetConVarInt(Cvar_GreenWitchHealth);
                    
SetEntProp(witchPropType:1"m_iMaxHealth"GreenWitchHealth40);
                    
SetEntProp(witchPropType:1"m_iHealth"GreenWitchHealth40);
                    
SetEntProp(witchPropType:0"m_iGlowType"any:340);
                    
SetEntProp(witchPropType:0"m_bFlashing"any:140);
                    
SetEntProp(witchPropType:0"m_glowColorOverride"any:11991140);
                    
CreateTimer(5.0WitchGreenwitch1);
                    
GreenWitch true;
                    
SetClientInfo(witch"name""毒素女巫");
                }
                case 
1:
                {
                    new 
glowcolor RGB_TO_INT(25500);
                    new 
FireWitchHealth GetConVarInt(Cvar_FireWitchHealth);
                    
SetEntProp(witchPropType:1"m_iMaxHealth"FireWitchHealth40);
                    
SetEntProp(witchPropType:1"m_iHealth"FireWitchHealth40);
                    
SetEntProp(witchPropType:0"m_iGlowType"any:340);
                    
SetEntProp(witchPropType:0"m_bFlashing"any:140);
                    
SetEntProp(witchPropType:0"m_glowColorOverride"glowcolor40);
                    
CreateTimer(0.1WhiteFirewitch1);
                    
FireWhite true;
                    
SetClientInfo(witch"name""火焰女巫");
                }
                case 
2:
                {
                    new 
glowcolor RGB_TO_INT(00255);
                    new 
IceWitchHealth GetConVarInt(Cvar_IceWitchHealth);
                    
SetEntProp(witchPropType:1"m_iMaxHealth"IceWitchHealth40);
                    
SetEntProp(witchPropType:1"m_iHealth"IceWitchHealth40);
                    
SetEntProp(witchPropType:0"m_iGlowType"any:340);
                    
SetEntProp(witchPropType:0"m_bFlashing"any:140);
                    
SetEntProp(witchPropType:0"m_glowColorOverride"glowcolor40);
                    
CreateTimer(1.0WitchBluewitch1);
                    
IceWitch true;
                    
SetClientInfo(witch"name""冰凍女巫");
                }
                case 
3:
                {
                    new 
glowcolor RGB_TO_INT(000);
                    new 
BlackWitchHealth GetConVarInt(Cvar_BlackWitchHealth);
                    
SetEntProp(witchPropType:1"m_iMaxHealth"BlackWitchHealth40);
                    
SetEntProp(witchPropType:1"m_iHealth"BlackWitchHealth40);
                    
SetEntProp(witchPropType:0"m_iGlowType"any:340);
                    
SetEntProp(witchPropType:0"m_bFlashing"any:140);
                    
SetEntProp(witchPropType:0"m_glowColorOverride"glowcolor40);
                    
CreateTimer(1.0WitchBlackwitch1);
                    
BlackWitch true;
                    
SetClientInfo(witch"name""黑暗女巫");
                }
                case 
4:
                {
                    new 
glowcolor RGB_TO_INT(218112214);
                    new 
VomitWitchHealth GetConVarInt(Cvar_VomitWitchHealth);
                    
SetEntProp(witchPropType:1"m_iMaxHealth"VomitWitchHealth40);
                    
SetEntProp(witchPropType:1"m_iHealth"VomitWitchHealth40);
                    
SetEntProp(witchPropType:0"m_iGlowType"any:340);
                    
SetEntProp(witchPropType:0"m_bFlashing"any:140);
                    
SetEntProp(witchPropType:0"m_glowColorOverride"glowcolor40);
                    
CreateTimer(1.0WitchVomitwitch1);
                    
VomitWitch true;
                    
SetClientInfo(witch"name""膽汁女巫");
                }
                case 
6:
                {
                    new 
glowcolor RGB_TO_INT(2550255);
                    new 
PurpleWitchHealth GetConVarInt(Cvar_PurpleWitchHealth);
                    
SetEntProp(witchPropType:1"m_iMaxHealth"PurpleWitchHealth40);
                    
SetEntProp(witchPropType:1"m_iHealth"PurpleWitchHealth40);
                    
SetEntProp(witchPropType:0"m_iGlowType"any:340);
                    
SetEntProp(witchPropType:0"m_bFlashing"any:140);
                    
SetEntProp(witchPropType:0"m_glowColorOverride"glowcolor40);
                    
CreateTimer(1.0WitchPurplewitch1);
                    
PurpleWitch true;
                    
SetClientInfo(witch"name""毒煙女巫");
                }
                default:
                {
                }
            }
        }
    }
    return ;
}

public 
WitchTargetBufferSet(Handle:eventString:name[], bool:dontBroadcast)
{
    new 
target GetClientOfUserId(GetEventInt(event"userid"));
    if (
FireWhite)
    {
        
AttachParticle(target"aircraft_destroy_fastFireTrail"10.0);
        
IgniteEntity(target10.0false0.0false);
        
DealDamage(targettarget302"");
        return ;
    }
    if (!
GreenWitch)
    {
        if (
IceWitch)
        {
            
CreateTimer(1.0Freezetarget0);
            return ;
        }
        if (
BlackWitch)
        {
            
CreateTimer(1.0FadeoutTimertarget0);
            
ScreenFade(target025525519250001);
            return ;
        }
        if (
PurpleWitch)
        {
            return ;
        }
        if (
VomitWitch)
        {
            
VomitPlayer(targettarget);
            return ;
        }
        return ;
    }
    new 
Float:AcidSpillDamgeOut GetConVarFloat(AcidSpillTimeout);
    
CreateTimer(AcidSpillDamgeOutAcidSpillOutTimertarget0);
    
AcidSpillEnable[target] = 1;
    
AcidSpillDamgeTimer[target] = CreateTimer(5.0AcidSpilltarget1);
    return ;
}

public 
Action:Freeze(Handle:timerany:client)
{
    
SetEntityRenderMode(clientRenderMode:3);
    
SetEntityRenderColor(client0100170180);
    
SetEntityMoveType(clientMoveType:6);
    
CreateTimer(5.0Timer_UnFreezeclient2);
    
EmitSoundToAll("ambient/ambience/rainscapes/rain/debris_05.wav"client07501.0100, -1NULL_VECTORNULL_VECTORtrue0.0);
    
ScreenFade(client012825519250001);
    new 
Float:IceDamgeOut GetConVarFloat(IceTimeout);
    
CreateTimer(IceDamgeOutIceOutTimerclient0);
    
IceDamgeTimer[client] = CreateTimer(7.0Timer_IceWitchclient1);
    return;
}

public 
Action:AcidSpillOutTimer(Handle:timerany:client)
{
    if (
AcidSpillDamgeTimer[client])
    {
        
AcidSpillEnable[client] = 0;
        
KillTimer(AcidSpillDamgeTimer[client], false);
        
AcidSpillDamgeTimer[client] = 0;
    }
    return;
}

public 
Action:IceOutTimer(Handle:timerany:client)
{
    if (
IceDamgeTimer[client])
    {
        
KillTimer(IceDamgeTimer[client], false);
        
IceDamgeTimer[client] = 0;
    }
    return;
}

public 
Action:AcidSpill(Handle:timerany:Client)
{
    
CreateAcidSpill(ClientClient);
    return;
}

public 
Action:WhiteFire(Handle:timerany:witch)
{
    if (
FireWhite)
    {
        
AttachParticle(witch"fire_small_01"1.0);
    }
    return;
}

public 
Action:WitchGreen(Handle:timerany:witch)
{
    if (
GreenWitch)
    {
        
AttachParticle(witch"spitter_areaofdenial_base_refract"5.0);
    }
    return ;
}

public 
Action:WitchBlue(Handle:timerany:witch)
{
    if (
IceWitch)
    {
        
AttachParticle(witch"apc_wheel_smoke1"1.0);
        
AttachParticle(witch"water_child_water5"3.0);
    }
    return;
}

public 
Action:WitchBlack(Handle:timerany:witch)
{
    if (
BlackWitch)
    {
        new 
Float:entpos[3] = 0.0;
        new 
Float:effectpos[3] = 0.0;
        
GetEntPropVector(witchPropType:0"m_vecOrigin"entpos0);
        
effectpos[0] = entpos[0];
        
effectpos[1] = entpos[1];
        
effectpos[2] = entpos[2] + 70;
        
ShowParticle(effectpos"policecar_tail_strobe_2b"3.0);
    }
    return ;
}

public 
Action:WitchPurple(Handle:timerany:witch)
{
    return;
}

public 
Action:WitchVomit(Handle:timerany:witch)
{
    if (
VomitWitch)
    {
        
AttachParticle(witch"vomit_jar_b"1.0);
    }
    return ;
}

public 
Action:FadeoutTimer(Handle:Timer)
{
    
visibility visibility 8;
    if (
visibility 240)
    {
        
visibility 240;
    }
    
ScreenFade(killer000visibility00);
    if (
visibility >= 240)
    {
        
FakeRealism(true);
        
KillTimer(Timerfalse);
    }
    return ;
}

public 
Action:Timer_IceWitch(Handle:timerany:client)
{
    new 
Float:vec[3] = 0.0;
    new 
Color[4];
    
Color[3] = 255;
    
GetClientAbsOrigin(clientvec);
    
Color[0] = GetRandomInt(0255);
    
Color[1] = GetRandomInt(0255);
    
Color[2] = GetRandomInt(0255);
    
vec[2] += 30;
    
TE_SetupBeamRingPoint(vec20.0200.0g_BeamSpriteg_HaloSprite0153.06.00.0Color100);
    
TE_SendToAll(0.0);
    new 
1;
    while (
<= MaxClients)
    {
        new 
var1;
        if (
IsClientInGame(i) && IsPlayerAlive(i) && GetClientTeam(i) == 2)
        {
            new 
Float:pos[3] = 0.0;
            new 
Float:pos_t[3] = 0.0;
            new 
Float:distance 0.0;
            new 
Float:IceDamgeOut GetConVarFloat(IceTimeout);
            
GetClientAbsOrigin(clientpos);
            
GetClientAbsOrigin(ipos_t);
            
distance GetVectorDistance(pospos_tfalse);
            if (
distance <= 2.8E-43)
            {
                
ServerCommand("sm_freeze \"%N\" \"3\""i);
                
CreateTimer(IceDamgeOutIceOutTimeri0);
                
EmitSoundToAll("ambient/ambience/rainscapes/rain/debris_05.wav"i07501.0100, -1NULL_VECTORNULL_VECTORtrue0.0);
            }
        }
        
i++;
    }
    
addpos[client] = 0;
    
GetClientAbsOrigin(clientbrandpos[client]);
    
beamcol[client][0] = GetRandomInt(0255);
    
beamcol[client][1] = GetRandomInt(0255);
    
beamcol[client][2] = GetRandomInt(0255);
    
beamcol[client][3] = 135;
    return 
Action:3;
}

public 
Action:Timer_UnFreeze(Handle:timerany:client)
{
    if (
any:client)
    {
        new 
var1;
        if (
IsClientInGame(client) && !IsFakeClient(client) && IsPlayerAlive(client) && GetClientTeam(client) == 2)
        {
            
SetEntityRenderMode(clientRenderMode:3);
            
SetEntityRenderColor(client255255255255);
            
SetEntityMoveType(clientMoveType:2);
        }
    }
    return ;
}

public 
FakeRealism(bool:mode)
{
    if (
mode == true)
    {
        
SetConVarInt(FindConVar("sv_disable_glow_faritems"), 1truetrue);
        
SetConVarInt(FindConVar("sv_disable_glow_survivors"), 1truetrue);
    }
    else
    {
        
SetConVarInt(FindConVar("sv_disable_glow_faritems"), 0truetrue);
        
SetConVarInt(FindConVar("sv_disable_glow_survivors"), 0truetrue);
    }
    return ;
}

public 
ScreenFade(targetredgreenbluealphadurationtype)
{
    new 
Handle:msg StartMessageOne("Fade"target0);
    
BfWriteShort(msg500);
    
BfWriteShort(msgduration);
    if (
type)
    {
        
BfWriteShort(msg17);
    }
    else
    {
        
BfWriteShort(msg10);
    }
    
BfWriteByte(msgred);
    
BfWriteByte(msggreen);
    
BfWriteByte(msgblue);
    
BfWriteByte(msgalpha);
    
EndMessage();
    return ;
}

DealDamage(attackervictimdamagedmg_typeString:weapon[])
{
    new 
var1;
    if (
IsValidEdict(victim) && damage 0)
    {
        new 
String:victimid[64];
        new 
String:dmg_type_str[32];
        
IntToString(dmg_typedmg_type_str32);
        new 
PointHurt CreateEntityByName("point_hurt", -1);
        if (
PointHurt)
        {
            
Format(victimid64"victim%d"victim);
            
DispatchKeyValue(victim"targetname"victimid);
            
DispatchKeyValue(PointHurt"DamageTarget"victimid);
            
DispatchKeyValueFloat(PointHurt"Damage"float(damage));
            
DispatchKeyValue(PointHurt"DamageType"dmg_type_str);
            if (!
StrEqual(weapon""true))
            {
                
DispatchKeyValue(PointHurt"classname"weapon);
            }
            
DispatchSpawn(PointHurt);
            if (
IsClientInGame(attacker))
            {
                
AcceptEntityInput(PointHurt"Hurt"attacker, -10);
            }
            else
            {
                
AcceptEntityInput(PointHurt"Hurt", -1, -10);
            }
            
RemoveEdict(PointHurt);
        }
    }
    return ;
}

VomitPlayer(targetsender)
{
    if (
target)
    {
        if (
target == -1)
        {
            return ;
        }
        if (
GetClientTeam(target) == 2)
        {
            
SDKCall(sdkVomitSurvivortargetsender1);
        }
        return ;
    }
    return ;
}

CreateAcidSpill(iTargetiSender)
{
    
decl Float:vecPos[3];
    
GetClientAbsOrigin(iTargetvecPos);
    
vecPos[2] += 16.0;
    new 
iAcid CreateEntityByName("spitter_projectile", -1);
    if (
IsValidEntity(iAcid))
    {
        
DispatchSpawn(iAcid);
        
SetEntPropFloat(iAcidPropType:0"m_DmgRadius"1024.00);
        
SetEntProp(iAcidPropType:0"m_bIsLive"any:140);
        
SetEntPropEnt(iAcidPropType:0"m_hThrower"iSender0);
        
TeleportEntity(iAcidvecPosNULL_VECTORNULL_VECTOR);
        
SDKCall(sdkDetonateAcidiAcid);
    }
    return ;
}

public 
Action:Command_Show(clientargs)
{
    
PrintToChatAll("\x03==========================\x09\x09\x09\x09\x03");
    
PrintToChatAll("\x04|插件名稱:女巫咒怨\x09\x09\x09\x09\x09\x09\x04");
    
PrintToChatAll("\x04|插件作者:奇奈cheryl\x09\x09\x09\x04");
    
PrintToChatAll("\x03==========================\x09\x09\x09\x09\x03");
    return ;


Last edited by cacaopea; 07-31-2019 at 22:05.
cacaopea is offline
Reply


Thread Tools
Display Modes

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 07:58.


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