vue expedition - Page 4
Kommunauty
Connexion
Inscription

expedition


Homer Messages : 1925

j'viens de faire le test :

05. Feb 2013, 17:22:50 Tour de contrôle Rapport d'expédition

Votre flotte revient d'expédition.

Elle ramène Titane 0, Silicium 0, Deutéride 119.550, Norio 0 et Antimatière 0.

05. Feb 2013, 17:21:30 Tour de contrôle Rapport d'expédition

Votre expédition rencontre une ceinture autour d'une planète inconnue contenant de grandes quantités de matières premières en minéraux. La flotte de l'expédition stocke ces richesses et en exploite du Deutéride !

mardi 5 février 2013

Homer Messages : 1925

je vais tester les 9 cases possible d'expedition, voir si y'en a un qui , ce qui est fort possible

mardi 5 février 2013

Homer Messages : 1925

Alors, j'ai testé les 6 cas (et pas 9 ) et tout fonctionne

Tu as ce message de retour pour les cas 3, 4 et 6 (3-> vaisseaux trouvés, 4-> Petite attaque, 6 -> ralentissement de la flotte)

les cas 1 et 2 (quand tu drouve des ressources un de la matiere noir) te donne une quantité et le cas 5 c'est ta flotte qui est détruite

Donc normalement tout est OK

mardi 5 février 2013

caroline Messages : 209

salut mon prince c peut etre dans mon php jai une erreur quand tu a le temps (tes un homme je c que tu c faire une chose a la foi XD) tu poura juste vérifier merci bisous

class MissionCaseExpedition extends MissionFunctions
{
function __construct($Fleet)
{
$this->_fleet = $Fleet;
}

function TargetEvent()
{
$this->UpdateFleet('fleet_mess', 2);
$this->SaveFleet();
}

function EndStayEvent()
{
global $pricelist, $db, $reslist, $LANG, $CONFIG;
$LNG = $LANG->GetUserLang($this->_fleet['fleet_owner']);
foreach($reslist['fleet'] as $ID)
{
$Expowert[$ID] = ($pricelist[$ID]['metal'] + $pricelist[$ID]['crystal'] + $pricelist[$ID]['norio']) / 1000;
}

$Expowert[202] = 12;
$Expowert[203] = 47;
$Expowert[204] = 12;
$Expowert[205] = 110;
$Expowert[206] = 47;
$Expowert[207] = 160;

$farray = explode(";", $this->_fleet['fleet_array']);
$FleetPoints = 0;
$FleetCapacity = 0;

foreach ($farray as $Item => $Group)
{
if (empty($Group)) continue;

$Class = explode (",", $Group);
$FleetCount[$Class[0]] = $Class[1];
$FleetCapacity    += $Class[1] * $pricelist[$Class[0]]['capacity'];
$FleetPoints       += $Class[1] * $Expowert[$Class[0]];
}

$FleetCapacity -= $this->_fleet['fleet_resource_metal'] + $this->_fleet['fleet_resource_crystal'] + $this->_fleet['fleet_resource_deuterium'] + $this->_fleet['fleet_resource_darkmatter'] + $this->_fleet['fleet_resource_norio'];

$GetEvent = mt_rand(1, 9);

switch($GetEvent)
{
case 1:
                $Ressource    = mt_rand(1,4);
                $ResMin = 10000;
                $ResMax = 1000000;
                switch($Ressource)
                {
                    case 1 : // Trouvé métal
                        $Factor     = (mt_rand($ResMin, $ResMax) / $Ressource) * $CONFIG[$this->_fleet['fleet_universe']]['resource_multiplier'];
                        $Message    = $LNG['sys_expe_found_ress_1_'.mt_rand(1,4)];
                    break;

                    case 2 : // Trouvé crystal
                        $Factor     = (mt_rand($ResMin, $ResMax) / $Ressource) * $CONFIG[$this->_fleet['fleet_universe']]['resource_multiplier'];
                        $Message    = $LNG['sys_expe_found_ress_2_'.mt_rand(1,3)];
                    break;

                    case 3 : // Trouvé deuterium
                        $Factor     = (mt_rand($ResMin, $ResMax) / $Ressource) * $CONFIG[$this->_fleet['fleet_universe']]['resource_multiplier'];
                        $Message    = $LNG['sys_expe_found_ress_3_'.mt_rand(1,2)];
                    break;
                    
                    case 4 : // Trouvé norium
                        $Factor     = (mt_rand($ResMin, $ResMax) / $Ressource) * $CONFIG[$this->_fleet['fleet_universe']]['resource_multiplier'];
                        $Message    = $LNG['sys_expe_found_ress_4_'.mt_rand(1,2)];
                    break;
                }    
                $Size = min($Factor,$FleetCapacity);
                switch($Ressource)
                {
                    case 1:
                        $this->UpdateFleet('fleet_resource_metal', $this->_fleet['fleet_resource_metal'] + $Size);
                    break;
                    case 2:
                        $this->UpdateFleet('fleet_resource_crystal', $this->_fleet['fleet_resource_crystal'] + $Size);
                    break;
                    case 3:
                        $this->UpdateFleet('fleet_resource_deuterium', $this->_fleet['fleet_resource_deuterium'] + $Size);
                    break;
                    case 4:
                        $this->UpdateFleet('fleet_resource_norio', $this->_fleet['fleet_resource_norio'] + $Size);
                    break;
                }

            break;
case 2:
$FindSize = mt_rand(0, 100);
if(10 < $FindSize) {
$Size = mt_rand(100, 300);
$Message = $LNG['sys_expe_found_dm_1_'.mt_rand(1,5)];
} elseif(0 < $FindSize && 10 >= $FindSize) {
$Size = mt_rand(301, 600);
$Message = $LNG['sys_expe_found_dm_2_'.mt_rand(1,4)];
} elseif(0 == $FindSize) {
$Size = mt_rand(601, 3000);
$Message = $LNG['sys_expe_found_dm_3_'.mt_rand(1,2)];
}

$this->UpdateFleet('fleet_resource_darkmatter', $this->_fleet['fleet_resource_darkmatter'] + $Size);
break;
case 3:
default:
$FindSize = mt_rand(0, 100);
if(10 < $FindSize) {
$Size = mt_rand(10, 50);
$Message = $LNG['sys_expe_found_ships_1_'.mt_rand(1,4)];
$MaxFound = 3000000;
} elseif(0 < $FindSize && 10 >= $FindSize) {
$Size = mt_rand(52, 100);
$Message = $LNG['sys_expe_found_ships_2_'.mt_rand(1,2)];
$MaxFound = 6000000;
} elseif(0 == $FindSize) {
$Size = mt_rand(102, 200);
$Message = $LNG['sys_expe_found_ships_3_'.mt_rand(1,2)];
$MaxFound = 12000000;
}

$StatFactor = $db->countquery("SELECT MAX(total_points) FROM `".STATPOINTS."` WHERE `stat_type` = 1 AND `universe` = '".$this->_fleet['fleet_universe']."';");

$MaxPoints = ($StatFactor < 5000000) ? 4500 : 6000;

$FoundShips = max(round($Size * min($FleetPoints, $MaxPoints)), 10000);

$FoundShipMess = "";
$NewFleetArray = "";

$LNG += $LANG->GetUserLang($this->_fleet['fleet_owner'], array('TECH'));
$Found = array();
foreach($reslist['fleet'] as $ID)
{
if(!isset($FleetCount[$ID]) || $ID == 208 || $ID == 209 || $ID == 214)
continue;

$MaxFound = floor($FoundShips / ($pricelist[$ID]['metal'] + $pricelist[$ID]['crystal'] + $pricelist[$ID]['norio']));

if($MaxFound <= 0)
continue;

$Count = mt_rand(0, $MaxFound);
if($Count <= 0)
#if($MaxFound <= 0)
continue;

$Found[$ID] += $Count;
$FoundShips -= $Count * ($pricelist[$ID]['metal'] + $pricelist[$ID]['crystal'] + $pricelist[$ID]['norio']);
$FoundShipMess    .= '<br>'.$LNG['tech'][$ID].': '.pretty_number($Count);
if($FoundShips <= 0)
break;
}

foreach($FleetCount as $ID => $Count)
$NewFleetArray   .= $ID.",".floattostring($Count + $Found[$ID]).";";

$Message .= $FoundShipMess;

$this->UpdateFleet('fleet_array', $NewFleetArray);
$this->UpdateFleet('fleet_amount', array_sum($FleetCount));
break;
case 4:
$Chance = mt_rand(1,2);
if($Chance == 1) {
$Points = array(-3,-5,-8);
$Which = 1;
$Def = -3;
$Name = $LNG['sys_expe_attackname_1'];
$Add = 0;
$Rand = array(5,3,2);
$DefenderFleetArray = "204,5;206,3;207,2;";
} else {
$Points = array(-4,-6,-9);
$Which = 2;
$Def = 3;
$Name = $LNG['sys_expe_attackname_2'];
$Add = 0.1;
$Rand = array(4,3,2);
$DefenderFleetArray = "205,5;215,3;213,2;";
}

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

$FindSize = mt_rand(0, 100);
if(10 < $FindSize) {
$Message = $LNG['sys_expe_attack_'.$Which.'_1_'.$Rand[0]];
$MaxAttackerPoints = 0.3 + $Add + (mt_rand($Points[0], abs($Points[0])) * 0.01);
} elseif(0 < $FindSize && 10 >= $FindSize) {
$Message = $LNG['sys_expe_attack_'.$Which.'_2_'.$Rand[1]];
$MaxAttackerPoints = 0.3 + $Add + (mt_rand($Points[1], abs($Points[1])) * 0.01);
} elseif(0 == $FindSize) {
$Message = $LNG['sys_expe_attack_'.$Which.'_3_'.$Rand[2]];
$MaxAttackerPoints = 0.3 + $Add + (mt_rand($Points[2], abs($Points[2])) * 0.01);
}

foreach($FleetCount as $ID => $count)
{
$DefenderFleetArray .= $ID.",".round($count * $MaxAttackerPoints).";";
}

$AttackerTechno = $db->uniquequery('SELECT id,username,military_tech,defence_tech,shield_tech FROM '.USERS.' WHERE id='.$this->_fleet['fleet_owner'].";");
$DefenderTechno = array('id' => 0, 'username' => $Name, 'military_tech' => (min($AttackerTechno['military_tech'] + $Def,0)), 'defence_tech' => (min($AttackerTechno['defence_tech'] + $Def,0)), 'shield_tech' => (min($AttackerTechno['shield_tech'] + $Def,0)));

$attackFleets[$this->_fleet['fleet_id']]['fleet'] = $this->_fleet;
$attackFleets[$this->_fleet['fleet_id']]['user'] = $AttackerTechno;
$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];
}
$defense = array();

$defRowDef = explode(';', $DefenderFleetArray);
foreach ($defRowDef as $Element)
{
$Element = explode(',', $Element);

if ($Element[0] < 100) continue;
if (!isset($defense[$defRow['fleet_id']]['def'][$Element[0]]))
$defense[0][$Element[0]] = 0;

$defense[0]['def'][$Element[0]] += $Element[1];
}
$defense[0]['user'] = $DefenderTechno;
$defense[0]['user']['factor'] = 0;

require_once('calculateAttack.php');

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

foreach ($attackFleets as $fleetID => $attacker)
{
$fleetArray = '';
$totalCount = 0;
foreach ($attacker['detail'] as $element => $amount)
{
if ($amount)
$fleetArray .= $element.','.$amount.';';

$totalCount += $amount;
}

if ($totalCount <= 0)
$this->KillFleet();
else
{
$this->UpdateFleet('fleet_array', substr($fleetArray, 0, -1));
$this->UpdateFleet('fleet_amount', $totalCount);
}
}

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', '<?php'."\n".'$raport = '.$raport.';'."\n".'?>');

$SQLQuery  = "INSERT INTO ".RW." SET `time` = '".TIMESTAMP."', `owners` = '".$this->_fleet['fleet_owner'].",0', `rid` = '". $rid ."';";
$db->query($SQLQuery);
switch($result['won'])
{
case "r":
$ColorAtt = "red";
$ColorDef = "green";
break;
case "w":
$ColorAtt = "orange";
$ColorDef = "orange";
case "a":
$ColorAtt = "green";
$ColorDef = "red";
break;
}
$MessageAtt = sprintf('<a href="CombatReport.php?raport=%s" onclick="OpenPopup(\'CombatReport.php?raport=%s\', \'combat\', screen.width, screen.height);return false" target="combat"><center><font color="%s">%s %s</font></a><br><br><font color="%s">%s: %s</font> <font color="%s">%s: %s</font><br>%s %s:<font color="#adaead">%s</font> %s:<font color="#ef51ef">%s</font> %s:<font color="#f77542">%s</font><br>%s %s:<font color="#adaead">%s</font> %s:<font color="#ef51ef">%s</font><br></center>', $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]), $LNG['Norio'], pretty_number($result['debree']['att'][2]+$result['debree']['def'][2]));

SendSimpleMessage($this->_fleet['fleet_owner'], 0, $this->_fleet['fleet_start_time'], 3, $LNG['sys_mess_tower'], $LNG['sys_mess_attack_report'], $MessageAtt);
break;
case 5:
$this->KillFleet();
$Message = $LNG['sys_expe_lost_fleet_'.mt_rand(1,4)];
break;
case 6:
            # http://owiki.de/Expedition#Ver.C3.A4nderte_Flugzeit
            $MoreTime       = mt_rand(0, 100);
            $Wrapper        = array();
            $Wrapper[]      = 2;
            $Wrapper[]      = 2;
            $Wrapper[]      = 2;
            $Wrapper[]      = 2;
            $Wrapper[]      = 2;
            $Wrapper[]      = 2;
            $Wrapper[]      = 2;
            $Wrapper[]      = 3;
            $Wrapper[]      = 3;
            $Wrapper[]      = 5;
            if($MoreTime < 75) {
$this->UpdateFleet('fleet_end_time', ($this->_fleet['fleet_end_time'] - $this->_fleet['fleet_end_stay']) + ($this->_fleet['fleet_end_stay'] - $this->_fleet['fleet_start_time']) * $Wrapper[mt_rand(0, 9)]);
                $Message = $LNG['sys_expe_time_slow_'.mt_rand(1,6)];
            } else {
                $this->UpdateFleet('fleet_end_time', max(1, ($this->_fleet['fleet_end_time'] - $this->_fleet['fleet_end_stay']) - ($this->_fleet['fleet_end_stay'] - $this->_fleet['fleet_start_time']) / 3 * $Wrapper[mt_rand(0, 9)]));
                $Message = $LNG['sys_expe_time_fast_'.mt_rand(1,3)];
            }
            break;
default:
$Message = $LNG['sys_expe_nothing_'.mt_rand(1,8)];
break;
}

SendSimpleMessage($this->_fleet['fleet_owner'], 0, $this->_fleet['fleet_end_stay'], 15, $LNG['sys_mess_tower'], $LNG['sys_expe_report'], $Message);
$this->UpdateFleet('fleet_mess', 1);
$this->SaveFleet();
}

function ReturnEvent()
{
global $LANG;
$LNG = $LANG->GetUserLang($this->_fleet['fleet_owner']);
$Message = sprintf($LNG['sys_expe_back_home'], $LNG['Metal'], pretty_number($this->_fleet['fleet_resource_metal']), $LNG['Crystal'], pretty_number($this->_fleet['fleet_resource_crystal']),  $LNG['Deuterium'], pretty_number($this->_fleet['fleet_resource_deuterium']), $LNG['Darkmatter'], pretty_number($this->_fleet['fleet_resource_darkmatter']), $LNG['Norio'], pretty_number($this->_fleet['fleet_resource_norio']));
SendSimpleMessage($this->_fleet['fleet_owner'], 0, $this->_fleet['fleet_end_time'], 15, $LNG['sys_mess_tower'], $LNG['sys_expe_report'], $Message);
$this->RestoreFleet();
}
}

?>
mardi 5 février 2013

Homer Messages : 1925

je pense pas qu'il y une erreur à vue d'oeil, je regarde de plus près dans la soirée

mardi 5 février 2013

Homer Messages : 1925

quand tu envoie ta flotte, tu reçoi le msg intermédiaire qui te dis ce que la flotte à fait ?

mardi 5 février 2013

Homer Messages : 1925

je trouve rien d'anormal, tout fonctionne

j'ai testé les 6 cas + le no found et aucun soucis

mardi 5 février 2013

caroline Messages : 209

oui je reçois les message moi se qui m’étonne ex 10 mission jai 1 ou tu gagne des flotte ou 1 avec 240 matiere noir je voulu augmentez la chance de gain

mardi 5 février 2013

Homer Messages : 1925

si tu veux augmenté la chance gain, change le tout premier mt_rand(1,9) en mt_rand(1,8) ou mt_rand(1,7), comme ça tu as 1 chance sur 7 d'avoir un des 7 cas

mardi 5 février 2013

caroline Messages : 209

et je mes 1,2 jai 1 chance sur 2 c es ca ?

mardi 5 février 2013

Page suivante »