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!

Sandurr's SMD Converter!

Joined
Jul 24, 2006
Messages
881
Reaction score
580
Probably a map from a private server that has implemented their own file encryption.
Good luck finding the decryption key and recoding the smd exporter.
 
RZA-PT | KilroyPT
Joined
Aug 27, 2007
Messages
936
Reaction score
85
open the files in hex editor and compare the headers first, im sure if its sandurrs files he would have gone to a whole other level of encryption though
 
Moderator
Staff member
Moderator
Joined
Feb 22, 2008
Messages
2,404
Reaction score
723
First of all try changing the header using an hex editor to the one the reader is expecting. I think its 0.72 or .75... can´t remember. Anyway, just open a regular SMD that works and check the header for the version
 
Newbie Spellweaver
Joined
Aug 20, 2019
Messages
6
Reaction score
1
Place smd model into a folder path which has no spaces in it.

C:/SMDConversion/test.smd = Good Path
C:/SMD Conversion/test.smd = Bad Path

Ok. I will try.
Another question... Which best version 3d max, for open priston archives? 6..7...8..?

Tbank you
 
Newbie Spellweaver
Joined
Aug 20, 2019
Messages
6
Reaction score
1
First of all try changing the header using an hex editor to the one the reader is expecting. I think its 0.72 or .75... can´t remember. Anyway, just open a regular SMD that works and check the header for the version

I'm trying since my last post.
I'm sad. I could not succeed with smdreader. the program just crashNow if I test with BPT files, it creates the .ase :(Any ideas on what I can do? @SunnyZ @SheenBR somedoby ? :*:
 
Last edited:
Joined
Jul 24, 2006
Messages
881
Reaction score
580
I'm trying since my last post.
I'm sad. I tried changing the header, for the server files that I want to change some things, I could not succeed with smdreader. the program just crashNow if I test with BPT files, it creates the .ase :(Any ideas on what I can do? @SunnyZ @SheenBR somedoby ? :*:

Why not share the map file you are trying to open up so we can take a look at it?
 
Newbie Spellweaver
Joined
Aug 20, 2019
Messages
6
Reaction score
1

Attachments

You must be registered for see attachments list
Last edited:
Joined
Jul 24, 2006
Messages
881
Reaction score
580
Yeah, this is a weapon file, not a map file.
Some private servers have encrypted their model data differently in order to prevent people stealing models.
This appears to be the case here.

Easiest thing to do in a case such as this is rip the 3d model directly from game memory.
You can use
Go in game, find a player with the weapon model you want, then export entire scene.

Find the weapon you want in the exported 3d world model and go from there.

That's how I went about extracting 3d models of weapons from Guild Wars 2 for a friend who wanted their weapons in PT.
 
Last edited:
Newbie Spellweaver
Joined
Aug 20, 2019
Messages
6
Reaction score
1
Yeah, this is a weapon file, not a map file.
Some private servers have encrypted their model data differently in order to prevent people stealing models.
This appears to be the case here.

Easiest thing to do in a case such as this is rip the 3d model directly from game memory.
You can use
Go in game, find a player with the weapon model you want, then export entire scene.

Find the weapon you want in the exported 3d world model and go from there.

That's how I went about extracting 3d models of weapons from Guild Wars 2 for a friend who wanted their weapons in PT.

Well, first of all I would like to thank you.Then apologize, because I thought the smd reader created by Sandurr would focus on any kind of .smd files.
Returning to the first post you write @SunnyZ, I read with attention . And now I "saw" the part that says "This tool reads the .smd file and translates it into .ase file. Which can be used for further edits.The tool can read all smd files. Stage, models, animated models and boned models. "

Now about the type of item I want to change. I would like to create custom "flags" related to some events to make them better visualized when they drop. There is a tool from the old Rpt, but the "flags" are small, I would like to make the "flags" biggerThe item I uploaded in my previous post refers to a Christmas event item that is occurring on the server.
I also tested a weapon file, in this case Extreme Ax, got the Wartale file (they say it's the old Realm Priston Tale) and got the bpt file. Now I think it's explained, why I couldn't use smd reader in the Wartale file, but I was able to use it in the BPT file. The bpt file creates the .ase with content, but when I try to open from wartale, the smd reader "crash" and the generated .ase file goes blank.
about this link , you did that ? :eek:tt::thumbup1:
 
Last edited:
Joined
Jul 24, 2006
Messages
881
Reaction score
580
I did not make that model. I used that 3d ripper program to rip it from Guild Wars.


Yeah, the smd reader CAN open map, item, npc and monster smd files and convert them to ase.
How ever again, some private servers use different encryption to prevent theft.

I'm like 99% sure I was the first to make "flags" for vital event items, or at least I publicised it, made it popular.

lRQw9mz - Sandurr's SMD Converter! - RaGEZONE Forums


It's very easy to do. Just make a flag model skin it, export as ase and name it the same file as what you want to replace in clients DropItem folder.

Alternatively you can just simply edit one of my flags in notepad/winhex.

Download Flag:

jfwkTPe - Sandurr's SMD Converter! - RaGEZONE Forums


Just change the path of the texture for the flag to inventory image of said image.

SMD: hex editor
GAsxfJo - Sandurr's SMD Converter! - RaGEZONE Forums


ASE: note pad
Ug84jZB - Sandurr's SMD Converter! - RaGEZONE Forums


Just bare in mind, quite a few quest based items use the same drop model file because yedang were lazy coders.

Good luck
 

Attachments

You must be registered for see attachments list
Newbie Spellweaver
Joined
Aug 20, 2019
Messages
6
Reaction score
1
Thank's .

So, I found the Realm Pt TOOls tool, noticed what the .smd files looked like after being replaced with the ones inside the tool.And I had found out from notepad, just what you presented. I started creating flags by changing the; TGA file path to the .BMP filefor example for the file itda193.smd changed the path from Image \ sinImage \ Items \ DropItem \ itda193.tga to Image \ sinImage \ Items \ DropItem \ itda193.bmp making the flagBut I saw one day, in a video that the player who was streaming, had bigger flags than the ones I got, I asked for the file in the stream, but he said he had edited in 3ds and would not play. I just said that, and I'm trying to do it myself now.I will see your flag file. Thanks, anything, I return to the topic.

I am afraid of opening websites and programs.And the worst happens. I downloaded 3ds 2012 and smdreader, but for now I will not risk downloading Hex editor or accessing the previously mentioned site, to avoid something.

i go use notepad for see your archive flags , thank so much

Another question, can I use newer versions of 3ds?Why I spent days looking for the 2012 version and saw in your screenshot that used 2020

Note edit : i found archive at topic "3ds Max 2019/2020 64bit ASE Import Plugin" thank's
 
Last edited:
Experienced Elementalist
Joined
Nov 8, 2004
Messages
279
Reaction score
36
hi guys, now kinda get a small patch for the ASE importer, so im make it work with the physique :eek:tt1::eek:tt1:
Just atm having some troubles with some models where im guess are some bones unconnected like with fury

The main change was on this function, as those who knows, getting the vertex count on the importer was the trouble, this function uses IPhysiqueInterface class, but also may work directly with IPhysiqueImport from Phyexp.h (wich also i tried first, but i liked the IPhysiqueInterface more)
Code:
void AsciiImp::FinalizePhysique()
{
	//From the list compiled before we can now build the physique data
	BOOLEAN itsOK = true;
	for( int i = 0; i < physList.size(); i++ )
	{
		Phys * p = physList[i];

		if( p )
		{
			TSTR nodeName = p->GetNodeName();
			INode * meshNode = GetNodeByName(nodeName);			
			//ERRORBOX("Reading %s , vert: %d", p->GetNodeName(), p->GetBonesNames().size());
			if(meshNode)
			{
				CreatePhysiqueModifier(meshNode);
				//Use Physique Interface
				IPhysiqueInterface* phyint = new IPhysiqueInterface();
				vector<TSTR> bonesNames = p->GetBonesNames();
				if (bonesNames.size() > 0) {
					//make the vertexlist with the 1st bone
					TSTR boneName = bonesNames[0];
					INode* pBoneNode = GetNodeByName(boneName);
					phyint->Initialize(meshNode, pBoneNode);
					phyint->AttachToNode(meshNode, pBoneNode);
					//Update the work --the following line is the big secret --
					meshNode->EvalWorldState(0);
					if (bonesNames.size() == phyint->GetVertexCount(meshNode)) {
						for (int j = 0; j < bonesNames.size(); j++) {
							TSTR boneName = bonesNames[j];
							pBoneNode = GetNodeByName(boneName);
							phyint->SetVertexBone(meshNode, j, pBoneNode);
						}
						//Update the work
						meshNode->EvalWorldState(0);
					}
					else {
						ERRORBOX("diff #bones %d & #vertex %d ", bonesNames.size(), phyint->GetVertexCount(meshNode));
					}
				}
				delete phyint;
			}
			delete p;
		}
	}
	physList.clear();
}

Also im changed a bit the function to create the modifier with some thing i found on internet, not sure if this also helps but for any case i left here.
Code:
/** Creates a DerivedObject from object. If object is a DerivedObject, a derived object using the same base
object and the same modifiers is created. If not, a derived object with object as base object is created
(not modifiers are assigned in this case)*/
IDerivedObject* createDerivedObject(Object* object)
{
	IDerivedObject* createdDerivedObject = 0;
	if ((object->ClassID() == derivObjClassID) || (object->ClassID() == WSMDerivObjClassID))
	{
		Object* baseObject = object;

		// Modifiers are applied to the object, acquire the base object
		while (baseObject->SuperClassID() == GEN_DERIVOB_CLASS_ID)
		{
			IDerivedObject* derivedObject = (IDerivedObject*)baseObject;
			baseObject = derivedObject->GetObjRef();
		}

		// Object is a derived object
		IDerivedObject* derivedObject = (IDerivedObject*)object;

		createdDerivedObject = CreateDerivedObject(baseObject);

		for (int i = 0, count = derivedObject->NumModifiers(); i < count; ++i)
		{
			createdDerivedObject->AddModifier(derivedObject->GetModifier(i));
		}
	}
	else
	{
		// Create the derived object for the target and the modifier
		createdDerivedObject = CreateDerivedObject(object);
	}
	return createdDerivedObject;
}


Modifier * AsciiImp::CreatePhysiqueModifier(INode *pNode)
{
	//We create here the Physique Modifier

	Object* ObjectPtr = pNode->GetObjectRef();
	if (!ObjectPtr)
	{
		MessageBoxA( 0, "ObjectPtr is NULL", "ERROR CreatePhysiqueModifier", 0 );
		return NULL;
	}

	IDerivedObject *DerivedObjectPtr = createDerivedObject(ObjectPtr);

	Modifier * mod = (Modifier*)CreateInstance( OSM_CLASS_ID, Class_ID(PHYSIQUE_CLASS_ID_A, PHYSIQUE_CLASS_ID_B) );
	if( !mod )
	{
		MessageBoxA( 0, "CreateInstance failed", "CreatePhysiqueModifier", 0 );
		return NULL;
	}

	DerivedObjectPtr->AddModifier(mod);	
	pNode->SetObjectRef(DerivedObjectPtr);
	return mod;
}
 
Initiate Mage
Joined
May 8, 2022
Messages
1
Reaction score
0
@diroba it will error if there is no SMD nor ASE file to build off, during login it checks the files and if they arent there it will crash.

Use the SMD converter to build the ASE off the original SMD,
Remove the SMD from the field folder and put the ASE in its place.
Then open the game and go to that field. it will then build the SMD from the ase (first load may drop you into an abyss, second load should be fine)

Ty ty ty! Love u.
 
Newbie Spellweaver
Joined
Mar 5, 2019
Messages
37
Reaction score
4
Hello SunnyZ, first of all thanks for your tool! I'm trying to edit the mounts models, but are many servers that have them packed in a mounts.xpk like Wartales, so I finaly found one that have in a smd format, but seems that the header is not 0.62, its 0.66, could you please provide support for this kind of version?. I'm attaching a file. Thanks.
 
Moderator
Staff member
Moderator
Joined
Feb 22, 2008
Messages
2,404
Reaction score
723
Since this is private to some servers that are using not released public source codes, meaning custom features, I doubt anyone will have the solution out of the box to fix it, since it would require analyzing the file structure all over again to find out what needs to be changed.
 
Newbie Spellweaver
Joined
Mar 5, 2019
Messages
37
Reaction score
4
Since this is private to some servers that are using not released public source codes, meaning custom features, I doubt anyone will have the solution out of the box to fix it, since it would require analyzing the file structure all over again to find out what needs to be changed.

I understand, but the original priston tale server has mounts, the problem is that it doesn't have a folder called "mounts", as it appears on custom servers, do you know what are the names of the files that contain the mounts? Those could be opened without problems with the smd converter.
 
Moderator
Staff member
Moderator
Joined
Feb 22, 2008
Messages
2,404
Reaction score
723
Back in the day when this tool was created, no server had mounts. This was first developed by sandurr in his server and after source leaked, it was created by other guys.

So no, I don't think this tool will ever work on these custom smds nor anybody will update it to make it work with them.
 
Newbie Spellweaver
Joined
Sep 6, 2011
Messages
77
Reaction score
42
Hello SunnyZ, first of all thanks for your tool! I'm trying to edit the mounts models, but are many servers that have them packed in a mounts.xpk like Wartales, so I finaly found one that have in a smd format, but seems that the header is not 0.62, its 0.66, could you please provide support for this kind of version?. I'm attaching a file. Thanks.

It's a new SMD Version made by me and Zaryad.

The entire structure file was changed and encrypted.
 
Back
Top