2022-05-07 12:25:27 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
error_reporting(E_ERROR | E_PARSE);
|
|
|
|
set_time_limit(-1);
|
|
|
|
ini_set('max_input_time', '-1');
|
|
|
|
ini_set('max_execution_time', '0');
|
|
|
|
session_start();
|
|
|
|
ob_start();
|
|
|
|
|
2022-06-21 01:27:08 +00:00
|
|
|
require_once './config.php';
|
|
|
|
require_once './_pdo.php';
|
2022-05-07 12:25:27 +00:00
|
|
|
|
2022-06-21 01:27:08 +00:00
|
|
|
require_once './src/D2Functions.php';
|
2022-06-26 19:41:06 +00:00
|
|
|
require_once './src/D2ByteReader.php';
|
2022-06-29 04:54:27 +00:00
|
|
|
require_once './src/D2BitReader.php';
|
|
|
|
require_once './src/D2Item.php';
|
2022-07-03 10:13:50 +00:00
|
|
|
require_once './src/D2Char.php';
|
2022-05-07 12:25:27 +00:00
|
|
|
|
2022-06-21 01:27:08 +00:00
|
|
|
define('DB_FILE', $_SESSION['modname'] . ".db");
|
|
|
|
PDO_Connect("sqlite:" . DB_FILE);
|
2022-05-07 12:25:27 +00:00
|
|
|
|
2022-06-21 01:27:08 +00:00
|
|
|
$sql = "SELECT * FROM strings";
|
|
|
|
$strings = PDO_FetchAssoc($sql);
|
2022-05-07 12:25:27 +00:00
|
|
|
|
2022-06-21 13:06:41 +00:00
|
|
|
$sql = "SELECT code,namestr
|
|
|
|
FROM armor
|
2022-06-21 01:27:08 +00:00
|
|
|
UNION SELECT code,namestr
|
|
|
|
FROM misc
|
|
|
|
UNION SELECT code,namestr
|
2022-06-29 04:54:27 +00:00
|
|
|
FROM weapons";
|
2022-06-21 13:06:41 +00:00
|
|
|
$namestr = PDO_FetchAssoc($sql);
|
2022-05-07 12:25:27 +00:00
|
|
|
|
2022-06-29 04:54:27 +00:00
|
|
|
$sql = "SELECT ID,Stat,CSvBits FROM itemstatcost WHERE Saved=1";
|
|
|
|
$ISCData = PDO_FetchAll($sql);
|
|
|
|
foreach ($ISCData as $k => $v) {
|
|
|
|
$ISC[$v['ID']] = $v;
|
|
|
|
}
|
|
|
|
|
2022-06-21 01:27:08 +00:00
|
|
|
//$filePath = "D:\Diablo II\MODS\ironman-dev\save\Aldur.d2s";
|
|
|
|
//$filePath = "D:\Diablo II\MODS\MedianXL2012\save\Lok.d2s";
|
|
|
|
//$filePath = "D:\Diablo II\MODS\MedianXL2012\save\Pal.d2s";
|
2022-06-29 04:54:27 +00:00
|
|
|
//$filePath = "D:\Diablo II\MODS\MedianXL2012\save\Test.d2s";
|
2022-05-07 12:25:27 +00:00
|
|
|
|
|
|
|
|
2022-07-03 10:13:50 +00:00
|
|
|
$filePath = "Test.d2s";
|
|
|
|
$char = new D2Char($filePath);
|
|
|
|
//$char->setAllSkills(56);
|
|
|
|
//$char->setSkill(1, 99);
|
|
|
|
//$char->setChar("CharacterClass", 1); // 127
|
|
|
|
$char->setChar("CharacterLevel", 0);
|
|
|
|
$char->setStat("strength", 30);
|
|
|
|
$char->setStat("energy", 30);
|
|
|
|
$char->setStat("dexterity", 30);
|
|
|
|
$char->setStat("vitality", 30);
|
|
|
|
$char->setStat("mana", 120);
|
|
|
|
$char->setStat("maxmana", 200);
|
|
|
|
$char->setStat("stamina", 80);
|
|
|
|
$char->setStat("maxstamina", 120);
|
2022-05-07 12:25:27 +00:00
|
|
|
|
2022-06-29 07:53:27 +00:00
|
|
|
|
2022-07-03 10:13:50 +00:00
|
|
|
unset($char); // destroy $char so we can read it again after writing to it to get updated stats
|
2022-06-29 04:54:27 +00:00
|
|
|
|
2022-07-03 10:13:50 +00:00
|
|
|
$char = new D2Char($filePath);
|
|
|
|
var_dump($char->cData['stats']);
|