Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

[DEV]Character Display v170+

Infraction Baɴɴed
Loyal Member
Joined
Apr 9, 2008
Messages
1,416
Reaction score
169
it may come as a shock that i decided to come back but i never felt satisfied with how it ended. i wanted to do something to my abilities and finish it right...

so now onto this thread:
i wanted to see the fastest way to load the coords is now with all files output the same information.
RESULTS:
Code:
Loading 1 json file and parsing it 50 times took: 0.013000965118408
Loading 1 ini file and parsing it 50 times took: 0.0060000419616699
Loading 1 ini file and parsing with processing sections (ON) it 50 times took: 0.0060000419616699
Loading 1 xml file and parsing it 50 times took: 0.019001007080078
heres the code so you can try it yourself if you want to test the results
test.php
Code:
<?php
set_time_limit(120);
class timer {
    private $start;
    private $end;

    public function timer() {
        $this->start = microtime(true);
    }

    public function Finish() {
        $this->end = microtime(true);
    }

    private function GetStart() {
        if (isset($this->start))
            return $this->start;
        else
            return false;
    }

    private function GetEnd() {
        if (isset($this->end))
            return $this->end;
        else
            return false;
    }

    public function GetDiff() {
        return $this->GetEnd() - $this->GetStart();
    }


    public function Reset() {
        $this->start = microtime(true);
    }
}

$times = 50;
echo "Loading 1 json file and parsing it ".$times." times took: ";
$timer = new timer();
for($i=0; $i<$times; $i++) {
    $json = json_decode(file_get_contents("./test.json"));
}
$timer->Finish();
echo $timer->getDiff()."<br />";

echo "Loading 1 ini file and parsing it ".$times." times took: ";
$timer->Reset();
for($i=0; $i<$times; $i++) {
    $ini = parse_ini_file("./test.ini");
}
$timer->Finish();
echo $timer->getDiff()."<br />";

echo "Loading 1 ini file and parsing with processing sections (ON) it ".$times." times took: ";
$timer->Reset();
for($i=0; $i<$times; $i++) {
    $ini = parse_ini_file("./test.ini", true);
}
$timer->Finish();
echo $timer->getDiff()."<br />";

echo "Loading 1 xml file and parsing it ".$times." times took: ";
$timer->Reset();
for($i=0; $i<$times; $i++) {
    $xml = simplexml_load_file("./test.xml");
}
$timer->Finish();
echo $timer->getDiff()."<br />";
?>
test.json
Code:
[{"ID":"20000","x":-12,"y":4,"z":"face"}]
test.ini
Code:
[0]
ID=20000
x=-12
y=4
z=face
test.xml
Code:
<?xml version="1.0" encoding="UTF-8" ?>
<imgdir>
    <_0>
        <ID>20000</ID>
        <x>-12</x>
        <y>4</y>
        <z>face</z>
    </_0>
</imgdir>

so heres what i have now *characters donated graciously by @Rampenbram
vYbuVYM - [DEV]Character Display v170+ - RaGEZONE Forums

as you can see there isnt a lot showing. it has to do with how to order the layers and i can only do so much with the little amount donated to me.
im basically at the point i need more characters to do the fine details. i have 2 options either host my own server and build the character table myself *might take forever* or request assistance from another server that already has the character table established.
if you want to help test this code further please dont hesitate to email me.
 

Attachments

You must be registered for see attachments list
may web.very maple.pls.
Loyal Member
Joined
Aug 12, 2009
Messages
1,810
Reaction score
606
It's annoyingly painful to work on a GD, i had to put my revision of my old GD on hold(stopped at cape effects) due to finals and what not. I have almost everything minus gloves, shield and weapons. I will resume after finals a bit and finish everything but weapons. I am trying to also add the new images like some shoes have like 3 images(see my GD dev with the attack on titan stuff). Also try tackling the new weapons, last I remember, I had trouble trying to get the dual bow to show.

I wish you luck on the weapon generations, it's annoying to do..
 
Infraction Baɴɴed
Loyal Member
Joined
Apr 9, 2008
Messages
1,416
Reaction score
169
@iAkira
for me it will just be displayed based off the z value with some checks here and there and it should work no problem.

i noticed with your xml2json converter is way to hard coded.
heres a snipt of how dynamic my script will be:
Code:
public function accessory($z) {
        if(isset($this->accessory)) {
            foreach($this->accessory as $s) {
                foreach($s['ini'] as $accessory) {
                    if(isset($accessory['z']) && $accessory['z'] == $z) {
                        self::useImage($accessory['image'], $accessory['x'], $accessory['y']);
                    }
                }
            }
        }
    }
that will go through all 3 of the accessory ids and display it based off the z value called.

@greenelfx
trust me i did a lot of testing with it and basically figured out that simplexmlelement and xpath work well together.
heres a little snipt of the converter which is dynamic in locating the correct directory to get the info
Code:
$stand1 = @$xml->xpath("/imgdir/imgdir[@name='stand1']/imgdir[@name='0']")[0];
$stand2 = @$xml->xpath("/imgdir/imgdir[@name='stand2']/imgdir[@name='0']")[0];
$uol = array_slice(explode("/", (string)@$stand1->uol['value']), 2);

dont want to give to much away with my converter cause of reasons lol
 
may web.very maple.pls.
Loyal Member
Joined
Aug 12, 2009
Messages
1,810
Reaction score
606
@iAkira
for me it will just be displayed based off the z value with some checks here and there and it should work no problem.

i noticed with your xml2json converter is way to hard coded.
heres a snipt of how dynamic my script will be:
Code:
public function accessory($z) {
        if(isset($this->accessory)) {
            foreach($this->accessory as $s) {
                foreach($s['ini'] as $accessory) {
                    if(isset($accessory['z']) && $accessory['z'] == $z) {
                        self::useImage($accessory['image'], $accessory['x'], $accessory['y']);
                    }
                }
            }
        }
    }
that will go through all 3 of the accessory ids and display it based off the z value called.

@greenelfx
trust me i did a lot of testing with it and basically figured out that simplexmlelement and xpath work well together.
heres a little snipt of the converter which is dynamic in locating the correct directory to get the info
Code:
$stand1 = @$xml->xpath("/imgdir/imgdir[@name='stand1']/imgdir[@name='0']")[0];
$stand2 = @$xml->xpath("/imgdir/imgdir[@name='stand2']/imgdir[@name='0']")[0];
$uol = array_slice(explode("/", (string)@$stand1->uol['value']), 2);

dont want to give to much away with my converter cause of reasons lol
Yeah I know but how are you finding the new z values? I manage to find new z-values by running the XMLs file and store the z values into an array and display all the possible z value that category has. The function you gave is for the character image display in the php, but you still need a way to find the new values curious how you would do it

Also some z value are either repetitive, useless blank images, and/or empty. I double check for repetitive canvases with the same image, also check for blank images (width=1, and height = 1) and what not, Nexon isn't the most organized when it comes to this stuff, they had a special canvas with a special z value for a single cape which was a cat..

Nontheless, I wish you luck on this, I always enjoyed some of your GD work as well!
 
Infraction Baɴɴed
Loyal Member
Joined
Apr 9, 2008
Messages
1,416
Reaction score
169
source = image from linked directory
uol = replace values with linked directory

thats what i gathered from my script.

this snipt
Code:
$stand1 = @$xml->xpath("/imgdir/imgdir[@name='stand1']/imgdir[@name='0']")[0];
$stand2 = @$xml->xpath("/imgdir/imgdir[@name='stand2']/imgdir[@name='0']")[0];
$uol = array_slice(explode("/", (string)@$stand1->uol['value']), 2);
is basically part of the heart of my converter which makes it dynamic and useable with other wz directories.

as for the z values i have a separate script but comprised mainly of my converter for the z values. empty array at the start and if the value isnt in the array add it to the array and if its there pass over it. then at the end dump the results.

my script gathers all valid canvas nodes and adds it to the file with the z value so in my coords file just foreach all canvas names to get the z value that matches with the z value called in character then display. which would be basically how all my layers would work execpt the order is now the issue. the snipt you saw in my 2nd post is how im dealing with the accessory ids since there are 3 different ids accessing 1 directory.

heres my z value dump
Code:
[accessory]
0=accessoryFace
1=accessoryFaceBelowFace
2=accessoryFaceOverFaceBelowCap
3=capeOverHead
4=weaponBelowArm
5=accessoryEyeBelowFace
6=accessoryEye
7=accessoryEyeOverCap
8=hairOverHead
9=accessoryOverHair
10=accessoryEarOverHair
11=accessoryEar
12=capOverHair
[cap]
0=cap
1=capAccessoryBelowBody
2=capBelowAccessory
3=backHair
4=backCap
5=capOverHair
6=capBelowBody
7=capAccessoryBelowAccFace
8=backHairOverCape
9=accessoryEar
10=capBelowHead
11=capeBelowBody
12=0
13=accessoryEyeOverCap
14=body
15=hairBelowBody
16=backCapOverHair
17=weaponBelowBody
18=capBelowHair
[cape]
0=capeBelowBody
1=backCape
2=capeOverHead
3=cape
4=capeBelowHair
5=backWing
6=capOverHair
7=0
8=capeOverWepon
9=mailArmBelowHead
10=armOverHair
11=gloveWristBelowMailArm
[coat]
0=mailChest
1=mailArm
2=mailChestBelowPants
3=mailChestOverHighest
4=mailChestOverPants
5=characterStart
6=capeBelowBody
[face]
0=face
[glove]
0=gloveOverBody
1=glove
2=gloveOverHair
3=gloveWrist
4=gloveWristOverHair
5=gloveWristOverBody
6=gloveBelowMailArm
7=gloveWristBelowWeapon
[hair]
0=hairOverHead
1=hair
2=hairBelowBody
3=hairBelowHead
[longcoat]
0=mailChestOverHighest
1=mailArm
2=mailChest
3=mailChestOverPants
4=mailChestBelowPants
5=pantsOverShoesBelowMailChest
6=backMailChest
7=capeBelowBody
8=mailArmOverHair
9=pantsOverMailChest
10=mailChestTop
11=pantsBelowShoes
12=accessoryFaceOverFaceBelowCap
13=pants
14=backWing
15=gloveWristOverHair
16=capAccessoryBelowBody
[pants]
0=pants
1=pantsBelowShoes
2=pantsOverShoesBelowMailChest
3=pantsOverMailChest
[shield]
0=shieldBelowBody
1=shield
[shoes]
0=shoes
1=shoesOverPants
2=shoesTop
3=gloveWristBelowMailArm
4=pantsOverMailChest
5=capAccessoryBelowBody
6=mailChestTop
7=weaponOverBody
and boy there are some odd balls in there.

for my new display its now being displayed based off the z value and not mix of canvas name and z value.


i have no idea what your talking about with width and height = 1 cause i dont deal with those dimensions but my xml dump isnt from harepack. just use that program to see better what the heck is inside the xml

weapons are going to be a little tricky cause nx weapons arent stored normally but with a simple check for parent node should be simple enough right???? LOL :p
 
Infraction Baɴɴed
Loyal Member
Joined
Apr 9, 2008
Messages
1,416
Reaction score
169
can anyoen expaklin what is character display/ GD meaning?
that my friend is what you see on website to see what characters in game look like hence the name character display.

GD is the library php uses to manipulate images in a single canvas like the canvas tag in html5. GD doesnt have a official meaning but widely accepted as Graphic Draw.
 
Last edited:
Joined
Apr 10, 2008
Messages
4,087
Reaction score
1,264
that my friend is what you see on website to see what characters in game look like hence the name character display.

GD is the library php uses to manipulate images in a single canvas like the canvas tag in html5. GD doesnt have a official meaning but widely accepted as Graphic Draw.

oh i see

anyways why is it so hard to make it work? i mean i've never seen a real ranking page with real images of characters that displays everything
seems so easy 2 do
 
Infraction Baɴɴed
Loyal Member
Joined
Apr 9, 2008
Messages
1,416
Reaction score
169
oh i see

anyways why is it so hard to make it work? i mean i've never seen a real ranking page with real images of characters that displays everything
seems so easy 2 do
so it would seem

heres an example k since i know you worked on a NPC script. why not make 1 massive file for all NPC chat. you can do that right, yes, just its pointless cause everytime a player interacts with a npc that massive file has to be loaded and depending on the person its loaded into memory or loaded everytime that npc is interacted. still you get hit with a performance hit regardless.

same thing applys with ours display system. the individual img folders have to be created for every single item possible a character can wear. now we condense that information even further by only extracting what we need to display those images correctly. for me i condensed the 654MB character.wz file into 29MB *not including weapons*. again seems easy enough but the thing is all the information you need to gather to display these images correctly isnt always straight forward. theres uols and source nodes you have to deal with so not all directories are made equal.

thats just getting the information, displaying it is a different ball game cause certain items block others and other items go over another but with a different id that order is now switched? you have to understand the format that the character.wz is in to get the information you need and to then display that as if the client would in game.

seems easy yea but VERY VERY time consuming to get it like the client...

look at my z value dump a couple posts ago and thats how the character order is supposed to be. but youll notice that yes there are some that are obvious but there are some that are a little out there so further testing is required.
 
Infraction Baɴɴed
Loyal Member
Joined
Apr 9, 2008
Messages
1,416
Reaction score
169
creaked it for weapons so now i can gather both regular and NX weapons.

heres 1 of the extracted information but both types:
regular
Code:
[info]
id=1212000
vslot=Wp
stand=1
[weapon]
1.x=-12
1.y=53
1.z=weapon
1.image="iVBORw0KGgoAAAANSUhEUgAAAFkAAAAgCAYAAAB5JtSmAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHISURBVGhD7ZnRkYMwDETpiRZoIbXQAi1cC9cCLdBCWrgWOK1s6WTOAWfifGXfzMbYkA/eaJyMNZBu7DnkDahcYNc5pBP7tm1J8LLtw13Gr+8Uiu6CygXDNKvkff/ZV/lEcBfPpEdJKybMR1TxMN6SZK1iMSuiTbauUXQzSaiMAOM8z3ptqOgpiYZcVvPzqGRkWRYV53uxVbJsF+JYRWNkJbdjkuBTsTkq2UVnybZtqGwKfohLRMZx9GB+rOa4phWN8N9FFRcWpZrYmLhV5DWg1/e7lC4qOM9x45OJIk6lSiJx7ez+cf0jiC9fSK2IJY0U4i6kIqQRl0ap/SjEUWofCnFRakUseQIXdyEVIY0U4ii1D4W4KLUiljRSiLuQipBGXBql/qf28nF+vGfYuoZS67gEI8+Bz8MBSZEotSKWCOlM1DKl89J1XVUSTqAQrAFInKbpTCpCAumQWeR528QOocebHlDrMzkAslmt7bhgawJan0pFi2RgWwSEW0Xrd0kTXsEuGA1BqWIDW4ZVs8kN3QHSgFatN/5yIzBuFw/EUvKTqGDI9SYg+lQiGG0V+/HLIS/wJxcVLDkIJp3wioXgMCdvgHK7MQy/QTHek4x1B9UAAAAASUVORK5CYII="
nx
Code:
[info]
id=1701000
vslot=Wp
[weapon]
1.x=16
1.y=36
1.z=weaponOverArm
1.image="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"
2.x=8
2.y=41
2.z=weaponWristOverGlove
2.image="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"

now my full attention is on the z order so if anyone that can help please email me so i can use a database to further get the order right.
 
Infraction Baɴɴed
Loyal Member
Joined
Apr 9, 2008
Messages
1,416
Reaction score
169
with a few extra lines of code i can now do either ini files or json files
Code:
	private function saveINI($wz, $id, $array) {
		$string = NULL;
		foreach( $array as $imgdir => $values) {
			$string .= "[".$imgdir."]\n";
			foreach( $values as $key => $value) {
				$string .= $key."='".$value."'\n";
			}
		}
		$file = fopen("php/".implode("/", array($wz, $id)).".ini", "w+");
		fwrite($file, $string);
		fclose($file);
	}
	
	private function saveJSON($wz, $id, $array) {
		$file = fopen("js/".implode("/", array($wz, $id)).".json", "w+");
		fwrite($file, json_encode($array));
		fclose($file);
	}

so now i figure with how powerful jquery is i can better debug the layer issue with ajax calls, since i have yet to have anyone help supply characters.

when i get this done to my liking expect the option of either using it with html5 or php
 
Infraction Baɴɴed
Loyal Member
Joined
Apr 9, 2008
Messages
1,416
Reaction score
169
update:
qTFdJbK - [DEV]Character Display v170+ - RaGEZONE Forums


top row is html5
bottom row is php

as you can see html5 has more showing cause ive been working on that one more then the php. if i get html5 the way i like i can port it to php easily.

still looking for people to provide me some characters so i can further get the layering right
 

Attachments

You must be registered for see attachments list
Infraction Baɴɴed
Loyal Member
Joined
Apr 9, 2008
Messages
1,416
Reaction score
169
found the patterns in the vslots of caps to hide hairs and accessories so now everything back end works.

all thats left is to get done is the layering and i believe ill be 100% done and it will work for v170 and lower.



heres a teaser as to whats to come
EELhcKq - [DEV]Character Display v170+ - RaGEZONE Forums


had to resort to making my own personal localhost server to create and test characters and in the downtime i added a extra feature. dont know if people will use it tho
 

Attachments

You must be registered for see attachments list
Last edited:
Infraction Baɴɴed
Loyal Member
Joined
Apr 9, 2008
Messages
1,416
Reaction score
169
havent given up just nothing to report then like 99% done. just working out a few layering placement issues and a small bug back end for stance 1 and 2 images.

everything will be tested for 142.2... dont have a 172.2 server to test a few extra values that are not in 142
 
Infraction Baɴɴed
Loyal Member
Joined
Apr 9, 2008
Messages
1,416
Reaction score
169
of course im going to release this. i want people to use my code and see how many actually use it. by having many people use it means i did something right.

i dont seek money for this, just to expand my abilities.

i took darkmagics idea many years ago and expanded massively to the point of where its at now. so yea ill be releasing this for everyone to use and ill upload it to git when im satisfied where its at. the compiler and other scripts to help me get the code done, no that is for me alone.

so when its done expect to be able to use php or html5 canvas (still needs php but to output necessary info for html5 to display) with the extra bonus of pets thrown in too ^.^
 
Joined
Jul 12, 2011
Messages
1,229
Reaction score
475
of course im going to release this. i want people to use my code and see how many actually use it. by having many people use it means i did something right.

i dont seek money for this, just to expand my abilities.

i took darkmagics idea many years ago and expanded massively to the point of where its at now. so yea ill be releasing this for everyone to use and ill upload it to git when im satisfied where its at. the compiler and other scripts to help me get the code done, no that is for me alone.

so when its done expect to be able to use php or html5 canvas (still needs php but to output necessary info for html5 to display) with the extra bonus of pets thrown in too ^.^

You should integrate it into MapleBit :D, that would mean people would use it for sure
 
Infraction Baɴɴed
Loyal Member
Joined
Apr 9, 2008
Messages
1,416
Reaction score
169
is that the current hot CMS right now? i mean its not hard to implement my script into anyones CMS just include the database file and get rid of the connect line and change the query to that the CMS uses and its done.
 
Divine Celestial
Loyal Member
Joined
Sep 29, 2008
Messages
804
Reaction score
219
is that the current hot CMS right now? i mean its not hard to implement my script into anyones CMS just include the database file and get rid of the connect line and change the query to that the CMS uses and its done.

Yeah, MapleBit is the #1 public CMS rn. I personally can't wait for your release! Many thanks! :)
 
Infraction Baɴɴed
Loyal Member
Joined
Apr 9, 2008
Messages
1,416
Reaction score
169
i believe i have it done (html5) just now time to port it to php. i guess since its tested with v142 its not truely v170+ :( just a few values that arent in 142...

whats the hot db schema structure right now?
 
Infraction Baɴɴed
Loyal Member
Joined
Apr 9, 2008
Messages
1,416
Reaction score
169
how everything is setup. using ourstoryv142 and i see how they saved pets but not sure if thats how all other servers store it.

offtopic
green you want html5 or php implemented into your cms?
 
Back
Top