Jump to content

Recommended Posts

  • Root Admin
Posted

nobody changed the code lately or at least not just before issue appeared. crrnd shouldnt be used for anythign related to this, its more a way to avoid cache.

I am tired to understand now but i want to, what would be the point in moving that param to the end?? param order is irelevant..or am i missing something more obvious in the link below?

 

i recompiled flash, that "fixed" the issue with movie not loading on my end at least..but the numbers are wrong.

 

My guess is that the flash uses a deprecated function to load the data, afterall is 8 years old... and when i recompiled it, the flash loads but the actionscript inside it is still deprecated and fails to properly load the data.

 

 

 

 

 

EDIT : THIS IS A STUPID coding ERROR.

 

old working link :

    crholder=1&siteskin=default&crname=Aramor+Assassin&creature=3&level=3&vitality=634&vitalityMax=1000&id=86798&upgrade=3

new not working link :
    crholder=2&crrnd=1935244391385ee4&siteskin=default&crname=Master+Lorerootian+A&creature=12&level=4&vitality=2300&vitalityMax=2300&id=64336&upgrade=3&collect=

 

Just move the "crrnd=.." at the end. It should work.

Posted (edited)

I am basing my assumption on a basic mistake that most are to ashamed to mention it.

When using an exact list of parameters it is sometimes easier to use the parameters with the order number in the list instead of the name of the parameter.

This is perfectly ok & safe until first change :

 - add a new parameter in the middle of the list

 - skip parameters that are empty

and so on.

 

In the case you mentioned Mur, it is also worth checking if during the recompilation it change the reference between name and id (I've seen this when I did an "de-compile" ).

 

--------------------------------------------

Also, I forgot to mention something that i've seen when I first noticed the issue:

- weird: there is just one creature in my inventory that shows the correct ve/vemax: a plain colorless "Master of puppets".

- I have a creature with vitality=4550, vitalityMax=1750 and it displays 2% instead of 260%. So i guess that it truncates / divide by 100 the value

- most creatures have ve/vemax made up from a series from the default value "123" ??? weird

 

 

--------------------------------------------

This is epic:

 

Just move the "crrnd=.." at the end. It should work.

 

This is assuming that ...  that value isnt needed, i dont know because i havent checked,....

 

Thank you, it made my day.

Edited by No one
Posted (edited)

Now that you made me check it , i tried something else: an online action script extractor.

 

1. we see from UI that the "alfa" is working (dead creatures is shown properly)

var integrity = vitality * 100 / vitalityMax;
var integrityTxt = Math.floor(integrity) + "%";
var vitalityplus = 0;
if(Math.floor(integrity) < 50) {

mcLoader3.loadClip("../img/skin/" + siteskin + "/ico_death.png", "death");
_root.death._alpha = 100 - Math.min(100, Math.floor(integrity));
 

} else {

_root.death._alpha = 0;

}

See that "vitality" and "vitalityMax" are used with no "_root." and as this works, I consider this as valid accessing.

Also, as it works, i consider this valid : "_root.death._alpha ="

 

 

2. vitality is not shown properly, nor computed properly , so where it makes the percentage ("integrity") it is not correct

if(_root.vitalityplus > 0 && _root.vitality < _root.vitalityMax) {

vittx = "grow";
_root.vitality = _root.vitality + 1;
_root.vitalityplus = _root.vitalityplus - 1;
_root.integrity = _root.vitality * 100 / _root.vitalityMax;
_root.integrityTxt = Math.floor(_root.integrity) + "%";
_root.mcloader._alpha = Math.min(100, Math.max(Math.round(_root.integrity), 10));
_root.death._alpha = 100 - Math.min(100, Math.floor(_root.integrity));
_root.reloadbut._alpha = 100 - Math.min(100, Math.floor(_root.integrity));
 

} else {

_root.reloadbut._alpha = 100 - Math.min(100, Math.floor(_root.integrity));
vittx = "p:" + _root.vitalityplus + " v:" + _root.vitality + " vm:" + _root.vitalityMax + "stay";

}

So, my bet is that you need to "initialize" the "_root." object like

_root.vitality = vitality;
_root.vitalityplus = vitalityplus;
...

so that the rest of the code to remain unchanged.

 

[spoiler]

this is the extracted code that I based my "advanced" research on :

// _root, frame 1
var mcLoader1 = new MovieClipLoader();
var mcLoader2 = new MovieClipLoader();
var mcLoader3 = new MovieClipLoader();
var mcLoader4 = new MovieClipLoader();
var mcLoader5 = new MovieClipLoader();
mcLoader1.loadClip("../artworks/creature_" + _root.crrnd + ".png", "mcloader");
if(upgrade && !(upgrade == undefined)) {

mcLoader2.loadClip("../img/skin/" + siteskin + "/cri_ico_upgr" + upgrade + ".png", "upgrade");

}
if(collect && !(collect == undefined)) {

mcLoader5.loadClip("../img/skin/" + siteskin + "/cri_ico_collect.png", "collect");

}
if( typeof tkn == "string" && !(tkn == undefined)) {

mcLoader4.loadClip("../img/interface/tkens.swf", "tokens");

}
debug.text = siteskin + "#" + upgrade;
var integrity = vitality * 100 / vitalityMax;
var integrityTxt = Math.floor(integrity) + "%";
var vitalityplus = 0;
if(Math.floor(integrity) < 50) {

mcLoader3.loadClip("../img/skin/" + siteskin + "/ico_death.png", "death");
_root.death._alpha = 100 - Math.min(100, Math.floor(integrity));
 

} else {

_root.death._alpha = 0;

}
_root.tokens._alpha = Math.min(100, Math.max(Math.round(integrity), 10));
_root.mcloader._alpha = Math.min(100, Math.max(Math.round(integrity), 10));
// symbol11, frame 1
if(_root.vitalityplus > 0 && _root.vitality < _root.vitalityMax) {

vittx = "grow";
_root.vitality = _root.vitality + 1;
_root.vitalityplus = _root.vitalityplus - 1;
_root.integrity = _root.vitality * 100 / _root.vitalityMax;
_root.integrityTxt = Math.floor(_root.integrity) + "%";
_root.mcloader._alpha = Math.min(100, Math.max(Math.round(_root.integrity), 10));
_root.death._alpha = 100 - Math.min(100, Math.floor(_root.integrity));
_root.reloadbut._alpha = 100 - Math.min(100, Math.floor(_root.integrity));
 

} else {

_root.reloadbut._alpha = 100 - Math.min(100, Math.floor(_root.integrity));
vittx = "p:" + _root.vitalityplus + " v:" + _root.vitality + " vm:" + _root.vitalityMax + "stay";

}
// _root, frame 3
stop();
// _root, frame 7
myVars = new LoadVars();
myVars.load("../ui/creatures/do_loadvit.php?max=" + _root.vitalityMax + "&id=" + id);
myVars.onLoad = function(success) {

if(success) {

_root.varsloaded = myVars.varsloaded;
_root.vitalityplus = myVars.vitalityplus;
_root.debug = myVars.debug;
gotoAndPlay("energyplus");
play();
 

}

};
stop();
// _root, frame 10
stop();
// symbol16, frame 193
_root.gotoAndPlay("standby");

[/spoiler]

 

------------------------------------------

But hey, this is from one who didn't touched action script since 2001. Probably my 15 minute of "advanced" checks are wrong.

Edited by No one
  • 8 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Forum Statistics

    17.5k
    Total Topics
    182.1k
    Total Posts
  • Recently Browsing

    • No registered users viewing this page.
  • Upcoming Events

    No upcoming events found
  • Recent Event Reviews

×
×
  • Create New...