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!