vue erreur de recyclage - Page 4
Kommunauty
Connexion
Inscription

erreur de recyclage


caroline Messages : 209

ecoute la sa bug plus mes dans la galaxie champ de ruine jai metal 1200 christal 600 norio (rien et inscrit meme pas un 0) sinon jai fait le fichier MissionCaseAttack.php mes il fait des erreur lord un attaque

class MissionCaseAttack extends MissionFunctions

{

function __construct($Fleet)

{

$this->_fleet = $Fleet;

}

function TargetEvent()

{

global $pricelist, $resource, $reslist, $db, $LANG;

$targetPlanet = $db->uniquequery("SELECT * FROM ".PLANETS." WHERE `id` = '". $this->_fleet['fleet_end_id'] ."';");

$targetUser = $db->uniquequery("SELECT * FROM ".USERS." WHERE id = '".$targetPlanet['id_owner']."';");

require_once(ROOT_PATH.'includes/classes/class.PlanetRessUpdate.php');

#list($targetUser['factor'], $targetPlanet['factor']) = getFactors($targetUser, $targetPlanet, 'basic', $this->_fleet['fleet_start_time']);

$targetUser['factor'] = getFactors($targetUser, 'basic', $this->_fleet['fleet_start_time']);

$PlanetRess = new ResourceUpdate();

list($targetUser, $targetPlanet) = $PlanetRess->CalcResource($targetUser, $targetPlanet, true, $this->_fleet['fleet_start_time']);

$TargetUserID = $targetUser['id'];

$attackFleets = array();

$AttackerRow['id'] = array();

$AttackerRow['name'] = array();

$DefenderRow['id'] = array();

$DefenderRow['name'] = array();

if ($this->_fleet['fleet_group'] != 0)

{

$db->query("DELETE FROM ".AKS." WHERE `id` = '".$this->_fleet['fleet_group']."';");

$fleets = $db->query("SELECT * FROM ".FLEETS." WHERE fleet_group = '".$this->_fleet['fleet_group']."';");

while ($fleet = $db->fetch_array($fleets))

{

$attackFleets[$fleet['fleet_id']]['fleet'] = $fleet;

$attackFleets[$fleet['fleet_id']]['user'] = $db->uniquequery("SELECT `id`, `username`, `military_tech`, `defence_tech`, `shield_tech` FROM ".USERS." WHERE `id` = '".$fleet['fleet_owner']."';");

$attackFleets[$fleet['fleet_id']]['user']['factor'] = getFactors($attackFleets[$fleet['fleet_id']]['user'], 'attack', $this->_fleet['fleet_start_time']);

$attackFleets[$fleet['fleet_id']]['detail'] = array();

$temp = explode(';', $fleet['fleet_array']);

foreach ($temp as $temp2)

{

$temp2 = explode(',', $temp2);

if ($temp2[0] < 100) continue;

if (!isset($attackFleets[$fleet['fleet_id']]['detail'][$temp2[0]]))

$attackFleets[$fleet['fleet_id']]['detail'][$temp2[0]] = 0;

$attackFleets[$fleet['fleet_id']]['detail'][$temp2[0]] += $temp2[1];

}

$AttackerRow['id'][] = $attackFleets[$fleet['fleet_id']]['user']['id'];

$AttackerRow['name'][] = $attackFleets[$fleet['fleet_id']]['user']['username'];

}

}

else

{

$attackFleets[$this->_fleet['fleet_id']]['fleet'] = $this->_fleet;

$attackFleets[$this->_fleet['fleet_id']]['user'] = $db->uniquequery("SELECT `id`, `username`, `military_tech`, `defence_tech`, `shield_tech` FROM ".USERS." WHERE `id` = '".$this->_fleet['fleet_owner']."';");

$attackFleets[$this->_fleet['fleet_id']]['user']['factor'] = getFactors($attackFleets[$this->_fleet['fleet_id']]['user'], 'attack', $this->_fleet['fleet_start_time']);

$attackFleets[$this->_fleet['fleet_id']]['detail'] = array();

$temp = explode(';', $this->_fleet['fleet_array']);

foreach ($temp as $temp2)

{

$temp2 = explode(',', $temp2);

if ($temp2[0] < 100) continue;

if (!isset($attackFleets[$this->_fleet['fleet_id']]['detail'][$temp2[0]]))

$attackFleets[$this->_fleet['fleet_id']]['detail'][$temp2[0]] = 0;

$attackFleets[$this->_fleet['fleet_id']]['detail'][$temp2[0]] += $temp2[1];

}

$AttackerRow['id'][] = $attackFleets[$this->_fleet['fleet_id']]['user']['id'];

$AttackerRow['name'][] = $attackFleets[$this->_fleet['fleet_id']]['user']['username'];

}

$defense = array();

$def = $db->query("SELECT * FROM ".FLEETS." WHERE `fleet_mission` = '5' AND `fleet_end_id` = '".$this->_fleet['fleet_end_id']."' AND fleet_start_time <= '".TIMESTAMP."' AND fleet_end_stay >= '".TIMESTAMP."';");

while ($defRow = $db->fetch_array($def))

{

$defense[$defRow['fleet_id']]['user'] = $db->uniquequery("SELECT `id`, `username`, `military_tech`, `defence_tech`, `shield_tech` FROM ".USERS." WHERE `id` = '".$defRow['fleet_owner']."';");

$attackFleets[$this->_fleet['fleet_id']]['user']['factor'] = getFactors($defense[$defRow['fleet_id']]['user'], 'attack', $this->_fleet['fleet_start_time']);

$defRowDef = explode(';', $defRow['fleet_array']);

foreach ($defRowDef as $Element)

{

$Element = explode(',', $Element);

if ($Element[0] < 100) continue;

if (!isset($defense[$defRow['fleet_id']]['def'][$Element[0]]))

$defense[$defRow['fleet_id']][$Element[0]] = 0;

$defense[$defRow['fleet_id']]['def'][$Element[0]] += $Element[1];

}

$DefenderRow['id'][] = $defense[$defRow['fleet_id']]['user']['id'];

$DefenderRow['name'][] = $defense[$defRow['fleet_id']]['user']['username'];

}

$defense[0]['def'] = array();

$defense[0]['user'] = $targetUser;

$defense[0]['user']['factor'] = getFactors($defense[0]['user'], 'attack', $this->_fleet['fleet_start_time']);

$DefenderRow['id'][] = $defense[0]['user']['id'];

$DefenderRow['name'][] = $defense[0]['user']['username'];

foreach(array_merge($reslist['fleet'], $reslist['defense']) as $ID)

{

if ($ID >= 500)

continue;

$defense[0]['def'][$ID] = $targetPlanet[$resource[$ID]];

}

$Attacker['id'] = array_unique($AttackerRow['id']);

$Attacker['name'] = array_unique($AttackerRow['name']);

$Defender['id'] = array_unique($DefenderRow['id']);

$Defender['name'] = array_unique($DefenderRow['name']);

require_once('calculateAttack.php');

$result = calculateAttack($attackFleets, $defense, $GLOBALS['CONFIG'][$this->_fleet['fleet_universe']]['Fleet_Cdr'], $GLOBALS['CONFIG'][$this->_fleet['fleet_universe']]['Defs_Cdr']);

$SQL = "";

foreach ($attackFleets as $fleetID => $attacker)

{

$fleetArray = '';

$totalCount = 0;

foreach ($attacker['detail'] as $element => $amount)

{

if ($amount)

$fleetArray .= $element.','.floattostring($amount).';';

$totalCount += $amount;

}

$SQL .= $totalCount <= 0 ? "DELETE FROM ".FLEETS." WHERE `fleet_id`= '".$fleetID."';" : "UPDATE ".FLEETS." SET `fleet_mess` = '1', `fleet_array` = '".substr($fleetArray, 0, -1)."', `fleet_amount` = '".$totalCount."' WHERE `fleet_id` = '".$fleetID."';";

}

if ($result['won'] == "a")

{

require_once('calculateSteal.php');

$steal = calculateSteal($attackFleets, $targetPlanet);

}

foreach ($defense as $fleetID => $defender)

{

if ($fleetID != 0)

{

$fleetArray = '';

$totalCount = 0;

foreach ($defender['def'] as $element => $amount)

{

if ($amount)

$fleetArray .= $element.','.floattostring($amount).';';

$totalCount += $amount;

}

$SQL .= $totalCount <= 0 ? "DELETE FROM ".FLEETS." WHERE `fleet_id`= '".$fleetID."';" : "UPDATE ".FLEETS." SET `fleet_array` = '".substr($fleetArray, 0, -1)."', `fleet_amount` = '".$totalCount."' WHERE `fleet_id` = '".$fleetID."';";

}

else

{

$fleetArray = '';

foreach ($defender['def'] as $element => $amount)

{

$fleetArray .= "`".$resource[$element]."` = '".floattostring($amount)."', ";

}

$SQL .= "UPDATE ".PLANETS." SET ";

$SQL .= $fleetArray;

$SQL .= "`metal` = `metal` - '".$steal['metal']."', ";

$SQL .= "`crystal` = `crystal` - '".$steal['crystal']."', ";

$SQL .= "`deuterium` = `deuterium` - '".$steal['deuterium']."', ";

$SQL .= "`norio` = `norio` - '".$steal['norio']."' ";

$SQL .= "WHERE ";

$SQL .= "`id` = '".$this->_fleet['fleet_end_id']."';";

}

}

$db->multi_query($SQL);

if($this->_fleet['fleet_end_type'] == 3)

$targetPlanet = array_merge($targetPlanet, $db->uniquequery("SELECT `der_metal`, `der_crystal`, `der_norio` FROM ".PLANETS." WHERE `id_luna` = '".$this->_fleet['fleet_end_id']."';"));

$ShootMetal = $result['debree']['att'][0] + $result['debree']['def'][0];

$ShootCrystal = $result['debree']['att'][1] + $result['debree']['def'][1];

$ShootNorio = $result['debree']['att'][2] + $result['debree']['def'][2];

$FleetDebris = $ShootMetal + $ShootCrystal + $ShootNorio ;

$DerbisMetal = $targetPlanet['der_metal']+ $ShootMetal;

$DerbisCrystal = $targetPlanet['der_crystal']+ $ShootCrystal;

$DerbisNorio = $targetPlanet['der_norio']+ $ShootNorio;

$MoonChance = min(round($FleetDebris / 100000 * MOON_CHANCE_FACTOR, 0), MAX_MOON_CHANCE);

$UserChance = mt_rand(1, 100);

if ($targetPlanet['planet_type'] == 1 && $targetPlanet['id_luna'] == 0 && $MoonChance > 0 && $UserChance <= $MoonChance)

{

require_once(ROOT_PATH.'includes/functions/CreateOneMoonRecord.php');

$INFO['moon']['name'] = CreateOneMoonRecord($this->_fleet['fleet_end_galaxy'], $this->_fleet['fleet_end_system'], $this->_fleet['fleet_end_planet'], $this->_fleet['fleet_universe'], $TargetUserID, $this->_fleet['fleet_start_time'], '', $MoonChance);

$INFO['end_galaxy'] = $this->_fleet['fleet_end_galaxy'];

$INFO['end_system'] = $this->_fleet['fleet_end_system'];

$INFO['end_planet'] = $this->_fleet['fleet_end_planet'];

if(DESTROY_DERBIS_MOON_CREATE) {

#if($GLOBALS['CONFIG'][$this->_fleet['fleet_universe']]['debris_moon'] == 1) {

$DerbisMetal = 0;

$DerbisCrystal = 0;

$DerbisNorio = 0;

}

}

$INFO['steal'] = $steal;

$INFO['fleet_start_time'] = $this->_fleet['fleet_start_time'];

$INFO['moon']['des'] = 0;

$INFO['moon']['chance'] = $MoonChance;

$INFO['attvsdef'] = implode(' & ', $Attacker['name']).' vs '.implode(' & ', $Defender['name']);

require_once('GenerateReport.php');

$raport = GenerateReport($result, $INFO);

$rid = md5(microtime(true).mt_rand(1,100));

file_put_contents(ROOT_PATH.'raports/raport_'.$rid.'.php', '');

file_put_contents(ROOT_PATH.'raports/topkb_'.$rid.'.php', '');

if(DEBUG_EXTRA)

file_put_contents(ROOT_PATH.'includes/attack.log', date('[d-M-Y H:i:s]', $this->_fleet['fleet_start_time']).'(FleetID: '.$this->_fleet['fleet_id'].') Attacker: '.$this->_fleet['fleet_owner'].'/ Defender: '.$this->_fleet['fleet_target_owner'].' | TF: '.floattostring($DerbisMetal).'/'.floattostring($DerbisCrystal).'/'.floattostring($DerbisNorio));

$WhereAtt = "";

$WhereDef = "";

foreach($Attacker['id'] as $id)

{

$WhereAtt .= "`id` = '".$id."' OR ";

}

foreach($Defender['id'] as $id)

{

$WhereDef .= "`id` = '".$id."' OR ";

}

$Won = 0;

$Lose = 0;

$Draw = 0;

switch($result['won'])

{

case "a":

$Won = 1;

break;

case "w":

$Draw = 1;

break;

case "r":

$Lose = 1;

break;

}

$SQL = "UPDATE ".PLANETS." SET ";

$SQL .= "`der_metal` = ".floattostring($DerbisMetal).", ";

$SQL .= "`der_crystal` = ".floattostring($DerbisCrystal)." ";

$SQL .= "`der_norio` = ".floattostring($DerbisNorio).", ";

$SQL .= "WHERE ";

$SQL .= "`universe` = '" . $this->_fleet['fleet_universe'] . "' AND ";

$SQL .= "`galaxy` = '" . $this->_fleet['fleet_end_galaxy'] . "' AND ";

$SQL .= "`system` = '" . $this->_fleet['fleet_end_system'] . "' AND ";

$SQL .= "`planet` = '" . $this->_fleet['fleet_end_planet'] . "' AND ";

$SQL .= "`planet_type` = '1';";

$SQL .= "INSERT INTO ".RW." SET ";

$SQL .= "`time` = '".$this->_fleet['fleet_start_time']."', ";

$SQL .= "`owners` = '".implode(',', array_merge($Attacker['id'], $Defender['id']))."', ";

$SQL .= "`rid` = '".$rid."';";

$SQL .= "INSERT INTO ".TOPKB." SET ";

$SQL .= "`time` = '".$this->_fleet['fleet_start_time']."', ";

$SQL .= "`id_owner1` = '".implode(',', $Attacker['id'])."', ";

$SQL .= "`angreifer` = '".implode(' & ', $Attacker['name'])."', ";

$SQL .= "`id_owner2` = '".implode(',', $Defender['id'])."', ";

$SQL .= "`defender` = '".implode(' & ', $Defender['name'])."', ";

$SQL .= "`gesamtunits` = '".floattostring($result['lost']['att'] + $result['lost']['def'])."', ";

$SQL .= "`rid` = '". $rid ."', ";

$SQL .= "`universe` = '".$this->_fleet['fleet_universe']."', ";

$SQL .= "`fleetresult` = '". $result['won'] ."';";

$SQL .= "UPDATE ".USERS." SET ";

$SQL .= "`wons` = wons + ".$Won.", ";

$SQL .= "`loos` = loos + ".$Lose.", ";

$SQL .= "`draws` = draws + ".$Draw.", ";

$SQL .= "`kbmetal` = kbmetal + ".floattostring($ShootMetal).", ";

$SQL .= "`kbcrystal` = kbcrystal + ".floattostring($ShootCrystal).", ";

$SQL .= "`kbnorio` = kbnorio + ".floattostring($ShootNorio).", ";

$SQL .= "`lostunits` = lostunits + ".floattostring($result['lost']['att']).", ";

$SQL .= "`desunits` = desunits + ".floattostring($result['lost']['def'])." ";

$SQL .= "WHERE ";

$SQL .= substr($WhereAtt, 0, -4).";";

$SQL .= "UPDATE ".USERS." SET ";

$SQL .= "`wons` = wons + ". $Lose .", ";

$SQL .= "`loos` = loos + ". $Won .", ";

$SQL .= "`draws` = draws + ". $Draw .", ";

$SQL .= "`kbmetal` = kbmetal + ".floattostring($ShootMetal).", ";

$SQL .= "`kbcrystal` = kbcrystal + ".floattostring($ShootCrystal).", ";

$SQL .= "`kbnorio` = kbnorio + ".floattostring($Shootnorio).", ";

$SQL .= "`lostunits` = lostunits + ".floattostring($result['lost']['def']).", ";

$SQL .= "`desunits` = desunits + ".floattostring($result['lost']['att'])." ";

$SQL .= "WHERE ";

$SQL .= substr($WhereDef, 0, -4).";";

$db->multi_query($SQL);

switch($result['won'])

{

case "r":

$ColorAtt = "red";

$ColorDef = "green";

break;

case "w":

$ColorAtt = "orange";

$ColorDef = "orange";

case "a":

$ColorAtt = "green";

$ColorDef = "red";

break;

}

foreach ($Attacker['id'] as $AttackersID)

{

if(empty($AttackersID))

continue;

$LNG = $LANG->GetUserLang($AttackersID);

$MessageAtt = sprintf('<a href="CombatReport.php?raport=%s" onclick="OpenPopup(\'CombatReport.php?raport=%s\', \'combat\', screen.width, screen.height);return false" target="combat">%s %s</a><br><br>%s: %s %s: %s<br>%s %s:%s %s:%s %s:%s %s:%s<br><br>%s %s:%s %s:%s<br />', $rid, $rid, $ColorAtt, $LNG['sys_mess_attack_report'], sprintf($LNG['sys_adress_planet'], $this->_fleet['fleet_end_galaxy'], $this->_fleet['fleet_end_system'], $this->_fleet['fleet_end_planet']), $ColorAtt, $LNG['sys_perte_attaquant'], pretty_number($result['lost']['att']), $ColorDef, $LNG['sys_perte_defenseur'], pretty_number($result['lost']['def']), $LNG['sys_gain'], $LNG['Metal'], pretty_number($steal['metal']), $LNG['Crystal'], pretty_number($steal['crystal']), $LNG['Deuterium'], pretty_number($steal['deuterium']), $LNG['Norio'], pretty_number($steal['norio']), $LNG['sys_debris'], $LNG['Metal'], pretty_number($result['debree']['att'][0]+$result['debree']['def'][0]), $LNG['Crystal'], pretty_number($result['debree']['att'][1]+$result['debree']['def'][1]));

SendSimpleMessage($AttackersID, 0, $this->_fleet['fleet_start_time'], 3, $LNG['sys_mess_tower'], $LNG['sys_mess_attack_report'], $MessageAtt); // review 3

}

foreach ($Defender['id'] as $DefenderID)

{

if(empty($DefenderID))

continue;

$LNG = $LANG->GetUserLang($DefenderID);

$MessageDef = sprintf('<a href="CombatReport.php?raport=%s" onclick="OpenPopup(\'CombatReport.php?raport=%s\', \'combat\', screen.width, screen.height);return false" target="combat">%s %s</a><br><br>%s: %s %s: %s<br>%s %s:%s %s:%s %s:%s %s:%s<br><br>%s %s:%s %s:%s<br />', $rid, $rid, $ColorDef, $LNG['sys_mess_attack_report'], sprintf($LNG['sys_adress_planet'], $this->_fleet['fleet_end_galaxy'], $this->_fleet['fleet_end_system'], $this->_fleet['fleet_end_planet']), $ColorDef, $LNG['sys_perte_attaquant'], pretty_number($result['lost']['att']), $ColorAtt, $LNG['sys_perte_defenseur'], pretty_number($result['lost']['def']), $LNG['sys_gain'], $LNG['Metal'], pretty_number($steal['metal']), $LNG['Crystal'], pretty_number($steal['crystal']), $LNG['Deuterium'], pretty_number($steal['deuterium']), $LNG['Norio'], pretty_number($steal['norio']), $LNG['sys_debris'], $LNG['Metal'], pretty_number($result['debree']['att'][0]+$result['debree']['def'][0]), $LNG['Crystal'], pretty_number($result['debree']['att'][1]+$result['debree']['def'][1]));

SendSimpleMessage($DefenderID, 0, $this->_fleet['fleet_start_time'], 3, $LNG['sys_mess_tower'], $LNG['sys_mess_attack_report'], $MessageDef);// review 3

}

}

function EndStayEvent()

{

return;

}

function ReturnEvent()

{

global $LANG;

$LNG = $LANG->GetUserLang($this->_fleet['fleet_owner']);

$Message = sprintf( $LNG['sys_fleet_won'], $TargetName, GetTargetAdressLink($this->_fleet, ''), pretty_number($this->_fleet['fleet_resource_metal']), $LNG['Metal'], pretty_number($this->_fleet['fleet_resource_crystal']), $LNG['Crystal'], pretty_number($this->_fleet['fleet_resource_deuterium']), $LNG['Deuterium'], pretty_number($this->_fleet['fleet_resource_norio']), $LNG['Norio']);

SendSimpleMessage($this->_fleet['fleet_owner'], 0, $this->_fleet['fleet_end_time'], 3, $LNG['sys_mess_tower'], $LNG['sys_mess_fleetback'], $Message);

$this->RestoreFleet();

}

}

?>

si tu peux voir ou jai fait l erreur merci

vendredi 22 février 2013

Homer Messages : 1925

met moi juste la partie que tu as modifer, j'ai les yeux exploser

samedi 23 février 2013

caroline Messages : 209

rhoo ta fumer quoi xd

samedi 23 février 2013

Homer Messages : 1925

chut

samedi 23 février 2013

Homer Messages : 1925

pareil, t'en es ou ici ?

mercredi 27 février 2013

caroline Messages : 209

jia que des probleme avec mission atack .php

mercredi 27 février 2013

caroline Messages : 209

class MissionCaseAttack extends MissionFunctions

{

function __construct($Fleet)

{

$this->_fleet = $Fleet;

}

function TargetEvent()

{

global $pricelist, $resource, $reslist, $db, $LANG;

$targetPlanet = $db->uniquequery("SELECT * FROM ".PLANETS." WHERE `id` = '". $this->_fleet['fleet_end_id'] ."';");

$targetUser = $db->uniquequery("SELECT * FROM ".USERS." WHERE id = '".$targetPlanet['id_owner']."';");

require_once(ROOT_PATH.'includes/classes/class.PlanetRessUpdate.php');

#list($targetUser['factor'], $targetPlanet['factor']) = getFactors($targetUser, $targetPlanet, 'basic', $this->_fleet['fleet_start_time']);

$targetUser['factor'] = getFactors($targetUser, 'basic', $this->_fleet['fleet_start_time']);

$PlanetRess = new ResourceUpdate();

list($targetUser, $targetPlanet) = $PlanetRess->CalcResource($targetUser, $targetPlanet, true, $this->_fleet['fleet_start_time']);

$TargetUserID = $targetUser['id'];

$attackFleets = array();

$AttackerRow['id'] = array();

$AttackerRow['name'] = array();

$DefenderRow['id'] = array();

$DefenderRow['name'] = array();

if ($this->_fleet['fleet_group'] != 0)

{

$db->query("DELETE FROM ".AKS." WHERE `id` = '".$this->_fleet['fleet_group']."';");

$fleets = $db->query("SELECT * FROM ".FLEETS." WHERE fleet_group = '".$this->_fleet['fleet_group']."';");

while ($fleet = $db->fetch_array($fleets))

{

$attackFleets[$fleet['fleet_id']]['fleet'] = $fleet;

$attackFleets[$fleet['fleet_id']]['user'] = $db->uniquequery("SELECT `id`, `username`, `military_tech`, `defence_tech`, `shield_tech` FROM ".USERS." WHERE `id` = '".$fleet['fleet_owner']."';");

$attackFleets[$fleet['fleet_id']]['user']['factor'] = getFactors($attackFleets[$fleet['fleet_id']]['user'], 'attack', $this->_fleet['fleet_start_time']);

$attackFleets[$fleet['fleet_id']]['detail'] = array();

$temp = explode(';', $fleet['fleet_array']);

foreach ($temp as $temp2)

{

$temp2 = explode(',', $temp2);

if ($temp2[0] < 100) continue;

if (!isset($attackFleets[$fleet['fleet_id']]['detail'][$temp2[0]]))

$attackFleets[$fleet['fleet_id']]['detail'][$temp2[0]] = 0;

$attackFleets[$fleet['fleet_id']]['detail'][$temp2[0]] += $temp2[1];

}

$AttackerRow['id'][] = $attackFleets[$fleet['fleet_id']]['user']['id'];

$AttackerRow['name'][] = $attackFleets[$fleet['fleet_id']]['user']['username'];

}

}

else

{

$attackFleets[$this->_fleet['fleet_id']]['fleet'] = $this->_fleet;

$attackFleets[$this->_fleet['fleet_id']]['user'] = $db->uniquequery("SELECT `id`, `username`, `military_tech`, `defence_tech`, `shield_tech` FROM ".USERS." WHERE `id` = '".$this->_fleet['fleet_owner']."';");

$attackFleets[$this->_fleet['fleet_id']]['user']['factor'] = getFactors($attackFleets[$this->_fleet['fleet_id']]['user'], 'attack', $this->_fleet['fleet_start_time']);

$attackFleets[$this->_fleet['fleet_id']]['detail'] = array();

$temp = explode(';', $this->_fleet['fleet_array']);

foreach ($temp as $temp2)

{

$temp2 = explode(',', $temp2);

if ($temp2[0] < 100) continue;

if (!isset($attackFleets[$this->_fleet['fleet_id']]['detail'][$temp2[0]]))

$attackFleets[$this->_fleet['fleet_id']]['detail'][$temp2[0]] = 0;

$attackFleets[$this->_fleet['fleet_id']]['detail'][$temp2[0]] += $temp2[1];

}

$AttackerRow['id'][] = $attackFleets[$this->_fleet['fleet_id']]['user']['id'];

$AttackerRow['name'][] = $attackFleets[$this->_fleet['fleet_id']]['user']['username'];

}

$defense = array();

$def = $db->query("SELECT * FROM ".FLEETS." WHERE `fleet_mission` = '5' AND `fleet_end_id` = '".$this->_fleet['fleet_end_id']."' AND fleet_start_time <= '".TIMESTAMP."' AND fleet_end_stay >= '".TIMESTAMP."';");

while ($defRow = $db->fetch_array($def))

{

$defense[$defRow['fleet_id']]['user'] = $db->uniquequery("SELECT `id`, `username`, `military_tech`, `defence_tech`, `shield_tech` FROM ".USERS." WHERE `id` = '".$defRow['fleet_owner']."';");

$attackFleets[$this->_fleet['fleet_id']]['user']['factor'] = getFactors($defense[$defRow['fleet_id']]['user'], 'attack', $this->_fleet['fleet_start_time']);

$defRowDef = explode(';', $defRow['fleet_array']);

foreach ($defRowDef as $Element)

{

$Element = explode(',', $Element);

if ($Element[0] < 100) continue;

if (!isset($defense[$defRow['fleet_id']]['def'][$Element[0]]))

$defense[$defRow['fleet_id']][$Element[0]] = 0;

$defense[$defRow['fleet_id']]['def'][$Element[0]] += $Element[1];

}

$DefenderRow['id'][] = $defense[$defRow['fleet_id']]['user']['id'];

$DefenderRow['name'][] = $defense[$defRow['fleet_id']]['user']['username'];

}

$defense[0]['def'] = array();

$defense[0]['user'] = $targetUser;

$defense[0]['user']['factor'] = getFactors($defense[0]['user'], 'attack', $this->_fleet['fleet_start_time']);

$DefenderRow['id'][] = $defense[0]['user']['id'];

$DefenderRow['name'][] = $defense[0]['user']['username'];

foreach(array_merge($reslist['fleet'], $reslist['defense']) as $ID)

{

if ($ID >= 500)

continue;

$defense[0]['def'][$ID] = $targetPlanet[$resource[$ID]];

}

$Attacker['id'] = array_unique($AttackerRow['id']);

$Attacker['name'] = array_unique($AttackerRow['name']);

$Defender['id'] = array_unique($DefenderRow['id']);

$Defender['name'] = array_unique($DefenderRow['name']);

require_once('calculateAttack.php');

$result = calculateAttack($attackFleets, $defense, $GLOBALS['CONFIG'][$this->_fleet['fleet_universe']]['Fleet_Cdr'], $GLOBALS['CONFIG'][$this->_fleet['fleet_universe']]['Defs_Cdr']);

$SQL = "";

foreach ($attackFleets as $fleetID => $attacker)

{

$fleetArray = '';

$totalCount = 0;

foreach ($attacker['detail'] as $element => $amount)

{

if ($amount)

$fleetArray .= $element.','.floattostring($amount).';';

$totalCount += $amount;

}

$SQL .= $totalCount <= 0 ? "DELETE FROM ".FLEETS." WHERE `fleet_id`= '".$fleetID."';" : "UPDATE ".FLEETS." SET `fleet_mess` = '1', `fleet_array` = '".substr($fleetArray, 0, -1)."', `fleet_amount` = '".$totalCount."' WHERE `fleet_id` = '".$fleetID."';";

}

if ($result['won'] == "a")

{

require_once('calculateSteal.php');

$steal = calculateSteal($attackFleets, $targetPlanet);

}

foreach ($defense as $fleetID => $defender)

{

if ($fleetID != 0)

{

$fleetArray = '';

$totalCount = 0;

foreach ($defender['def'] as $element => $amount)

{

if ($amount)

$fleetArray .= $element.','.floattostring($amount).';';

$totalCount += $amount;

}

$SQL .= $totalCount <= 0 ? "DELETE FROM ".FLEETS." WHERE `fleet_id`= '".$fleetID."';" : "UPDATE ".FLEETS." SET `fleet_array` = '".substr($fleetArray, 0, -1)."', `fleet_amount` = '".$totalCount."' WHERE `fleet_id` = '".$fleetID."';";

}

else

{

$fleetArray = '';

foreach ($defender['def'] as $element => $amount)

{

$fleetArray .= "`".$resource[$element]."` = '".floattostring($amount)."', ";

}

$SQL .= "UPDATE ".PLANETS." SET ";

$SQL .= $fleetArray;

$SQL .= "`metal` = `metal` - '".$steal['metal']."', ";

$SQL .= "`crystal` = `crystal` - '".$steal['crystal']."', ";

$SQL .= "`deuterium` = `deuterium` - '".$steal['deuterium']."', ";

$SQL .= "`norio` = `norio` - '".$steal['norio']."' ";

$SQL .= "WHERE ";

$SQL .= "`id` = '".$this->_fleet['fleet_end_id']."';";

}

}

$db->multi_query($SQL);

if($this->_fleet['fleet_end_type'] == 3)

$targetPlanet = array_merge($targetPlanet, $db->uniquequery("SELECT `der_metal`, `der_crystal` FROM ".PLANETS." WHERE `id_luna` = '".$this->_fleet['fleet_end_id']."';"));

$ShootMetal = $result['debree']['att'][0] + $result['debree']['def'][0];

$ShootCrystal = $result['debree']['att'][1] + $result['debree']['def'][1];

$FleetDebris = $ShootMetal + $ShootCrystal;

$DerbisMetal = $targetPlanet['der_metal']+ $ShootMetal;

$DerbisCrystal = $targetPlanet['der_crystal']+ $ShootCrystal;

$MoonChance = min(round($FleetDebris / 100000 * MOON_CHANCE_FACTOR, 0), MAX_MOON_CHANCE);

$UserChance = mt_rand(1, 100);

if ($targetPlanet['planet_type'] == 1 && $targetPlanet['id_luna'] == 0 && $MoonChance > 0 && $UserChance <= $MoonChance)

{

require_once(ROOT_PATH.'includes/functions/CreateOneMoonRecord.php');

$INFO['moon']['name'] = CreateOneMoonRecord($this->_fleet['fleet_end_galaxy'], $this->_fleet['fleet_end_system'], $this->_fleet['fleet_end_planet'], $this->_fleet['fleet_universe'], $TargetUserID, $this->_fleet['fleet_start_time'], '', $MoonChance);

$INFO['end_galaxy'] = $this->_fleet['fleet_end_galaxy'];

$INFO['end_system'] = $this->_fleet['fleet_end_system'];

$INFO['end_planet'] = $this->_fleet['fleet_end_planet'];

if(DESTROY_DERBIS_MOON_CREATE) {

#if($GLOBALS['CONFIG'][$this->_fleet['fleet_universe']]['debris_moon'] == 1) {

$DerbisMetal = 0;

$DerbisCrystal = 0;

}

}

$INFO['steal'] = $steal;

$INFO['fleet_start_time'] = $this->_fleet['fleet_start_time'];

$INFO['moon']['des'] = 0;

$INFO['moon']['chance'] = $MoonChance;

$INFO['attvsdef'] = implode(' & ', $Attacker['name']).' vs '.implode(' & ', $Defender['name']);

require_once('GenerateReport.php');

$raport = GenerateReport($result, $INFO);

$rid = md5(microtime(true).mt_rand(1,100));

file_put_contents(ROOT_PATH.'raports/raport_'.$rid.'.php', '');

file_put_contents(ROOT_PATH.'raports/topkb_'.$rid.'.php', '');

if(DEBUG_EXTRA)

file_put_contents(ROOT_PATH.'includes/attack.log', date('[d-M-Y H:i:s]', $this->_fleet['fleet_start_time']).'(FleetID: '.$this->_fleet['fleet_id'].') Attacker: '.$this->_fleet['fleet_owner'].'/ Defender: '.$this->_fleet['fleet_target_owner'].' | TF: '.floattostring($DerbisMetal).'/'.floattostring($DerbisCrystal));

$WhereAtt = "";

$WhereDef = "";

foreach($Attacker['id'] as $id)

{

$WhereAtt .= "`id` = '".$id."' OR ";

}

foreach($Defender['id'] as $id)

{

$WhereDef .= "`id` = '".$id."' OR ";

}

$Won = 0;

$Lose = 0;

$Draw = 0;

switch($result['won'])

{

case "a":

$Won = 1;

break;

case "w":

$Draw = 1;

break;

case "r":

$Lose = 1;

break;

}

$SQL = "UPDATE ".PLANETS." SET ";

$SQL .= "`der_metal` = ".floattostring($DerbisMetal).", ";

$SQL .= "`der_crystal` = ".floattostring($DerbisCrystal)." ";

$SQL .= "WHERE ";

$SQL .= "`universe` = '" . $this->_fleet['fleet_universe'] . "' AND ";

$SQL .= "`galaxy` = '" . $this->_fleet['fleet_end_galaxy'] . "' AND ";

$SQL .= "`system` = '" . $this->_fleet['fleet_end_system'] . "' AND ";

$SQL .= "`planet` = '" . $this->_fleet['fleet_end_planet'] . "' AND ";

$SQL .= "`planet_type` = '1';";

$SQL .= "INSERT INTO ".RW." SET ";

$SQL .= "`time` = '".$this->_fleet['fleet_start_time']."', ";

$SQL .= "`owners` = '".implode(',', array_merge($Attacker['id'], $Defender['id']))."', ";

$SQL .= "`rid` = '".$rid."';";

$SQL .= "INSERT INTO ".TOPKB." SET ";

$SQL .= "`time` = '".$this->_fleet['fleet_start_time']."', ";

$SQL .= "`id_owner1` = '".implode(',', $Attacker['id'])."', ";

$SQL .= "`angreifer` = '".implode(' & ', $Attacker['name'])."', ";

$SQL .= "`id_owner2` = '".implode(',', $Defender['id'])."', ";

$SQL .= "`defender` = '".implode(' & ', $Defender['name'])."', ";

$SQL .= "`gesamtunits` = '".floattostring($result['lost']['att'] + $result['lost']['def'])."', ";

$SQL .= "`rid` = '". $rid ."', ";

$SQL .= "`universe` = '".$this->_fleet['fleet_universe']."', ";

$SQL .= "`fleetresult` = '". $result['won'] ."';";

$SQL .= "UPDATE ".USERS." SET ";

$SQL .= "`wons` = wons + ".$Won.", ";

$SQL .= "`loos` = loos + ".$Lose.", ";

$SQL .= "`draws` = draws + ".$Draw.", ";

$SQL .= "`kbmetal` = kbmetal + ".floattostring($ShootMetal).", ";

$SQL .= "`kbcrystal` = kbcrystal + ".floattostring($ShootCrystal).", ";

$SQL .= "`lostunits` = lostunits + ".floattostring($result['lost']['att']).", ";

$SQL .= "`desunits` = desunits + ".floattostring($result['lost']['def'])." ";

$SQL .= "WHERE ";

$SQL .= substr($WhereAtt, 0, -4).";";

$SQL .= "UPDATE ".USERS." SET ";

$SQL .= "`wons` = wons + ". $Lose .", ";

$SQL .= "`loos` = loos + ". $Won .", ";

$SQL .= "`draws` = draws + ". $Draw .", ";

$SQL .= "`kbmetal` = kbmetal + ".floattostring($ShootMetal).", ";

$SQL .= "`kbcrystal` = kbcrystal + ".floattostring($ShootCrystal).", ";

$SQL .= "`lostunits` = lostunits + ".floattostring($result['lost']['def']).", ";

$SQL .= "`desunits` = desunits + ".floattostring($result['lost']['att'])." ";

$SQL .= "WHERE ";

$SQL .= substr($WhereDef, 0, -4).";";

$db->multi_query($SQL);

switch($result['won'])

{

case "r":

$ColorAtt = "red";

$ColorDef = "green";

break;

case "w":

$ColorAtt = "orange";

$ColorDef = "orange";

case "a":

$ColorAtt = "green";

$ColorDef = "red";

break;

}

foreach ($Attacker['id'] as $AttackersID)

{

if(empty($AttackersID))

continue;

$LNG = $LANG->GetUserLang($AttackersID);

$MessageAtt = sprintf('<a href="CombatReport.php?raport=%s" onclick="OpenPopup(\'CombatReport.php?raport=%s\', \'combat\', screen.width, screen.height);return false" target="combat">%s %s</a><br><br>%s: %s %s: %s<br>%s %s:%s %s:%s %s:%s %s:%s<br><br>%s %s:%s %s:%s<br />', $rid, $rid, $ColorAtt, $LNG['sys_mess_attack_report'], sprintf($LNG['sys_adress_planet'], $this->_fleet['fleet_end_galaxy'], $this->_fleet['fleet_end_system'], $this->_fleet['fleet_end_planet']), $ColorAtt, $LNG['sys_perte_attaquant'], pretty_number($result['lost']['att']), $ColorDef, $LNG['sys_perte_defenseur'], pretty_number($result['lost']['def']), $LNG['sys_gain'], $LNG['Metal'], pretty_number($steal['metal']), $LNG['Crystal'], pretty_number($steal['crystal']), $LNG['Deuterium'], pretty_number($steal['deuterium']), $LNG['Norio'], pretty_number($steal['norio']), $LNG['sys_debris'], $LNG['Metal'], pretty_number($result['debree']['att'][0]+$result['debree']['def'][0]), $LNG['Crystal'], pretty_number($result['debree']['att'][1]+$result['debree']['def'][1]));

SendSimpleMessage($AttackersID, 0, $this->_fleet['fleet_start_time'], 3, $LNG['sys_mess_tower'], $LNG['sys_mess_attack_report'], $MessageAtt); // review 3

}

foreach ($Defender['id'] as $DefenderID)

{

if(empty($DefenderID))

continue;

$LNG = $LANG->GetUserLang($DefenderID);

$MessageDef = sprintf('<a href="CombatReport.php?raport=%s" onclick="OpenPopup(\'CombatReport.php?raport=%s\', \'combat\', screen.width, screen.height);return false" target="combat">%s %s</a><br><br>%s: %s %s: %s<br>%s %s:%s %s:%s %s:%s %s:%s<br><br>%s %s:%s %s:%s<br />', $rid, $rid, $ColorDef, $LNG['sys_mess_attack_report'], sprintf($LNG['sys_adress_planet'], $this->_fleet['fleet_end_galaxy'], $this->_fleet['fleet_end_system'], $this->_fleet['fleet_end_planet']), $ColorDef, $LNG['sys_perte_attaquant'], pretty_number($result['lost']['att']), $ColorAtt, $LNG['sys_perte_defenseur'], pretty_number($result['lost']['def']), $LNG['sys_gain'], $LNG['Metal'], pretty_number($steal['metal']), $LNG['Crystal'], pretty_number($steal['crystal']), $LNG['Deuterium'], pretty_number($steal['deuterium']), $LNG['Norio'], pretty_number($steal['norio']), $LNG['sys_debris'], $LNG['Metal'], pretty_number($result['debree']['att'][0]+$result['debree']['def'][0]), $LNG['Crystal'], pretty_number($result['debree']['att'][1]+$result['debree']['def'][1]));

SendSimpleMessage($DefenderID, 0, $this->_fleet['fleet_start_time'], 3, $LNG['sys_mess_tower'], $LNG['sys_mess_attack_report'], $MessageDef);// review 3

}

}

function EndStayEvent()

{

return;

}

function ReturnEvent()

{

global $LANG;

$LNG = $LANG->GetUserLang($this->_fleet['fleet_owner']);

$Message = sprintf( $LNG['sys_fleet_won'], $TargetName, GetTargetAdressLink($this->_fleet, ''), pretty_number($this->_fleet['fleet_resource_metal']), $LNG['Metal'], pretty_number($this->_fleet['fleet_resource_crystal']), $LNG['Crystal'], pretty_number($this->_fleet['fleet_resource_deuterium']), $LNG['Deuterium'], pretty_number($this->_fleet['fleet_resource_norio']), $LNG['Norio']);

SendSimpleMessage($this->_fleet['fleet_owner'], 0, $this->_fleet['fleet_end_time'], 3, $LNG['sys_mess_tower'], $LNG['sys_mess_fleetback'], $Message);

$this->RestoreFleet();

}

}

mercredi 27 février 2013

Homer Messages : 1925

t'avais un problème de recyclage à la base

mercredi 27 février 2013 (Dernière édition mercredi 27 février 2013)

caroline Messages : 209

oui il a affiche le noruim sans chifre dans le champ ruine et quand tu lance le recyclage sa beug le vaisseau revien dans 1j et des poussiere

mercredi 27 février 2013

Homer Messages : 1925

et c'est quoi le rapport avec le fichier attack ?

mercredi 27 février 2013

Page suivante »