Added support for 64bit ticks (#3768)

Fixes #3017

Thanks to Hercules for the idea and their implementation of it.

This deprecates Windows XP support. If you want to use it to run your server on it, you have to forcefully enable it now.
Since 64bit ticks do not exist on XP, you might encounter some issues that are already fixed on other OS.
This commit is contained in:
Lemongrass3110
2018-12-21 00:02:19 +01:00
committed by GitHub
parent 0d816975f7
commit 01f61cfa4f
46 changed files with 495 additions and 424 deletions

View File

@@ -109,7 +109,7 @@ CREATE TABLE IF NOT EXISTS `db_roulette` (
CREATE TABLE IF NOT EXISTS `bonus_script` (
`char_id` INT(11) UNSIGNED NOT NULL,
`script` TEXT NOT NULL,
`tick` INT(11) UNSIGNED NOT NULL DEFAULT '0',
`tick` BIGINT(20) NOT NULL DEFAULT '0',
`flag` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
`type` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0',
`icon` SMALLINT(3) NOT NULL DEFAULT '-1'
@@ -375,7 +375,7 @@ CREATE TABLE IF NOT EXISTS `elemental` (
`mdef` smallint(4) unsigned NOT NULL default '0',
`flee` smallint(4) unsigned NOT NULL default '0',
`hit` smallint(4) unsigned NOT NULL default '0',
`life_time` int(11) NOT NULL default '0',
`life_time` bigint(20) NOT NULL default '0',
PRIMARY KEY (`ele_id`)
) ENGINE=MyISAM;
@@ -873,7 +873,7 @@ CREATE TABLE IF NOT EXISTS `mercenary` (
`hp` int(11) unsigned NOT NULL default '0',
`sp` int(11) unsigned NOT NULL default '0',
`kill_counter` int(11) NOT NULL,
`life_time` int(11) NOT NULL default '0',
`life_time` bigint(20) NOT NULL default '0',
PRIMARY KEY (`mer_id`)
) ENGINE=MyISAM;
@@ -913,7 +913,7 @@ CREATE TABLE IF NOT EXISTS `sc_data` (
`account_id` int(11) unsigned NOT NULL,
`char_id` int(11) unsigned NOT NULL,
`type` smallint(11) unsigned NOT NULL,
`tick` int(11) NOT NULL,
`tick` bigint(20) NOT NULL,
`val1` int(11) NOT NULL default '0',
`val2` int(11) NOT NULL default '0',
`val3` int(11) NOT NULL default '0',
@@ -930,7 +930,7 @@ CREATE TABLE IF NOT EXISTS `skillcooldown` (
`account_id` int(11) unsigned NOT NULL,
`char_id` int(11) unsigned NOT NULL,
`skill` smallint(11) unsigned NOT NULL DEFAULT '0',
`tick` int(11) NOT NULL,
`tick` bigint(20) NOT NULL,
KEY `account_id` (`account_id`),
KEY `char_id` (`char_id`)
) ENGINE=MyISAM;

View File

@@ -0,0 +1,9 @@
ALTER TABLE `bonus_script` MODIFY COLUMN `tick` bigint(20) NOT NULL default '0';
ALTER TABLE `elemental` MODIFY COLUMN `life_time` bigint(20) NOT NULL default '0';
ALTER TABLE `mercenary` MODIFY COLUMN `life_time` bigint(20) NOT NULL default '0';
ALTER TABLE `sc_data` MODIFY COLUMN `tick` bigint(20) NOT NULL;
ALTER TABLE `skillcooldown` MODIFY COLUMN `tick` bigint(20) NOT NULL;