AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Plugin/Gameplay Ideas and Requests (https://forums.alliedmods.net/forumdisplay.php?f=60)
-   -   [l4d2] this plugin ..Help Modified , request (New upload) (https://forums.alliedmods.net/showthread.php?t=317796)

login101 07-30-2019 06:13

[l4d2] this plugin ..Help Modified , request (New upload)
 
3 Attachment(s)
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.

Pilo 07-30-2019 10:11

Re: [l4d2] Someone fix this plugin ..Help
 
Decompiled ?

login101 07-30-2019 12:15

Re: [l4d2] Someone fix this plugin ..Help
 
Quote:

Originally Posted by Pilo (Post 2661150)
Decompiled ?


Is it possible to operate?

I can not speak English very well

Really sorry

dustinandband 07-30-2019 17:35

Re: [l4d2] this plugin ..Help Modified , request
 
Editing that would be a huge headache.

Do you have the original source code?

login101 07-30-2019 18:22

Re: [l4d2] this plugin ..Help Modified , request
 
Quote:

Originally Posted by dustinandband (Post 2661205)
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? ㅠ _ ㅠ

luis enrique 07-30-2019 20:29

Re: [l4d2] this plugin ..Help Modified , request
 
sorry what this plugins does

cacaopea 07-31-2019 03:38

Re: [l4d2] this plugin ..Help Modified , request
 
Do you have smx file ?,upload it so everyone knows what it is !!

login101 07-31-2019 16:54

Re: [l4d2] this plugin ..Help Modified , request
 
Quote:

Originally Posted by cacaopea (Post 2661253)
Do you have smx file ?,upload it so everyone knows what it is !!


There is

I upload

login101 07-31-2019 17:01

Re: [l4d2] this plugin ..Help Modified , request
 
2 Attachment(s)
Quote:

Originally Posted by cacaopea (Post 2661253)
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 ..

cacaopea 07-31-2019 22:04

Re: [l4d2] this plugin ..Help Modified , request (New upload)
 
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 ;




All times are GMT -4. The time now is 08:40.

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