• Unfortunately, we have experienced significant hard drive damage that requires urgent maintenance and rebuilding. The forum will be a state of read only until we install our new drives and rebuild all the configurations needed. Please follow our Facebook page for updates, we will be back up shortly! (The forum could go offline at any given time due to the nature of the failed drives whilst awaiting the upgrades.) When you see an Incapsula error, you know we are in the process of migration.

[TUT] Fix the stacking problem with your furniture!

Status
Not open for further replies.
Joined
Apr 24, 2013
Messages
1,685
Reaction score
1,133
Especially people who run a Europian server or host their hotel on their Europian PC/Laptop have the problem that furniture doesn't keep it's place where it's stacked once a room is reloaded. There can be two factors which cause this problem:
1. Your MySQL is in strict mode. (causes TRUNCATED errors)
2. Your decimal notation is a , instead of a .

So how the 2@(*&*(# are we going to solve this issue? Well, it's pretty simple.
1. Run this SQL in your database:
PHP:
SET @@global.sql_mode = '';
And restart your MySQL and emulator. After you've done this, you should check if it worked!!!11!!
Run this SQL in your database:
PHP:
SELECT @@global.sql_mode;
If your result looks something like , you're allright, YEAH YEAH YEAH.
If it didn't, then continue with reading this step.
Go to C:\Program Files\MySQL\MySQL Server 5.1 and click on the my.ini file. Hit CTRL+F and search for 'sql-mode'. It should come up with:
PHP:
 sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
Change that to:
PHP:
 sql-mode="NO_STRICT_TRANS_TABLES, NO_ENGINE_SUBSTITUTION"
Hit save, restart your MySQL and your emulator and you're fine!
2. Go to start -> Control panel -> -> (some servers may call it Region & Language) -> Set the .
Restart your WEBSERVER (not your whole server, no no no, that’s not necessary) and your emulator and you’re done.
(This is not going to affect the language your keyboard is set to or your Windows is set to)


I hope this was a helpful tutorial for you guys, if you need some extra help, make sure to leave a reaction! :)
 
Junior Spellweaver
Joined
Aug 8, 2009
Messages
139
Reaction score
13
Nice, Tutorial but this didn't work for me after I changed the sql mode it won't let me start the server now.... It says

[Warning] C:/Program Files/MySQL/MySQL Server 5.5/bin\mysqld: Forcing close of thread 3 user: 'root'
[Warning] C:/Program Files/MySQL/MySQL Server 5.5/bin\mysqld: Forcing close of thread 2 user: 'root'
[Warning] C:/Program Files/MySQL/MySQL Server 5.5/bin\mysqld: Forcing close of thread 1 user: 'root'

Also, I'm having some issues with my PHPRetro when somebody register's it doesn't save their account in the Database... And I can't seem to start my HoloGraph...

This what I get when I try starting my Emulator!

Untitled - [TUT] Fix the stacking problem with your furniture! - RaGEZONE Forums 1 - [TUT] Fix the stacking problem with your furniture! - RaGEZONE Forums

Thanks,
Matthew
 

Attachments

You must be registered for see attachments list
Joined
Apr 24, 2013
Messages
1,685
Reaction score
1,133
Nice, Tutorial but this didn't work for me after I changed the sql mode it won't let me start the server now.... It says

[Warning] C:/Program Files/MySQL/MySQL Server 5.5/bin\mysqld: Forcing close of thread 3 user: 'root'
[Warning] C:/Program Files/MySQL/MySQL Server 5.5/bin\mysqld: Forcing close of thread 2 user: 'root'
[Warning] C:/Program Files/MySQL/MySQL Server 5.5/bin\mysqld: Forcing close of thread 1 user: 'root'

Also, I'm having some issues with my PHPRetro when somebody register's it doesn't save their account in the Database... And I can't seem to start my HoloGraph...

This what I get when I try starting my Emulator!

View attachment 136779View attachment 136780

Thanks,
Matthew
I'm sorry to disappoint you, but I'm really not into Holograph Emulator, I don't know the solution to your problems. ):
 
Initiate Mage
Joined
Feb 15, 2013
Messages
3
Reaction score
0
need your a backup??? than can you backup import or maybe install the same version on your PC and extract the. ini file from that folder from arte rest on your vps and then you do differently than those that mysql does;)
 
Experienced Elementalist
Joined
Nov 25, 2009
Messages
253
Reaction score
35
Nice, Tutorial but this didn't work for me after I changed the sql mode it won't let me start the server now.... It says

[Warning] C:/Program Files/MySQL/MySQL Server 5.5/bin\mysqld: Forcing close of thread 3 user: 'root'
[Warning] C:/Program Files/MySQL/MySQL Server 5.5/bin\mysqld: Forcing close of thread 2 user: 'root'
[Warning] C:/Program Files/MySQL/MySQL Server 5.5/bin\mysqld: Forcing close of thread 1 user: 'root'

Also, I'm having some issues with my PHPRetro when somebody register's it doesn't save their account in the Database... And I can't seem to start my HoloGraph...

This what I get when I try starting my Emulator!

View attachment 136779View attachment 136780

Thanks,
Matthew

For the first problem, perhaps this helps:

If it doesn't, just backup your database and reinstall MySQL completly, but select to disable Strict Mode when installing...

Just had a look at Holograph and the funny thing is, the column minrank is a integer and not a boolean, so I am really confused what they are trying to do by converting a Integer into an Boolean and then into a Byte?!
(EDIT1: Just looked it up, it's a tinyint, so it's probably the MySQL equivalent of an boolean, but I don't know how the required rank is being set???)
(Perhaps it's just the info that THERE IS a minrank, but not which???)

So I just had a look at the MSDN and found this:
Holograph was originally compiled against a .NET Framework <= 3.5, and until 3.5 the bool.parse function did the following:
If the String is equivalent to the String "true" then the function returned true, else false.

Since .NET 4 it returns true if the String is equals "true" and false if the string is equals "false".
But if the string is neither "true" nor "false" the function just fails and throws an exception.

So just replacing
Code:
objPage.minRank = Convert.ToByte(bool.Parse(pageData[1]));
(line 73 in Source/Managers/catalogueManager.cs at my version)

with
Code:
objPage.minRank = Convert.ToByte((pageData[1] == "1"));
should do the trick

EDIT2: Just found out what they are doing and this leads to the fact, that my upper solution is wrong.
The devlopers of Holograph tread the tinyint as a (U)INT8, which is equivalent to exactly one byte...
Going to dig further to find a solution...

EDIT3:
Found it, and it was quite easy, but I can't test right now, as I haven't got any dcr's anymore...
You will have to replace
Code:
objPage.minRank = Convert.ToByte(bool.Parse(pageData[1]));
(line 73 in Source/Managers/catalogueManager.cs at my version)
with

Code:
objPage.minRank = Convert.ToByte( Int32.Parse(pageData[1]));

Which is quite funny, because now we're parsing a String into a Int32 and from there back into a UInt8/byte
 
Last edited:
Status
Not open for further replies.
Back
Top