PDA

View Full Version : plusscore



malyczolg
22nd February 2013, 18:40
hello i have problem .
scrpt : _plusscore

error:
http://speedy.sh/dWPB9/plus.jpg


precache
precacheString(&"IZNO_PLUS");

on :

Callback_StartGameType()
thread maps\mp\gametypes\_plusscore::init();


if(sMeansOfDeath == "MOD_MELEE")
{
attacker thread maps\mp\gametypes\_plusscore::plusscore();
attacker.plusscore+=2000;
attacker.scoretoshow=200;



init()
{
precachestring(&"");
precachestring(&"+");
game["precached_plusscore_strings"] = true;
}

plusscore(score)
{
if(!isdefined(game["precached_plusscore_strings"]))
{
iprintln("Plusscore strings not precached. Call init() on startgametype...");
return;
}
if(!isplayer(self))
{
iprintln("Plusscore not called on a player. Go fix this before you try anything else!");
return;
}
if(!isdefined(self.izno_plusscore)) //first run
{
self.izno_plusscore = newclienthudelem(self);
self.izno_plusscore.instance = 0;
self.izno_plusscore.score = score;
self.izno_plusscore.horzAlign = "center";
self.izno_plusscore.vertAlign = "middle";
self.izno_plusscore.alignX = "center";
self.izno_plusscore.alignY = "middle";
self.izno_plusscore.x = 0; //middle of screen
self.izno_plusscore.y = -40; //just above middle of screen
self.izno_plusscore.alpha = 0.3;
self.izno_plusscore.fontscale = 0.5;
}
else //not first-run
{
if(self.izno_plusscore.alpha < 0.3 || self.izno_plusscore.score == 0)
self.izno_plusscore.alpha = 0.3;
if(self.izno_plusscore.fontscale < 0.5 || self.izno_plusscore.score == 0)
self.izno_plusscore.fontscale = 0.5;
self.izno_plusscore.instance++;
self.izno_plusscore.score += score;
}
if(self.izno_plusscore.score < 0)
{
self.izno_plusscore.color = (235/255,10/255,10/255); //negative scores are red
self.izno_plusscore.label = &"";
}
else
{
self.izno_plusscore.color = (1,230/255,125/255); //yellow-ish
self.izno_plusscore.label = &"+";
}
self.izno_plusscore setvalue(self.izno_plusscore.score);

current_instance = self.izno_plusscore.instance;
make_bigger = true;
more_opaque = true;
steady_opaque_timer = 0;
alpha_done = false;
size_done = false;
while(isdefined(self) && current_instance == self.izno_plusscore.instance && !(alpha_done && size_done))
{
if(make_bigger && self.izno_plusscore.fontscale < 2)
self.izno_plusscore.fontscale += 0.35;
else if(make_bigger)
make_bigger = false;
else if(self.izno_plusscore.fontscale > 2)
self.izno_plusscore.fontscale -= 0.2;
else
{
size_done = true;
self.izno_plusscore.fontscale = 1.5;
}

if(more_opaque && self.izno_plusscore.alpha <= 0.9) //dont overflow this
self.izno_plusscore.alpha += 0.1;
else if(more_opaque && steady_opaque_timer == 20)
more_opaque = false;
else if(more_opaque)
steady_opaque_timer++;
else if(self.izno_plusscore.alpha >= 0.1) //dont underflow this
self.izno_plusscore.alpha -= 0.1;
else
{
alpha_done = true;
self.izno_plusscore.alpha = 0;
}
wait 0.05;
}
if(!isdefined(self))
return;
if(current_instance == self.izno_plusscore.instance)
{
wait 0.5;
if(isdefined(self) && self.izno_plusscore.instance == current_instance)
self.izno_plusscore.score = 0;
}
}

kung foo man
22nd February 2013, 19:09
Should normally work


thread maps\mp\gametypes\_plusscore::init();

Can you remove "thread"? I think it shall work with it also, but i dont see any other bug atm.



Also, please use [php]-Tag for code. And upload images to forum, not some external site:

166

malyczolg
22nd February 2013, 20:01
Should normally work


thread maps\mp\gametypes\_plusscore::init();

Can you remove "thread"? I think it shall work with it also, but i dont see any other bug atm.



Also, please use [php]-Tag for code. And upload images to forum, not some external site:

166

maps\mp\gametypes\_plusscore::init();
?

malyczolg
22nd February 2013, 20:15
ok it work ,
but does not show the text +10/20, etc.

if(sMeansOfDeath == "MOD_MELEE")
{
attacker thread maps\mp\gametypes\_plusscore::plusscore();
attacker.plusscore+=10;
attacker.scoretoshow=10;
}

IzNoGoD
22nd February 2013, 22:28
call with a score in the ().

Like plusscore(10);

Also

test with developer 1 instead of developer 0
You would have found the bug by now if you did...

malyczolg
23rd February 2013, 06:55
******* script compile error *******
bad syntax: (file 'czolg/zom.gsc', line 700)
attacker.plusscore(10);
*
************************************

who can help me ?

kung foo man
23rd February 2013, 07:55
Write:


attacker thread maps\mp\gametypes\_plusscore::plusscore(10);

malyczolg
23rd February 2013, 08:52
if(sMeansOfDeath == "MOD_HEAD_SHOT")
{
attacker.head++;
attacker.lol++;
attacker thread maps\mp\gametypes\_plusscore::plusscore(10);
}
doesnt work not show the text +10/20, etc.

malyczolg
25th February 2013, 13:44
Close topic plz :)

kung foo man
25th February 2013, 14:06
You found the bug? Please post solution. :)

Also we dont close threads, there is no sense in that.

malyczolg
25th February 2013, 14:40
i add :
attacker.plusscore+=50;
attacker.scoretoshow=50;


if(sMeansOfDeath == "MOD_HEAD_SHOT")
{
attacker.head++;
attacker.lol++;
attacker thread maps\mp\gametypes\_plusscore::plusscore(50);
attacker.plusscore+=50;
attacker.scoretoshow=50;
attacker huntyaudobriy\_showhead::init();
attacker.lol++;
attacker.omg++;
attacker drczolg\_rank::checkRank();
attacker.score = attacker.score + GetCvarInt("scr_zom_alliesPointsForKilling");
}

IzNoGoD
25th February 2013, 15:57
Let me repeat myself from the other thread:

What are you even trying to do?

attacker thread maps\mp\gametypes\_plusscore:plusscore(150);

Makes it show +150. Period.
Change it to 300 to show +300.

Changing other vars MIGHT work but are dirty hacks and as long as you have no clue what you are doing you should stay away from that!