View Single Post
emsit
Member
Join Date: Apr 2015
Old 06-22-2018 , 02:05   Re: [L4D & L4D2] Super Tanks++ (v8.8, 06-21-2018)
Reply With Quote #122

I have modified the super tank to increase health based on the number of players. But I'm going to get some more sophisticated, because it's harder to keep the super tank up to date for me. This could be implemented by the author of the plug-in, or I'll do it later

PHP Code:
public Action tTimerTankSpawn(Handle timerany userid)
{
    
int client GetClientOfUserId(userid);
    if (
bIsBotInfected(client) && bIsTank(client))
    {
        switch (
g_iTankType[client])
        {
            case 
0vSetName(client);
            case 
1vSetName(client"Acidic Tank"truetruetrue25500255"255 0 0");
            case 
2vSetName(client"Ammo Tank"truetruetrue52035255"5 20 35");
            case 
3vSetName(client"Blind Tank"truetruetrue30200255"30 20 0");
            case 
4vSetName(client"Bomber Tank"truetruetrue151515255"15 15 15");
            case 
5vSetName(client"Boomer Tank"truetruetrue0065255"0 0 65");
            case 
6vSetName(client"Charger Tank"truetruetrue25255115255"25 255 115");
            case 
7vSetName(client"Clone Tank"truetruetrue14040255255"140 40 255");
            case 
8vSetName(client"Common Tank"truetruetrue190255250255"190 255 250");
            case 
9vSetName(client"Drug Tank"truetruetrue5520565255"55 205 65");
            case 
10vSetName(client"Fire Tank"truetruetrue2551350255"255 135 0");
            case 
11vSetName(client"Flash Tank"truetruetrue2552550150"255 255 0"RENDER_TRANSTEXTURE);
            case 
12vSetName(client"Flinger Tank"truetruetrue2540130255"25 40 130");
            case 
13vSetName(client"Ghost Tank"truetruetrue150150150150"150 150 150"RENDER_TRANSTEXTURE);
            case 
14vSetName(client"Gravity Tank"truetruetrue25500255"255 0 0");
            case 
15vSetName(client"Healer Tank"truetruetrue255255255255"255 255 255");
            case 
16vSetName(client"Hunter Tank"truetruetrue200200200255"200 200 200");
            case 
17vSetName(client"Hypnotizer Tank"truetruetrue25525045255"255 250 45");
            case 
18vSetName(client"Ice Tank"truetruetrue170240255200"170 240 255"RENDER_TRANSTEXTURE);
            case 
19vSetName(client"Idler Tank"truetruetrue104015255"10 40 15");
            case 
20vSetName(client"Inverter Tank"truetruetrue25065255255"250 65 255");
            case 
21vSetName(client"Jockey Tank"truetruetrue13000255"130 0 0");
            case 
22:
            {
                
vJumperEffect(client);
                
vSetName(client"Jumper Tank"truetruetrue2250205255"225 0 205");
            }
            case 
23vSetName(client"Meteor Tank"truetruetrue200200200255"200 200 200");
            case 
24vSetName(client"Puke Tank"truetruetrue14000255"140 0 0");
            case 
25vSetName(client"Restarter Tank"truetruetrue2252350255"225 235 0");
            case 
26vSetName(client"Rocketeer Tank"truetruetrue25518050255"255 180 50");
            case 
27vSetName(client"Shake Tank"truetruetrue0170255255"0 170 255");
            case 
28:
            {
                if (!
g_bShielded[client])
                {
                    
vShieldAbility(clienttrue);
                }
                
vSetName(client"Shield Tank"truetruetrue25125125255"25 125 125");
            }
            case 
29vSetName(client"Shove Tank"truetruetrue25100255"25 10 0");
            case 
30vSetName(client"Slugger Tank"truetruetrue0050255"0 0 50");
            case 
31:
            {
                
vSmokerEffect(client);
                
vSetName(client"Smoker Tank"truetruetrue200100145255"200 100 145");
            }
            case 
32vSetName(client"Spitter Tank"truetruetrue25580150255"255 80 150");
            case 
33vSetName(client"Stun Tank"truetruetrue25518545255"255 185 45");
            case 
34vSetName(client"Visual Tank"truetruetrue2554010255"255 40 10");
            case 
35vSetName(client"Warp Tank"truetruetrue2251000255"225 100 0");
            case 
36vSetName(client"Witch Tank"truetruetrue25521080255"255 210 80");
        }

////////////////////////////////////////////////////////////////////////////////////////////////////
        //if (g_cvSTExtraHealth[g_iTankType[client]].IntValue > 0) {
        //    int iHealth = GetClientHealth(client);
        //    SetEntityHealth(client, iHealth + g_cvSTExtraHealth[g_iTankType[client]].IntValue);
        //}

        
int ClientCount Client_GetCount(truefalse);
        
int iHealth GetClientHealth(client);
        
int ExtraHealth = (ClientCount 1) ? (g_cvSTExtraHealth[g_iTankType[client]].IntValue 0) ? g_cvSTExtraHealth[g_iTankType[client]].IntValue ClientCount iHealth GetRandomInt(25003500) * ClientCount iHealth : (g_cvSTExtraHealth[g_iTankType[client]].IntValue 0) ? g_cvSTExtraHealth[g_iTankType[client]].IntValue iHealth iHealth;
        
SetEntityHealth(client, (ExtraHealth 62400) ? 62400 ExtraHealth);
////////////////////////////////////////////////////////////////////////////////////////////////////

        
vThrowInterval(clientg_cvSTThrowInterval[g_iTankType[client]].FloatValue);
    }
}

stock int Client_GetCount(bool countInGameOnly=truebool countFakeClients=true)
{
    
int numClients 0;

    for (
int client=1client <= MaxClientsclient++) {

        if (!
IsClientConnected(client)) {
            continue;
        }

        if (
countInGameOnly && !IsClientInGame(client)) {
            continue;
        }

        if (!
countFakeClients && IsFakeClient(client)) {
            continue;
        }

        
numClients++;
    }

    return 
numClients;

__________________


Last edited by emsit; 06-22-2018 at 02:15.
emsit is offline