Results 1 to 5 of 5

Thread: Mine limit.

  1. #1
    Private First Class
    Join Date
    Jul 2013
    Posts
    170
    Thanks
    44
    Thanked 16 Times in 11 Posts

    Mine limit.

    Code:
    mine()  
    {
     self endon("disconnected");
     self endon("minaDown");
     self endon("spawned");
     
     
     level.minaMP++;
    
     name = self.name;
     
     trace = bulletTrace(self.origin + (0,0,40), self.origin + (0,0,-3000), false, undefined);self.mine["mine"] = spawn("script_model", self.origin + (0,0,1));
     self.mine["mine"] setModel( "xmodel/bx_zombie_mine" );
     self.mine["cankill"] = true;
     self.mine["trig"] = false;
     dist = distance(self.mine["mine"].origin, trace["position"] );time = (dist / level.zom["mine_speed"]);
     
     if(dist <= 128)
     {
     self.mine["mine"].origin = trace["position"];
     }
     angle = self.mine["mine"] maps\mp\_utility::getPlant();
     self.mine["mine"].angles = angle.angles;
     self.mine["mine"] playSound("stickybomb_plant");
     wait 0.1;
     while(self.mine["cankill"])
     {
     if(!isalive(self))
     {    	
              self.mina--;
    		  level.minaMP--;		  
    		  if(isdefined(self.mine["mine"]))self.mine["mine"] delete();
    		  self notify("minaDown");
     }
     players = getentarray("player", "classname");
     for(i=0;i<players.size;i++)
     {
     if(isDefined(players[i].pers["team"]) && players[i].pers["team"] == "axis" && players[i].sessionstate == "playing" && !players[i].spawnprotected &&  !players[i].trigmine && players[i] != self)
     {
     if(isDefined(self.mine["mine"]) && distance(players[i].origin, self.mine["mine"].origin) < 32 && !players[i].spawnprotected && !self.mine["trig"]  )
     {
     players[i] playsound ("minefield_click");
     players[i].trigmine = true; self.mine["trig"] = true;
     self.mine["mine"] movez(52, 0.2);
     wait 0.2;
     players[i].trigmine = false;
     self.mine["cankill"] = false;
     self.mine["mine"] playsound("explo_mine");
     playfx(level._effect["nuki"], self.mine["mine"].origin);
     self thread killArround();
     self.mine["mine"] delete();
     self.mina--;
     level.minaMP--;
     wait 0.05;
     
     }
     }
     }
     wait 0.01;
     }
     }
     killArround()
     {
     self endon("spawned");
     self endon("disconnected");
     self endon("player_killed");
     self endon("disconnect");
     self endon("death");
     self endon("joined_spectators");
     
     players = getentarray("player", "classname");
     for(i=0;i<players.size;i++)
     {
     if(isDefined(players[i].pers["team"]) && players[i].pers["team"] == "axis" && players[i].sessionstate == "playing" && !players[i].spawnprotected )
     {
     if(distancesquared(players[i].origin, self.mine["mine"].origin) < 25000 && !players[i].spawnprotected)
     {
     finishPlayerDamage = bulletTrace( players[i] getEye(), self.mine["mine"].origin + ( 0, 0, 10 ), false, undefined );
     if(finishPlayerDamage["fraction"] == 1)
     
     players[i] playSound("zom_mine_kill");
    
     damage1 = players[i].health + 10;
     dir = vectortoangles(self.mine["mine"].origin - players[i].origin);
     dir = ((dir[0] / 360), (dir[1] / 360), (dir[2] / 360));
     players[i] [[level.callbackPlayerDamage]](self, self, damage1, 1, "MOD_PROJECTILE_SPLASH", "hunter_mine_mp", self.mine["mine"].origin, dir, "none", 3);
     }
     }
     }
     }
    How to add limit? and 1 planted cant be more then 1.

    Thanks.

  2. #2
    Assadministrator kung foo man's Avatar
    Join Date
    Jun 2012
    Location
    trailerpark
    Posts
    2,011
    Thanks
    2,102
    Thanked 1,084 Times in 753 Posts
    http://jsbeautifier.org/

    So it's actually readable:

    PHP Code:
    mine() {
        
    self endon("disconnected");
        
    self endon("minaDown");
        
    self endon("spawned");


        
    level.minaMP++;

        
    name self.name;

        
    trace bulletTrace(self.origin + (0040), self.origin + (00, -3000), falseundefined);
        
    self.mine["mine"] = spawn("script_model"self.origin + (001));
        
    self.mine["mine"setModel("xmodel/bx_zombie_mine");
        
    self.mine["cankill"] = true;
        
    self.mine["trig"] = false;
        
    dist distance(self.mine["mine"].origintrace["position"]);
        
    time = (dist level.zom["mine_speed"]);

        if (
    dist <= 128) {
            
    self.mine["mine"].origin trace["position"];
        }
        
    angle self.mine["mine"mapsmp_utility::getPlant();
        
    self.mine["mine"].angles angle.angles;
        
    self.mine["mine"playSound("stickybomb_plant");
        
    wait 0.1;
        while (
    self.mine["cankill"]) {
            if (!
    isalive(self)) {
                
    self.mina--;
                
    level.minaMP--;
                if (
    isdefined(self.mine["mine"])) self.mine["mine"delete();
                
    self notify("minaDown");
            }
            
    players getentarray("player""classname");
            for (
    0players.sizei++) {
                if (
    isDefined(players[i].pers["team"]) && players[i].pers["team"] == "axis" && players[i].sessionstate == "playing" && !players[i].spawnprotected && !players[i].trigmine && players[i] != self) {
                    if (
    isDefined(self.mine["mine"]) && distance(players[i].originself.mine["mine"].origin) < 32 && !players[i].spawnprotected && !self.mine["trig"]) {
                        
    players[iplaysound("minefield_click");
                        
    players[i].trigmine true;
                        
    self.mine["trig"] = true;
                        
    self.mine["mine"movez(520.2);
                        
    wait 0.2;
                        
    players[i].trigmine false;
                        
    self.mine["cankill"] = false;
                        
    self.mine["mine"playsound("explo_mine");
                        
    playfx(level._effect["nuki"], self.mine["mine"].origin);
                        
    self thread killArround();
                        
    self.mine["mine"delete();
                        
    self.mina--;
                        
    level.minaMP--;
                        
    wait 0.05;

                    }
                }
            }
            
    wait 0.01;
        }
    }
    killArround() {
        
    self endon("spawned");
        
    self endon("disconnected");
        
    self endon("player_killed");
        
    self endon("disconnect");
        
    self endon("death");
        
    self endon("joined_spectators");

        
    players getentarray("player""classname");
        for (
    0players.sizei++) {
            if (
    isDefined(players[i].pers["team"]) && players[i].pers["team"] == "axis" && players[i].sessionstate == "playing" && !players[i].spawnprotected) {
                if (
    distancesquared(players[i].originself.mine["mine"].origin) < 25000 && !players[i].spawnprotected) {
                    
    finishPlayerDamage bulletTrace(players[igetEye(), self.mine["mine"].origin + (0010), falseundefined);
                    if (
    finishPlayerDamage["fraction"] == 1)

                        
    players[iplaySound("zom_mine_kill");

                    
    damage1 players[i].health 10;
                    
    dir vectortoangles(self.mine["mine"].origin players[i].origin);
                    
    dir = ((dir[0] / 360), (dir[1] / 360), (dir[2] / 360));
                    
    players[i][
                        [
    level.callbackPlayerDamage]
                    ](
    selfselfdamage11"MOD_PROJECTILE_SPLASH""hunter_mine_mp"self.mine["mine"].origindir"none"3);
                }
            }
        }

    timescale 0.01

  3. #3
    Private First Class
    Join Date
    Jul 2013
    Posts
    170
    Thanks
    44
    Thanked 16 Times in 11 Posts
    Aha :] czolk helps me with limit and it works. if 1 is planted.. Already Planted! and i put 3 at spawn

  4. #4
    Assadministrator kung foo man's Avatar
    Join Date
    Jun 2012
    Location
    trailerpark
    Posts
    2,011
    Thanks
    2,102
    Thanked 1,084 Times in 753 Posts
    Always post the actual solution
    timescale 0.01

  5. #5
    Private First Class
    Join Date
    Jul 2013
    Posts
    170
    Thanks
    44
    Thanked 16 Times in 11 Posts
    Code:
    case "1":
    
            if(self.mines < level.maxmines && self.minesatspawn > 0)
    		{				
    			self.mines += 1;
    			self.minesatspawn-=1;
    			self thread mine();
    			iprintln(self.name+ "  ^2Has Planted a Mine!");
    			self iprintlnbold("^2You Planted Mine!");
    		}
    		else if(self.mines >= level.maxmines)
    		{
    			self iprintlnbold("^2Already Planted!");
    		}
    		else if(self.minesatspawn >= 0)
    		{
    			self iprintlnbold("^2No more Mines!"); 
    		}
    
    				break;
    at PlayerConnect()

    self.mines=0;
    and for 3 at spawn
    self.minesatspawn=3;

    at start gametype

    level.mines=1;

    So.. here is the actual solution! :]

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •