コード例 #1
0
ファイル: 1088.php プロジェクト: rwruss/ib3
<?php

echo 'Leave a plot #' . $postVals[1];
// Remove plot from players list of plots
include './slotFunctions.php';
//$slotFile = fopen($gamePath.'/gameSlots.slt', 'rb');
$slotFile = fopen($gamePath . '/gameSlots.slt', 'r+b');
$unitFile = fopen($gamePath . '/unitDat.dat', 'rb');
fseek($unitFile, $pGameID * $defaultBlockSize);
$playerDat = unpack('i*', fread($unitFile, 200));
$plotSlot = new itemSlot($playerDat[20], $slotFile, 40);
print_r($plotSlot->slotData);
$loc = array_search($postVals[1], $plotSlot->slotData);
echo "Delete at " . $loc;
if ($loc) {
    $plotSlot->deleteItem($loc, $slotFile);
}
fclose($unitFile);
fclose($slotFile);
コード例 #2
0
ファイル: 1112.php プロジェクト: rwruss/ib3
<?php

/* This script processes disbanding an army*/
include './slotFunctions.php';
include './unitClass.php';
$unitFile = fopen($gamePath . '/unitDat.dat', 'rb');
$slotFile = fopen($gamePath . '/gameSlots.slt', 'rb');
// Load army data
$trgArmy = loadUnit($postVals[1], $unitFile, 400);
// Confirm that the player can disband the army
if ($trgArmy->get('controller') != $pGameID) {
    exit('error 1-2111');
}
// Load list of units in army
$armyList = new itemSlot($trgArmy->get('unitListSlot'), $slotFile, 400);
// Set the units to not be in any army
for ($i = 1; $i <= sizeof($armyList->slotData); $i++) {
    if ($armyList->slotData[$i] > 0) {
        $trgUnit = loadUnit($armyList->slotData[$i], $unitFile, 400);
        $trgUnit->save('armyID', 0);
    }
}
// Remove the army from the list of player's units
$playerObj = loadPlayer($pGameID, $unitFile, 400);
$unitList = new itemSlot($playerObj->get('unitSlot'), $slotFile, 400);
$unitList->deleteByValue($postVals[1], $slotFile);
fclose($unitFile);
fclose($slotFile);
コード例 #3
0
ファイル: 1117.php プロジェクト: rwruss/ib3
$heldRsc[$thisTrade[11]] = 0;
$heldRsc[$thisTrade[13]] = 0;
$heldRsc[$thisTrade[15]] = 0;
$heldRsc[$thisTrade[17]] = 0;
$heldRsc[$thisTrade[19]] = 0;
// Confirm that the purchasing player has the required resources
$thisPlayer = loadPlayer($pGameID, $unitFile, 400);
$thisHomeCity = loadUnit($thisPlayer->get('homeCity'), $unitFile, 400);
$thisRsc = new itemSlot($thisHomeCity->get('carrySlot'), $slotFile, 40);
for ($i = 1; $i < sizeof($thisRsc->slotData); $i += 2) {
    $heldRsc[$thisRsc->slotData[$i]] = $thisRsc->slotData[$i + 1];
}
$rscCheck = true;
for ($i = 11; $i < 20; $i += 2) {
    if ($heldRsc[$i] < $thisTrade[$i + 1]) {
        exit('Not enough resources');
    }
}
// Confirm that the unit is not in an army
$trgUnit = loadUnit($postVals[1], $unitFile, 400);
if ($trgUnit->get('armyID') > 0) {
    exit('Can\'t sell a unit that is in an army');
}
// Change the controller in the unit's information
$trgUnit->save('controller', $pGameID);
// Add the unit to the new controller's unit list
$playerUnits = new itemSlot($thisPlayer->get('unitSlot'), $slotFile, 40);
$playerUnits->addItem($postVals[1], $slotFile);
fclose($slotFile);
fclose($mercFile);
fclose($unitFile);
コード例 #4
0
ファイル: itemSlotTest.php プロジェクト: rwruss/ib3
<?php

include 'c:/websites/ib3/public_html/slotFunctions.php';
$testFile = fopen('itemSlot.slt', 'r+b');
fseek($testFile, 40 * 10 - 4);
fwrite($testFile, pack('i', 0));
$testSlot = new itemSlot(5, $testFile, 40);
print_r($testSlot->slotData);
echo '<p>';
//$testSlot->addItem(7, $testFile);
$deleteLoc = array_search(7, $testSlot->slotData);
if ($deleteLoc) {
    $testSlot->deleteItem($deleteLoc, $testFile);
}
/*
$addTarget = sizeof($testSlot->slotData);
echo 'Add target os '.$addTarget.'<br>';
$testSlot->addItem($testFile, $sendData, $addTarget);
print_r($testSlot->slotData);
*/
$checkSlot = new itemSlot(5, $testFile, 40);
print_r($checkSlot->slotData);
fclose($testFile);
コード例 #5
0
ファイル: 1066.php プロジェクト: rwruss/ib3
$slotFile = fopen($gamePath . '/gameSlots.slt', 'rb');
$credList = array_filter(unpack("i*", readSlotData($slotFile, $subCityDat[19], 40)));
$approved = array_search($pGameID, $credList);
echo 'Approved level ' . $approved . '<br>';
if ($approved) {
    if ($subCityDat[29] > 0) {
        fseek($unitFile, $subCityDat[29] * $defaultblocksize);
        $parCityDat = unpack('i*', fread($unitFile, 400));
        // Remove from the list of child citys for the parent city
        $childCityList = new itemSlot($parCityDat[30], $slotFile);
        $target = array_search($_SESSION['selectedItem'], $childCityList->slotData);
        if ($target) {
            $childCityList->deleteItem($target, $slotFile);
        }
    }
    // Change the child city to a resource cart/moving group object
    /// Save location of the unit to match that of the city and adjust unit types
    fseek($unitFile, $_SESSION['selectedItem'] * $defaultblocksize);
    fwrite($unitFile, pack('i*', $parCityDat[1], $parCityDat[2], 10, 10, $pGameID, $pGameID, 1, 1, 1));
    /// Update last change time
    fseek($unitFile, $_SESSION['selectedItem'] * $defaultblocksize + 104);
    fwrite($unitFile, pack('i', time()));
    /// Add to list of military units for this player
    fseek($unitFile, $pGameID * $defaultblocksize);
    $playerDat = unpack('i*', fread($unitFile, 400));
    $unitList = new itemSlot($playerDat[22], $slotFile, 40);
    // start, file, size
    $unitList->addItem($_SESSION['selectedItem'], $slotFile);
}
fclose($slotFile);
fclose($unitFile);
コード例 #6
0
ファイル: 1079.php プロジェクト: rwruss/ib3
<?php

include './unitClass.php';
include "./slotFunctions.php";
include "./taskFunctions.php";
$unitFile = fopen($gamePath . '/unitDat.dat', 'r+b');
// Create a new plot task and save the parameters
$taskFile = fopen($gamePath . '/tasks.tdt', 'r+b');
$taskIndex = fopen($gamePath . '/tasks.tix', 'r+b');
$parameters = pack('i*', 0, 0, 1, time(), 0, 0, 6, $_SESSION['selectedItem'], $pGameID, 2);
$newTask = createTask($taskFile, $parameters);
//createTask($taskFile, $taskIndex, $duration, $parameters, $gamePath, $slotFile)
fclose($taskFile);
fclose($taskIndex);
// Add the new plot to the player's list of ongoing plots
fseek($unitFile, $pGameID * $defaultBlockSize);
$playerDat = unpack('i*', fread($unitFile, 200));
$slotFile = fopen($gamePath . '/gameSlots.slt', 'r+b');
if ($playerDat[20] == 0) {
    $newSlot = startASlot($slotFile, $gamePath . '/gameSlots.slt');
    fseek($unitFile, $pGameID * $defaultBlockSize + 76);
    fwrite($unitFile, pack('i', $newSlot));
    $playerDat[20] = $newSlot;
}
$plotSlot = new itemSlot($playerDat[20], $slotFile, 40);
//$targetUnit = new unit($_SESSION['selectedUnit'], $unitFile);
$plotSlot->addItem($newTask, $slotFile);
fclose($slotFile);
echo 'Record this task';
print_r($postVals);
fclose($unitFile);
コード例 #7
0
ファイル: 1082.php プロジェクト: rwruss/ib3
echo 'Char slot for plot is ' . $plotDat[11] . '<br>';
$plotChars = new blockSlot($plotDat[11], $slotFile, 40);
$loc = sizeof($plotChars->slotData);
for ($i = 1; $i <= $plotChars->slotData; $i += 2) {
    if ($plotChars->slotData[$i] == 0) {
        $loc = $i;
        break;
    }
}
// Record plot in list of plaayer plots
fseek($unitFile, $_SESSION['selectedItem'] * $defaultBlockSize);
$unitDat = unpack('i*', fread($unitFile, 200));
//$plotChars->addItem($slotFile, pack('i*', $_SESSION['selectedItem'], 1), $loc);
$plotChars->addItem($slotFile, pack('i*', $pGameID, 1), $loc);
//echo 'Added character to plot at slot '.$plotDat[11];
fseek($unitFile, $unitDat[6] * $defaultBlockSize);
$controllerDat = unpack('i*', fread($unitFile, 200));
echo 'Record plot in slot ' . $unitDat[35] . ' for the unit';
if ($controllerDat[20] == 0) {
    $controllerDat[20] = startASlot($slotFile, $gamePath . '/gameSlots.slt');
    fseek($unitFile, $_SESSION['selectedItem'] * $defaultBlockSize + 136);
    fwrite($unitFile, pack('i', $controllerDat[20]));
}
$charPlots = new itemSlot($controllerDat[20], $slotFile, 40);
$charPlots->addItem($postVals[1], $slotFile);
// Send a message to the player that he has a char invited to a new plot
$trgList[] = $unitDat[6];
sendMessage([$pGameId, $unitDat[6], time(), 1, 0, $postVals[1], $_SESSION['selectedItem']], "", $trgList);
fclose($slotFile);
fclose($unitFile);
fclose($taskFile);
コード例 #8
0
ファイル: 1106.php プロジェクト: rwruss/ib3
for ($i = 3; $i < $pvSize; $i += 2) {
    $checkCount++;
    $neededSpace += $postVals[$i + 1];
    for ($j = 1; $j < sizeof($srcSupply->slotData); $j += 2) {
        if ($postVals[$i] == $srcSupply->slotData[$j] && $postVals[$i + 1] <= $srcSupply->slotData[$j + 1]) {
            $passedCheck++;
            $spotList[$postVals[$i]] = $j + 1;
            break;
        }
    }
}
if ($checkCount != $passedCheck) {
    exit('error 1-6011-' . $checkCount . '/' . $passedCheck);
}
// Confirm that the unit that is receiving the resources has enough space for what is being given.
$dstSupply = new itemSlot($dstUnit->get('carrySlot'), $slotFile, 40);
$dstStorageUsed = 0;
print_r($dstSupply->slotData);
for ($i = 1; $i < sizeof($dstSupply->slotData); $i += 2) {
    $dstStorageUsed += $dstSupply->slotData[$i + 1];
}
if ($dstStorageUsed + $neededSpace > $dstUnit->get('carryCap') && $dstStorageUsed + $neededSpace > 100000) {
    exit('error 2-6011-' . ($dstStorageUsed + $neededSpace) . '/' . $dstUnit->get('carryCap'));
}
// Remove the resources from the source listUnitID
for ($i = 3; $i < $pvSize; $i += 2) {
    $srcSupply->addItemAtSpot($srcSupply->slotData[$spotList[$postVals[$i]]] - $postVals[$i + 1], $spotList[$postVals[$i]], $slotFile);
}
// Index the spots for the destination slot
$dstSpotList = [];
for ($i = 3; $i < sizeof($postVals); $i += 2) {
コード例 #9
0
ファイル: 1072.php プロジェクト: rwruss/ib3
<?php

include './slotFunctions.php';
include './unitClass.php';
echo 'Join battle ' . $postVals[1] . ' on side ' . $postVals[2];
$unitFile = fopen($gamePath . '/unitDat.dat', 'rb');
$slotFile = fopen($gamePath . '/gameSlots.slt', 'r+b');
$mapSlotFile = fopen($gamePath . '/mapSlotFile.slt', 'r+b');
$baseUnit = new warband($_SESSION['selectedUnit'], $unitFile, 400);
$thisBattle = new battle($postVals[1], $unitFile, 100);
// Verify that unit can join battle
// Update unit status and save the battle ID to the unit
$baseUnit->set('status', 2);
$baseUnit->set('battleID', $postVals[1]);
// Remove the unit from the map
$mapSlotNum = floor($baseUnit->get('yLoc') / 120) * 120 + floor($baseUnit->get('xLoc') / 120);
$mapSlotItem = new itemSlot($mapSlotNum, $mapSlotFile, 404);
$location = array_search($_SESSION['selectedUnit'], $mapSlotItem->slotData);
if ($location) {
    $mapSlotItem->deleteItem($location, $mapSlotFile);
}
// Add the unit to the battle list for the selected side
$battleList = new itemSlot($thisBattle->get('sideList_1'), $slotFile, 40);
$battleList->addItem($_SESSION['selectedUnit'], $slotFile);
fclose($unitFile);
fclose($slotFile);
fclose($mapSlotFile);
コード例 #10
0
ファイル: 1004.php プロジェクト: rwruss/ib3
     $unitIndex += 4;
     $armySlot = startASlot($gameSlot, $gamePath . "/gameSlots.slt");
     fseek($unitFile, $armyID * $defaultBlockSize);
     fwrite($unitFile, pack('i*', $startLocation[0], $startLocation[1], 1, 3, $pGameID, $pGameID, 1, $postVals[1], 0));
     fseek($unitFile, $armyID * $defaultBlockSize + 52);
     fwrite($unitFile, pack('i', $armySlot));
     $mLoc = sizeof($mapSlot->slotData);
     for ($i = 1; $i <= sizeof($mapSlot->slotData); $i += 2) {
         if ($mapSlot->slotData[$i] == 0) {
             $mLoc = $i;
             break;
         }
     }
     $mapSlot->addItem($mapSlotFile, pack('i*', $armyID, 0), $mLoc);
     // file, bin value, loc
     $armyObj = new itemSlot($armySlot, $gameSlot, 40);
     $unitList->addItem($armyID, $gameSlot);
 }
 echo 'Army ID is ' . $armyID . '<p>';
 // This records data in the player's data
 /*
 fseek($unitFile, $pGameID*$defaultBlockSize);
 fwrite($unitFile, pack("i*", 1, $postVals[1], $postVals[1], 13)); // Status, Race, Culture, Type
 fseek($unitFile, $pGameID*$defaultBlockSize+36);
 fwrite($unitFile, pack("i", $townSlot));  // Record the town slot
 fseek($unitFile, $pGameID*$defaultBlockSize+72);
 fwrite($unitFile, pack("i", $charSlot));  // Record the characters slot
 fseek($unitFile, $pGameID*$defaultBlockSize+40);
 fwrite($unitFile, pack("i", $townID)); // Population
 
 // Record character as faction leader
コード例 #11
0
ファイル: 1108.php プロジェクト: rwruss/ib3
<?php

// Show a list of units that can be added or removed from an army
include './unitClass.php';
include './slotFunctions.php';
$unitFile = fopen($gamePath . '/unitDat.dat', 'rb');
$slotFile = fopen($gamePath . '/gameSlots.slt', 'rb');
// postvas - > 1 is army ID, 2+ is unit ID
$pvSize = sizeof($postVals);
// verify that player controls the army in question
$trgArmy = loadUnit($postVals[1], $unitFile, 400);
// Load unit list for the army
$armyUnits = new itemSlot($trgArmy->get('unitListSlot'), $slotFile, 40);
$inList = [];
$outList = [];
for ($i = 2; $i < $pvSize; $i++) {
    echo 'Check for unit ' . $postVals[$i];
    if (array_search($postVals[$i], $armyUnits->slotData)) {
        $outList[] = $postVals[$i];
    } else {
        $inList[] = $postVals[$i];
    }
}
// Review units being removed from the army - process all if player controls the army or only the ones that player controls.
for ($i = 0; $i < sizeof($outList); $i++) {
    $outUnit = loadUnit($outList[$i], $unitFile, 400);
    if ($outUnit->get('controller') == $pGameID || $trgArmy->get('controller') == $pGameID) {
        echo 'Remove unit ' . $outList[$i];
        // Process this unit out of the army
        $outUnit->save('armyID', 0);
        $armyUnits->deleteByValue($outList[$i], $slotFile);
コード例 #12
0
ファイル: 1092.php プロジェクト: rwruss/ib3
         echo 'Make a new character.';
         $charSlot = new itemSlot($playerDat[19], $slotFile, 40);
         $charSlot->addItem($useBldg->unitDat[$postVals[2] + 18], $slotFile);
         break;
     case 6:
         // made a new warband
         // Record in player unit list
         echo 'Add to slot ' . $playerDat[22];
         $unitList = new itemSlot($playerDat[22], $slotFile, 40);
         $unitList->addItem($useBldg->unitDat[$postVals[2] + 18], $slotFile);
         break;
     case 8:
         // made a new warband
         // Record in player unit list
         echo 'Add to slot ' . $playerDat[22];
         $unitList = new itemSlot($playerDat[22], $slotFile, 40);
         $unitList->addItem($useBldg->unitDat[$postVals[2] + 18], $slotFile);
         break;
 }
 // Release building production slot
 $useBldg->unitDat[$postVals[2] + 18] = 0;
 // Add unit to map location slot
 $mapSlotNum = floor($trgUnit->unitDat[2] / 120) * 120 + floor($trgUnit->unitDat[1] / 120);
 $mapSlotFile = fopen($gamePath . '/mapSlotFile.slt', 'r+b');
 if (flock($mapSlotFile, LOCK_EX)) {
     $mapSlot = new blockSlot($mapSlotNum, $mapSlotFile, 404);
     /// start, file, size
     $loc = sizeof($mapSlot->slotData);
     for ($m = 1; $m < sizeof($mapSlot->slotData); $m += 2) {
         if ($mapSlot->slotData[$m] == 0) {
             $loc = $m;
コード例 #13
0
ファイル: 1050.php プロジェクト: rwruss/ib3
         //createTask($taskFile, $taskIndex, $duration, $parameters, $gamePath, $slotFile)
         fclose($taskFile);
         echo '<p>Parameters:';
         print_r(unpack('i*', $parameters));
         // Record task in city task list
         // Verify that slot exists and create one if needed.
         if ($cityDat[21] == 0) {
             // Need to create a new slot
             echo 'Making a new slot';
             $cityDat[21] = startASlot($slotFile, $gamePath . '/gameSlots.slt');
             //startASlot($slot_file, $slot_handle)
             fseek($unitFile, $cityID * $defaultBlockSize + 80);
             fwrite($unitFile, pack('i', $cityDat[21]));
         }
         echo 'Record task (' . $newTask . ') in slot ' . $cityDat[21] . '<br>';
         $taskSlot = new itemSlot($cityDat[21], $slotFile, 40);
         $taskSlot->addItem($newTask, $slotFile);
         //addDataToSlot($gamePath.'/gameSlots.slt', $cityDat[21], pack('i', $newTask), $slotFile);
         $checkSlot = new itemSlot($cityDat[21], $slotFile, 40);
         echo 'Result is:<p>';
         print_r($checkSlot->slotData);
         // this is for adding to a map slot -> addtoSlotGen($gamePath.'/gameSlots.slt', $cityDat[21], pack('i', $taskIndex), $slot_file, 40) // function addtoSlotGen($slot_handle, $check_slot, $addData, $slot_file, $slotSize)
     }
 } else {
     if (sizeof($buildingsNeeded) > 0) {
         echo "Need more of the following buildings.";
         print_r($buildingsNeeded);
     }
     if (sizeof($neededRsc) > 0) {
         echo 'Need more of the following resoruces (City)';
         print_r($neededRsc);
コード例 #14
0
ファイル: 1090.php プロジェクト: rwruss/ib3
$pUnitDat = fread($pCharFile, 200);
fclose($pCharFile);
// Save character with stats into game
if (flock($unitFile, LOCK_EX)) {
    fseek($unitFile, 0, SEEK_END);
    $size = ftell($unitFile);
    $newID = $size / $defaultBlockSize;
    fseek($unitFile, $newID * $defaultBlockSize);
    fwrite($unitFile, $pUnitDat);
    flock($unitFile, LOCK_UN);
}
// Add game specific infomration
/// Record locations, controller, etc
fclose($unitFile);
// Add character into player's list of available characters
$unitList = new itemSlot($playerDat[19], $slotFile, 40);
$unitList->addItem($newID, $slotFile);
// Add to map if necessary
/// Load map data
$mapSlotFile = fopen($gamePath . '/mapSlotFile.slt', 'rb');
$mapSlotNum = floor($startLocation[1] / 120) * 120 + floor($startLocation[0] / 120);
$mapSlotDat = new itemSlot($mapSlotNum, $mapSlotFile, 404);
for ($i = 1; $i <= sizeof($mapSlotDat->slotData); $i++) {
    fseek($unitFile, $mapSlotDat->slotData[$i] * $defaultBlockSize);
    $mapCheckDat = unpack('i*', fread($unitFile, 400));
    if ($mapCheckDat[1] == $newLoc[0] && $mapCheckDat[2] == $newLoc[1]) {
        switch ($mapCheckDat[4]) {
            /// Add to city if location is in city
            case 1:
                /// Add to army if location is in army`
            /// Add to army if location is in army`
コード例 #15
0
ファイル: 1114.php プロジェクト: rwruss/ib3
$unitFile = fopen($gamePath . '/unitDat.dat', 'rb');
$slotFile = fopen($gamePath . '/gameSlots.slt', 'rb');
// Load unit infrmation
$thisUnit = loadUnit($postVals[1], $unitFile, 400);
// Load target unit information
$trgUnit = loadUnit($postVals[2], $unitFile, 400);
if ($trgUnit->get('uType') == 2) {
    // Add to an existing army
    // Record army id in unit information
    $thisUnit->save('armyID', $postVals[2]);
    // Record unit id in list of army units
    $unitList = new itemsSlot($trgUnit->get('unitListSlot'), $slotFile, 40);
    $unitList->addItem($postVals[1], $slotFile);
} else {
    if ($trgUnit->get('uType') == 6) {
        // Combine with an existing unit to create a new army
        // Create a new army
        $newArmy = newUnit(2, $unitFile);
        // Create an item List for the army
        $newArmy->save('unitListSlot', newSlot($slotFile));
        $armyUnits = new itemSlot($newArmy->get('unitListSlot'));
        // Record both unit IDs in the army unit list
        $armyUnits->addItem($postVals[1], $slotFile);
        $armyUnits->addItem($postVals[2], $slotFile);
        // Record army ID in both unit informations
        $thisUnit->save('armyID', $newArmy->get('unitListSlot'));
        $trgUnit->save('armyID', $newArmy->get('unitListSlot'));
    }
}
fclose($unitFile);
fclose($slotFile);
コード例 #16
0
ファイル: 1067.php プロジェクト: rwruss/ib3
fwrite($unitFile, pack('i', $newCityId));
// Remove the unit cart / other items from the map and change the mapslot to display the new city
$mapSlotFile = fopen($gamePath . '/mapSlotFile.slt', 'r+b');
$mapSlotNum = floor($unitDat[2] / 120) * 120 + floor($unitDat[1] / 120);
echo 'Mapo slot number is ' . $mapSlotNum . '<br>';
$mapSlot = new itemSlot($mapSlotNum, $mapSlotFile, 404);
print_r($mapSlot->slotData);
$currentPos = array_search($_SESSION['selectedItem'], $mapSlot->slotData);
echo 'Current Pos: ' . $currentPos . '<br>';
if ($currentPos) {
    $mapSlot->deleteItem($currentPos, $mapSlotFile);
}
echo 'Add new city to map item List<br>';
$mapSlot->addItem($newCityId, $mapSlotFile);
// Add this player to the credential list for the city
echo 'Open city ' . $newCityId . '<br>';
$thisCity = new city($newCityId, $unitFile);
$cityCredentials = new blockSlot($thisCity->cityData[19], $slotFile, 40);
$addLoc = array_search(0, $cityCredentials->slotData);
echo 'Add credintials to slot (' . $thisCity->cityData[19] . ')';
print_r($cityCredentials->slotData);
$cityCredentials->addItem($slotFile, pack('i*', -9, $pGameID), $addLoc);
// Change this cart object to a city object
fseek($unitFile, $_SESSION['selectedItem'] * $defaultBlockSize + 12);
fwrite($unitFile, pack('i', 1));
// Remove the cart from the list of military units the player controls
$playerObj = new player($pGameID, $unitFile, 400);
$unitList = new itemSlot($playerObj->get('unitSlot'), $slotFile, 40);
$unitList->deleteByValue($_SESSION['selectedItem'], $slotFile);
fclose($unitFile);
fclose($slotFile);