View Single Post
  #1  
Old 09-01-2011, 08:04 PM
imbavik imbavik is offline
Mercia
imbavik's Avatar
Join Date: Apr 2011
Location: Norway
Posts: 23
imbavik has a little shameless behaviour in the past
Send a message via MSN to imbavik
Exclamation Hp System, damage var

i have a Health system im working on, and it seems to work, it's just that i dont know what variable i will use to my damage, like in a othere weapon as "Guns/AK47" etc.

My Gun Script look's like this.
PHP Code:
join("class_gun");
//#CLIENTSIDE
function onCreated() {

  
this.gun.spread = .053;
  
this.gun.speed = 5;
  
this.gun.reload= 50;
  
this.gun.load = 50;
  
this.gun.firerate = 1;
  
this.gun.firegani = "testfire";
  
this.gun.bulletgani = "imbavik_bullet";

} 
and here is the gun_class that its joined to:
PHP Code:
//#CLIENTSIDE

function onWeaponFired() {
  while (
keydown(4)) {
    
FireGun();
    
sleep(this.gun.firerate);
  }
}

function 
FireGun() {

  
setani(this.gun.firegani, "");
  
temp.angl = getangle(vecx(player.dir), vecy(player.dir))+random(this.gun.spread*-1,this.gun.spread);
  
shoot(player.x + 0.5 + vecx(player.dir), player.y + vecy(player.dir), player.z, temp.angl, 0, 0, this.gun.bulletgani, player.dir);
} 

and here is the -System/Health:

PHP Code:
/*
Health System worked on by Imbavik!
*/

serverr.hp = 100;
function 
onActionServerSide( cmd, acc, damage, guild )
{
switch ( 
cmd )
{
case 
"createHP":
{
clientr.hp_max = serverr.hp;
clientr.hp_cur = serverr.hp;
break;
}
case 
"revivePlayer":
{
player.chat = "DEAD!";
clientr.speed = 0;
sleep(5);
player.chat = "";
clientr.speed = 0.6;
clientr.hp_cur = clientr.hp_max;
client.mode = ("idle");
break;
}
 case 
"setHP":
    {
      
clientr.hp_cur = acc;
      break;

      case 
"playerKilled":
    {
      
setani("dead", NULL);
      
client.mode="dead";

     
clientr.speed=0;
      
sleep(3);
      
client.mode="idle";
      
setani("idle", "");
      
clientr.speed=0.6;

      break;

 case 
"doDamage":
    {
      if ( 
damage < 0 )
      {
        break;
      }
      if ( 
clientr.hp_cur <= 0 )
      {
        break;

      }

      
damage = int( damage );
      
clientr.hp_cur -= damage;




      if ( 
clientr.hp_cur <= 0 )
      {
        
clientr.hp_cur = 0;

        if ( 
acc == player.account )
        {
          if ( 
clientr.stats_points > 0 )
          {
            
clientr.stats_points --;
          }
          
clientr.stats_deaths ++;

        }
        else
        {
          
findPlayer( acc ).clientr.stats_kills ++;
          
findPlayer( acc ).clientr.stats_points += int( random( 1, 5 ) );


          
clientr.stats_deaths ++;

        }

        
serverr.kills ++;

      }
      break;

case 
"hitByBullet":
 {
      if ( 
acc == player.account )
      {
        break;


      }
      if ( 
clientr.hp_cur <= 0 )
      {
        break;

      }

      
damage = int( damage );
      
clientr.hp_cur -= damage;
      
setAni( "hurt", null );



      if ( 
clientr.hp_cur <= 0 )
      {
        
clientr.hp_cur = 0;

        
findPlayer( acc ).clientr.stats_kills ++;
        
findPlayer( acc ).clientr.stats_points += int( random( 1, 5 ) );

        
clientr.stats_deaths ++;
        
serverr.kills ++;
      }
      break;
}
}
}
}
}


}

//#CLIENTSIDE

function onCreated(){
triggerserver( "gui", this.name, "createHP");

  if ( 
clientr.hp_max != serverr.hp )
  {
    
this.hasTriggered = true;
    
triggerserver( "gui", name, "createHP" );
  }
  
setTimer( 0.05 );
}
function 
onTimeOut()
{
  if ( 
clientr.hp_max != serverr.hp )
  {
    if ( ! 
this.hasTriggered )
    {
      
this.hasTriggered = true;
      
triggerserver( "gui", name, "createHP" );
    }
    
setTimer( 0.05 );
    return;
  }

  
player.attr[10] = clientr.hp_cur;
  
player.attr[11] = clientr.hp_max;

  if ( 
clientr.hp_cur <= 0 )
  {

   
triggerserver( "gui", name, "playerKilled");
   
sleed(3);
   
triggerserver( "gui", this.name, "createHP");


    if ( 
clientr.hp_cur < 0 )
    {
      
triggerserver( "gui", name, "setHP", 0 );
    }
  }

  if ( 
clientr.hp_cur > clientr.hp_max )
  {
    
triggerserver( "gui", name, "setHP", 0 );
  }

  
setTimer( 0.05 );
}

function 
onPlayerChats(){
if (
player.chat == "/heal"){
triggerserver( "gui", this.name, "createHP");
}
}

function 
onActionProjectile( acc, damage, guild )
{
triggerserver( "gui", this.name, "hitByBullet", acc, 10, guild );
player.chat = ""SPC clientr.hp_cur SPC "/" SPC clientr.hp_max SPC"";
} 
but what variable do i use in the Gun wnpc ?
i was thinking something like thiso.damage = "12"; etc
but didint work.

btw, i am new to gs2. so please dont judge!

i only need help on how i can change the damage of my weapon whitout changing the damage of all the othere weapons!
__________________
Reply With Quote